CJ Affiliate API - Commission Junction Products & Feeds
Pricing
from $2.00 / 1,000 item scrapeds
CJ Affiliate API - Commission Junction Products & Feeds
Query CJ.com (Commission Junction) GraphQL API for affiliate products, 15k+ shopping product feeds, finance credit cards, travel experiences. You provide your own PAT + CID. Multi-vertical discovery.
Pricing
from $2.00 / 1,000 item scrapeds
Rating
0.0
(0)
Developer
viralanalyzer
Maintained by CommunityActor stats
1
Bookmarked
1
Total users
1
Monthly active users
18 hours ago
Last modified
Categories
Share
💼 CJ Affiliate (Commission Junction) — Products, Feeds & Advertisers API (BYOC)
🔗 View on Apify Store | 🇺🇸 English | 🇧🇷 Português
Query the CJ.com GraphQL API at ads.api.cj.com/query for affiliate products, shopping feeds, advertiser discovery, finance credit card products, and travel experiences. BYOC (Bring Your Own Credentials) — you provide your CJ Personal Access Token (PAT) + Company ID (CID). Six query types covering 15k+ advertiser feeds.
✨ Features
- Official CJ GraphQL endpoint —
https://ads.api.cj.com/query, Bearer PAT auth (no OAuth flow) - 6 query types covering discovery and search:
shoppingProductFeeds— list ALL shopping feeds available to the publisher (15k+ advertisers, no join required)productFeeds— generic feed discoveryproducts— keyword search across ALL products (requires joined advertisers)shoppingProducts— keyword search restricted to Shopping vertical (requires joined advertisers)financeCreditCardProducts— credit card listings with APR/fees/credit-score-neededtravelExperienceProducts— travel & experience products with location + duration
- Keyword filter — array of keywords (applied to product/shopping/travel queries)
- Advertiser ID filter — narrow to specific advertisers found via
shoppingProductFeeds - Pagination —
maxResults+offset(CJ API hard cap 1000 per request) - Anti-bot-immune — official API, no scraping
- NEVER 0 ITEMS guard — actor fails with diagnostic message naming the queryType + likely cause
🔑 BYOC setup (one-time, free, ~10 min)
- Sign in at https://www.cj.com (you must have a CJ Publisher account; sign-up is free)
- Go to https://developers.cj.com and click Create Personal Access Token
- Copy the PAT (one-time display) and paste into the actor input as
accessToken - Get your Company ID (CID) at https://members.cj.com > Account > Account Information (~7 digits, e.g.
7957587) - Paste the CID into
companyId
Note:
productsandshoppingProductsqueries only return products from advertisers you have joined. UseshoppingProductFeedsfor cold discovery — it lists every advertiser feed in the CJ network regardless of join status.
📥 Input
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
accessToken | string (secret) | Yes | — | Your CJ Personal Access Token |
companyId | string | Yes | — | Your CJ Publisher CID (~7 digits) |
queryType | enum | No | shoppingProductFeeds | One of: shoppingProductFeeds, productFeeds, products, shoppingProducts, financeCreditCardProducts, travelExperienceProducts |
keywords | string[] | No* | [] | Search keywords (for products / shoppingProducts / travelExperienceProducts) |
advertiserIds | string[] | No | [] | Filter to specific advertiser IDs (discover via shoppingProductFeeds first) |
maxResults | integer | No | 25 | Items per request (1-1000) |
offset | integer | No | 0 | Pagination offset |
*Keywords are required for products, shoppingProducts, and travelExperienceProducts; ignored for feed/finance queries.
Input example (JSON) — discovery mode
{"accessToken": "your_cj_pat_here","companyId": "7957587","queryType": "shoppingProductFeeds","maxResults": 100,"offset": 0}
Input example (JSON) — product search
{"accessToken": "your_cj_pat_here","companyId": "7957587","queryType": "shoppingProducts","keywords": ["smart watch", "fitness tracker"],"advertiserIds": ["3651573", "3508051"],"maxResults": 50}
📤 Output
Each record carries the queryType flag plus type-specific fields. Example shoppingProductFeeds output:
{"queryType": "shoppingProductFeeds","advertiserId": "3651573","advertiserName": "Best Buy","feedName": "Best Buy US Shopping Feed","feedLanguage": "en","feedCurrency": "USD","feedLastUpdated": "2026-05-14T03:00:00Z","feedProductCount": 145329,"feedTargetCountry": "US","adId": "12345678","scrapedAt": "2026-05-15T14:30:00Z"}
Example financeCreditCardProducts output:
{"queryType": "financeCreditCardProducts","advertiserId": "4504329","advertiserName": "American Express","productId": "amex_blue_cash","title": "Blue Cash Everyday® Card","cardType": "Cash Back","creditScoreNeeded": "Good to Excellent (670-850)","annualMemFee": "$0","purchaseIntroApr": "0% intro APR for 15 months","regularApr": "19.24% - 29.99% Variable","foreignTransactionFee": "2.7%","link": "https://www.tkqlhce.com/click-...","imageLink": "https://www.americanexpress.com/.../card.png"}
💰 Pricing
Pay-per-event (item-scraped): charged once per result successfully returned by the CJ API. Zero-result queries do not charge.
🚀 Use cases
- Cold advertiser discovery — surface 15k+ CJ feeds without joining anything first (use
shoppingProductFeeds) - Credit card affiliate research — APR / annual-fee comparison for finance publishers
- Travel product catalog — pull experience inventory with location + duration
- Joined-advertiser product search — pull a fresh product feed for advertisers you already work with
- Competitive intel — discover which advertisers in your vertical have active feeds (and how big they are)
⚠️ Common errors
| Error | Cause | Fix |
|---|---|---|
[CJ_API] 401 Unauthorized | PAT expired or revoked | Generate a new PAT at developers.cj.com |
[CJ_API] 403 Forbidden on products/shoppingProducts | You have not joined any advertisers yet | Use shoppingProductFeeds first, request to join interesting advertisers, retry product search |
[CJ_API] GraphQL errors: Field X not found | Outdated GraphQL schema reference | Update to latest actor build; CJ adds/removes fields without notice |
[FAIL] Zero items returned from CJ | Keywords too narrow OR queryType requires joined advertisers | Read the diagnostic message — actor lists 4 likely causes |
[INPUT] companyId is required | CID missing | Get from members.cj.com > Account Information |
🔒 Privacy
Your PAT is sent directly to ads.api.cj.com over HTTPS. We never store, log, or proxy it through our servers. Mark accessToken as secret in the Apify input form.
📚 Related actors
- Impact.com Affiliate API — Impact Publisher API (BYOC)
- Rakuten Affiliate Merchants — Rakuten API (BYOC)
- Awin Multi-Merchant — Awin Publisher API (BYOC)
- Etsy Product Intelligence — Etsy Open API v3 (BYOC)
- ClickBank Marketplace Intelligence — ClickBank digital products
🆕 Changelog
- v1.0 (2026-05-14): Initial release. 6 query types (shoppingProductFeeds / productFeeds / products / shoppingProducts / financeCreditCardProducts / travelExperienceProducts). Bearer PAT auth. NEVER 0 ITEMS guard with 4-cause diagnostic.
Português
💼 CJ Affiliate (Commission Junction) — API de Produtos, Feeds e Advertisers (BYOC)
Consulta a API GraphQL da CJ.com em ads.api.cj.com/query para produtos afiliados, feeds de shopping, descoberta de advertisers, cartões de crédito e produtos de viagem. BYOC (Bring Your Own Credentials) — você fornece seu PAT (Personal Access Token) + CID (Company ID) da CJ. Seis tipos de query cobrindo 15k+ feeds de advertisers.
✨ Recursos
- Endpoint oficial CJ GraphQL — Bearer PAT, sem OAuth
- 6 tipos de query:
shoppingProductFeeds— lista TODOS os feeds disponíveis (15k+, sem precisar fazer "join")productFeeds— descoberta genéricaproducts— busca por keyword em todos os produtos (exige advertisers joined)shoppingProducts— busca apenas no vertical Shopping (exige advertisers joined)financeCreditCardProducts— cartões com APR/anuidade/scoretravelExperienceProducts— viagens e experiências com local + duração
- Filtro de keywords + filtro por advertiserIds
- Paginação —
maxResults+offset(limite CJ 1000 por requisição) - Imune a anti-bot — API oficial
- NUNCA 0 ITENS — falha com mensagem diagnóstica nomeando o queryType e a causa provável
🔑 Setup BYOC (uma vez, grátis, ~10 min)
- Crie conta Publisher em https://www.cj.com (grátis)
- Em https://developers.cj.com clique Create Personal Access Token
- Copie o PAT (exibido uma única vez) e cole no input em
accessToken - Encontre seu CID em https://members.cj.com > Account > Account Information (~7 dígitos)
- Cole o CID em
companyId
productseshoppingProductssó retornam advertisers em que você fez join. Para descoberta a frio, useshoppingProductFeeds.
📥 Input
| Parâmetro | Tipo | Obrigatório | Default | Descrição |
|---|---|---|---|---|
accessToken | string (secret) | Sim | — | Seu PAT da CJ |
companyId | string | Sim | — | Seu CID Publisher (~7 dígitos) |
queryType | enum | Não | shoppingProductFeeds | Um dos 6 acima |
keywords | string[] | Não* | [] | Para queries de busca |
advertiserIds | string[] | Não | [] | Filtro por advertiser |
maxResults | integer | Não | 25 | Itens por request (1-1000) |
offset | integer | Não | 0 | Paginação |
💰 Cobrança
Pay-per-event item-scraped: cobrado por resultado retornado pela API. Query com zero resultado não cobra.
🚀 Casos de uso
- Descoberta de advertisers (15k+ feeds sem precisar joinar)
- Pesquisa de afiliados de finanças (cartões de crédito)
- Catálogo de produtos de viagem
- Atualização de feed de advertisers que você já trabalha
- Inteligência competitiva por vertical
⚠️ Erros comuns
[CJ_API] 401 Unauthorized: PAT expirado/revogado — gerar novo em developers.cj.com[CJ_API] 403 Forbidden on products: precisa joinar advertisers — useshoppingProductFeedsprimeiro[FAIL] Zero items returned: leia o diagnóstico do actor — 4 causas prováveis listadas
🔒 Privacidade
PAT enviado diretamente para ads.api.cj.com via HTTPS. Não armazenamos nem logamos credenciais.
📚 Actors relacionados
- Impact.com Affiliate API
- Rakuten Affiliate Merchants
- Awin Multi-Merchant
- Etsy Product Intelligence
- ClickBank Marketplace Intelligence
🆕 Changelog
- v1.0 (2026-05-14): release inicial, 6 query types, NUNCA 0 ITENS guard.
