# OpenTable Restaurant URL Scraper (x402)

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

Searches OpenTable's public sitemaps and returns structured restaurant URL data matching a city and query string, with pay-per-call USDC billing.

## Facts

- Endpoint: POST https://x402.186-241-26-229.sslip.io/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-x402-830400aa
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_NiOpbtIHU41zkyQGFi7f8

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-x402-830400aa -d '<json body>'
```

Example prompt: Search OpenTable's sitemap for Italian restaurants in Chicago — return up to 50 matching restaurant URLs with their slugs and listing details.

## When to prefer this

Use this endpoint when you need to programmatically discover restaurant URLs and slugs from OpenTable's public sitemap by city and name keyword. It is not a live availability or cuisine search — prefer it for bulk URL extraction, building restaurant directories, checking brand presence on OpenTable, or feeding downstream scrapers. The pay-only-on-success model makes it low-risk for exploratory queries.

## Known failure modes

- Empty results if no restaurants match the city or query string in the sitemap slugs
- City name mismatch if the restaurant omits city from its URL slug
- Partial results if maxItems is set too low
- Sitemap data may be stale if OpenTable hasn't refreshed recently
- Payment failure if USDC balance is insufficient (not charged on empty runs)

## 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 matched restaurants and an array of items, each containing the restaurant name, name source, restaurant URL, source sitemap URL, restaurant slug, and the sitemap's last updated timestamp. Empty or failed 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-x402-830400aa/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)
