URL to PDF recipes for curl, Python, Node, and TypeScript
Fourteen complete programs, one endpoint. Each recipe is one runnable file in the language you already have, and every one of them does the same two calls: POST the url to /v1/convert with your key, then GET the receipt's download url with the same header.
| Recipe | curl | Python | Node | TypeScript |
|---|---|---|---|---|
| Convert from a URL | curl | requests | fetch | fetch |
| Print only some pages | curl | |||
| Name the download file | curl | |||
| Skip the wait | curl | requests | fetch | |
| Wait for the page | requests | |||
| Save the document | requests | |||
| Fetch the bytes | fetch | |||
| Dark mode | fetch | |||
| Markdown output | fetch |
A blank cell is a recipe not written yet, and this hub lists only what ships.
The shape every recipe follows
The request is a POST to https://webcapture.io/v1/convert with Authorization: Bearer wc_your_key and a JSON body of at least {"url": "https://example.com/"}. By default the call holds and answers 200 with a receipt: id, bytes, attempts, remaining, sourceUrl, sourceType, and download. The download value is the GET url for the finished document, and both calls carry your key: the POST renders the document, and the GET serves it only to the key that made it, so a url pasted into a browser answers 401. The same POST accepts the body fields each recipe teaches, all listed on the docs page, and ?wait=false swaps the hold for a 202 ticket carrying poll and download urls. Artifacts are kept for at least seven days (30 on Scale).
Method
Checked 2026-10-05 against a running boot of this service: each sample was sent, and the receipt shapes, the 401 download answer, and the async ticket in these pages are what the endpoint answered. The two async-poll records were added 2026-10-06 and restate that ticket contract; the convert endpoint is unchanged since the boot. Corrections: hello@webcapture.io.
Render your first page in seconds
Mint a key, POST a URL, and the finished document comes back in the same response; pass ?wait=false for a job ticket with poll and download URLs. The first 50 renders a month are free, and there is no credit card. Not ready for a key? The free URL to PDF tool renders public pages without one.