Pricing, limits, and integration
Billing is per credit, and credits are not requests. A Web Scraping API call costs 1 credit, a Google Maps call 5, and a Google SERP API call 10, so dividing a plan price by its credit allowance never gives a per-request rate.
Read the vendor per-1,000-request table instead. Google SERP API runs $2.45 per 1,000 on the $49 Startup plan, $0.99 on the $99 Business plan and $0.83 on Growth. The general Web Scraping API is much cheaper at $0.24, $0.10 and $0.08 across the same plans.
Only successful requests consume credits, which is documented and repeated in the app. Concurrency is 1 request on the free tier, 15 on Startup, 30 on Business and 50 upward on Growth, and exceeding it returns 429. Twenty simultaneous requests on a 50-concurrency account all succeeded in 4.7 seconds with no throttling.
One reporting caveat: the /user/me/usage endpoint returns totalCredits reflecting the default trial allotment rather than the account balance, so percentage-remaining cannot be computed from it, and the Usage dashboard updates hourly while the sidebar counter is live.
How much does the HasData API actually cost?
HasData publishes an API, but per-tier gating wasn't extracted automatically.
- Most likely scenario: API access is either included in all paid plans, or it's gated to higher tiers and we need to verify on the live docs page.
- Until verified, treat the question "which plan unlocks the API" as open. Don't budget on the assumption it's free with the cheapest paid plan.
HasData API is sold as a standalone product with its own pricing, not bundled into a parent SaaS subscription. See the pricing details below and confirm current rates on the official API page.
API at a glance
HasData also has an MCP server
If you're wiring HasData into Claude / Cursor / Codex, the MCP server is usually less code than the REST API.
See HasData MCP pageWhat you can build with the HasData API
Three personas, three different shapes of build. Pick the row that matches how you actually ship.
Glue HasData into your daily workflow
- Pull a digest of ranking changes into your morning Slack
- Trigger a one-off backfill when something looks off
- Pipe data into your own SQLite for ad-hoc queries
Sell HasData reporting at scale
- White-label HasData data into client-branded dashboards
- Run scheduled multi-account reports without logging into the HasData UI
- Cross-reference with the rest of the client's stack (CRM, analytics, ad spend)
Production pipelines for HasData
- Real-time sync into your warehouse on a cron
- Custom alerts the dashboard's built-in alerting can't express
- Backfill + idempotency handling for HasData data older than the dashboard exposes
Quickstart template
# Starter template — endpoint paths and SDK package names come from # the HasData API docs: https://docs.hasdata.com curl -X GET "https://api.hasdata.com/<your-endpoint>" \ -H "Authorization: Bearer $TOKEN" \ -H "Accept: application/json" | jq .
Template only. Endpoint paths, exact base URL, and auth header format come from docs.hasdata.com.
Limits and gotchas
- No OpenAPI spec — you write typed clients by hand or use a third-party generator on the docs HTML.
- No official SDK detected. Plan on hitting the API directly with your HTTP client of choice.
- Rate limits: always read the docs page before scaling — the published limit is usually lower than the practical one and overages can be expensive.
HasData API FAQ
Does HasData have a public API?+
Should I use the API or the MCP server for Claude / Cursor / Codex?+
Sources
- HasData official site: https://hasdata.com
- API docs: https://docs.hasdata.com
- MCP server: https://mcp.hasdata.com/mcp
10+ years in digital marketing. I review marketing software for AI-stack fit: real pricing, MCP and API support, and how cleanly each tool drops into an AI agent workflow, cross-checked against verified data and real user feedback.

