# Scraper API — Pricing

Machine-readable pricing for https://geonode.com/products/scraper-api
All prices in USD, as published on geonode.com. All prices are list prices.
Last verified: 2026-10-13.

## Summary

Web scraping API. Send a URL or a list of URLs in one call; receive HTML, Markdown, or structured JSON. JavaScript rendering included. Endpoint: `https://scraper.geonode.io/v1/extract`

Two pricing models — pick one:

- **Unlimited plans** — unlimited requests, priced by concurrent threads, from $1,000/mo.
- **Per-request plans** — from free (1,500 requests/month, forever) to $1,000/mo for 5M requests.

## Unlimited plans — priced by concurrency (monthly subscription)

Request volume is unlimited on every paid tier. You pay for concurrent threads.

| Concurrent threads | Monthly requests | Price / mo |
|---|---|---|
| 25 | Unlimited | $1,000 |
| 50 | Unlimited | $1,749 |
| 100 | Unlimited | $3,199 |
| 200 | Unlimited | $5,799 |
| Enterprise | Unlimited | Custom |

## Per-request plans — monthly subscription

| Requests | Price / 1,000 requests | Price / mo |
|---|---|---|
| 1,500 | Free | Free, every month |
| 10,000 | $0.39 | $3.90 |
| 50,000 | $0.31 | $15.50 |
| 250,000 | $0.25 | $62.50 |
| 1,000,000 | $0.23 | $230.00 |
| 3,000,000 | $0.21 | $630.00 |
| 5,000,000 | $0.20 | $1,000.00 |

The monthly price is what you pay; the per-1,000 column is rounded.

## Per-request plans — pay as you go

Minimum top-up: $50.

| Requests | Price / 1,000 requests |
|---|---|
| 1,500 | Free, every month |
| 50,000–249,999 | $0.62 |
| 250,000–999,999 | $0.50 |
| 1,000,000–2,999,999 | $0.46 |
| 3,000,000–4,999,999 | $0.42 |
| 5,000,000+ | $0.40 |

## Free tier and trial

- **Free plan:** 1,500 requests per month, free every month, no credit card required, no expiry on the plan itself.
- **Paid trial:** $100 one-time for 48 hours — 25 concurrent threads, 500,000 requests. Auto-upgrades to the 25-thread unlimited plan after 48 hours unless cancelled. One per account.

## How billing works

- Billed per request — no credit system, no per-request multipliers. One request = one request, regardless of JavaScript rendering or output format.
- No published rate limits: no maximum requests per month, per day, or per second.
- **Downgrades:** requests remaining on a plan you downgrade from are forfeited — not refunded, not carried over.
- Discounts: volume tiers.

## Included

- JavaScript rendering
- HTML, Markdown and JSON output
- Country targeting
- Batch URLs in a single call

## Migration

Switching from Firecrawl requires changing two environment variables (`SCRAPE_API_URL`, `SCRAPE_API_KEY`); the request format is compatible.

## Source

https://geonode.com/pricing/scraper-api
