Skip to main content

Documentation Index

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

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

ScrapeGraphAI uses a credit system to measure API usage. Each successful API call consumes a number of credits depending on the service and the complexity of the request.

Credit costs per service

ServiceCredits per requestDetails
Scrape (markdown)1Basic page scrape returning markdown
Scrape (screenshot)2Page scrape with a screenshot
Scrape (branding analysis)25Full branding analysis of a page
Extract5Structured data extraction
Search (no prompt)2 per resultSearch results without LLM processing
Search (with prompt)5 per resultSearch results processed by an LLM
Crawl2 startup + per-page scrape costStartup fee plus scrape cost for each page
Monitor+5Additional credits when a change is detected

Proxy modifiers

Using a proxy adds extra credits on top of the base service cost:
Proxy modeAdditional credits
Fast / JS rendering+0
Stealth+4
JS + Stealth+5
Auto (worst case)+9
For a full breakdown of plans and monthly credit allowances, see Plans & Pricing.
Failed requests and requests that return an error are not charged.

Checking your credit balance

Log in to the dashboard to see:
  • Remaining credits for your current billing period
  • Usage history broken down by service and date
You can also query your balance programmatically:
from scrapegraph_py import ScrapeGraphAI

sgai = ScrapeGraphAI()

res = sgai.credits()
if res.status == "success":
    print(f"Remaining credits: {res.data.remaining}")

What happens when you run out of credits?

When your credits are exhausted, the API returns an HTTP 402 Payment Required response:
{
  "error": "insufficient_credits",
  "message": "You have run out of credits. Please upgrade your plan or wait for the next billing cycle."
}
Upgrade your plan or purchase additional credits from the dashboard.

Tips to reduce credit usage

  • Cache results for URLs that don’t change frequently to avoid re-scraping.
  • Use scrape with MarkdownFormatConfig instead of extract when you only need the page content in a readable format and don’t need structured extraction — it’s 1 credit vs. 5.
  • Limit crawl scope in crawl.start by setting max_depth and max_pages to avoid accidentally crawling more pages than needed.