API parameters
All parameters are passed in the query string of https://api.wyndpath.com/v1/. Only url is required, the rest fine-tunes the behavior.
| Parameter | Type | Default | Description |
|---|---|---|---|
url | URL | none | Required. The target URL (http or https), percent-encoded (e.g. https%3A%2F%2Fexample.com%2Flist%3Fp%3D1). Essential if the URL contains ?, & or =. Most HTTP libraries encode it for you. |
render_js | 0 / 1 | 0 | JavaScript rendering via a real browser (dynamic pages). |
country | ISO code | none | Desired exit country (e.g. fr). Covered countries below. |
any_country | 0 / 1 | 0 | Accepts another country if the requested one is unavailable. |
session | text | none | Reuses the same IP across requests carrying the same value. See "Sticky sessions" below. |
session_pin | text | none | Pins the session (e.g. ip = same IP guaranteed). See "Sticky sessions". |
max_cost | integer | none | Cost. Credit ceiling: the request is rejected if the estimate exceeds it. |
optimize_request | 0 / 1 | 0 | Cost. Blocks unnecessary resources to reduce cost and latency. |
retries | 0-5 | auto | Number of retries on failure. |
timeout | seconds | auto | Maximum duration of a request. |
validate | 0 / 1 | 1 | Detects block pages and triggers escalation if needed. |
follow_redirects | 0 / 1 | 1 | Follows HTTP redirects. |
keep_headers | 0 / 1 | 0 | Forwards your request headers to the target. |
referer | URL | none | Referer header to send to the target. |
country=fr); add any_country=1 to accept a fallback if the requested country is momentarily unavailable.optimize_request=1 reduces cost and latency (it blocks resources that aren't needed to load), while max_cost=N rejects any request whose estimate exceeds N credits. Combine them for a predictable budget.Sticky sessions (same IP)
By default, each request can exit through a different IP. To chain several requests from the same IP (browse a paginated site, keep a cart, behave like a single visitor), give them the same session value, a label you choose.
# All 3 pages exit through the same IP thanks to session=scan-42.
# curl -G + --data-urlencode encodes the target URL (the ?p=1 is part of it).
curl -G "https://api.wyndpath.com/v1/" --data-urlencode "api_key=YOUR_KEY" \
--data-urlencode "session=scan-42" --data-urlencode "url=https://example.com/list?p=1"
curl -G "https://api.wyndpath.com/v1/" --data-urlencode "api_key=YOUR_KEY" \
--data-urlencode "session=scan-42" --data-urlencode "url=https://example.com/list?p=2"
curl -G "https://api.wyndpath.com/v1/" --data-urlencode "api_key=YOUR_KEY" \
--data-urlencode "session=scan-42" --data-urlencode "url=https://example.com/list?p=3"
session_pin specifies what the session is locked onto: session_pin=ip strictly guarantees the same IP as long as you reuse the same session. Without a pin, WyndPath favors the same IP but may switch if it becomes unavailable.
GET and POST methods
By default, your calls are GET. The API also accepts POST: a POST to /v1/ is replayed as a POST to the target, with the raw body and the Content-Type of your request forwarded as-is. In both cases, the WyndPath parameters stay in the query string, they never touch the body.
render_js to force the browser, country for the country, max_cost to cap the spend.