# Blackbird Restaurant Discovery via Agentic Reservations

> Blackbird Restaurant Discovery via Agentic Reservations is a paid API for AI agents from agentres.dev, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-09).

Searches and filters ~2,000 curated Blackbird-network restaurants (primarily NYC and San Francisco) with optional live Fly-reward specials per result

## Facts

- Endpoint: GET https://agentres.dev/api/discover/restaurants?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-09
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/blackbird-restaurant-discovery-via-agentic-reservations-841980c1
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_buVSpz5pANQmD0jn6rw7G

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 blackbird-restaurant-discovery-via-agentic-reservations-841980c1
```

Example prompt: Can you find me Blackbird-network restaurants in the West Village that have active Fly-reward specials right now? Show me up to 20 results.

## When to prefer this

Choose this endpoint when you need to discover or search Blackbird-network restaurants specifically, especially when the user cares about Fly loyalty rewards or live specials. It is not a general restaurant search (e.g. Yelp or Google Maps); its value is the curated Blackbird network and the ability to surface real-time reward offers in a single call. Prefer it over booking endpoints when the user is still in the discovery/browsing phase rather than ready to reserve a table.

## Known failure modes

- Query matches no restaurants — returns empty restaurants array with total: 0
- include_specials live lookup fails for individual restaurants — specials field returns null for affected entries
- limit exceeds 20 when include_specials is true — API caps results at 20 automatically
- Payment not processed or x402 auth missing — request rejected before execution
- City or neighborhood string doesn't match any known value — returns empty results silently
- offset beyond total count — returns empty page

## How this service works

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.

## Output

A paginated JSON array of restaurant objects including id, name, cuisine types, price tier (1–4), image URL, website URL, cities, neighborhoods, and location details (address, coordinates, time zone). When include_specials is true, each restaurant also carries its current Fly-reward offers (empty array means no active offers; null means the live lookup failed). The response envelope includes total count, limit, offset, sync timestamp, and a charge ID UUID for the payment transaction.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "properties": {
      "city": {
       "type": "string",
       "description": "Case-insensitive city filter, e.g. 'new york'"
      },
      "limit": {
       "type": "integer",
       "maximum": 200,
       "minimum": 1
      },
      "query": {
       "type": "string",
       "description": "Full-text search over name, cuisine, city, neighborhood"
      },
      "fields": {
       "enum": [
        "full",
        "slim"
       ],
       "type": "string",
       "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)."
      },
      "offset": {
       "type": "integer",
       "minimum": 0
      },
      "neighborhood": {
       "type": "string",
       "description": "Case-insensitive neighborhood filter, e.g. 'west village'"
      },
      "include_specials": {
       "type": "boolean",
       "description": "Deprecated: accepted and ignored. Specials are always present now — use fields instead."
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "properties": {
      "limit": {
       "type": "integer"
      },
      "total": {
       "type": "integer"
      },
      "offset": {
       "type": "integer"
      },
      "charge_id": {
       "type": "string",
       "format": "uuid"
      },
      "synced_at": {
       "type": "string",
       "format": "date-time",
       "nullable": true
      },
      "restaurants": {
       "type": "array",
       "items": {
        "type": "object",
        "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",
        "additionalProperties": true
       }
      }
     }
   
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/blackbird-restaurant-discovery-via-agentic-reservations-841980c1/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from agentres.dev](https://www.zero.xyz/host/agentres.dev/llms.txt)
