Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.scrapellm.com/llms.txt

Use this file to discover all available pages before exploring further.

The ScrapeLLM API uses a credit-based billing system with per-account rate limits enforced at the API gateway.

Credits system

How credits work

  • Each successful API request consumes credits based on the scraper used
  • Credits are deducted when requests complete with HTTP 200
  • Failed requests (4xx errors) do not consume credits
  • Async jobs that fail after all retry attempts restore credits automatically
  • Most scrapers cost 3 credits per request

Credit cost per scraper

ScraperCredits
ChatGPT3
Perplexity3
Grok3
Copilot3
Gemini3
Google AI Mode3
Amazon Rufus3

Rate limits

Rate limits are enforced per API key. When you exceed a limit, you receive HTTP 429:
{
  "detail": "Rate limit exceeded. Retry after a moment."
}
Limits vary by plan. Implement retry with exponential backoff on 429 responses. See Error handling for a code example.

Monitoring usage

Dashboard

Your dashboard shows:
  • Current credit balance
  • Credits used this billing cycle
  • Usage history and trends

Track credit consumption in code

import requests

resp = requests.get(
    "https://api.scrapellm.com/scrapers/chatgpt",
    headers={"X-API-Key": "YOUR_API_KEY"},
    params={"prompt": "Best CRM?", "country": "US"},
)

data = resp.json()
credits_used = data.get("credits_used", 0)
print(f"Credits used for this request: {credits_used}")

Handling credit exhaustion

When credits run out (HTTP 429), implement graceful handling:
import requests

resp = requests.get(
    "https://api.scrapellm.com/scrapers/chatgpt",
    headers={"X-API-Key": "YOUR_API_KEY"},
    params={"prompt": "Best CRM?"},
)

if resp.status_code == 429:
    print("Credit limit reached. Upgrade your plan or wait for next billing cycle.")
elif resp.status_code == 200:
    data = resp.json()
    print(data["result"])

Common questions

Why was I charged for a failed request?

You’re only charged for successful requests (HTTP 200). 4xx errors and async jobs that fail after all retries do not consume credits.

How do I know how many credits I have left?

Check the credits_used field in each response, or log into your dashboard for your current balance.

What happens at the rate limit?

You receive HTTP 429. Implement exponential backoff and retry — the window resets shortly. For sustained high-volume workloads, use async job mode which handles queuing server-side.

Can I get notified when credits are running low?

Contact [email protected] to discuss credit alerts. We’ll notify you by email when you approach your limit.