CPAlead Publisher API
Publisher API Documentation
Use these APIs to pull offers, check conversions, and download reversals. If you want, you can also use the OpenAPI file below with your own API tools.
This page is public. Replace placeholder values like
{PUBLISHER_ID}
and
{API_KEY}
with your own values after you sign in.
Overview
What this API is designed for
Offer Sync
Pull available offers, filter by device or country, and use
updated_since
for incremental refreshes.
Tracking Safety
Most accounts do not receive native CPC offers. Boost-click offers can appear, but they keep their normal rank.
OpenAPI File
The public OpenAPI file is available at /api/openapi.json .
01
API des offres
Returns a JSON list of available offers. Lower offer_rank values show first.
Classement & Paiements par pays
- Each offer includes an offer_rank where 1 is the highest ranked offer. Results stay in offer_rank order from low to high.
- Certaines offres paient des montants différents selon le pays. Si une offre inclut une liste "payouts_per_country", utilisez le paiement qui correspond au code pays à deux lettres de l'utilisateur (par ex. US, CA, GB). Si leur pays ne se trouve pas dans la liste, utilisez le paiement par défaut indiqué dans "amount".
- Some offers pay by event. If an offer includes an "events" list, use each event name, description, and amount for the completed event. Event amounts are already adjusted to your publisher payout split.
Notes sur l'API des offres
- Most accounts do not receive native CPC offers. If CPAlead enables CPC API access for your account, native CPC offers can appear and the amount field is your publisher payout.
- Si une offre dispose de boost clicks, elle conserve quand même son rang normal. Elle n'est pas placée en tête simplement parce qu'elle a des boost clicks.
- L'utilisation du lien exact renvoyé par l'API garantit la meilleure attribution. Si vous enregistrez ou reconstruisez les liens dans votre propre système, les clics fonctionnent toujours.
- If CPAlead enables CPC API access for your publisher account, native CPC offers can appear in the Offers API. Boosted CPA, CPI, or CPE offers can also include publisher-only CPC rewards.
- For native CPC offers, use the amount field. For boosted offers, boost_click_balance shows the remaining boost clicks. The API shows cpc_reward_type, cpc_payout_us, cpc_payout_not_us, or both payout fields based on the offer target countries. CPC API rewards do not fire publisher postbacks.
Point d'accès
https://www.cpalead.com/api/offers?id={PUBLISHER_ID}
Paramètres de requête HTTP disponibles
| Paramètre HTTP | Description |
|---|---|
| id | Required. Your publisher ID. |
| country |
Afficher uniquement les offres du pays, fournissez le code pays ISO à deux lettres Utilisez country=user pour obtenir automatiquement les offres du pays de l'utilisateur
|
| limit | Limitez le nombre d'offres renvoyées. Cela peut accélérer vos appels API. La valeur par défaut est 2500 et le maximum est 5000. |
| type |
By default this API returns CPA, CPI, and CPE offers. Publishers with CPC API access can also receive native CPC offers and boosted offers with CPC rewards. You can request payout types with a comma-separated list, for example
&type=cpi,cpe,cpr
|
| updated_since |
Only return offers updated on or after this date. You can use YYYY-MM-DD or a full ISO date and time, for example
&updated_since=2026-04-01T00:00:00Z
|
| fields |
Ne renvoyez que les champs d'offre dont vous avez besoin. Utilisez une liste séparée par des virgules, par exemple
Available fields:
Use "description" for the short offer description. Use "long_description" when you want the longer marketplace description. |
| include_long_description |
Set this to 0 or false to leave long_description out of the default Offers API response. If your fields list includes long_description, it will still be returned.
&include_long_description=0
|
| offerwall_offers | Booléen (vrai|faux). Utilisez vrai si vous voulez aussi des offres marquées pour les offerwalls. Les offres CPC restent exclues, et les offres boost-click conservent leur rang normal. |
| device |
Utilisez-cela uniquement si vous n'utilisez pas la ciblage automatique des appareils. Par défaut, l'API peut renvoyer tous les types d'appareils. Utilisez ce champ pour ne renvoyer que certains types d'appareils. Valeurs disponibles : ios, android, mobile et desktop. L'appareil peut aussi être une liste séparée par des virgules, par exemple: Pour obtenir uniquement les offres CPI / CPE (qui nécessitent uniquement l'installation pour la conversion - utilisez device=ios,android Utilisez |
| subid / subid2 / subid3 |
SubID tracking lets you pass extra data into CPAlead tracking links. CPAlead stores the value with clicks and conversions and returns it in publisher postbacks when available. If you do not pass subid, CPAlead will not add one automatically. Use a user ID, wallet ID, or click reference when you need to credit a specific visitor. You can also use a shared value for a page, site, sub-affiliate, keyword, or traffic source, but shared values are for reporting and segmentation and cannot identify one visitor for rewards. Une deuxième variable subid pour des données supplémentaires Une troisième variable subid pour des données supplémentaires |
| gaid / idfa |
Si vous avez un Google Advertising ID (GAID) pour mobile, utilisez cette variable pour remplir automatiquement le gaid sur votre lien de suivi Si vous avez un Apple Identifier For Advertisers (IDFA) pour mobile, utilisez cette variable pour remplir automatiquement l'idfa sur votre lien de suivi |
| format / callback |
Format JSON ou JSONP. JSON est la valeur par défaut Nom de la fonction de rappel JSONP. Utilisé uniquement pour le format JSONP. Si vous utilisez jQuery getJSON, utilisez callback=? et jQuery remplira automatiquement le nom de la fonction pour vous. Voir l'exemple JSONP |
Exemple de réponse
Exemple de code
02
API des conversions
Limite : 1 requête par minute
L'API de conversion vous permet de ping CPAlead pour tester les conversions, utile pour créer des applications personnalisées. Passez subid en tant que subid ou adresse IP, ou "user" pour que notre système utilise l'adresse IP du client appelant ce script (utile pour les appels JSONP)
Pour le service de conversion de type push (Postback serveur à serveur), voir notre documentation Postback
Point d'accès
https://www.cpalead.com/api/conversions?id={PUBLISHER_ID}&api_key={API_KEY}
Paramètres de requête HTTP disponibles
| Paramètre HTTP | Description |
|---|---|
| id | Required. Your publisher ID. |
| api_key | Required. Your API key. |
| subid | Obligatoire. Recherche de conversion basée sur subid, passez subid ou l'adresse IP des utilisateurs, passez "user" pour utiliser l'adresse IP du client appelant ce script (utile pour les appels JSONP) |
| offer_id | Facultatif. Vérifiera la conversion uniquement pour cet ID d'offre (campagne) |
| format / callback | Format JSON ou JSONP. JSON est la valeur par défaut Nom de la fonction de rappel JSONP. Utilisé uniquement pour le format JSONP. Si vous utilisez jQuery getJSON, utilisez callback=? et jQuery remplira automatiquement le nom de la fonction pour vous. Voir l'exemple JSONP |
Exemple de réponse
03
API des annulations
Limite : 1 requête par minute
Utilisez cette API pour télécharger votre liste de mauvais prospects entre deux dates. Utile pour trier le mauvais trafic
Point d'accès
https://www.cpalead.com/api/reversals?id={PUBLISHER_ID}&api_key={API_KEY}
Paramètres de requête HTTP disponibles
| Paramètre HTTP | Description |
|---|---|
| id | Required. Your publisher ID. |
| api_key | Required. Your API key. |
| start_date | Date de début à utiliser lors de la récupération des mauvais prospects. Format : yyyy-mm-dd |
| end_date | Date de fin à utiliser lors de la récupération des mauvais prospects. Un maximum d'un mois peut être récupéré à la fois |
| format / callback | Format JSON ou JSONP. JSON est la valeur par défaut Nom de la fonction de rappel JSONP. Utilisé uniquement pour le format JSONP. Si vous utilisez jQuery getJSON, utilisez callback=? et jQuery remplira automatiquement le nom de la fonction pour vous. Voir l'exemple JSONP |
Exemple de réponse