Clickwise Products API

The Products API from Clickwise — 2 operation(s) for products.

GitHub OpenAPI

Operations 2

GET /products/ Search GTIN products with your tracked links #
GET /products/lookup/ Refresh price and stock by id and/or GTIN (1-100) #

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/clickwise-net:clickwise-net-products-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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

clickwise-net-products-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Clickwise Net Products API
  version: '1.1'
  contact:
    name: Clickwise integrations
    email: partnerships@clickwise.net
  description: 'Operations tagged Products across 2 of this provider''s published API definitions: clickwise-net-publisher-openapi.json, clickwise-net-publisher-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://partners.clickwise.net/api/v1/publisher
security:
- ApiKeyHeader: []
- BearerKey: []
tags:
- name: Products
paths:
  /products/:
    get:
      operationId: searchProducts
      summary: Search GTIN products with your tracked links
      tags:
      - Products
      parameters:
      - name: q
        in: query
        required: false
        schema:
          type: string
          minLength: 3
          maxLength: 200
        description: Phrase in the title. Required unless brand, category or country is given (country alone lists that market).
      - name: brand
        in: query
        required: false
        schema:
          type: string
          minLength: 2
          maxLength: 200
        description: Exact brand (case-insensitive).
      - name: category
        in: query
        required: false
        schema:
          type: string
          minLength: 2
          maxLength: 200
        description: Text contained in the category.
      - name: country
        in: query
        required: false
        schema:
          type: string
          pattern: ^[A-Z]{2}$
        description: ISO 3166-1 alpha-2 market code, for example US or GB. Required unless your account has a market list.
      - name: merchant
        in: query
        required: false
        schema:
          type: integer
        description: Merchant id from merchant.id.
      - name: group
        in: query
        required: false
        schema:
          type: integer
          enum:
          - 0
          - 1
        description: '1: one result per group_id — the cheapest in-stock variant, with sizes; total counts groups.'
      - name: min_price
        in: query
        required: false
        schema:
          type: string
          pattern: ^[0-9]{1,12}(\.[0-9]{1,4})?$
        description: Inclusive lower bound on price, in each product's own currency (no conversion).
      - name: max_price
        in: query
        required: false
        schema:
          type: string
          pattern: ^[0-9]{1,12}(\.[0-9]{1,4})?$
        description: Inclusive upper bound on price, in each product's own currency (no conversion); must not be lower than min_price.
      - name: currency
        in: query
        required: false
        schema:
          type: string
          pattern: ^[A-Za-z]{3}$
        description: 'ISO 4217 code: only products priced in this currency (the price range then applies to it).'
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          minimum: 1
          maximum: 100
          default: 20
        description: Page size.
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          minimum: 0
          maximum: 10000
          default: 0
        description: Follow next_offset.
      responses:
        '200':
          description: OK
          headers:
            RateLimit-Limit:
              $ref: '#/components/headers/RateLimit-Limit'
            RateLimit-Remaining:
              $ref: '#/components/headers/RateLimit-Remaining'
            RateLimit-Reset:
              $ref: '#/components/headers/RateLimit-Reset'
            RateLimit-Policy:
              $ref: '#/components/headers/RateLimit-Policy'
            X-Request-Id:
              $ref: '#/components/headers/X-Request-Id'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductPage'
        '400':
          $ref: '#/components/responses/E400'
        '401':
          $ref: '#/components/responses/E401'
        '403':
          $ref: '#/components/responses/E403'
        '429':
          $ref: '#/components/responses/E429'
        '503':
          $ref: '#/components/responses/E503'
    servers:
    - url: https://partners.clickwise.net/api/v1/publisher
  /products/lookup/:
    get:
      operationId: lookupProducts
      summary: Refresh price and stock by id and/or GTIN (1-100)
      tags:
      - Products
      parameters:
      - name: ids
        in: query
        required: false
        schema:
          type: string
        description: Comma-separated product ids.
      - name: gtins
        in: query
        required: false
        schema:
          type: string
        description: Comma-separated GTINs (checksums validated).
      - name: country
        in: query
        required: false
        schema:
          type: string
        description: ISO alpha-2 market.
      - name: merchant
        in: query
        required: false
        schema:
          type: integer
        description: Merchant id.
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          minimum: 1
          maximum: 100
        description: Page size.
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          minimum: 0
          maximum: 10000
        description: Follow next_offset.
      responses:
        '200':
          description: OK
          headers:
            RateLimit-Limit:
              $ref: '#/components/headers/RateLimit-Limit'
            RateLimit-Remaining:
              $ref: '#/components/headers/RateLimit-Remaining'
            RateLimit-Reset:
              $ref: '#/components/headers/RateLimit-Reset'
            RateLimit-Policy:
              $ref: '#/components/headers/RateLimit-Policy'
            X-Request-Id:
              $ref: '#/components/headers/X-Request-Id'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductPage'
        '400':
          $ref: '#/components/responses/E400'
        '401':
          $ref: '#/components/responses/E401'
        '403':
          $ref: '#/components/responses/E403'
        '429':
          $ref: '#/components/responses/E429'
        '503':
          $ref: '#/components/responses/E503'
    servers:
    - url: https://partners.clickwise.net/api/v1/publisher
components:
  responses:
    E400:
      description: Invalid request
      headers:
        X-Request-Id:
          $ref: '#/components/headers/X-Request-Id'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    E503:
      description: Temporary failure or a query over its time budget; on 503, retry once after Retry-After
      headers:
        X-Request-Id:
          $ref: '#/components/headers/X-Request-Id'
        Retry-After:
          $ref: '#/components/headers/Retry-After'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    E429:
      description: Rate limit; wait Retry-After seconds
      headers:
        X-Request-Id:
          $ref: '#/components/headers/X-Request-Id'
        Retry-After:
          $ref: '#/components/headers/Retry-After'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    E403:
      description: Not allowed for this key or account
      headers:
        X-Request-Id:
          $ref: '#/components/headers/X-Request-Id'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    E401:
      description: Missing or invalid key
      headers:
        X-Request-Id:
          $ref: '#/components/headers/X-Request-Id'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    E503_2:
      description: Temporary dependency failure; retry with backoff
      headers:
        X-Request-Id:
          $ref: '#/components/headers/X-Request-Id'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  headers:
    Retry-After:
      schema:
        type: integer
      description: Seconds to wait.
    RateLimit-Limit:
      schema:
        type: integer
      description: Requests allowed per window.
    X-Request-Id:
      schema:
        type: string
      description: Echoes a valid X-Request-Id, else generated.
    RateLimit-Policy:
      schema:
        type: string
      description: For example 120;w=60.
    RateLimit-Reset:
      schema:
        type: integer
      description: Seconds until the window resets.
    RateLimit-Remaining:
      schema:
        type: integer
      description: Requests left in this window.
  schemas:
    ProductPage:
      type: object
      properties:
        products:
          type: array
          items:
            $ref: '#/components/schemas/Product'
        count:
          type: integer
          description: Products on this page.
        total:
          type: integer
          description: Search matches before per-product link checks, at most 1000.
        total_exact:
          type: boolean
          description: False when total reached the 1000 cap.
        limit:
          type: integer
        offset:
          type: integer
        next_offset:
          type:
          - integer
          - 'null'
        freshness_hours:
          type: integer
        servable_programs:
          type: integer
          description: 'Only on an empty first page: your programs that may serve products with stock in the searched countries.'
        empty_reason:
          type: string
          enum:
          - no_programs_in_country
          - no_feed_permission
          - no_match
          description: 'Only on an empty first page: no approved program has stock in that country; some do but none may serve its product feed to you; or your programs may, and the query or filters matched nothing.'
    Product:
      type: object
      properties:
        id:
          type: string
        gtin:
          type: string
        title:
          type: string
        price:
          type: string
          description: Decimal string in currency.
        currency:
          type: string
        image:
          type: string
        url:
          type: string
          format: uri
          description: Clickwise link tracked to the caller.
        merchant:
          type: object
          properties:
            id:
              type: integer
            name:
              type: string
            domain:
              type:
              - string
              - 'null'
              description: The merchant's public website domain (no link), e.g. tooled-up.com.
        availability:
          type: string
          enum:
          - in_stock
          - out_of_stock
          - preorder
          - backorder
        country:
          type: string
        updated_at:
          type: string
          format: date-time
        brand:
          type:
          - string
          - 'null'
        category:
          type:
          - string
          - 'null'
        regular_price:
          type:
          - string
          - 'null'
          description: Merchant's list price as a decimal string, only when above price.
        description:
          type:
          - string
          - 'null'
          description: Plain text, at most 500 characters.
        size:
          type:
          - string
          - 'null'
        color:
          type:
          - string
          - 'null'
        group_id:
          type: string
          description: 'Shared by the sizes of one model and colour: the feed item_group_id when present, else brand + title without the size + colour, normalised (a heuristic).'
        sizes:
          type: array
          items:
            type: string
          description: 'Only with group=1: the sizes in stock in this group.'
        rules:
          type: array
          description: 'The program''s rules that bind this offer (the brand''s conditions, the channels it denies and its program flags), as a key and an English text: follow them when you promote it.'
          items:
            type: object
            properties:
              key:
                type: string
              text:
                type: string
    Error:
      type: object
      required:
      - detail
      - error
      properties:
        detail:
          description: Human-readable message (kept for existing clients).
        error:
          type: object
          required:
          - code
          - message
          - status
          - request_id
          properties:
            code:
              type: string
              examples:
              - not_authenticated
              - throttled
              - invalid_request
              - api_key_scope
              - idempotency_key_reused
            message:
              type: string
            status:
              type: integer
            request_id:
              type: string
              description: Also sent as X-Request-Id.
    ProductPage_2:
      type: object
      properties:
        products:
          type: array
          items:
            $ref: '#/components/schemas/Product_2'
        count:
          type: integer
        limit:
          type: integer
        offset:
          type: integer
        next_offset:
          type:
          - integer
          - 'null'
        freshness_hours:
          type: integer
    Product_2:
      type: object
      properties:
        id:
          type: string
        gtin:
          type: string
        title:
          type: string
        price:
          type: string
          description: Decimal string in currency.
        currency:
          type: string
        image:
          type: string
        url:
          type: string
          format: uri
          description: Clickwise link tracked to the caller.
        merchant:
          type: object
          properties:
            id:
              type: integer
            name:
              type: string
        availability:
          type: string
          enum:
          - in_stock
          - out_of_stock
          - preorder
          - backorder
        country:
          type: string
        updated_at:
          type: string
          format: date-time
  securitySchemes:
    ApiKeyHeader:
      type: apiKey
      in: header
      name: X-API-Key
    BearerKey:
      type: http
      scheme: bearer
      description: The same publisher API key.
x-refined-from:
- clickwise-net-publisher-openapi.json
- clickwise-net-publisher-openapi.yml
x-servers-source: https://partners.clickwise.net/llms.txt