# URLpipe API

URLpipe turns any public URL into clean, structured data. Point it at a page and get back Markdown, metadata, an AI summary, keywords, a Lighthouse audit, a screenshot, raw HTML or the JavaScript console — all through one simple, bearer-authenticated HTTP API.

Every endpoint takes the same shape: a `POST` request with a JSON body containing the `url` you want to process. There is nothing to install on the target site — URLpipe renders each page with headless Chrome from our own servers, so JavaScript-heavy and single-page apps work too.

## A first request

Send a URL to the [/markdown](https://urlpipe.dev/docs/markdown) endpoint and get back clean Markdown, ready to drop into an LLM prompt or a RAG pipeline.

```
curl -X POST https://urlpipe.dev/markdown \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com"}'
```

[Get set up in the Quickstart](https://urlpipe.dev/docs/quickstart)

---

## The endpoints

URLpipe has nine endpoints. Eight return one kind of data each, in two families, and [/scrape](https://urlpipe.dev/docs/scrape) runs any of them together from a single page visit. **Web** endpoints fetch and measure the page directly; **AI** endpoints use a language model to extract or transform its content. One allowance covers both, and each endpoint spends from it what it costs to run — a page fetch is one credit, and the AI endpoints are dearer because a model bills us by the token. See [Credits](https://urlpipe.dev/docs/credits).

### Web endpoints

[/htmlWeb The fully rendered HTML of a page, after JavaScript has run.](https://urlpipe.dev/docs/html)[/markdownWeb The page's main content as clean Markdown, chrome stripped.](https://urlpipe.dev/docs/markdown)[/screenshotWeb A full-page screenshot of the rendered page — PNG, JPEG or WebP, base64-encoded.](https://urlpipe.dev/docs/screenshot)[/lighthouseWeb A real Google Lighthouse audit — performance, SEO, accessibility.](https://urlpipe.dev/docs/lighthouse)[/consoleWeb JavaScript console errors, warnings and uncaught exceptions.](https://urlpipe.dev/docs/console)

### AI endpoints

[/metaAI Title, description, authors, dates, share image, icons and feeds.](https://urlpipe.dev/docs/meta)[/summarizeAI A concise AI summary of the page's main content.](https://urlpipe.dev/docs/summarize)[/keywordsAI 5–15 relevant keywords, ordered by relevance.](https://urlpipe.dev/docs/keywords)

The same endpoints are also an [MCP server](https://urlpipe.dev/docs/mcp), so an AI agent in Claude, Cursor or any MCP client can call them itself — same arguments, same responses, same credits.

---

## Core concepts

[Authentication How bearer tokens and per-project API keys work.](https://urlpipe.dev/docs/authentication)[Caching & freshness Reuse recent results for free with max\_age.](https://urlpipe.dev/docs/caching)[Async & sync modes Webhook the result (the default), verify its signature, or get it inline with sync.](https://urlpipe.dev/docs/async)[Residential exits Fetch a page from a home broadband address, for sites that serve a datacentre less.](https://urlpipe.dev/docs/residential)[Credits & rate limits What each call costs, and why cache hits are free.](https://urlpipe.dev/docs/credits)[Errors Status codes and error payloads to handle.](https://urlpipe.dev/docs/errors)

## Base URL & conventions

- All requests go to `https://urlpipe.dev` over HTTPS.
- Every endpoint is a POST with a JSON body.
- Authenticate with `Authorization: Bearer YOUR_API_KEY` — see [Authentication](https://urlpipe.dev/docs/authentication).
- Web endpoints return `text/plain` or `application/json`; failures return JSON with an `error` field.
- The whole API is described in OpenAPI 3.1 at [/openapi.json](https://urlpipe.dev/openapi.json), and as a [public Postman workspace](https://www.postman.com/rogercampos-e542a308-4802175/urlpipe-api) you can fork and send requests from.

Source: https://urlpipe.dev/docs
