Discover/Rappi API
live

Rappi APIrappi.com.mx

Access Rappi Mexico restaurant listings, menus, prices, ratings, and delivery info by location or keyword. 3 endpoints covering search, browse, and menu detail.

Endpoint health
verified 14h ago
search_restaurants
list_restaurants
get_restaurant_details
3/3 passing latest checkself-healing
Endpoints
3
Updated
26d ago

What is the Rappi API?

The Rappi Mexico API exposes 3 endpoints for searching and browsing restaurants on rappi.com.mx, retrieving location-based listings, and pulling full menu data. The get_restaurant_details endpoint returns a complete menu broken into categories, with per-product prices, descriptions, and availability, alongside schedule, ratings, and current open/closed status.

Try it
Maximum number of restaurants to return
Search keyword for restaurants or products
api.parse.bot/scraper/b9f65531-2721-425e-b2d7-72292886c34d/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/b9f65531-2721-425e-b2d7-72292886c34d/search_restaurants?limit=5&query=pizza' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace rappi-com-mx-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: Rappi Mexico SDK — search, list, and drill into restaurant menus."""
from parse_apis.rappi_mexico_restaurant___product_search_api import (
    Rappi, RestaurantNotFound
)

client = Rappi()

# Search for taco restaurants — limit caps total items fetched.
for result in client.searchresults.search(query="tacos", limit=3):
    print(result.name, result.rating, result.status)
    for product in result.products[:2]:
        print(f"  {product.name}: ${product.price}")

# List nearby restaurants in Mexico City by coordinates.
nearby = client.restaurantsummaries.list(lat=19.4326, lng=-99.1332, limit=3)
restaurant_summary = nearby.first()
if restaurant_summary:
    print(restaurant_summary.name, restaurant_summary.delivery_time, restaurant_summary.delivery_price)

    # Drill into the full detail with menu.
    full = restaurant_summary.details()
    print(full.name, full.address, full.tags)
    for category in full.menu[:2]:
        print(f"  Category: {category.category_name}")
        for item in category.products[:2]:
            print(f"    {item.name} - ${item.price} (available: {item.is_available})")

# Fetch a specific restaurant by store_id.
try:
    detail = client.restaurants.get(store_id="10000079")
    print(detail.name, detail.rating, detail.delivery_time)
except RestaurantNotFound as exc:
    print(f"Restaurant not found: {exc.store_id}")

print("exercised: searchresults.search / restaurantsummaries.list / details / restaurants.get")
All endpoints · 3 totalmissing one? ·

Full-text search for restaurants and their products by keyword. Returns matching restaurants with product listings including prices and availability. Results are scoped to Mexico City area. Each result carries matched products — use get_restaurant_details for the full menu.

Input
ParamTypeDescription
limitintegerMaximum number of restaurants to return
querystringSearch keyword for restaurants or products
Response
{
  "type": "object",
  "fields": {
    "query": "search keyword used",
    "stores": "array of restaurant objects with store_id, name, brand_name, rating, delivery_time, status, and products array",
    "total_stores": "total number of matching stores"
  },
  "sample": {
    "data": {
      "query": "pizza",
      "stores": [
        {
          "url": "https://www.rappi.com.mx/restaurantes/1306709261",
          "logo": "https://images.rappi.com.mx/restaurants_logo/pizza.png",
          "name": "Little Caesars® Glorieta de insurgentes (P)",
          "rating": 4.5,
          "status": "OPEN",
          "brand_id": 642,
          "category": "restaurants",
          "products": [
            {
              "name": "Pepperoni",
              "image": "https://images.rappi.com.mx/products/a50c7339.png",
              "price": 139,
              "in_stock": true,
              "product_id": 8496977,
              "has_discount": false,
              "original_price": 139
            }
          ],
          "store_id": 1306709261,
          "promotion": "Envío Gratis: Aplican TyC",
          "brand_name": "Little Caesars",
          "delivery_cost": 0,
          "delivery_time": "12 min",
          "has_free_shipping": false,
          "delivery_time_minutes": 12
        }
      ],
      "total_stores": 5
    },
    "status": "success"
  }
}

About the Rappi API

Endpoints and Data Covered

The API has three endpoints. list_restaurants accepts lat and lng coordinates and returns a ranked array of nearby restaurants, each with store_id, name, brand_name, rating, total_reviews, delivery_time, delivery_price, status, and address. The limit parameter controls how many results come back. search_restaurants takes a query string (e.g. "pizza", "sushi") and returns matching stores with their associated product listings, including prices and ratings, as well as a total_stores count for the query.

Menu and Restaurant Detail

get_restaurant_details takes a store_id — obtainable from either of the listing endpoints — and returns the most detailed response. The menu field is an array of category objects, each containing a products array with product_id, name, description, price, and availability. The top-level response also includes tags (cuisine strings), schedule (day/time objects for opening hours), category, brand_name, address, rating, and status.

Coverage and Scope

All three endpoints target rappi.com.mx, so restaurant coverage reflects what Rappi Mexico surfaces for a given coordinate or search term. Geographic queries depend on providing valid Mexican coordinates via lat and lng. Store IDs are integers and are consistent across endpoints, so a store_id from list_restaurants can be passed directly to get_restaurant_details.

Reliability & maintenanceVerified

The Rappi API is a managed, monitored endpoint for rappi.com.mx — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when rappi.com.mx changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official rappi.com.mx API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
14h ago
Latest check
3/3 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Map nearby Rappi Mexico restaurants by GPS coordinates and display delivery time and price estimates.
  • Build a food search tool that queries restaurants and products by keyword and surfaces prices.
  • Aggregate menu data across multiple restaurants to compare pricing for a specific dish category.
  • Monitor a restaurant's open/closed status and schedule across the week using the schedule field.
  • Collect cuisine tags and categories from get_restaurant_details to classify restaurants by type.
  • Track rating and total_reviews across restaurants for competitive analysis in a specific area.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Rappi have an official public developer API?+
Rappi does not publish a general-purpose public developer API for restaurant and menu data. Access to structured data of this kind is not available through an official documented endpoint.
What does `search_restaurants` return beyond restaurant names?+
Each store object in the stores array includes store_id, name, brand_name, rating, delivery_time, status, and a products array with item-level data. The total_stores field tells you how many matches the query found in total, regardless of the limit applied.
Does the API return user reviews or individual review text?+
Not currently. The API returns aggregate rating and total_reviews counts from list_restaurants, and a numeric rating from get_restaurant_details, but individual review text and reviewer details are not included. You can fork this API on Parse and revise it to add an endpoint covering review content.
Is the restaurant data limited to a specific region of Mexico?+
Coverage depends on the coordinates or search context you supply. list_restaurants uses the lat and lng you provide, so results reflect whatever Rappi Mexico serves at that location. Only Mexican Rappi coordinates are in scope — rappi.com.mx does not cover other country domains. You can fork this API on Parse and revise it to target a different Rappi country domain if needed.
Can I retrieve product images or promotional banner images from menus?+
Not currently. The menu products array returns product_id, name, description, price, and availability, but image URLs are not included in the current response shape. You can fork this API on Parse and revise it to add image fields to the product response.
Page content last updated . Spec covers 3 endpoints from rappi.com.mx.
Related APIs in Food DiningSee all →
la comer.com.mx API
Search and browse La Comer Mexico's product catalog across different stores and departments, then retrieve detailed product information including pricing and availability. Access the complete product hierarchy by category to discover items and compare offerings across multiple locations.
ubereats.com API
Search for restaurants by cuisine or location and browse their menus, prices, ratings, and delivery times. Get detailed information about specific restaurants and menu items to find exactly what you want to order.
doordash.com API
Search for restaurants on DoorDash and view their menus, hours, and current promotions to find exactly what you're looking for. Get detailed information about any restaurant including pricing, availability, and active discounts across the US.
pedidosya.com.ar API
Browse restaurants and menus available in Argentine cities through PedidosYa, search for specific restaurants by name or food category, and retrieve complete menu offerings including items, prices, and available options.
postmates.com API
Browse and search Postmates restaurants to discover menus, items, and detailed restaurant information all in one place. Get category suggestions, view complete menus, and access specific item details to find exactly what you're looking for.
coppel.com API
Search and browse Coppel's product catalog by keyword to find items with prices, images, and detailed product information, with flexible sorting and pagination options. Get real-time access to Mexico's largest department store inventory to compare products and prices effortlessly.
chownow.com API
Search for nearby restaurants, view their operating hours and delivery zones, and browse complete menus with all items, modifiers, and prices. Access detailed restaurant information and locations to find exactly what you're looking for on the ChowNow marketplace.
walmart.com.mx API
Search and browse Walmart Mexico's product catalog to access real-time pricing, availability, and detailed product information across all categories. Find similar items and compare options to make informed shopping decisions.