# Pricing — URLpipe

URLpipe is a developer API that turns any URL into clean, structured data
(Markdown, metadata, AI summaries, keywords, Lighthouse audits, screenshots,
rendered HTML, JavaScript console output), over HTTP or from an AI agent via
MCP. Pricing is usage-based, sold in monthly credits.

All prices are in US dollars and exclude VAT. EU customers pay their country's
VAT on top at checkout; a business with a valid VAT number in an EU country
other than Spain is reverse-charged. Nothing is added outside the EU.

## What a credit is

One successful, uncached API call against one URL spends credits according to
what that call costs to run. One page fetch is one credit; everything else is
priced relative to that.

| Endpoint | Credits per call |
|---|---|
| /console | 1 |
| /html | 1 |
| /markdown | 1 |
| /screenshot | 1 |
| /lighthouse | 2 |
| /meta | 5 |
| /keywords | 15 |
| /summarize | 17 |

`/scrape` spends the sum of the operations it runs, from a single page visit.
The MCP server's tools cost the same as the endpoints they call.

Only /meta, /keywords and /summarize call a language model, which is why they
cost more. /markdown converts the rendered page deterministically, without a
model, which is why it costs what a page fetch costs.

Cache hits are free: a repeat request for the same URL and operation inside your
`max_age` window (default 7 days) is served instantly and spends nothing, and a
repeat that arrives while the first is still running waits for it, also free.
Failed requests spend nothing either — a target that errors (DNS, connection,
timeout, certificate, 4xx, 5xx), a bot check that couldn't be cleared, a page
robots.txt disallows, or a residential request no exit was free for.

Credits reset on the 1st of each month, UTC, and do not roll over.

## Residential exits

Pass `residential: true` on any endpoint and URLpipe fetches the page from a
home broadband address instead of a datacentre one. Off by default.

- **+25 credits per page visit**, on top of what the operation costs.
- Charged once per visit, not per operation: a `/scrape` pays for one exit
  however many results come back. `/lighthouse` runs its own audit, so a scrape
  including it visits twice.
- Residential results are cached separately from ordinary ones.
- When no residential exit is free, the request fails with HTTP 422 and spends
  nothing. There is no fallback to the standard network.

Detail: https://urlpipe.dev/docs/residential

## Parallel requests

Separately from the monthly credits, each plan sets how many requests run at
the same time. Credits are how much work you can do in a month; this is how
fast you get through it.

| Plan | Parallel requests |
|---|---|
| Free | 1 |
| Starter | 3 |
| Pro | 8 |
| Scale | 20 |

A `/scrape` counts as one request, and a cache hit takes no slot. Exceeding the
limit returns HTTP 429 with `error: "concurrency_limit"` — nothing is spent, and
the request goes through as soon as one of yours finishes. Every response
carries `X-Concurrency-Limit`.

Rate limits are the same on every plan: 60 requests a minute and
15 per 10 seconds per project.

URLpipe separately caps how many requests run against any one target site at a
time, across all customers, and slows down when a site struggles. Those requests
queue rather than fail, and time spent waiting on a site being paced does not
count against your parallel limit.

## Overage

On every paid plan, running out of credits changes the price and nothing else.
Calls keep being served — no cap, no cut-off — and every credit past the monthly
allowance costs **$1.50 per 1,000 credits**, billed in whole blocks (a partial block counts as
a full one) on a separate invoice after the month closes.

| Plan | Included | Each extra 1,000 credits | 10,000 extra credits |
|---|---|---|---|
| Free | 1,000 | — | Requests are refused |
| Starter | 20,000 | $1.50 | $15.00 |
| Pro | 55,000 | $1.50 | $15.00 |
| Scale | 175,000 | $1.50 | $15.00 |

You are told the moment you cross: the `X-Quota-Overage` header counts the extra
credits, organization admins get an email the first time it happens in a month,
and the app shows a banner with the running total.

The Free plan is the exception, because there is no card on file to bill: when
its credits are gone, requests are refused until the 1st.

## Free
- Price: $0 / month
- Credit card required: No
- Allowance: 1,000 credits/month
- Parallel requests: 1
- That's: 1,000 page fetches or markdown conversions, or 58 /summarize calls, or any mix
- Includes: unlimited projects and API keys; sync and async modes — webhook or fetch by token; the MCP server, for AI agents; every endpoint, request caching and labels
- Past the allowance: requests pause until the 1st (no overage on Free)
- Best for: trying it out and for side projects

## Starter
- Price: $19 / month, or $190 / year (two months free)
- Allowance: 20,000 credits/month
- Parallel requests: 3
- That's: 20,000 page fetches or markdown conversions, or 1,176 /summarize calls, or any mix
- Includes: everything in Free; email support; cancel any time; every endpoint, request caching and labels
- Past the allowance: never cut off — extra credits at $1.50 per 1,000 credits, no cap
- Best for: the first real workload you put in front of users

## Pro
- Price: $49 / month, or $490 / year (two months free)
- Allowance: 55,000 credits/month
- Parallel requests: 8
- That's: 55,000 page fetches or markdown conversions, or 3,235 /summarize calls, or any mix
- Includes: everything in Starter; priority email support; every endpoint, request caching and labels
- Past the allowance: never cut off — extra credits at $1.50 per 1,000 credits, no cap
- Best for: production apps pulling web data on a schedule

## Scale
- Price: $149 / month, or $1,490 / year (two months free)
- Allowance: 175,000 credits/month
- Parallel requests: 20
- That's: 175,000 page fetches or markdown conversions, or 10,294 /summarize calls, or any mix
- Includes: everything in Pro; direct line to the team; usage reviews on request; every endpoint, request caching and labels
- Past the allowance: never cut off — extra credits at $1.50 per 1,000 credits, no cap
- Best for: high-volume pipelines and agencies

## More than Scale

Volumes past Scale run on a contract sized with you, invoiced rather than
charged to a card, with the same endpoints and the same API. Write to
contact@urlpipe.dev.

## Running out

On a paid plan you never do: calls carry on at the overage rate above. Only the
Free plan is refused, and then the endpoint returns HTTP 429 with a JSON body
naming your limit, what you've used and how many credits the refused request
needed. Nothing is executed and nothing is spent.

Every response carries `X-Quota-Cost` (what that request spent), `X-Quota-Limit`,
`X-Quota-Remaining`, `X-Quota-Overage` and `X-Quota-Reset`.

## Working out your own bill

There is an interactive calculator at https://urlpipe.dev/pricing#calculator
that turns a month of intended volume and an expected cache-hit rate into a
credit total and the smallest plan that covers it.

## Contact
- Email: contact@urlpipe.dev
- Site: https://urlpipe.dev
- Credits documentation: https://urlpipe.dev/docs/credits
