Web Fetch
URL to Markdown
Example request
curl -X POST https://radarbg.com/v1/url-to-markdown-llm \
-H "X-API-Key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"startUrls": ["https://en.wikipedia.org/wiki/Web_scraping", "https://blog.apify.com/introducing-x402-agentic-payments/"], "maxPages": 20, "crawl": false, "maxDepth": 1}'
Answer: {"ok": true, "count": N, "items": [...], "usage": {...}}. Failed calls are not counted.
Inputs
| Field | Type | Description |
|---|---|---|
startUrls | array | Web pages to convert to clean Markdown, one full URL per entry (http or https). Public pages only, no login pages. |
maxPages | integer | Hard limit on pages fetched in one run (also limits what you pay for). Failed pages count too. |
crawl | boolean | When on, the actor also follows links that stay on the same domain as each start URL, up to Max crawl depth and Max pages. |
maxDepth | integer | Only used when crawling. 1 = start URLs plus the pages they link to. |
includeLinks | boolean | Add the page links to every result as internalLinks and externalLinks lists (absolute URLs, up to 200 each). |
includeImages | boolean | Add the page images (absolute URL and alt text, up to 100) to every result. |
maxCharsPerPage | integer | Cut markdown and text after this many characters to fit LLM context windows. 0 = no limit. The truncated flag tells you when a page was cut. |
onlyNew | boolean | For monitoring: return (and pay for) a page only when its content is new or changed since the last run with the same Monitor ID. |
monitorId | string | Separate memory for different watch lists (used with only-new mode). |
includeFailed | boolean | When on, pages that fail (blocked by robots.txt, HTTP error, timeout) are also saved with an error message and are charged like normal results. When off, failures are only listed in the RUN_SUMMARY record. |
timeoutSecs | integer | Give up on a page that does not answer within this time. |
datasetId | string | Optional. Pick a dataset (or paste its ID) to read the input from, for example the result of Google Maps Scraper. When this actor runs as an integration, the dataset of the triggering run is used automatically (payload.resource.defaultDatas |
datasetField | string | Optional. The item field that holds the value, for example website, url or videoUrl (dot paths like author.url work). Empty = detected automatically. |
datasetMaxItems | integer | Upper limit of unique values taken from the dataset, to keep the cost under control. |
Price
Included in every plan: 100 calls a month free, then from €9 a month for 3,000 calls across all APIs.