# Search bundle — Tavily + Exa on `search.gedx402.com`

**Shard:** `search` · **Origin:** https://search.gedx402.com

Operator keys: `TAVILY_API_KEY`, `EXA_API_KEY` in Cloudflare Secrets Store (`npm run ged:vault -- --push --sync-workers --from-env …`). Customers pay x402 USDC — no Tavily or Exa account required.

**Customer wires:** run `npm run pricing:report` in ged-x402 (or read `worst_case_price_usd` from `GET /v1/models?bundle=search`). Do not trust static markdown prices.

## AM winner (Agentic.Market)

```http
POST https://search.gedx402.com/v1/search
Content-Type: application/json
X-PAYMENT: …

{ "query": "latest quantum computing news", "max_results": 5 }
```

Slim Tavily-shaped body → Tavily Search API → `{ results: [{ rank, title, url, snippet, content }], count, answer? }`.

## Full Tavily API (x402 proxy)

All routes mirror [Tavily REST API](https://docs.tavily.com/documentation/api-reference/introduction). Pass Tavily-native JSON bodies; responses include `provider: "tavily"`.

| Route | Tavily endpoint | Credits (operator) |
|-------|-----------------|-------------------|
| `POST /v1/tavily/search` | `/search` | 1 basic / 2 advanced |
| `POST /v1/tavily/extract` | `/extract` | ~1 per URL |
| `POST /v1/tavily/map` | `/map` | 1+ |
| `POST /v1/tavily/crawl` | `/crawl` | 2–20 |
| `POST /v1/tavily/research` | `/research` | 15–30 |
| `GET /v1/tavily/research/:request_id` | poll status | **free** |
| `GET /v1/tavily/usage` | operator usage | **free** |

`POST /v1/search/outcome/search-lite` uses the same Tavily backend as `POST /v1/search`.

## Exa neural search (x402 proxy)

Slim GED bodies → [Exa API](https://docs.exa.ai). Responses include `provider: "exa"`.

| Route | Exa endpoint | Customer wire |
|-------|--------------|---------------|
| `POST /v1/exa/search` | `/search` | `pricing:report` |
| `POST /v1/exa/contents` | `/contents` | scales with URL count (max 10) — `pricing:report` |

```http
POST https://search.gedx402.com/v1/exa/search
Content-Type: application/json
X-PAYMENT: …

{ "query": "x402 agent marketplace APIs", "num_results": 5, "type": "auto" }
```

```http
POST https://search.gedx402.com/v1/exa/contents
Content-Type: application/json
X-PAYMENT: …

{ "urls": ["https://example.com"], "max_characters": 2000 }
```

## Discovery

- `GET https://search.gedx402.com/v1/models?bundle=search`
- Hub: `GET https://gedx402.com/v1/models?bundle=winners` includes `POST /v1/search`
- Pricing policy: [PRICING-COGS.md](./PRICING-COGS.md)
