Paramètres de l'API

Tous les paramètres se passent dans la query string de https://api.wyndpath.com/v1/. Seule url est requise, le reste affine le comportement.

ParamètreTypeDéfautDescription
urlURLaucunRequis. L'URL cible (http ou https), en percent-encoding (ex. https%3A%2F%2Fexemple.com%2Fliste%3Fp%3D1). Indispensable si l'URL contient ?, & ou =. La plupart des bibliothèques HTTP l'encodent pour vous.
render_js0 / 10Rendu JavaScript via un vrai navigateur (pages dynamiques).
countrycode ISOaucunPays de sortie souhaité (ex. fr). Pays couverts ci-dessous.
any_country0 / 10Accepte un autre pays si celui demandé est indisponible.
sessiontexteaucunRéutilise la même IP entre requêtes portant la même valeur. Voir « Sessions collantes » ci-dessous.
session_pintexteaucunÉpingle la session (ex. ip = même IP garantie). Voir « Sessions collantes ».
max_costentieraucunCoût. Plafond de crédits : la requête est refusée si l'estimation le dépasse.
optimize_request0 / 10Coût. Bloque les ressources inutiles pour réduire coût et latence.
retries0-5autoNombre de nouvelles tentatives en cas d'échec.
timeoutsecondesautoDélai maximum d'une requête.
validate0 / 11Détecte les pages de blocage et déclenche l'escalade si besoin.
follow_redirects0 / 11Suit les redirections HTTP.
keep_headers0 / 10Transmet vos en-têtes de requête à la cible.
refererURLaucunEn-tête Referer à envoyer à la cible.
Pays couverts. Datacenter : FR, BE, DE, ES, GB. Résidentiel : FR, BE. Passez le code ISO (ex. country=fr) ; ajoutez any_country=1 pour accepter un repli si le pays demandé est momentanément indisponible.
Maîtriser la dépense. Les deux paramètres de coût vont de pair : optimize_request=1 réduit le coût et la latence (il bloque les ressources inutiles au chargement), tandis que max_cost=N refuse toute requête dont l'estimation dépasse N crédits. Combinez-les pour un budget prévisible.

Sessions collantes (même IP)

Par défaut, chaque requête peut sortir par une IP différente. Pour enchaîner plusieurs requêtes depuis la même IP (parcourir un site paginé, garder un panier, se comporter comme un même visiteur), donnez-leur une même valeur session, une étiquette que vous choisissez.

# Les 3 pages sortent par la même IP grâce à session=scan-42.
# curl -G + --data-urlencode encode l'URL cible (le ?p=1 en fait partie).
curl -G "https://api.wyndpath.com/v1/" --data-urlencode "api_key=VOTRE_CLE" \
  --data-urlencode "session=scan-42" --data-urlencode "url=https://exemple.com/liste?p=1"
curl -G "https://api.wyndpath.com/v1/" --data-urlencode "api_key=VOTRE_CLE" \
  --data-urlencode "session=scan-42" --data-urlencode "url=https://exemple.com/liste?p=2"
curl -G "https://api.wyndpath.com/v1/" --data-urlencode "api_key=VOTRE_CLE" \
  --data-urlencode "session=scan-42" --data-urlencode "url=https://exemple.com/liste?p=3"

session_pin précise ce sur quoi la session est verrouillée : session_pin=ip garantit strictement la même IP tant que vous réutilisez la même session. Sans pin, WyndPath privilégie la même IP mais peut en changer si elle devient indisponible.

Une session est éphémère : réutilisez la même valeur tant que vous en avez besoin, puis changez-la pour repartir sur une IP neuve.
Cibles à session rejouée (ex. Leboncoin). Sur certaines cibles protégées, WyndPath résout l'anti-bot une fois au navigateur (facturé voie navigateur) puis rejoue les pages suivantes de la même session en HTTP léger, facturées 1 crédit et rendues en moins d'une seconde. Chaque valeur de session distincte est une voie indépendante avec sa propre IP : pour paralléliser, lancez plusieurs sessions en parallèle plutôt qu'une seule. WyndPath bride lui-même ce que la cible tolère : une résolution à la fois par compte et par cible. Au-delà, vous recevez immédiatement 429 target_busy avec un en-tête Retry-After ; si la cible sert un challenge à la résolution, 503 target_challenge avec Retry-After. Dans les deux cas rien n'est facturé : réessayez après le délai indiqué avec la même valeur session.

Méthodes GET et POST

Par défaut, vos appels sont en GET. L'API accepte aussi le POST : un POST sur /v1/ est rejoué en POST sur la cible, avec le corps brut et le Content-Type de votre requête transmis tels quels. Dans les deux cas, les paramètres WyndPath restent dans la query string, ils ne touchent jamais au corps.

Vous ne choisissez pas le proxy ni le moteur. Le type d'IP (datacenter / résidentiel) et le rendu navigateur sont sélectionnés automatiquement selon la cible. Utilisez render_js pour forcer le navigateur, country pour le pays, max_cost pour borner la dépense.