Api Endpoint

Agentic Reservations

Restaurant recommendations from the Blackbird network (~2,000 curated restaurants, mostly NYC and San Francisco). Full-text search plus city/neighborhood filters, with complete specials on every result, refreshed daily from a cache (never a live call) — e.g. every West Village restaurant with its current Fly-reward offers in one call.

Open interactive test console

Offering

Provider
Agentic Reservations
Method
GET
Offering type
Api Endpoint
Transport type
http
Category
Infrastructure
Delivery
Not provided
Pricing model
Not provided
x402 version
2

Endpoint context

URL
https://agentres.dev/api/discover/restaurants
MIME type
application/json
First seen
2026-10-16T01:50:00.529Z
Last seen
Tags
restaurant reservations, resy, dining travel, agent services, availability search, X402, reservations, booking, travel, Agent-Infra, productivity

Payment pricing

x402 payment terms are the authoritative price for calling this endpoint.

Payment option 1
0.01 USDC
Atomic price: 10000 · Network: eip155:8453 · Asset: USDC · Scheme: exact
Payment option 2
0.01 USDC
Atomic price: 10000 · Network: solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp · Asset: USDC · Scheme: exact
Raw x402 terms
[
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "10000",
    "payTo": "0x66717045858d9f598e2ebd046bf42a0b1063c0fa"
  },
  {
    "scheme": "exact",
    "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
    "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
    "amount": "10000",
    "payTo": "FCFgb8Z63uwim2QpDJW4TGwLqZoENjckwGosLmg26zBS"
  }
]

Observed health

Status
Healthy
Latest latency
1207 ms
Average latency
543 ms
HTTP status
402
Last checked
Reachability
100% over 14 checks

Latency is measured to the first response headers. A reachable result does not verify response accuracy or merchant identity.

Input schema

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "const": "http"
    },
    "method": {
      "type": "string",
      "enum": [
        "GET"
      ]
    },
    "queryParams": {
      "type": "object",
      "properties": {
        "query": {
          "type": "string",
          "description": "Full-text search over name, cuisine, city, neighborhood"
        },
        "city": {
          "type": "string",
          "description": "Case-insensitive city filter, e.g. 'new york'"
        },
        "neighborhood": {
          "type": "string",
          "description": "Case-insensitive neighborhood filter, e.g. 'west village'"
        },
        "fields": {
          "type": "string",
          "enum": [
            "full",
            "slim"
          ],
          "description": "slim returns id/name/specials/specials_checked_at only (default limit 50, max 200) for a cheap wide sweep. full (default) returns locations, cuisine, price, and complete specials (default limit 20, max 100)."
        },
        "include_specials": {
          "type": "boolean",
          "description": "Deprecated: accepted and ignored. Specials are always present now — use fields instead."
        },
        "limit": {
          "type": "integer",
          "minimum": 1,
          "maximum": 200
        },
        "offset": {
          "type": "integer",
          "minimum": 0
        }
      }
    }
  },
  "required": [
    "type",
    "method"
  ],
  "additionalProperties": false
}

Output schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "method": {
          "enum": [
            "GET"
          ],
          "type": "string"
        },
        "queryParams": {
          "properties": {
            "city": {
              "description": "Case-insensitive city filter, e.g. 'new york'",
              "type": "string"
            },
            "fields": {
              "description": "slim returns id/name/specials/specials_checked_at only (default limit 50, max 200) for a cheap wide sweep. full (default) returns locations, cuisine, price, and complete specials (default limit 20, max 100).",
              "enum": [
                "full",
                "slim"
              ],
              "type": "string"
            },
            "include_specials": {
              "description": "Deprecated: accepted and ignored. Specials are always present now — use fields instead.",
              "type": "boolean"
            },
            "limit": {
              "maximum": 200,
              "minimum": 1,
              "type": "integer"
            },
            "neighborhood": {
              "description": "Case-insensitive neighborhood filter, e.g. 'west village'",
              "type": "string"
            },
            "offset": {
              "minimum": 0,
              "type": "integer"
            },
            "query": {
              "description": "Full-text search over name, cuisine, city, neighborhood",
              "type": "string"
            }
          },
          "type": "object"
        },
        "type": {
          "const": "http",
          "type": "string"
        }
      },
      "required": [
        "type",
        "method"
      ],
      "type": "object"
    },
    "output": {
      "properties": {
        "example": {
          "properties": {
            "charge_id": {
              "format": "uuid",
              "type": "string"
            },
            "limit": {
              "type": "integer"
            },
            "offset": {
              "type": "integer"
            },
            "restaurants": {
              "items": {
                "additionalProperties": true,
                "description": "id, name, cuisine[], price tier (1-4), image_url, website_url, cities[], neighborhoods[], locations[] (address, coordinates, time_zone), specials ([] = checked, no offers; null = never checked), specials_checked_at",
                "type": "object"
              },
              "type": "array"
            },
            "synced_at": {
              "format": "date-time",
              "nullable": true,
              "type": "string"
            },
            "total": {
              "type": "integer"
            }
          },
          "type": "object"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "type"
      ],
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}