SkimBit Reports API
The Reports API from SkimBit — 8 operation(s) for reports.
The Reports API from SkimBit — 8 operation(s) for reports.
openapi: 3.0.3
info:
title: Skimlinks Merchant Commissions Reports API
version: v4
description: 'The Skimlinks Merchant API provides a convenient way to gather information about the merchants (advertisers/programs) participating in the Skimlinks affiliate program that are available to the authenticated publisher. It exposes merchant programs, the publisher''s monetizable domains, the Skimlinks vertical taxonomies, and current merchant offers (coupons, deals, promotions). All responses are JSON.
Authentication: every request requires a temporary, timestamp-based `access_token` passed as a query parameter. Obtain one by POSTing your `client_id` and `client_secret` (from Publisher Hub > Toolbox > APIs > API Authentication credentials) with `grant_type=client_credentials` to `https://authentication.skimapis.com/access_token`.
Rate limiting: some endpoints are limited to 40 requests per minute and 1000 per hour per API key. Exceeding the limit returns `429 Too Many Requests`.'
contact:
name: Skimlinks Developer Support
url: https://developers.skimlinks.com/merchant.html
x-generated: '2026-07-21'
x-method: searched
x-source: https://developers.skimlinks.com/merchant.html (Apiary blueprint skimlinksmerchantapi)
servers:
- url: https://merchants.skimapis.com
description: Skimlinks Merchant API production host
security:
- access_token: []
tags:
- name: Reports
paths:
/publisher/{publisher_id}/reports:
get:
operationId: getAggregatedReports
summary: Get aggregated performance reports
description: Query the Hub Performance report data aggregated by page, date, device, country, domain, link, merchant or network_payout_type. Limited to 40 requests/min and 500/hour per API key.
tags:
- Reports
parameters:
- name: publisher_id
in: path
required: true
schema:
type: integer
- name: access_token
in: query
required: true
schema:
type: string
- name: report_by
in: query
required: true
schema:
type: string
enum:
- page
- date
- device
- country
- domain
- link
- merchant
- network_payout_type
- name: start_date
in: query
required: true
schema:
type: string
format: date
- name: end_date
in: query
required: true
schema:
type: string
format: date
- name: limit
in: query
schema:
type: integer
default: 30
minimum: 1
maximum: 600
- name: offset
in: query
schema:
type: integer
- name: sort_by
in: query
schema:
type: string
enum:
- impressions
- clicks_affiliated
- order_amount
- publisher_commission_amount
- sales
- page_url
- isodate
- device_type
- user_ip_country
- domain
- merchant_name
- target_url
- name: sort_dir
in: query
schema:
type: string
enum:
- DESC
- ASC
- name: time_period
in: query
schema:
type: string
enum:
- day
- week
- month
- name: currency
in: query
schema:
type: string
description: ISO 4217 currency code.
- name: a_id
in: query
schema:
type: integer
- name: domain_id
in: query
schema:
type: integer
- name: page_search
in: query
schema:
type: string
- name: link_search
in: query
schema:
type: string
- name: merchant_search
in: query
schema:
type: string
- name: user_ip_countries
in: query
schema:
type: string
- name: payment_type
in: query
schema:
type: string
enum:
- affiliate
- flatfee
- name: timezone
in: query
schema:
type: string
responses:
'200':
description: Aggregated report rows plus totals.
content:
application/json:
schema:
type: object
properties:
count:
type: integer
reports:
type: array
items:
type: object
totals:
type: object
example:
count: 1
reports:
- publisher_commission_amount: 8.27
clicks_affiliated: 754
sales: 3
isodate: 2018-02-15/2018-02-15
impressions: 23402
order_amount: 130.97
totals:
publisher_commission_amount: 8.27
clicks_affiliated: 754
sales: 3
'429':
$ref: '#/components/responses/TooManyRequests'
/publisher/{publisher_id}/aggregation/v1/link-report:
get:
operationId: getLinkReport
summary: Multi-aggregated link report (NDJSON)
description: Fetch click-level performance report data grouped by up to 4 dimensions with selected sum metrics. Streamed as NDJSON with X-Count / X-Has-Next headers. Limited to 5 requests/min and 100/hour per API key.
tags:
- Reports
parameters:
- name: publisher_id
in: path
required: true
schema:
type: integer
- name: access_token
in: query
required: true
schema:
type: string
- name: start_date
in: query
required: true
schema:
type: string
format: date
- name: end_date
in: query
required: true
schema:
type: string
format: date
- name: limit
in: query
schema:
type: integer
default: 50000
minimum: 10000
maximum: 100000
- name: offset
in: query
schema:
type: integer
- name: dim
in: query
required: true
description: Dimension(s) to group by (repeatable, up to 4).
schema:
type: array
items:
type: string
enum:
- advertiser_id
- date
- device_type
- merchant_id
- page_url
- platform_id
- publisher_domain_id
- skim_product_id
- target_url
- user_ip_country
- name: met
in: query
required: true
description: Metric(s) to include (repeatable).
schema:
type: array
items:
type: string
enum:
- clicks_count_total
- items_count
- order_amount_eur
- order_amount_gbp
- order_amount_usd
- order_amount
- publisher_commission_amount_eur
- publisher_commission_amount_gbp
- publisher_commission_amount_usd
- publisher_commission_amount
- sales_total
- name: currency
in: query
schema:
type: string
responses:
'200':
description: NDJSON stream of aggregated rows.
content:
application/x-ndjson:
schema:
type: string
example: '{"device_type": "mobile", "publisher_commission_amount_gbp": 100.00}
{"device_type": "pc", "publisher_commission_amount_gbp": 34.56}
'
'429':
$ref: '#/components/responses/TooManyRequests'
/publisher/{publisher_id}/aggregation/v1/link-report/dimensions:
get:
operationId: getLinkReportDimensions
summary: List available link-report dimensions
tags:
- Reports
parameters:
- name: publisher_id
in: path
required: true
schema:
type: integer
- name: access_token
in: query
required: true
schema:
type: string
responses:
'200':
description: List of dimensions.
/publisher/{publisher_id}/aggregation/v1/link-report/metrics:
get:
operationId: getLinkReportMetrics
summary: List available link-report metrics
tags:
- Reports
parameters:
- name: publisher_id
in: path
required: true
schema:
type: integer
- name: access_token
in: query
required: true
schema:
type: string
responses:
'200':
description: List of metrics.
/publisher/{publisher_id}/aggregation/v1/page-report:
get:
operationId: getPageReport
summary: Multi-aggregated page report (NDJSON)
description: Fetch page-impression level performance report data grouped by selected dimensions and sum metrics. Streamed as NDJSON with X-Count / X-Has-Next headers. Limited to 5 requests/min and 100/hour per API key.
tags:
- Reports
parameters:
- name: publisher_id
in: path
required: true
schema:
type: integer
- name: access_token
in: query
required: true
schema:
type: string
- name: start_date
in: query
required: true
schema:
type: string
format: date
- name: end_date
in: query
required: true
schema:
type: string
format: date
- name: limit
in: query
schema:
type: integer
default: 50000
minimum: 10000
maximum: 100000
- name: offset
in: query
schema:
type: integer
- name: dim
in: query
required: true
schema:
type: array
items:
type: string
enum:
- date
- device_type
- page_url
- platform_id
- publisher_domain_id
- name: met
in: query
required: true
schema:
type: array
items:
type: string
enum:
- clicks_count_total
- impressions_count_total
- items_count
- order_amount_eur
- order_amount_gbp
- order_amount_usd
- publisher_commission_amount_eur
- publisher_commission_amount_gbp
- publisher_commission_amount_usd
- sales_total
responses:
'200':
description: NDJSON stream of aggregated rows.
content:
application/x-ndjson:
schema:
type: string
'429':
$ref: '#/components/responses/TooManyRequests'
/publisher/{publisher_id}/aggregation/v1/page-report/dimensions:
get:
operationId: getPageReportDimensions
summary: List available page-report dimensions
tags:
- Reports
parameters:
- name: publisher_id
in: path
required: true
schema:
type: integer
- name: access_token
in: query
required: true
schema:
type: string
responses:
'200':
description: List of dimensions.
/publisher/{publisher_id}/aggregation/v1/page-report/metrics:
get:
operationId: getPageReportMetrics
summary: List available page-report metrics
tags:
- Reports
parameters:
- name: publisher_id
in: path
required: true
schema:
type: integer
- name: access_token
in: query
required: true
schema:
type: string
responses:
'200':
description: List of metrics.
/publisher/{publisher_id}/deactivated-merchants:
get:
operationId: getDeactivatedMerchants
summary: Get deactivated merchants report
description: Lists merchants that have been deactivated and aggregates clicks and revenue for the publisher over the recent period.
tags:
- Reports
parameters:
- name: publisher_id
in: path
required: true
schema:
type: integer
- name: access_token
in: query
required: true
schema:
type: string
- name: sort_by
in: query
required: true
schema:
type: string
enum:
- deactivated_date
- clicks_affiliated
- publisher_combined_commission_amount
- name: sort_dir
in: query
required: true
schema:
type: string
enum:
- DESC
- ASC
- name: limit
in: query
required: true
schema:
type: integer
default: 30
minimum: 0
maximum: 50000
- name: offset
in: query
required: true
schema:
type: integer
- name: min_publisher_combined_commission_amount
in: query
required: true
schema:
type: number
default: 0.01
- name: domain_id
in: query
schema:
type: string
- name: currency
in: query
schema:
type: string
- name: timezone
in: query
schema:
type: string
responses:
'200':
description: Deactivated merchants with pagination.
content:
application/json:
schema:
type: object
properties:
reports:
type: array
items:
type: object
pagination:
$ref: '#/components/schemas/Pagination'
components:
schemas:
Pagination:
type: object
properties:
has_next:
type: boolean
total_count:
type: integer
offset:
type: integer
limit:
type: integer
responses:
TooManyRequests:
description: Rate limit exceeded. Returns 429 Too Many Requests.
securitySchemes:
access_token:
type: apiKey
in: query
name: access_token
description: Timestamp-based access token obtained from https://authentication.skimapis.com/access_token via a client_credentials grant using your client_id and client_secret.