FAQ
Answers to common questions about access, credits, data and limits.
How do I get an API key?
During the beta, accounts are issued by our team: request access on the contact page and we will send you a dashboard sign-in. Once signed in, create your API key on the API access page (it looks like sk_ followed by random characters). The full key is shown once, when it is created.
How does "failures are free" work?
Only successful calls (HTTP 2xx) consume credits. Failed or blocked requests — validation errors, upstream failures, timeouts, rate-limited calls — cost 0 credits, and so do empty results such as a comparison where no OTA returned a price. Credit metering is in beta (shadow mode) and the API is free while paid plans are not on sale.
What happens when I use up my monthly credits?
Nothing is blocked during the beta: metering runs in shadow mode, so requests are recorded but never refused, and a negative balance is forgiven at renewal. Once enforcement is switched on, a request that needs more credits than you have returns 402 with the renewal date. Check your balance any time with GET /v1/billing.
How do I see what I have used?
Every metered response carries x-credits-charged and x-credits-remaining headers. GET /v1/billing returns your plan, balance and period, GET /v1/billing/ledger lists every credit movement, and GET /v1/usage and GET /v1/requests show request counts and history. All of these are free.
Can I use the API for commercial purposes?
Yes. ScraperCompany is built for commercial use, subject to our Terms of Service. You are responsible for how you use the data.
How fresh is the rate data?
Live endpoints collect from the source when you call them, and responses say when the data was observed (for example observed_at on calendar responses). The stored-rates endpoints return the latest stored observation instead. Latency depends on the source: a Google Hotels calendar call usually takes well under a second, while official booking engines that need a browser can take several seconds (GET /v1/official/engines lists the cost per engine).
Do you support international hotels?
Yes. Google Hotels, Booking.com, Hotels.com, Agoda, Tripadvisor, Hostelworld and Airbnb all have global inventory, and the Google endpoints take a market and currency so you see the prices a guest in that market would see. Expedia is priced through its US and Canadian points of sale and Vrbo through its US site.
Can I get historical rate data?
The API returns current and forward-looking prices. There is no historical archive to query; to build history, store responses over time.
What's the difference between OTA and official-site rates?
OTA rates come from online travel agencies such as Booking.com and Hotels.com (8 credits per single-source call). Official-site rates come from the hotel's own booking engine (4 credits per call, 31 engines supported). For rate parity monitoring you usually need both; OTA compare fans out across OTAs in one call (20 credits).
How do rate limits and concurrency work?
The enforced limit is per API key: a requests-per-minute sliding window, 60 per minute by default. Above it the API returns 429 with {"detail": "rate limit 60/min exceeded"}. Plans also cap concurrent requests (2, 10, 40 and 100); that cap applies only once credit enforcement is on, and returns 429 "concurrency limit N reached for the <Plan> plan".
When can I buy a paid plan?
Paid plans are not on sale yet. If you need more than the beta offers, email sales@scrapercompany.com.
What happens if a hotel name or location changes?
Property tokens and OTA ids are usually stable. If a call starts returning 404 for a property, resolve it again by name with /v1/search or the OTA search endpoints.
Can I request new data sources or endpoints?
Yes. Email support@scrapercompany.com with your use case and we will evaluate it.
Is there an SLA for uptime?
No uptime SLA is offered during the beta. Enterprise terms are agreed individually.
Is there anything to cancel or refund?
No. No payments are taken during the beta, so there is no subscription to cancel. Billing terms for paid plans will be published before they go on sale.
What programming languages do you support?
ScraperCompany is a REST API, so any language that can make HTTP requests works. The docs include cURL, Python and Node.js examples, and the OpenAPI spec can generate clients for other languages.
Can AI agents use the API?
Yes. The MCP server at https://api.scrapercompany.com/mcp exposes 18 read-only tools (hotel rates, flights, vacation rentals, credit balance) to Model Context Protocol clients such as Claude Code, Cursor and Claude Desktop. It takes your API key, and each tool call is priced like the REST call it wraps. See the MCP server docs.
Do you offer volume pricing?
Enterprise pricing is custom. Contact sales@scrapercompany.com to discuss your volume.
How do I authenticate my requests?
Send your API key in the x-api-key header: x-api-key: YOUR_API_KEY. Authorization: Bearer YOUR_API_KEY also works. See the Authentication docs for details.
How do I rotate or revoke a key?
Rotate it yourself from the dashboard (API access page) — the old key stops working immediately and the new one is shown once. For a revocation without a replacement, email support@scrapercompany.com.
Can I allowlist IP addresses?
IP allowlisting is not available. Keep your key on the server side and never ship it in browser code.
What if I hit a rate limit?
You will receive HTTP 429. The REST API sends no rate-limit or Retry-After headers, so pace requests below your per-minute limit and retry 429, 502 and 503 responses with exponential backoff.