cdpfleet Docs Sign up free

Functions

One HTTP call, one result: a screenshot, a PDF, the page as Markdown or its raw HTML and network calls — rendered by a real browser on our fleet, through the exit country you choose. No browser to launch, connect or close.

FunctionReturnsFor
screenshotimage/png or image/jpegA PNG or JPEG of the page as a real browser renders it, the viewport or the full page.
pdfapplication/pdfThe full page as a single-page PDF, A4 or Letter wide.
markdowntext/markdown; charset=utf-8The page's main content as clean Markdown, ready for an LLM or a search index.
scrapeapplication/jsonThe page in the formats you ask for — HTML, Markdown, text, links, a screenshot, its XHR/fetch calls, cookies, console — after optional clicks and typing, with CSS selectors extracted to JSON.
mapapplication/jsonA site's URLs from its sitemaps and the start page's links, without loading every page — the quick first look before a crawl.
geoapplication/jsonThe same page from 2–5 countries at once, side by side, with a diff of what changes between them.
livetabapplication/jsonOne remote browser tab you — or anyone you send the link to — can see and control in a web browser: log in by hand, solve your own CAPTCHA, show a page from another country, then let your code carry on.
rawpageapplication/jsonScrape's first name, kept working: the rendered HTML with the final URL and status, redirects, and optionally the page's XHR/fetch calls with their responses, cookies and console output.

Longer work: jobs scrape any number of URLs, crawl or map a whole site, watch a page live or warm up a browser in the background, as long as it takes; monitors check a page on a schedule and send you a diff when it changes (paid plans).

No key yet? Screenshot, PDF, Markdown and raw page have a free web form at /functions — a few runs a day, no sign-up.

Call one

POST https://cdpfleet.com/v1/functions/<function> with your API key in x-api-key and a JSON body. Every function takes:

FieldTypeDefaultWhat it does
urlstringrequiredThe page to load. A public http or https address: private, loopback, link-local, CGNAT and cloud-metadata addresses, localhost, .local/.internal names and names that resolve to them are refused (400 invalid_url).
countrystring"random"Two-letter country for the exit IP and for the page's locale, timezone, geolocation and Accept-Language (see countries); "random" picks one. Unknown codes: 400 invalid_country.
max_waitnumber20Seconds to wait for the page to load, 1–60 (400 invalid_option otherwise). The whole call returns within about max_wait + 5 s, so a client timeout of max_wait + 10 s is safe. A page that is still loading then comes back partial (below); one that never started: 408 page_timeout.
proxystring or string[]the Community proxyOmit it to use the free Community proxy in country. Or: your own proxy URL (http://, https://, socks5://), a list (one is picked per call), a cdpfleet-plan… token, or a residential cdpfleet-resi… token (tier, country, device OS, sticky session) billed per GB to your residential balance (proxies). proxy_rules isn't supported yet (400 invalid_option).
curl -s https://cdpfleet.com/v1/functions/screenshot -H "x-api-key: $CDPFLEET_API_KEY" \
  -H "content-type: application/json" -d '{"url":"https://example.com/","country":"jp"}' -o shot.png

How it runs, and what it costs

Your own browser (paid plans)

Add browser and the call runs in a browser you choose instead of a pooled Camoufox tab: launched with your API key as one of your sessions, held on your threads and billed per second like any session (headful takes 2 threads; memory multiplies). The function runs in one context and the session closes at the end.

FieldTypeDefaultWhat it does
browserstringnone (pooled tab)Any browser: chrome, edge, brave, opera, whale, yandex, chromium, patchright, rebrowser, camoufox, firefox, webkit.
launchobject{}The same JSON a launch takes: channel, version, headless, proxy, proxy_rules, memory, Camoufox options and so on. Without proxy, the Community proxy in country.
devicestringnoneA Playwright device name, e.g. "iPhone 15", "Pixel 7", "Galaxy S24", "iPad Pro 11". Unknown names: 400 invalid_option.
contextobject{}Overrides after device: viewport {width, height}, user_agent, locale, timezone, is_mobile, has_touch, device_scale_factor.
curl -s https://cdpfleet.com/v1/functions/pdf -H "x-api-key: $CDPFLEET_API_KEY" -H "content-type: application/json"   -d '{"url":"https://example.com/","browser":"chrome","launch":{"headless":"new","channel":"beta"},"format":"Letter"}' -o page.pdf

Errors

Errors are JSON {"error": "…", "message": "…"}. Every response after a call has started carries x-call-id — quote it to support; it matches the call in your session history.

StatuserrorWhen
400url_required / invalid_urlNo url, or not a public http(s) address. Nothing is billed.
400invalid_countryNot a supported country code; the message lists them.
400invalid_optionA field out of range or of the wrong type; the message names it.
400invalid_proxyproxy isn't a URL, a list of URLs or a valid token.
400unknown_functionNot one of screenshot, pdf, markdown, scrape, map, geo, livetab, rawpage.
401missing_api_key / invalid_api_keyNo key, or an unknown or revoked one.
402proxy_balance_exhaustedA cdpfleet-resi proxy and an empty residential balance; top up in the dashboard.
403no_plan / account_inactiveThe account has no active plan, or is suspended.
408page_timeoutNot even the document arrived within max_wait (a page that started loading comes back partial instead).
429threads_exceeded, daily_quota_exhausted, hourly_quota_exhaustedYour threads are all in use or the minutes are used up; wait Retry-After seconds.
503country_unavailableThe Community proxy for the country you picked is down right now; pick another or "random", or wait Retry-After (120 s).
503navigation_failedThe page couldn't be reached through the proxy (connection reset or refused) even after a retry; the message has the browser's reason.
5xxe.g. launch_failed, internal_errorOur side failed; retry after Retry-After.

Countries

ae ar at au be br ca ch cl cn co cz de dk eg es fi fr gb gr hk hu id ie il in it jp kr mx my ng nl no nz ph pl pt ro ru sa se sg th tr tw ua uk us vn za — uk is the same as gb.