# OpenTable Restaurant URL Scraper

> OpenTable Restaurant URL Scraper is a paid API for AI agents from api.scrapeforagents.tech, paid per call via x402, $0.25/call, status unknown (last checked 2026-10-02).

Scrapes and returns a list of restaurant URLs and slugs from OpenTable's public sitemap, filtered by city and keyword query.

## Facts

- Endpoint: POST https://api.scrapeforagents.tech/v1/opentable?utm_source=zero.xyz
- Price: $0.25/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/opentable-restaurant-url-scraper-805ead56
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_4vYpvsHM0BRBH2WZyq8FJ

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 opentable-restaurant-url-scraper-805ead56 -d '<json body>'
```

Example prompt: Can you pull me a list of up to 50 OpenTable restaurant URLs in San Francisco that have 'pizza' in their name slug?

## When to prefer this

Use this endpoint when you need to discover or enumerate OpenTable restaurant URLs and slugs from public sitemaps by city and keyword — ideal for building restaurant datasets, competitive research, or seeding a pipeline with OpenTable listing URLs. Not suitable for checking live availability, making reservations, filtering by cuisine, or getting menu data.

## Known failure modes

- Empty result set if no restaurants match the city or query keyword in OpenTable sitemaps — not billed
- City name mismatch if the restaurant omits city from its URL slug — silently missed
- Query is a URL slug keyword match only, not a cuisine or live availability filter — may miss relevant restaurants
- Rate limits or sitemap unavailability on OpenTable's end may cause failed runs — not billed
- maxItems=0 scans all shards and may be slower or return very large datasets

## How this service works

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

## Output

Returns a JSON object with a count of matched restaurants and an array of items, each containing the restaurant name, name source, restaurant URL, source sitemap URL, restaurant slug, and sitemap last-updated timestamp. The product field confirms 'opentable'. Failed or empty runs are not billed.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "city": {
   "type": "string",
   "default": "New York",
   "description": "City text to match in restaurant URL slugs, such as New York. Some restaurants omit their city in the URL and will be missed."
  },
  "query": {
   "type": "string",
   "default": "",
   "description": "Words to match in public restaurant URL slugs. This is a name and URL search, not a cuisine or live availability filter."
  },
  "maxItems": {
   "type": "integer",
   "default": 100,
   "minimum": 0,
   "description": "Maximum number of matching restaurant URLs to export. Use 0 to scan all selected sitemap shards."
  },
  "includeNetwork": {
   "type": "boolean",
   "default": false,
   "description": "Search the network profile sitemap category instead of the listing profile category. Run both settings to compare coverage."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 1,
  "items": [
   {
    "name": null,
    "nameSource": null,
    "restaurantUrl": null,
    "sourceSitemap": null,
    "restaurantSlug": null,
    "sitemapUpdatedAt": null
   }
  ],
  "product": "opentable"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/opentable-restaurant-url-scraper-805ead56/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.scrapeforagents.tech](https://www.zero.xyz/host/api.scrapeforagents.tech/llms.txt)
