CJ Affiliate Publisher Lookup API

Advertiser-side REST API for looking up the publishers joined to a program - program terms with accept and expiry dates and join status, promotional methods, websites and PIDs with categories, country, functional currency, network rating and EPC. Returns XML. Requires exactly one search criterion alongside requestor-cid. Advertisers only, 25 calls per minute.

Operations 1

GET /v2/joined-publisher-lookup Look up publishers joined to your program #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/cj-affiliate-publisher-lookup-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

cj-affiliate-publisher-lookup-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: CJ Affiliate Publisher Lookup API
  version: '2026-08-13'
  description: 'CJ Affiliate''s published REST APIs, transcribed from CJ''s own developer documentation. Two families are covered:


    1. The classic XML lookup / search APIs on `*.api.cj.com` — Link Search, Advertiser Lookup, Publisher Lookup and the deprecated Commission Detail (Legacy). Each is documented with a stated call limit of 25 calls per minute and returns an `application/xml` `<cj-api>` document.


    2. The JSON click-tracking APIs — the Click Events API (`clicks.api.cj.com`) for partners and the Publisher Tracking API (`publishertracking.api.cj.com`) for publishers. Both accept a JSON body and return `{ destinationUrl, errorMessages }`.


    PROVENANCE: every path, parameter name, response field, status code and error message below was read on 2026-08-13 from CJ''s machine-readable documentation corpus, which the CJ Developer Portal single-page app loads from https://production-docs-assets.p.cjpowered.com/ (index at /index.yaml, one markdown file per page). Nothing here is modeled. CJ''s modern surface is GraphQL — see graphql/ in this repo for the three live schemas captured by introspection.'
  contact:
    name: API Evangelist
    email: kin@apievangelist.com
    url: https://developers.cj.com/
  x-source:
  - https://production-docs-assets.p.cjpowered.com/REST%20APIs/Overview.md
  - https://production-docs-assets.p.cjpowered.com/REST%20APIs/Link%20Search.md
  - https://production-docs-assets.p.cjpowered.com/REST%20APIs/Advertiser%20Lookup.md
  - https://production-docs-assets.p.cjpowered.com/REST%20APIs/Publisher%20Lookup.md
  - https://production-docs-assets.p.cjpowered.com/REST%20APIs/Commission%20Detail%20(Legacy).md
  - https://production-docs-assets.p.cjpowered.com/REST%20APIs/Automated%20Offer%20Feed.md
  - https://production-docs-assets.p.cjpowered.com/Publisher%20Site%20Tracking/Click%20Events%20API.md
  - https://production-docs-assets.p.cjpowered.com/Publisher%20Site%20Tracking/Publisher%20Tracking%20API.md
servers:
- url: https://publisher-lookup.api.cj.com
  description: Publisher Lookup API
security:
- personalAccessToken: []
tags:
- name: Publisher Lookup
  description: Advertiser-side lookup of publishers joined to a program.
paths:
  /v2/joined-publisher-lookup:
    get:
      tags:
      - Publisher Lookup
      operationId: publisherLookup
      summary: Look up publishers joined to your program
      description: 'Advertiser-side lookup of the publishers in a program — program terms and join status, promotional methods, websites and PIDs, categories, EPC and network rating. Exactly one search criterion must be supplied alongside requestor-cid. The request URI must be encoded per HTML 4 form content encoding rules. Advertisers only. Documented call limit: 25 calls per minute.'
      servers:
      - url: https://publisher-lookup.api.cj.com
      parameters:
      - name: requestor-cid
        in: query
        required: true
        description: CID of the company you are making the request for. You must be a member of that company.
        schema:
          type: string
      - name: date-accepted
        in: query
        description: Date the publisher accepted the program terms, YYYY-MM-DD.
        schema:
          type: string
      - name: publisher-name
        in: query
        description: Joined publisher's name. Must be more than 3 characters.
        schema:
          type: string
      - name: country
        in: query
        description: ISO 3166-1 alpha-2 country code of the publisher's location.
        schema:
          type: string
      - name: pid
        in: query
        description: The publisher's website ID (numeric, positive).
        schema:
          type: string
      - name: cid
        in: query
        description: The publisher's company ID (numeric, positive).
        schema:
          type: string
      - name: url
        in: query
        description: The publisher's website URL.
        schema:
          type: string
      - name: special-incentive
        in: query
        description: Whether the publisher runs an incentive / special program. Only the value `yes` (case-insensitive) is allowed.
        schema:
          type: string
          enum:
          - 'yes'
      responses:
        '200':
          description: An XML `<cj-api><publishers>` document.
          content:
            application/xml:
              schema:
                $ref: '#/components/schemas/PublisherLookupResponse'
        '400':
          description: Publisher Lookup validation error. Documented messages include "Not Authorized" (a publisher developer key was used where an advertiser key is required), "Invalid page-number provided.", "Only positive value is allowed for page-number.", "At least one of the required query parameters (url, cid, pid, country, publisher-name, special-incentive) is needed.", "Only one of the required query parameters ... is allowed.", "Invalid Key provided.", "Search criterion is required.", "Only ISO Code is allowed for country.", "Only numeric value is allowed for cid.", "Only positive value is allowed for cid.", "Only numeric value is allowed for pid.", "Only positive value is allowed for pid.", "Only 'yes' is allowed." and "Publisher Name has to be greater than 3 characters."
          content:
            application/xml:
              schema:
                $ref: '#/components/schemas/CjApiError'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  schemas:
    CjApiError:
      type: object
      description: The `<cj-api>` XML envelope carrying an error message.
      properties:
        error-message:
          type: string
      xml:
        name: cj-api
    Publisher:
      type: object
      properties:
        cid:
          type: string
        country:
          type: string
        currency:
          type: string
          description: The functional currency used by the publisher.
        join-date:
          type: string
        network-rating:
          type: string
          description: 0-5 rating relative to other publishers by commission volume.
        publisher-name:
          type: string
        seven-day-epc:
          type: string
        three-month-epc:
          type: string
        program-terms:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
              date-accepted:
                type: string
              date-expired:
                type: string
              join-status:
                type: string
                description: active, expired or cancelled.
        promotional-methods:
          type: array
          items:
            type: string
            description: search, email, software or content.
        websites:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
              pid:
                type: string
              url:
                type: string
              category:
                type: string
    PublisherLookupResponse:
      type: object
      description: The `<cj-api><publishers>` document.
      properties:
        publishers:
          type: object
          properties:
            total-matched:
              type: integer
            records-returned:
              type: integer
            page-number:
              type: integer
            publisher:
              type: array
              items:
                $ref: '#/components/schemas/Publisher'
      xml:
        name: cj-api
  responses:
    Unauthorized:
      description: 'HTTP 401 for all CJ REST APIs. Documented cases: no message at all (incorrect resource URL); "You must specify a developer key." (no developer key specified); "Not Authenticated: xxxxxx" (invalid developer key, echoing the key used). A request with no Authorization header returns `<cj-api><error-message>You must provide an Authorization header.</error-message></cj-api>`.'
      content:
        application/xml:
          schema:
            $ref: '#/components/schemas/CjApiError'
  securitySchemes:
    personalAccessToken:
      type: http
      scheme: bearer
      description: 'A CJ Personal Access Token created at https://developers.cj.com/account/personal-access-tokens, sent as `Authorization: Bearer <token>`. CJ''s REST APIs also accept a legacy Developer Key in the same Authorization header.'