# Rappi Restaurants Scraper - Low-cost💲🔥🍔🔥 (`delectable_incubator/rappi-restaurants-scraper-low-cost`) Actor

🍽️🔍 Extract restaurant listings from Rappi with ease. Collect restaurant names, ratings, delivery fees, delivery times, cuisines, images, promotions, locations, and restaurant URLs. Ideal for food delivery market research, competitor analysis, lead generation, and restaurant datasets. 🚴📊✨

- **URL**: https://apify.com/delectable\_incubator/rappi-restaurants-scraper-low-cost.md
- **Developed by:** [Prime Scrape](https://apify.com/delectable_incubator) (community)
- **Categories:** Lead generation, E-commerce, Travel
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.00005 / actor start

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

<p align="center">
<img src="https://i.ibb.co/jkNS73wX/readme.png" alt="Rappi Restaurants Scraper" width="100%">
</p>

---

## 🍔🚴 Rappi Restaurants Scraper 🌎 | Bulk Restaurant Scraper Latin America | Apify Actor

### 🚀 Extract Rappi Restaurant Listings in Seconds (No Code)

The **Rappi Restaurants Scraper** (Apify Actor) is a fast, scalable and SEO-optimized data extraction tool built to scrape restaurant listings directly from **Rappi**, one of Latin America's largest food delivery marketplaces.

Whether you're building restaurant databases, monitoring competitors, analyzing delivery marketplaces, generating business leads, or creating AI-ready datasets, this scraper delivers clean, structured restaurant data at scale with **no coding required**.

---

## 🔥 Why Choose This Rappi Scraper?

✔ Best Rappi restaurant scraper on Apify

✔ Bulk URL scraping support (multi-category & multi-city)

✔ High-speed restaurant extraction engine

✔ Clean structured JSON / CSV / Excel datasets

✔ Optimized for Latin American delivery marketplaces

✔ Ideal for market intelligence & lead generation

✔ No coding required

---

## 🎯 What This Scraper Does (Rappi Restaurant Data Extraction)

This Apify Actor extracts restaurant listings from one or multiple Rappi category or search pages.

### 📌 Core Features

✅ Scrape restaurant listings from Rappi

✅ **Bulk URL mode** (SEO BOOST 🚀)

✅ Multi-city & multi-category support

✅ Automatic pagination handling

✅ Extract ratings & delivery information

✅ Extract restaurant images & logos

✅ Direct restaurant URLs

✅ Clean structured dataset

✅ Fast & reliable extraction engine

---

## ⚡ Input Configuration

### 🚀 BULK URL MODE (Recommended)

````

{
"urls": \[
"https://www.rappi.com.co/bello/restaurantes",
"https://www.rappi.com.co/restaurantes",
"https://www.rappi.com.mx/restaurantes",
"https://www.rappi.com.pe/restaurantes"
],
"maxItems": 100
}

```

Supports one or hundreds of Rappi URLs in a single run.

---

## 📊 Extracted Restaurant Data

| Field | Description |
|------|-------------|
| store_id | Unique restaurant identifier |
| name | Restaurant name |
| rating | Average customer rating |
| eta | Estimated delivery time |
| delivery_price | Delivery fee |
| image | Restaurant cover image |
| logo | Restaurant logo |
| url | Restaurant page URL |
| source_url | Original Rappi URL scraped |

---

## 💡 Use Cases

Perfect for:

🍔 Restaurant discovery

📊 Delivery marketplace analysis

🏪 Restaurant lead generation

📈 Competitor monitoring

🌎 Food delivery market intelligence

🤖 AI training datasets

📡 Marketplace monitoring

⚡ Bulk restaurant data extraction

---

## 🚀 Key Features

⚡ Bulk URL scraping support

🌎 Latin America coverage

📌 Smart pagination

🧠 Structured output

📊 High-speed extraction

🔁 Automatic retry system

💾 Export-ready datasets

☁️ Cloud execution with Apify

---

## 📤 Supported Export Formats

✔ JSON

✔ CSV

✔ Excel (XLSX)

✔ XML

✔ HTML

---

## 📦 Example Output

```

{
"store\_id": "900021278",
"name": "Mis Carnes Parrilla",
"rating": "4.5",
"eta": "29 min",
"delivery\_price": "$1.800",
"image": "https://images.rappi.com/restaurants\_background/example.jpg",
"logo": "https://images.rappi.com/restaurants\_logo/example.png",
"url": "https://www.rappi.com.co/restaurantes/900021278-mis-carnes-parrilla",
"source\_url": "https://www.rappi.com.co/bello/restaurantes"
}

````

---

## 🔥 Why This is the BEST Rappi Restaurants Scraper on Apify?

✔ Optimized for Apify marketplace ranking

✔ Bulk URL support (rare feature)

✔ Enterprise-ready scraping engine

✔ Fast & scalable extraction

✔ Clean structured datasets

✔ Reliable pagination handling

✔ Perfect for market intelligence

---

## 💸 Pricing

This scraper uses a **pay-per-result** pricing model.

You are only charged for successfully extracted records.

💳 **$0.99 / 1,000 results**

---

## ❓ FAQ

#### Can I scrape multiple Rappi URLs at once?

Yes. Simply provide multiple category or search URLs inside the **urls** array.

#### Can I scrape different cities?

Yes. Any supported Rappi city or category URL can be scraped.

#### Is pagination automatic?

Yes. The scraper automatically extracts available restaurants until reaching your maximum limit.

#### Is coding required?

No. This is a fully no-code Apify Actor.

#### Which export formats are supported?

JSON, CSV, Excel (XLSX), XML and HTML.

---

## ⚠️ Disclaimer

This project is an independent data extraction solution and is **not affiliated with Rappi**.

---

## 🔗 Related PrimeScrape Actors

We're building the complete **PrimeScrape Marketplace Intelligence Suite**.

More marketplace scrapers coming soon 🚀

---

## 🌍 PrimeScrape Ecosystem

Built for data extraction, automation, AI datasets and business intelligence.

🍔 Restaurant Intelligence

🏪 Marketplace Analytics

📈 Competitive Monitoring

🤖 AI Training Datasets

⚙️ Business Automation

☁️ Scalable Cloud Scraping

---

## 📬 Support

⭐⭐⭐⭐⭐

If you enjoy this scraper, please consider leaving a review.

📩 Need a custom scraper or enterprise solution?

**PrimeScrape** builds high-performance scraping solutions for businesses, researchers, startups and data teams.

# Actor input Schema

## `urls` (type: `array`):

List of Rappi restaurant page URLs to scrape. Example: https://www.rappi.com.co/bello/restaurantes or https://www.rappi.com.co/restaurantes
## `maxItems` (type: `integer`):

Maximum number of restaurants to scrape per URL

## Actor input object example

```json
{
  "urls": [
    "https://www.rappi.com.co/restaurantes"
  ],
  "maxItems": 100
}
````

# Actor output Schema

## `overview` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "urls": [
        "https://www.rappi.com.co/restaurantes"
    ],
    "maxItems": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("delectable_incubator/rappi-restaurants-scraper-low-cost").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "urls": ["https://www.rappi.com.co/restaurantes"],
    "maxItems": 100,
}

# Run the Actor and wait for it to finish
run = client.actor("delectable_incubator/rappi-restaurants-scraper-low-cost").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "urls": [
    "https://www.rappi.com.co/restaurantes"
  ],
  "maxItems": 100
}' |
apify call delectable_incubator/rappi-restaurants-scraper-low-cost --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=delectable_incubator/rappi-restaurants-scraper-low-cost",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Rappi Restaurants Scraper - Low-cost💲🔥🍔🔥",
        "description": "🍽️🔍 Extract restaurant listings from Rappi with ease. Collect restaurant names, ratings, delivery fees, delivery times, cuisines, images, promotions, locations, and restaurant URLs. Ideal for food delivery market research, competitor analysis, lead generation, and restaurant datasets. 🚴📊✨",
        "version": "0.0",
        "x-build-id": "daiaBh3zSMirW7AJr"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/delectable_incubator~rappi-restaurants-scraper-low-cost/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-delectable_incubator-rappi-restaurants-scraper-low-cost",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/delectable_incubator~rappi-restaurants-scraper-low-cost/runs": {
            "post": {
                "operationId": "runs-sync-delectable_incubator-rappi-restaurants-scraper-low-cost",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/delectable_incubator~rappi-restaurants-scraper-low-cost/run-sync": {
            "post": {
                "operationId": "run-sync-delectable_incubator-rappi-restaurants-scraper-low-cost",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "urls"
                ],
                "properties": {
                    "urls": {
                        "title": "Rappi Search URLs",
                        "type": "array",
                        "description": "List of Rappi restaurant page URLs to scrape. Example: https://www.rappi.com.co/bello/restaurantes or https://www.rappi.com.co/restaurantes",
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxItems": {
                        "title": "Maximum items per URL",
                        "type": "integer",
                        "description": "Maximum number of restaurants to scrape per URL",
                        "default": 100
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
