Service
websitepro
Give it a URL, get the page back as Markdown, plain text, metadata, clean HTML or PDF. The page is fetched over HTTP first; if that yields too little (JavaScript pages, blocked requests), a real Chromium renders it.
POST/v1/websitepro/jobs[?wait=seconds]
POST/v1/websitepro/quote same body, free, nothing is fetched
Request
| Field | Type | Description |
|---|---|---|
url | string, required | http:// or https://, public host, no credentials in the URL. |
outputs | array, required | One or more of metadata, markdown, text, html, pdf. Each is one result. The page is fetched once for all of them. |
curl -s "https://api.relayted.de/v1/websitepro/jobs?wait=20" \
-H "Authorization: Bearer $RELAYTED_KEY" -H "Content-Type: application/json" \
-d '{"url":"https://example.com/article","outputs":["markdown","metadata","pdf"]}'
Outputs and prices
| Output | Content type | Notes |
|---|---|---|
metadata | application/json | Title, description, language, canonical URL, Open Graph, Twitter cards, JSON-LD, icons. |
markdown | text/markdown | The main content (readability extraction), navigation and boilerplate removed. |
text | text/plain | The same content without any markup. |
html | text/html | Sanitised: no scripts, handlers or styles, absolute links. Served as a download, never rendered by us. |
pdf | application/pdf | Rendered by Chromium. |
Response
{
"job": {
"id": "Zq3...", "service": "websitepro", "target": "example.com", "status": "completed",
"cost": 215, "refunded": 150, "charged": 65,
"results": [
{ "key": "metadata", "status": "done", "price": 20, "url": ".../results/metadata", "contentType": "application/json; charset=utf-8", "bytes": 912 },
{ "key": "markdown", "status": "done", "price": 45, "url": ".../results/markdown", "contentType": "text/markdown; charset=utf-8", "bytes": 5120 },
{ "key": "pdf", "status": "failed", "price": 150, "refunded": true, "error": "browser_failed" }
]
},
"balance": 49935
}
In this example the PDF could not be rendered and its price came back automatically.
Error codes of this service
| Code | When |
|---|---|
no_output | outputs is empty or contains no known output. |
bad_url | Not a valid http(s) URL, or it contains credentials. |
blocked_address | The host is private, local or reserved. |
unreachable | The host does not resolve. As a result error: the page could not be loaded. |
busy | The queue is full (503). Retry shortly. |
Result errors (in results[].error, always refunded): for example unreachable, timeout, not_html, empty, too_large, too_many_redirects, browser_failed, worker_lost, internal. Treat unknown codes as "not delivered". | |
Notes
- Results are kept for 24 hours, then deleted.
- A job usually takes 1 to 10 seconds, up to about 40 seconds when the browser is needed.
- Live information: /v1/services/websitepro. The same service with a web interface: websitepro.relayted.de.