Credits & Pricing
How Surf credits work, what each API call costs, and how credits convert to USD.
One API key, two products
Your Surf API key unlocks both products, and credits are shared across them:
- Data API — typed market data for AI agents: 100+ crypto data commands plus 9 public Equity endpoints for US stocks, ETFs, financial statements, valuation metrics, and holdings.
- Chat API — the AI Research endpoint: a single OpenAI-compatible REST endpoint that answers natural-language research questions.
Every call deducts credits from the same balance. The exact amount spent is returned on each response under meta.credits_used, and you can check your remaining balance with GET /v1/me/credit-balance or in the Dashboard.
No sign-up required to try it — every IP gets 30 free credits per day, resetting at 00:00 UTC. Generate an API key from the Dashboard for full access.
Data API — cost per call
Data API endpoints are priced by how expensive the underlying query is. Equity market context follows standard pricing; full financial statements use a separate 6-credit tier.
| Tier | Endpoints | Credits / call | Price / call |
|---|---|---|---|
| Light | Social / News / Fund / Exchange / DEX / Search (partial) / Web | 1 | $0.006 |
| Standard | Market / Equity candles, listings, profiles / Token (partial) / Wallet / Project DeFi / Onchain (partial) | 2 | $0.012 |
| Heavy | Equity overview, metrics, ETF holdings / Onchain SQL / Token DEX / Wallet Search / Hyperliquid / Signal / Polymarket / Kalshi | 4 | $0.024 |
| Financial statements | Equity income statement / balance sheet / cash flow | 6 | $0.036 |
Prices shown at the $0.006/credit list rate; volume discounts lower them.
3-minute window. Calling the same endpoint again within 3 minutes costs 0 credits, regardless of parameters. Cached re-calls are free — only the first call in each 3-minute window is billed.
Chat API — cost per call
The Chat API (POST /v1/responses) is billed per call by model and, for surf-2.0, by reasoning.effort:
| Model | Reasoning effort | Credits / call | Price / call |
|---|---|---|---|
surf-2.0-instant | any | 20 | $0.12 |
surf-2.0 | omitted / none | 20 | $0.12 |
surf-2.0 | minimal | 30 | $0.18 |
surf-2.0 | low | 50 | $0.30 |
surf-2.0 | medium | 120 | $0.72 |
surf-2.0 | high | 150 | $0.90 |
surf-2.0 | xhigh | 200 | $1.20 |
Prices shown at the $0.006/credit list rate; volume discounts lower them.
What a credit costs
Credits are purchased up front and priced in USD. The standard pay-as-you-go rate is:
| Rate | |
|---|---|
| List price | $0.006 per credit (≈ 3,330 credits per $20) |
| Minimum top-up | $20 |
Top up with credit/debit card, USDC, or crypto (Coinbase Commerce) from the Dashboard.
Volume discounts
Larger commitments lower the per-credit price. Business plans are arranged through sales:
| Plan | Per-credit price | Applies when buying |
|---|---|---|
| Starter | $0.005 | over 100,000 credits |
| Pro | $0.004 | over 500,000 credits |
| Plus | $0.0035 | over 1,000,000 credits |
| Growth | $0.003 | over 1,500,000 credits |
To set up a Business plan, contact us.
Worked examples
- A
surf-2.0medium-effort research call costs 120 credits → 120 × $0.006 = $0.72 at list price. - A
surf-2.0xhigh-effort research call costs 200 credits → 200 × $0.006 = $1.20 at list price. - A Heavy Data API call (e.g. Onchain SQL) costs 4 credits → $0.024 at list price; a repeat of the same call within 3 minutes is free.
- Equity endpoints range from 2 credits for market context to 6 credits for financial statements; the exact usage is returned in
meta.credits_used. - $20 at list price buys ~3,330 credits → roughly 3,330 Light calls, 832 Heavy calls, 27
surf-2.0medium calls, or 16surf-2.0xhigh calls.