Agent builders on X keep making the same point: reserve the maximum cost of a call _before_ it runs, and refuse the call once a cap is hit. Checking spend afterwards is just reporting. FastAF is built so that this works without guesswork.

## Why it works with FastAF

*   **The price is fixed per route and published up front.** Every route in [https://api.fastaf.co/openapi.json](https://api.fastaf.co/openapi.json) carries `x-payment-info.price` with `mode: "fixed"` and an exact USD amount.
*   **The 402 reply repeats the price before you pay.** An unpaid request returns HTTP 402 with `price.usd`, `asset: "USDC"` and `network: "eip155:8453"` (Base), plus the `PAYMENT-REQUIRED` header for x402 v2 clients.
*   **You are charged only on success.** The 402 body says: “Settled only if the request succeeds.”

## Price table (from the OpenAPI spec, 28 Oct 2026)

Price per call

Routes

$0.003

serp, search, amazon, reddit

$0.005

maps, youtube, scrape, news, scholar, jobs, linkedin\_jobs, patents, flights, bing, walmart, zillow, ebay, x, screenshot

$0.010

shopping, ai, images

$0.060

linkedin (public profiles)

## Pattern: reserve, call, release

```
import requests

BUDGET_USD = 0.50
PRICES = {}  # loaded once from the spec

spec = requests.get("https://api.fastaf.co/openapi.json").json()
for path, ops in spec["paths"].items():
    info = ops.get("get", {}).get("x-payment-info", {})
    if "price" in info:
        PRICES[path] = float(info["price"]["amount"])

spent = 0.0
def can_call(path):
    return spent + PRICES[path] <= BUDGET_USD

def record(path, ok):
    global spent
    if ok:          # FastAF settles only successful requests
        spent += PRICES[path]
```

1.  Before each call, check `spent + price <= budget`. If not, stop and return your own 402/“budget exhausted” to the agent.
2.  Optionally make the unpaid request first and read `price.usd` from the 402 body as a live check.
3.  Pay with your x402 client only when the reserve fits.

## Prefer a key instead?

The same 402 body offers an account path: 500 free credits every month after verifying your email at [https://fastaf.co/signup/](https://fastaf.co/signup/), then optional prepaid credits.

Related: [x402 scraping API, pay per call](/x402-scraping-api/) · [Google SERP API](/apis/google-serp-api/) · [Why agent retries cost more than you think](/how-to/agent-tool-retry-cost/)

## Reference

*   [x402 documentation](/docs/#x402): every parameter and response field
*   [Docs](/docs/): authentication, errors, MCP and [x402](/docs/#x402)
*   [Pricing](/pricing/): credit packs from $10, without expiry

## Other sources

*   [How to read public Amazon data when your requests fail](/how-to/read-amazon-data/)
*   [How to read public Google Search data when your requests fail](/how-to/read-google-data/)
*   [How to read public Walmart data when your requests fail](/how-to/read-walmart-data/)
*   [How to read LinkedIn data with an API](/how-to/read-linkedin-data/)
*   [How to read public eBay data when your requests fail](/how-to/read-ebay-data/)
*   [How to read public Booking.com data when your requests fail](/how-to/read-booking-data/)
*   [How to read X profile data with an API](/how-to/read-x-data/)
*   [How to read public Zillow data when your requests fail](/how-to/read-zillow-data/)
*   [Pay-per-call web scraping for AI agents with x402](/how-to/x402-pay-per-call-web-scraping/)
*   [MCP servers for Amazon, SERP and web scraping](/how-to/best-mcp-servers-amazon-serp-scraping/)
*   [Cost per agent: monthly SaaS vs x402 pay-per-call](/how-to/cost-per-agent-saas-vs-x402/)
*   [How FastAF handles heavy pages and timeouts](/how-to/heavy-pages-timeouts/)
*   [x402 endpoint discovery checklist: how agents find a paid API (and how FastAF passes it)](/how-to/x402-discovery-checklist/)
*   [Add FastAF to Claude Code, Codex and Cursor](/how-to/add-fastaf-claude-code-codex-cursor/)
*   [How to detect poisoned or incomplete SERP results in AI agents](/how-to/detect-poisoned-incomplete-serp-results/)
*   [Use FastAF from the Cloudflare Agents SDK](/how-to/fastaf-cloudflare-agents-sdk/)
*   [FastAF as a fallback search provider](/how-to/search-api-fallback-provider/)
*   [Budget a scraping job before you run it](/how-to/budget-scraping-job-fixed-prices/)
*   [Try FastAF for free, no card](/how-to/free-search-api-for-agents/)
*   [Too many MCP tools? Keep agent context small](/how-to/mcp-tool-schema-bloat/)
*   [How agents find an API (and where FastAF is)](/how-to/agent-discovery-files/)
*   [Why agent retries cost more than you think](/how-to/agent-tool-retry-cost/)
*   [All how-to guides](/how-to/)

## Compare

*   [FastAF vs SerpApi](/compare/serpapi/)
*   [FastAF vs Exa](/compare/exa/)
*   [FastAF vs Tavily](/compare/tavily/)
*   [FastAF vs Firecrawl](/compare/firecrawl/)
*   [FastAF vs Apify](/compare/apify/)
*   [FastAF vs toll402](/compare/toll402/)
*   [FastAF vs serp402](/compare/serp402/)
*   [FastAF vs AgentBIT](/compare/agentbit/)
*   [FastAF vs Amazon PA-API](/compare/amazon-pa-api/)
*   [FastAF vs Serper](/compare/serper/)
*   [FastAF vs ScrapingBee](/compare/scrapingbee/)
*   [FastAF vs ScraperAPI](/vs/scraperapi/)
*   [FastAF vs Bright Data](/vs/bright-data/)
*   [Benchmarks](/benchmarks/): latency and cost per 1,000 requests, measured

## Try it on your own request

500 free credits every month after email verification, no card.

[Start free](/signup/)[x402 documentation](/docs/#x402)

## Related

*   [How to read public Amazon data when your requests fail](/how-to/read-amazon-data/)
*   [How to read public Google Search data when your requests fail](/how-to/read-google-data/)
*   [How to read public Walmart data when your requests fail](/how-to/read-walmart-data/)
