Geonode logo

Unlimited Scraper API.

Run unlimited requests on flat monthly plans, priced by concurrency. Or pay from $0.20 per 1,000 requests. Built on our own proxy network.
Send a URL
One URL or a list in a single call
Flat monthly or per-request
Free1,500 requests/month
Structured data output
  • HTML
  • Markdown

Web scraping pricing. Go unlimited, or pay per request.

One tier covers Scraper, Map, Crawl and Search. No credits, no multipliers, no surprise bills.

  • Free plan

    $0/ month

    1,500 requests / month

    • Concurrency1
    • Batch size5 URLs
    • Pages per crawl10
    • Resets every month
    • No credit card required
    • Failed requests are never charged – across every endpoint
  • Per-request plans

    $62.50/ month

    250,000 requests / month

    Requests:
    • Concurrency50
    • Batch size100 URLs
    • Pages per crawl200
    • Unused requests roll over
    • Failed requests are never charged – across every endpoint
  • Unlimited plans

    $1,000/ month

    Unlimited request volume

    Threads:
    • Best for up to7M requests/mo
    • Batch size1,000 URLs
    • Pages per crawl1,000
    • Unlimited requests, flat price
    • Include every endpoint
  • Pay As You Go

    from $0.40/ 1k requests

    Custom requests amount

    • Concurrency100
    • Batch size500 URLs
    • Pages per crawl500
    • Unused requests roll over
    • $50 minimum order
    • Failed requests are never charged – across every endpoint

# Before (Firecrawl)

SCRAPE_API_URL=https://api.firecrawl.dev

SCRAPE_API_KEY=fc-xxxxx

# After (Geonode)

SCRAPE_API_URL=https://scraper.geonode.io/v1/extract

SCRAPE_API_KEY=gn-xxxxx

Switching from Firecrawl

Two environment variables. Same code. Lower bill.

Everything else stays the same. The only thing that changes is the invoice.

Scraper API pricing: flat rate or pay as you go

Choose how to pay based on how much you scrape. Our scraper API pricing gives you request-based and flat monthly options, so you can match the plan to how your workload runs. Use request-based pricing for smaller or changing workloads, or move to a flat monthly plan when you need unlimited requests and more parallel processing.

Unlimited plans by concurrency

With an unlimited scraper API plan, you pay a flat monthly price based on concurrency instead of counting requests. More threads let you run more extractions at the same time, while additional work waits in the queue when all threads are busy. This flat rate scraper API model keeps the monthly cost fixed as request volume grows.

$0.20 per 1k requests: when request-based pricing wins

Request-based scraper API pricing starts small and scales with usage, reaching $0.20 per 1k requests on the 5M plan. It works well when scraping volume changes and you would rather pay for the request capacity you need than commit to an unlimited concurrency plan. This keeps web scraping API pricing tied to the volume you plan to process.

Free tier and free trial

Start with scraper API free access before choosing a paid plan. The request-based free tier gives you 1,500 requests each month, while the Unlimited plan has a separate 48-hour free trial with 5 concurrent threads. The scraper API free trial gives you a way to test the unlimited model before moving to a paid plan.

1,500 free requests a month: what counts as a request

One successfully extracted page counts as one request. Batch counts each successful URL and Crawl counts each successful page, while failed extractions are not charged. JS rendering, geo-targeting, and requesting HTML, Markdown, or both do not add extra requests.

No card, no expiry

No card is required to start the monthly free tier. The 1,500 free requests renew each billing month, while purchased Pay As You Go requests do not expire.

What the API does for you

Send a URL and get usable web data back. Choose the API based on how much of the web source you need to process:

  • Extract for a single page.
  • Batch for multiple known URLs.
  • Map for discovering links.
  • Crawl for collecting content across a site.

JS rendering

Get content from JavaScript-heavy pages without managing a browser yourself. We render the page before extraction, with controls for content that takes longer to load. Learn about JS rendering.

Proxy rotation and retries

Keep proxy handling out of your scraping code. We route requests through our proxy network, with options for proxy type and country targeting. When a request fails, the API tells you whether the error is retryable, so your application can decide when to try again. Learn about proxy and geo-targeting.

HTML, Markdown or JSON output

Get page content as HTML or clean Markdown depending on what you need next. API responses are returned as JSON, so the extracted content is easy to pass into the rest of your workflow. Learn about output formats.

Scraper API vs proxies: when to use which

Use Scraper API when you want to send a URL and get web content back. Choose proxies when you already have your own scraper, browser, or automation and only need the IP layer.

Scraper APIProxies
What you getExtracted web contentProxy IP access
Scraping setupWe handle fetching, proxy routing, and optional JS renderingYou manage requests, parsing, and browser logic
OutputHTML or Markdown in a JSON responseResponse from your own tool or application
Best forExtraction, batch jobs, crawls, maps, and web searchCustom scrapers, browsers, and automation
IP controlManaged as part of the requestDirect control over rotation, sessions, and targeting
Choose it whenYou want the content without building the scraping stackYou already have the scraping stack and need proxies

Scraper API vs Firecrawl, ScraperAPI, Bright Data Unlocker

Keep scraping costs low as usage grows. Our request-based pricing gives you a lower-cost entry point, with unlimited plans available when concurrency becomes more important than request volume.

ProviderPrice per 1K requests
Geonode Scraper API$0.39
Firecrawl$3.80
ScraperAPI$0.49
Bright Data Web Unlocker$1.50

Prices checked September 19, 2026. Based on the first paid option for each provider.

Firecrawl and ScraperAPI use credits for usage, while the table converts their first paid options into a comparable per 1k cost.

Quickstart (Python + cURL)

Start with an API key from your Geonode dashboard, then send a request with the X-Api-Key header. The /v1/extract endpoint accepts the URL and extraction options. This example extracts both Markdown and HTML from a page.

cURL

curl -X POST "https://scraper.geonode.io/v1/extract" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com",
    "formats": ["markdown", "html"]
  }'

Python

import requests
response = requests.post(
    "https://scraper.geonode.io/v1/extract",
    headers={"X-Api-Key": "YOUR_API_KEY"},
    json={
        "url": "https://example.com",
        "formats": ["markdown", "html"]
    }
)

print(response.json())

For authentication, API selection, and the full setup, see the Scraper API Quick Start Guide.

Here's how we offer low prices on world-class quality

Most scraping APIs run on rented supply with credit-based pricing. That's why your bill is unpredictable. We chose the opposite path and the math compounds.

How more customers, operating our own network, wholesale prices, and lower costs reinforce each other

Code quickstart

Add the Geonode Scraper API to your app and start collecting page content in seconds.

import requests

r = requests.post(
  "https://scraper.geonode.io/v1/extract",
  headers={"X-Api-Key": "YOUR_API_KEY", "Content-Type": "application/json"},
  json={"url": "https://example.com", "formats": ["markdown"], "processing_mode": "sync"},
)
print(r.json())

Start using web scraping in minutes

Create your account

Sign up with your email and get your API key instantly

Sign-up form with email and password fields in the dashboard

Send a request

Send any URL to the scraping endpoint with a simple API call

Gateway country and session type controls in the dashboard

Get clean data

Receive parsed HTML, Markdown, or structured JSON

Proxy endpoint format and connection details

Go unlim when you scale

Move to a flat monthly plan by concurrency, or stay per-request. No credits, no metering surprises.

Code examples and integration snippets in the dashboard

Why this is different

Structurally lower cost

We operate the proxy network behind every request, which is why we don't need credits and multipliers.

No credit system

When you see credits in a pricing model, you're looking at someone else's supplier markup

Full rendering

JavaScript-rendered pages, clean HTML and Markdown output.

Worldwide residential IP locations and Geonode dashboard with usage, plan, and reseller tools

FAQ

Extract webpage content, process URL batches, crawl websites, and receive results by API or webhook.

Yes. Enable JavaScript rendering for dynamic pages. Disable it for faster static-page extraction.

Extract = one URL. Batch = many URLs. Crawl = discover and extract pages from a website.

Yes, supported locations can be selected through geo-targeted proxy routing.

Markdown, HTML, or both.

Limits depend on your plan.

A 429 response occurs when you exceeded your concurrency limit. Slow down requests or upgrade your plan.

No. Proxy routing, retries, and geo options are handled through the API.

Yes. Unlimited plans are not limited by request volume. Usage is controlled by the number of threads/concurrent jobs available on your selected plan, and a trial is available for testing before purchase.

Yes. Our cheap scraper API option starts with 1,500 free requests each month, then paid plans start at 10K requests for $3.90 per month. This keeps smaller projects on request-based pricing without paying for an unlimited plan.

The Scraper API works with public web pages, including JavaScript-rendered and dynamic content. JS rendering, proxy routing, geo-targeting, and custom headers give you more control when a page needs more than a basic HTTP request.

No. Only successful requests count toward your request allowance. Failed extractions are not charged, whether you send a single Extract request or process pages through Batch or Crawl.

Stop paying credit math. Start scraping.

1,500 requests/month free. No credit card. Most teams send their first request in under 5 minutes.