One MCP connection — or one API key — hands an agent search, scrape, extract and crawl. Every call is priced in the same credit, and the Web Data tools state that price in the description the model reads.
The reasoning is yours. The fetching layer underneath it — browsers, exits, parsers, retries, a bill from each vendor — is infrastructure you would be maintaining instead of shipping.
Anything that moved after training — a price, a changelog, a competitor that shipped last week — has to be fetched at call time, or the agent answers from memory and sounds certain about a stale fact.
Browser pools, proxy rotation, HTML-to-markdown, retries, and one more integration per vendor. Every hour spent there is an hour not spent on the agent your users actually came for.
Choosing between a scrape and a crawl is a spend decision the model makes without you. If the price is not in front of it, the price is not in the decision.
Mint a token in the dashboard, drop the JSON into your MCP client, and the whole tool list is there. Prefer plain HTTP? The second tab runs the same job through the REST API with the same token.
https://api.wayfern.com/mcp
Streamable HTTP. POST carries every message.
A wf_… token carrying the mcp scope — the same token
serves REST with the web scope. An active plan or
a positive credit balance is required.
2026-07-28, stateless — no handshake, no session header. The older session-based shape current SDKs still speak is served on the same endpoint.
{
"mcpServers": {
"wayfern": {
"type": "http",
"url": "https://api.wayfern.com/mcp",
"headers": {
"Authorization": "Bearer ${WAYFERN_API_TOKEN}"
}
}
}
}These are the prices the service debits — this table renders from the same rate config the backend charges from, so the two cannot disagree.
| Tool | Credits | What it does |
|---|---|---|
| search_web | 2 credits per search | Google, Bing and DuckDuckGo results with excerpts, ads, pagination and related queries. Metered per provider result page fetched. |
| scrape_page | 1 credit per page | One page as clean markdown, HTML, links and metadata — context an LLM can read without a parser in between. |
| extract_data | 1 credit per source page | Structured data from up to 100 URLs against a prompt and an optional JSON Schema. Source pages already fetched are not billed again. |
| map_site | 2 credits per 10 URLs | Discover a site's URLs from its sitemaps and its page links, optionally filtered by a search term. Billed on the URLs it returns. |
| crawl_site | 1 credit per successful page | Start a bounded multi-page crawl. Returns a job id straight away and charges nothing up front. |
| crawl_status | Free | Poll a crawl and read a page of its results. The pages were billed as they were crawled, so polling is free. |
| capture_screenshot | 5 credits per capture | A page image with cookie banners dismissed, lazy images loaded and tall pages captured end to end. Returns a downloadable URL. |
| brand_profile | 10 credits per profile | Identity, colors, logos, social links and company metadata for a domain. |
| site_styleguide | 10 credits per site | Colors, typography, spacing, radii, shadows and the design tokens a site declares. |
| site_fonts | 5 credits per site | Font families, where each one is served from, the weights available and where they are used. |
| list_search_engines | Free | The live provider ids and labels that search_web accepts. |
Add-ons Asking scrape_page or crawl_site for a screenshot, PDF or JSON output adds +4 credits once per page however many of the three you request; a summary adds +2 credits per page. Map bills per started block of 10 returned URLs.
A tool call and a curl call land in the same service, on the same balance. Move a workflow from your agent into a batch job and nothing about the price changes.
Each MCP tool calls the same domain service its REST endpoint calls. Validation, behaviour and billing come from that one place, so a tool call and a curl call cannot drift apart.
The nine Web Data tools state their credit cost in the description the model reads, interpolated straight from the backend's rate config. The server's instructions add that every fetching tool spends credits, and tell the model to prefer the cheapest one that answers the question.
An MCP tool result carries credits_charged; a REST response carries credits in the same envelope. Reconciliation is reading a field, not rebuilding a meter.
Each request re-checks that the account still has an active plan or a positive balance before the transport sees it, and a browser Origin has to be on the allow-list.
The tools above cover the fetch: read this page, discover those URLs, pull that structure
out. When the job means signing in, stepping through a flow, or holding one identity across
many actions, drive a session yourself over CDP at wss://browser.wayfern.com/ws with Playwright or Puppeteer — same account, same credit balance.
scrape_page, extract_data, capture_screenshot and the three site reports take a proxy option, defaulting to "auto": the run goes out
over a datacenter exit, and a navigation that comes back classified as blocked is retried
once through a residential exit. Datacenter egress is free; residential bandwidth meters
against the same balance. Pin it to "datacenter" or "residential" when you want to make that call yourself; scrape_page also takes a two-letter exit country.
Worked from the rates above. The last line of each card is how many such runs fit inside the 1,520 monthly credits on the $19 Developer plan.
Search once, then read the handful of results that look worth reading.
About 217 runs a month on Developer.
Everything the design and positioning of one domain can tell you, in one turn.
About 50 runs a month on Developer.
Discover the URLs, crawl them to markdown, poll until the job is done.
About 6 runs a month on Developer.
Credits are fungible: the same balance covers these tools, browser sessions, captcha solves and residential bandwidth. Run the balance down and calls are blocked, unless you have switched auto-top-up on, which bills the overage instead. See the full rate card for every published rate.
Mint a token, paste the config, and your agent has eleven tools and one bill. Top up or move up a plan whenever the workload does.