Credits System

HasData uses a credits-based pricing model because the complexity and cost of scraping varies. Some APIs and scrapers require more resources and cost more credits.

  • Successful Requests: Only successful requests consume credits. Failed or invalid requests will not result in a charge.
  • Credits per API Request: Different APIs have different costs. For example, the Google Maps API consume 5 credits per request, while a more complex service, such as Google SERP API, might consume 10 credits per request.
  • Credits per Scraper Job: Scraper Jobs also follow the credit model. Each row of data returned by a scraper consumes a set amount of credits (e.g., 1 credit per row).

You can track your credit consumption and remaining balance in the Dashboard. Credits are updated in real-time, so you can always see how many credits you’ve used and how much is left.

Concurrency

Concurrency refers to the number of simultaneous requests you can make to the API.

  • Free Users: Free accounts are limited to 1 concurrent request at a time.
  • Paid Users: Concurrency limits for paid users are defined by the plan you select.

Exceeding Concurrency Limits

If you exceed your concurrency limit, the API will return a 429 Too Many Requests response, indicating that you’ve hit the maximum number of concurrent requests allowed.

Scaling Concurrency

To increase your concurrency limit, upgrade your plan. For custom limits, contact support to discuss your needs.

Monitoring & Notifications

You’ll receive real-time notifications when your credits are running low.

To monitor credit consumption and concurrency usage programmatically, use the /user/me/usage endpoint.

curl --location --request GET 'https://api.hasdata.com/user/me/usage' \
    --header 'Content-Type: application/json' \
    --header 'x-api-key: <your-api-key>'

Response:

{
   "status": "ok",
   "data": {
      "totalCredits": 10000000,
      "availableCredits": 5473702,
      "concurrentRequests": 0,
      "availableConcurrency": 100
   }
}

FAQ