# Swiggy Restaurant Scraper (x402)

> Swiggy Restaurant Scraper (x402) is a paid API for AI agents from x402.186-241-26-229.sslip.io, paid per call via x402, $0.04/call, status unknown (last checked 2026-10-02).

Scrapes structured restaurant listings and menu data from Swiggy for specified Indian cities or GPS coordinates, returning names, ratings, cuisines, and optional dish details.

## Facts

- Endpoint: POST https://x402.186-241-26-229.sslip.io/v1/swiggy?utm_source=zero.xyz
- Price: $0.04/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/swiggy-restaurant-scraper-x402-64f65304
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_A68vJDEyzDSGb8pn897Nh

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability swiggy-restaurant-scraper-x402-64f65304 -d '<json body>'
```

Example prompt: Pull me up to 50 Swiggy restaurant listings for biryani in Bangalore and Hyderabad, and include the menu with dish prices for each one.

## When to prefer this

Use this endpoint when you need structured restaurant data specifically from Swiggy across Indian cities or GPS coordinates, especially when you want ratings, cuisine tags, and optional menu-level pricing in a single pay-per-call request. Prefer it over generic web scrapers when you need clean, schema-normalized Swiggy output without building your own parser, and when you only want to pay for successful, non-empty results.

## Known failure modes

- No restaurants found for query/city combination — returns empty items array, no charge
- Invalid city enum value — request rejected with validation error
- Coordinates outside India — rejected with location constraint error
- Swiggy site unavailable or blocking — failed run, no charge
- maxItems exceeds 10000 — validation error
- Search term yields no Swiggy results — empty response, no charge

## How this service works

Pay-per-call structured web data. Failed or empty runs are not charged.

## Output

A JSON object with a count of returned restaurants and an items array, each item containing restaurant name, URL, rating, rating count, cuisines, Google rating, Google rating count, and restaurant ID. When menus are requested, each item also includes an array of dish names and prices, capped at the specified maxMenuItems.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "cities": {
   "type": "array",
   "items": {
    "enum": [
     "mumbai",
     "delhi",
     "gurgaon",
     "noida",
     "bangalore",
     "hyderabad",
     "chennai",
     "kolkata",
     "pune",
     "ahmedabad",
     "jaipur",
     "lucknow",
     "chandigarh",
     "kochi",
     "indore",
     "surat",
     "nagpur",
     "bhopal",
     "coimbatore",
     "vadodara"
    ],
    "type": "string",
    "enumTitles": [
     "Mumbai",
     "Delhi",
     "Gurgaon",
     "Noida",
     "Bengaluru",
     "Hyderabad",
     "Chennai",
     "Kolkata",
     "Pune",
     "Ahmedabad",
     "Jaipur",
     "Lucknow",
     "Chandigarh",
     "Kochi",
     "Indore",
     "Surat",
     "Nagpur",
     "Bhopal",
     "Coimbatore",
     "Vadodara"
    ]
   },
   "default": [
    "mumbai"
   ],
   "description": "Choose one or more Indian cities. Leave empty when using only custom coordinates."
  },
  "queries": {
   "type": "array",
   "description": "Search each location for these terms, such as biryani or pizza. Leave empty for the first public restaurant listing at each location."
  },
  "maxItems": {
   "type": "integer",
   "default": 100,
   "maximum": 10000,
   "minimum": 1,
   "description": "Stop after this many unique restaurant rows across all locations and search terms."
  },
  "coordinates": {
   "type": "array",
   "description": "One location per line as latitude, longitude, optional label; a map URL containing coordinates also works. Locations must be within India."
  },
  "includeMenu": {
   "type": "boolean",
   "default": false,
   "description": "Fetch public dish details and prices for each restaurant. This adds one catalog request per restaurant and may be slower."
  },
  "maxMenuItems": {
   "type": "integer",
   "default": 50,
   "maximum": 500,
   "minimum": 1,
   "description": "Keep at most this many dishes on each restaurant row when menus are enabled."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 1,
  "items": [
   {
    "url": null,
    "name": null,
    "rating": null,
    "cuisines": null,
    "ratingCount": null,
    "googleRating": null,
    "restaurantId": null,
    "googleRatingCount": null
   }
  ],
  "product": "swiggy"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/swiggy-restaurant-scraper-x402-64f65304/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402.186-241-26-229.sslip.io](https://www.zero.xyz/host/x402.186-241-26-229.sslip.io/llms.txt)
