cdpfleet Docs Sign up free

Functions

Geo compare

The same page from 2–5 countries at once, side by side, with a diff of what changes between them. POST https://cdpfleet.com/v1/functions/geo → application/json.

curl -s https://cdpfleet.com/v1/functions/geo \
  -H "x-api-key: $CDPFLEET_API_KEY" -H "content-type: application/json" \
  -d '{"url":"https://www.google.com/","countries":["us","de","jp"],"formats":["markdown","screenshot"]}' -o geo.json -D - | grep -i '^x-call-id'

Fields

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).
countriesstring[]required2–5 country codes, no duplicates. The first is the baseline the others are compared with. Each runs through the Community proxy in that country, unless you pass proxy.
formatsstring[]["screenshot", "markdown"]Any scrape formats, returned per country.

Good to know

Billing, errors and countries: Functions.