Folium Publisher API (1.14)

Download OpenAPI specification:

Enterprise API for publishers to access product catalogs across Amazon and Walmart, submit performance data, and track attribution metrics.

Authentication: Include your API key in the Authorization header as Bearer YOUR_API_KEY

Support: contact@foliumagency.com

What's New in 1.14 (September 2026)

commission_percentage is staying. It will not be retired. For Walmart items it is the only field that carries the Walmart commission rate. See Commission fields at a glance.

Stable ordering on /catalog. Results are now sorted by product ID and then country, so the order is the same on every request and pages no longer overlap.

Creator Connections campaigns on /catalog (select publishers). Enabled accounts receive cc_campaigns on each item: every active campaign that includes the product, with its ID, name, commission rate, and start and end dates. commission_type=cc also returns US products on your account that are in an active campaign, even when Folium's rate for them is 0. Contact contact@foliumagency.com to request access.

What's New in 1.13 (September 2026)

/deals now returns live Amazon deal schedules. The endpoint lists every upcoming and running deal booked with Amazon for your brands, including deals scheduled for upcoming sales events. Only deals are returned: coupons, price discounts and basket-building promotions are not included.

Response fields changed. The deal object is now: asin, deal_type, deal_name, brand, status, start_date, end_date, country_code, event_name, regular_price, deal_price, discount_percentage, currency_code, product_category, product_rating, product_review_count. Renamed: campaign_name → deal_name, campaign_status → status, seller_price → regular_price, event_tags → event_name (the old names still work as filter parameters). New: brand (the brand name, as on /catalog). Removed: brand_code, campaign_id, marketplace, sku, deal_quantity, seller_quantity, asin_status, is_included, total_asins_in_campaign, product_browse_node and internal metadata fields.

deal_type is now lowercase. Most deals are reported as deal; some carry a more specific label (for example best_deal). status is one of upcoming, running, expired.

Timestamps are in the marketplace's local time, with the UTC offset included (2026-11-19T00:00:00-08:00 for a US deal starting at midnight Pacific). Date filters compare against that local date. product_rating is now on a 0–5 scale.

See the /deals endpoint.

What's New in 1.7 (April 2026)

New field: cc_incremental_commission_percentage. Shows how much of your Creator Connections rate Folium adds on top of Amazon's campaign rate.

cc_total_commission_percentage can be null for Amazon. When an Amazon product is not in an active Creator Connections campaign, cc_total_commission_percentage and cc_incremental_commission_percentage are both null, because Creator Connections does not apply right now.

Walmart is unchanged. Both Creator Connections fields are always 0.0 for Walmart items.

See the /catalog endpoint.

Catalog

Access product catalog with detailed product information, pricing, and commission rates across Amazon and Walmart. Perfect for building product recommendation systems and content creation tools.

Get Product Catalog

Returns the products you can promote, with the commission rates Folium has set for your account. Covers Amazon (seller and vendor catalogs) and Walmart, across every marketplace you are enabled for.

Commission fields at a glance

Each program has its own field:

Field Program What it tells you
cc_total_commission_percentage Amazon Creator Connections Total rate you earn while the product is in an active campaign. null when no campaign is active.
cc_incremental_commission_percentage Amazon Creator Connections The part of that total Folium adds on top of Amazon's campaign rate.
attribution_commission_percentage Amazon Attribution Rate for traffic you send through tagged attribution links.
commission_percentage Amazon or Walmart The rate Folium has set for your account. For Walmart items this is the Walmart rate.

All rates are percentages: 15.0 means 15%.

Example

A product is in a Creator Connections campaign that pays 10%, and Folium pays you 15% in total:

"commission_percentage": 15.0,
"cc_total_commission_percentage": 15.0,
"cc_incremental_commission_percentage": 5.0

You earn 15%: Amazon's 10% plus Folium's 5%. The incremental value is part of the total, so do not add them together.

When the campaign ends, both Creator Connections fields become null, while commission_percentage still shows 15.0.

Creator Connections campaigns (select publishers)

Available to select publishers. Contact contact@foliumagency.com to request access.

For enabled accounts:

  • Every item includes cc_campaigns, the list of active Amazon Creator Connections campaigns that include the product, with each campaign's ID, name, commission rate, and start and end dates.
  • commission_type=cc also returns US Amazon products on your account that are in an active campaign, even when Folium's rate for them is 0.
  • On any US product where commission_percentage is 0.0 but the product is in an active campaign, cc_total_commission_percentage shows the highest active campaign rate and cc_incremental_commission_percentage is 0.0, because Folium adds nothing on top.

A campaign is active when Amazon reports it as live and today falls between its start and end dates. Dates are US Pacific time.

To see a full response, choose Select publishers: Creator Connections campaigns in the Example menu under Response samples.

Pages and ordering

Each page returns up to 500 items, sorted by product ID and then country, so the order is the same on every request. With platform=all, Amazon items come first, then Walmart items. Keep requesting next_page until has_more is false. When the last page is exactly full, has_more is true and the following page is empty.

Countries

Catalog data is available for US, CA, MX, GB, DE, FR, IT, ES and NL. Send UK or GB for the United Kingdom; results always use GB.

Authorizations:
ApiKeyAuth
query Parameters
page
integer >= 1
Default: 1
Example: page=1

[Optional] Page number: a whole number, starting at 1. Each page returns up to 500 items.

brand_code
string
Example: brand_code=TECHBRAND

[Optional] Return only this brand's products (for example TECHBRAND). If omitted, every brand available to your account is included. Brand codes are case-sensitive. An unknown or inactive brand code returns an empty list.

country_code
string^[A-Za-z]{2}$
Example: country_code=US

[Optional] Return only products from this marketplace. If omitted, every country is included.

Values with catalog data: US, CA, MX, GB, DE, FR, IT, ES, NL. UK is accepted and treated as GB. Any other country returns an empty list.

platform
string
Default: "amazon"
Enum: "amazon" "walmart" "all"
Example: platform=amazon

[Optional] Which marketplace to return.

  • amazon (default): Amazon products. Items have an asin.
  • walmart: Walmart products. Items have a wpid instead of an asin.
  • all: both. Items have asin, wpid and platform.
commission_type
string
Default: "associates"
Enum: "associates" "attribution" "all" "cc"
Example: commission_type=all

[Optional] Which Amazon products to include, based on the rates set for your account. Walmart products are always included when they have a Walmart rate.

  • associates (default): products where commission_percentage is above 0. The name is kept for compatibility.
  • attribution: products where attribution_commission_percentage is above 0. These are the only ASINs POST /attribution-tag accepts.
  • all: products where either rate is above 0.
  • cc (select publishers): everything all returns, plus US products on your account that are in an active Creator Connections campaign. For other accounts it behaves like associates.

Unrecognized values are treated as associates. Every rate field is returned whichever value you choose.

status
string
Enum: "active" "inactive"
Example: status=active

[Optional] Return only products with this catalog status: active or inactive. If omitted, both are returned.

include_history
boolean
Default: false
Example: include_history=true

[Optional] Set to true to add commission_history to each item. Also accepts 1, yes or history (case-insensitive).

Responses

Response samples

Content type
application/json
Example
{
  • "status": "success",
  • "pagination": {
    • "items_in_this_page": 2,
    • "has_more": false,
    • "next_page": null
    },
  • "catalog": [
    • {
      • "asin": "B0EXAMPLE1",
      • "title": "Premium Wireless Headphones",
      • "brand": "TechBrand",
      • "brand_code": "TECHBRAND",
      • "price": 299.99,
      • "currency_code": "USD",
      • "category": "Electronics",
      • "browse_node": "Headphones & Earbuds",
      • "country_code": "US",
      • "status": "Active",
      • "last_updated": "2026-09-20T09:00:00+00:00",
      • "commission_percentage": 15,
      • "attribution_commission_percentage": 3,
      • "cc_total_commission_percentage": 15,
      • "cc_incremental_commission_percentage": 5,
      • "commission_start_date": "2026-01-15"
      },
    • {
      • "asin": "B0EXAMPLE2",
      • "title": "Organic Cotton Pillowcase",
      • "brand": "TechBrand",
      • "brand_code": "TECHBRAND",
      • "price": 29.99,
      • "currency_code": "USD",
      • "category": "Home & Kitchen",
      • "browse_node": "Pillowcases",
      • "country_code": "US",
      • "status": "Active",
      • "last_updated": "2026-09-20T09:00:00+00:00",
      • "commission_percentage": 12,
      • "attribution_commission_percentage": 0,
      • "cc_total_commission_percentage": null,
      • "cc_incremental_commission_percentage": null,
      • "commission_start_date": "2026-03-01"
      }
    ]
}

Get Available Brands

Retrieve list of all brands that Folium manages

Features

  • Returns all brands authorized for your publisher account
  • Includes brand codes for filtering other endpoints
  • Shows marketplaces (countries) where each brand sells products (across Amazon and Walmart catalogs)
  • Indicates Amazon Attribution connection status for each brand
Authorizations:
ApiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "brands": [
    • {
      • "brand_code": "TECHBRAND",
      • "brand_name": "TechBrand",
      • "attribution_connected": true,
      • "marketplaces": [
        • "US",
        • "CA",
        • "GB",
        • "DE"
        ]
      },
    • {
      • "brand_code": "HOMEGOODS",
      • "brand_name": "Home Goods Co",
      • "attribution_connected": false,
      • "marketplaces": [
        • "US",
        • "CA"
        ]
      },
    • {
      • "brand_code": "WELLNESS",
      • "brand_name": "Wellness Plus",
      • "attribution_connected": true,
      • "marketplaces": [
        • "US",
        • "GB",
        • "FR",
        • "IT",
        • "ES"
        ]
      }
    ]
}

Performance

Submit performance data including sales, clicks, impressions, and revenue metrics. Enables real-time performance tracking and optimization.

Submit Associates Performance Data

Submit performance data including sales, shipments, and revenue metrics.

Features

  • Batch Processing: Submit up to 1,000 records per request
  • Partial Success: Valid records are processed even if some fail
  • Validation: Comprehensive validation with detailed error messages
  • Duplicate Handling: Smart deduplication based on ASIN and date

Validation Rules

  • ASIN must be exactly 10 characters
  • Date must be in YYYY-MM-DD format (not future dates)
  • Quantity can be negative (for returns)
  • Revenue sign must match quantity sign
  • Price is optional (calculated as abs(revenue/quantity) if not provided)

Important: Commissions are ALWAYS calculated by Folium from our commission database. You only need to send ASIN, date, quantity, and revenue. Price is optional and used only for analytics.

Response Behavior

  • 200 OK: At least one record was successfully processed
  • 400 Bad Request: All records failed validation
  • 422 Unprocessable: Records valid but no products recognized

Performance Tips

  • Batch records to minimize API calls
  • Submit data daily for best accuracy
  • Include returns as negative quantities
Authorizations:
ApiKeyAuth
Request Body schema: application/json
required
required
Array of objects (PerformanceRecord) [ 1 .. 1000 ] items

Array of performance records (max 1000 per request)

country_code
required
string^[A-Z]{2}$

Two-letter ISO 3166-1 alpha-2 country code for the marketplace where the sales occurred.

Supported Country Codes:

  • US - United States
  • CA - Canada
  • GB - United Kingdom (Note: UK is automatically converted to GB)
  • DE - Germany
  • FR - France
  • IT - Italy
  • ES - Spain
  • JP - Japan
  • AU - Australia
  • MX - Mexico
  • IN - India
  • BR - Brazil
  • NL - Netherlands
  • SE - Sweden
  • PL - Poland
  • TR - Turkey
  • AE - United Arab Emirates
  • SG - Singapore

Note: The country code UK is automatically converted to GB (ISO 3166-1 alpha-2 standard).

Responses

Request samples

Content type
application/json
Example
{
  • "data": [
    • {
      • "asin": "B0EXAMPLE1",
      • "date_shipped": "2025-01-15",
      • "items_shipped_qty": 1,
      • "revenue": 299.99
      }
    ],
  • "country_code": "US"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "summary": {
    • "total_submitted": 100,
    • "successfully_validated": 98,
    • "recognized_products": 95,
    • "unrecognized_products": 3,
    • "failed_validation": 2
    },
  • "results": {
    • "total_items": 150,
    • "total_revenue": 28497.52,
    • "unique_asins": 45,
    • "country_code": "US",
    • "publisher_id": "PUB123"
    },
  • "warnings": [
    • {
      • "type": "unrecognized_products",
      • "message": "3 products were not recognized",
      • "details": [
        • "B00UNKNOWN1",
        • "B00UNKNOWN2"
        ]
      }
    ],
  • "metadata": {
    • "processing_time_ms": 342.5
    }
}

Placements

Submit where Folium ASIN content appears (URLs), along with placement-level performance metrics. This data will help us correlate performance to placements. Essential for content strategy and optimization.

Submit Placement Data

Submit data about where Folium ASINs are placed on your site(s) with optional performance metrics.

Features

  • Flexible Metrics: Submit with or without performance data
  • Batch Processing: Up to 500 placements per request
  • Smart Updates: Automatic upsert based on URL, ASIN, and date
  • Partial Success: Valid records processed even if some fail

Validation Rules

  • URL must be valid HTTPS URL
  • ASIN must be exactly 10 characters
  • Date must be valid (not future)
  • Metrics (if provided) must be non-negative

Update Behavior

If a placement already exists (same publisher_id, asin, url, date, country_code):

  • All metrics are updated with new values
  • Updated timestamp is refreshed
Authorizations:
ApiKeyAuth
Request Body schema: application/json
required
required
Array of objects (PlacementRecord) [ 1 .. 500 ] items
country_code
string^[A-Z]{2}$
Default: "US"

Two-letter ISO 3166-1 alpha-2 country code for the marketplace where the placements occurred. Defaults to US if not provided.

Supported Country Codes:

  • US - United States
  • CA - Canada
  • GB - United Kingdom (Note: UK is automatically converted to GB)
  • DE - Germany
  • FR - France
  • IT - Italy
  • ES - Spain
  • JP - Japan
  • AU - Australia
  • MX - Mexico
  • IN - India
  • BR - Brazil
  • NL - Netherlands
  • SE - Sweden
  • PL - Poland
  • TR - Turkey
  • AE - United Arab Emirates
  • SG - Singapore

Note: The country code UK is automatically converted to GB (ISO 3166-1 alpha-2 standard).

Responses

Request samples

Content type
application/json
Example
{}

Response samples

Content type
application/json
{
  • "success": true,
  • "summary": {
    • "total_submitted": 50,
    • "successfully_processed": 48,
    • "failed": 2,
    • "created": 40,
    • "updated": 8
    },
  • "results": {
    • "publisher_id": "PUB123",
    • "publisher_name": "Example Publisher",
    • "country_code": "US"
    },
  • "metadata": {
    • "processing_time_ms": 156.3
    }
}

Deals

Access curated deals, promotions, and special offers across all authorized brands. Stay ahead with exclusive promotional opportunities.

Get Deals Information

Retrieve upcoming and running Amazon deals for products in your authorized brands.

Only deals are returned. Coupons, price discounts and basket-building promotions are not deals and are never included.

Features

  • Live schedules: every deal Amazon currently has booked for your brands, including upcoming sales events
  • Rich Filtering: filter by brand name, status, dates, pricing, and more
  • Advanced Operators: comparison operators for flexible filtering
  • Pagination: handle large result sets efficiently
  • Multi-country: deals across all supported marketplaces

Deal Types

  • deal: a standard Amazon deal (the deal format itself is not broken out)
  • Some deals carry a more specific lowercase label, for example best_deal

Advanced Filtering System

Every response field can be filtered by name. Use the pattern field__operator=value to apply filters.

Filter Operators

Operator Description Example Use Case
(none) Exact match ?status=running Find exact matches
__lt Less than ?deal_price__lt=50 Deals under $50
__lte Less than or equal ?deal_price__lte=100 Deals $100 or less
__gt Greater than ?discount_percentage__gt=30 Discounts over 30%
__gte Greater than or equal ?discount_percentage__gte=25 Discounts 25% or more
__in In list ?deal_type__in=deal,best_deal Multiple values
__contains Contains text ?deal_name__contains=Serum Text search (case-insensitive)

Filterable Fields

Text Fields:

  • asin, deal_type, deal_name, brand, status, event_name, currency_code, product_category
  • Operators: exact match, __in, __contains
  • country_code: exact match and __in only

Numeric Fields:

  • regular_price, deal_price, discount_percentage, product_rating, product_review_count
  • Operators: exact match, __lt, __lte, __gt, __gte, __in

Date Fields:

  • start_date, end_date
  • Operators: exact match (by date), __lt, __lte, __gt, __gte
  • Format: YYYY-MM-DD, compared against the deal's date in the marketplace's local time (a US deal ending 23:59 Pacific on Nov 30 matches end_date__lte=2026-11-30)

Legacy names campaign_name, campaign_status, seller_price and event_tags are accepted as aliases of deal_name, status, regular_price and event_name.

Filter Examples

Deals running right now:

GET /deals?status=running

Find deals under $50:

GET /deals?deal_price__lt=50

Find deals with 30% or more discount:

GET /deals?discount_percentage__gte=30

Find deals starting in November 2026:

GET /deals?start_date__gte=2026-11-01&start_date__lte=2026-11-30

Find Black Friday deals:

GET /deals?event_name__contains=Black Friday

Find one brand's deals:

GET /deals?brand__contains=Acme

Complex filter - upcoming US deals under $80 with 20%+ discount:

GET /deals?country_code=US&status=upcoming&deal_price__lte=80&discount_percentage__gte=20

Filter Behavior

  • Multiple filters are combined with AND logic
  • Invalid filter values are silently ignored (query continues with remaining valid filters)
  • Empty or null filter values are ignored
  • Text searches with __contains are case-insensitive
  • Brand authorization is always enforced - you only see deals for brands you have access to

Response Format

  • Sort order: latest-starting deals first
  • Date Format: start_date and end_date are ISO 8601 timestamps in the marketplace's local time, with the UTC offset (2026-11-19T00:00:00-08:00 is midnight Pacific)
  • Discount Percentage: a whole-number percentage (15 means 15%, not 0.15)
  • Prices: regular_price and deal_price are in currency_code

Performance

  • Maximum 500 items per page
Authorizations:
ApiKeyAuth
query Parameters
page
integer >= 1
Default: 1

Page number

limit
integer [ 1 .. 500 ]
Default: 100

Items per page (max 500)

country_code
string
Example: country_code=US

Filter results by country code. If not provided, returns deals from all countries.

Supported Country Codes:

  • US - United States
  • CA - Canada
  • GB - United Kingdom (Note: UK is automatically converted to GB)
  • DE - Germany
  • FR - France
  • IT - Italy
  • ES - Spain
  • JP - Japan
  • AU - Australia
  • MX - Mexico
  • IN - India
  • BR - Brazil
  • NL - Netherlands
  • SE - Sweden
  • PL - Poland
  • TR - Turkey
  • AE - United Arab Emirates
  • SG - Singapore

Note: The country code UK is automatically converted to GB (ISO 3166-1 alpha-2 standard).

brand
string
Example: brand=Acme Wellness

Filter by brand name (exact; use brand__contains for partial match)

deal_type
string
Example: deal_type=deal

Filter by deal type (deal, or a specific label such as best_deal)

status
string
Enum: "upcoming" "running" "expired"

Filter by deal status

start_date_from
string <date>
Example: start_date_from=2025-01-01

Deals starting from this date

start_date_to
string <date>
Example: start_date_to=2025-01-31

Deals starting before this date

end_date_from
string <date>

Deals ending from this date

end_date_to
string <date>

Deals ending before this date

min_deal_price
number <float>

Minimum deal price

max_deal_price
number <float>

Maximum deal price

min_discount_percentage
number <float>
Example: min_discount_percentage=20

Minimum discount percentage (e.g., 20 for 20%). Value should be in percentage format, not decimal (20 means 20%, not 0.20)

event_name
string
Example: event_name=Black Friday/2026/US

Filter by Amazon sales event (exact match; use event_name__contains for partial match)

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "pagination": {
    • "current_page": 1,
    • "items_per_page": 100,
    • "items_in_this_page": 45,
    • "has_more": false,
    • "next_page": null
    },
  • "filters_applied": {
    • "country_code": "US",
    • "status": "upcoming"
    },
  • "deals": [
    • {
      • "asin": "B0EXAMPLE1",
      • "deal_type": "deal",
      • "deal_name": "Acme Daily Vitamin C Serum - 1 fl oz",
      • "brand": "Acme Wellness",
      • "status": "upcoming",
      • "start_date": "2026-11-19T00:00:00-08:00",
      • "end_date": "2026-11-30T23:59:59-08:00",
      • "country_code": "US",
      • "event_name": "Black Friday/2026/US",
      • "regular_price": 29.99,
      • "deal_price": 23.99,
      • "discount_percentage": 20,
      • "currency_code": "USD",
      • "product_category": "Beauty & Personal Care",
      • "product_rating": 4.6,
      • "product_review_count": 1284
      }
    ]
}

Attribution

Generate attribution tags and access Amazon Attribution performance reports.

Two report endpoints are available:

  • /reports/campaigns — Traffic & conversion funnel. Use this to answer: "How are my campaigns/creatives performing?" Returns clicks, detail page views, add-to-cart, purchases, and revenue aggregated at the creative or ad group level. Does not include per-product breakdowns or commission data.
  • /reports/products — Product sales & earnings. Use this to answer: "Which products are selling and how much commission am I earning?" Returns per-ASIN revenue, commission rates, commission earned, and new-to-brand metrics. Does not include click or funnel data.

Note: The previous /attribution-reports endpoint has been removed and replaced by these two endpoints.

Generate Attribution Tag

Generate an Amazon Attribution link for one ASIN. Sales that come through the link are tracked by Amazon Attribution and paid at your attribution commission rate for that ASIN.

Before you call this endpoint

  1. Call GET /catalog?commission_type=attribution. Add country_code for a marketplace other than US.
  2. Read the asin and the attribution_commission_percentage from each row. This is the rate you earn on the ASIN.
  3. Generate links only for these ASINs.

Warning. This endpoint accepts only ASINs that have an attribution commission rate on your account for the requested country. These are exactly the products that GET /catalog?commission_type=attribution lists. Any other ASIN returns 403. An ASIN that is not in the Folium catalog for that country returns 404.

Campaign name

Folium sets the campaign name. It is FOLIUM_{PUBLISHER}_{BRAND} in upper case, for example FOLIUM_BUTTON_BAOR. Folium uses this name to pay the sales from the link to your account. Do not change the campaign name in the link.

adgroupID and creativeID are optional. Use them to tell your own placements apart in the attribution reports. Folium generates random values when you omit them.

Country Code & Regional Endpoints

The country_code parameter determines which Amazon regional API endpoint is used:

  • NA (North America): US, CA, MX, BR
  • EU (Europe): GB, DE, FR, IT, ES, NL, SE, PL, BE, TR, AE, SA, EG, IN, ZA
  • FE (Far East): JP, AU, SG

If country_code is not provided, it defaults to US. The brand must have an advertising profile for that country, or the request returns 400.

Response

Returns the attribution link, the campaign name, the ad group and creative identifiers, the brand code and the country code used.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required
asin
required
string^[A-Z0-9]{10}$

Amazon Standard Identification Number for the product

country_code
string^[A-Z]{2}$

Two-letter ISO 3166-1 alpha-2 country code for the marketplace. Defaults to US if not provided. Determines which regional Amazon Advertising API endpoint is used for tag generation.

Supported Country Codes (grouped by Amazon region):

NA (North America): US, CA, MX, BR

EU (Europe): GB, DE, FR, IT, ES, NL, SE, PL, TR, AE, IN

FE (Far East): JP, AU, SG

Note: The country code UK is automatically converted to GB (ISO 3166-1 alpha-2 standard).

adgroupID
string

Optional. Your own name for the placement. Letters, digits, - and _ are safe. The characters / # & = ? + ' " % $ are not permitted. Folium generates a random value when you omit it.

creativeID
string

Optional. Your own name for the creative. Same rules as adgroupID.

Responses

Request samples

Content type
application/json
Example
{
  • "asin": "B0EXAMPLE1",
  • "adgroupID": "social_campaign_jan",
  • "creativeID": "banner_v2"
}

Response samples

Content type
application/json
{}

Campaign Performance Report — Traffic & Conversion Funnel

Returns Amazon Attribution campaign performance data for the last 30 days (rolling window from today).

Use this endpoint to answer: "How is my traffic converting?" — track the full funnel from clicks through to purchases and revenue, grouped by creative or ad group.

This endpoint does NOT include: per-product breakdowns, product names, commission rates, or commission earned. For that, use /reports/products.

Replaces: The previous /attribution-reports endpoint has been removed. This endpoint returns the same underlying data with cleaner field names and the addition of the group_by parameter.

Data Source

Amazon Attribution. Data is reported with a 14-day attribution window — a purchase is attributed to a click if it occurs within 14 days. This is standard Amazon Attribution behavior.

Time Range

Always returns the last 30 days from today. This is not configurable. For example, if today is January 31, you will receive data from January 1–31.

Grouping Levels

The group_by parameter controls the granularity. Each row in the response represents one date + one entity at the chosen level:

  • creative (default): One row per creative per day. The campaign_id, adgroup_id, and creative_id fields are all populated.
  • adgroup: One row per ad group per day. The campaign_id and adgroup_id fields are populated. The creative_id field is still present but represents the ad group's identifier.

Fields Returned

Field Description
clicks Number of click-throughs to Amazon
detail_page_views Product detail page views within 14-day window
add_to_cart Add-to-cart events within 14-day window
purchases Purchases within 14-day window
units_sold Total units sold within 14-day window
revenue Total attributed sales in local currency (e.g., GBP for UK) — this is the full sale amount, not commission
revenue_usd Same revenue converted to USD (null if exchange rate unavailable)
brb_bonus_amount Amazon Brand Referral Bonus in local currency
brb_bonus_amount_usd BRB converted to USD (null if exchange rate unavailable)
exchange_rate_used The exchange rate applied for USD conversion (1.0 for USD data, null if unavailable)
Authorizations:
ApiKeyAuth
query Parameters
country_code
string^[A-Z]{2}$
Example: country_code=US

Filter results by country code (ISO 3166-1 alpha-2). Case-insensitive.

If not provided, returns data from all countries combined. You can also use the alias country instead of country_code.

Note: UK is automatically converted to GB.

group_by
string
Default: "creative"
Enum: "creative" "adgroup"
Example: group_by=creative

Aggregation level for the report data. Case-insensitive.

  • creative (default): Returns one row per creative per day. Most granular view.
  • adgroup: Returns one row per ad group per day. Less granular, fewer rows.

If omitted or set to an unrecognized value, defaults to creative.

Note: The response echoes this value back in data.group_by as UPPERCASE (e.g., "CREATIVE").

Responses

Response samples

Content type
application/json
Example
{
  • "status": "success",
  • "data": {
    • "publisher_id": "PUB123",
    • "country_code": "US",
    • "group_by": "CREATIVE",
    • "total_records": 2,
    • "report": [
      • {
        • "report_date": "2025-01-15",
        • "campaign_id": "Folium_BrandX_Publisher",
        • "adgroup_id": "B0EXAMPLE1",
        • "creative_id": "B0EXAMPLE1-CREATIVE",
        • "country_code": "US",
        • "currency_code": "USD",
        • "clicks": 450,
        • "detail_page_views": 380,
        • "add_to_cart": 95,
        • "purchases": 28,
        • "units_sold": 28,
        • "revenue": 8399.72,
        • "revenue_usd": 8399.72,
        • "brb_bonus_amount": 150,
        • "brb_bonus_amount_usd": 150,
        • "exchange_rate_used": 1
        },
      • {
        • "report_date": "2025-01-16",
        • "campaign_id": "Folium_BrandX_Publisher",
        • "adgroup_id": "B0EXAMPLE1",
        • "creative_id": "B0EXAMPLE1-CREATIVE",
        • "country_code": "US",
        • "currency_code": "USD",
        • "clicks": 12,
        • "detail_page_views": 8,
        • "add_to_cart": 2,
        • "purchases": 1,
        • "units_sold": 1,
        • "revenue": 299.99,
        • "revenue_usd": 299.99,
        • "brb_bonus_amount": 5.4,
        • "brb_bonus_amount_usd": 5.4,
        • "exchange_rate_used": 1
        }
      ]
    }
}

Product Performance Report — Per-ASIN Sales & Commission Earnings

Returns per-product attribution performance data for the last 30 days (rolling window from today).

Use this endpoint to answer: "Which products are selling and how much commission am I earning?" — see revenue, commission rate, commission earned, and new-to-brand metrics broken down by ASIN.

This endpoint does NOT include: click-through counts or BRB (Brand Referral Bonus) amounts. For traffic funnel data, use /reports/campaigns.

Replaces: The previous /attribution-reports endpoint has been removed. This endpoint provides product-level data that was not available in the old endpoint.

Data Source

Amazon Attribution (enriched with commission data from Folium). Data is reported with a 14-day attribution window — a purchase is attributed to a click if it occurs within 14 days.

Time Range

Always returns the last 30 days from today. This is not configurable.

How This Differs from /reports/campaigns

/reports/campaigns /reports/products
Granularity Per creative or ad group Per ASIN (product)
Includes clicks Yes No
Includes BRB bonus Yes No
Includes product name No Yes
Includes commission rate No Yes
Includes commission earned No Yes
Includes new-to-brand data No Yes
Filterable by ASIN No Yes
Filterable by group_by Yes No

Fields Returned

Field Description
asin Amazon Standard Identification Number (10 characters)
product_name Full product title from Amazon
brand_name Brand name of the product
campaign_id The campaign that generated this attribution data
detail_page_views Product detail page views within 14-day window
add_to_cart Add-to-cart events within 14-day window
purchases Purchases within 14-day window
units_sold Total units sold within 14-day window
revenue Total attributed sales in local currency — this is the full sale amount, not commission
revenue_usd Same revenue converted to USD (null if exchange rate unavailable)
commission_rate Your commission rate as a decimal (e.g., 0.2 = 20%). Null if no commission rate is set for this product.
commission_earned Commission amount earned in local currency (calculated as revenue × commission_rate). Null if no commission rate is set.
commission_earned_usd Commission earned converted to USD (null if exchange rate or commission rate unavailable)
new_to_brand_purchases Purchases from customers who had not bought from this brand in the last 12 months. Null if not tracked.
new_to_brand_revenue Revenue from new-to-brand customers in local currency. Null if not tracked.
exchange_rate_used The exchange rate applied for USD conversion (1.0 for USD data, null if unavailable)
Authorizations:
ApiKeyAuth
query Parameters
country_code
string^[A-Z]{2}$
Example: country_code=US

Filter results by country code (ISO 3166-1 alpha-2). Case-insensitive.

If not provided, returns data from all countries combined. You can also use the alias country instead of country_code.

Note: UK is automatically converted to GB.

asin
string^[A-Z0-9]{10}$
Example: asin=B0EXAMPLE1

Filter results to a single product by its 10-character ASIN.

If not provided, returns all products that had attribution activity in the last 30 days.

If the ASIN had no attribution activity in the last 30 days, the response will have total_records: 0 and an empty report array.

Responses

Response samples

Content type
application/json
Example
{
  • "status": "success",
  • "data": {
    • "publisher_id": "PUB123",
    • "country_code": "US",
    • "total_records": 2,
    • "report": [
      • {
        • "report_date": "2025-01-15",
        • "asin": "B0EXAMPLE1",
        • "product_name": "Premium Wireless Headphones",
        • "brand_name": "TechBrand",
        • "campaign_id": "Folium_BrandX_Publisher",
        • "country_code": "US",
        • "currency_code": "USD",
        • "detail_page_views": 120,
        • "add_to_cart": 35,
        • "purchases": 12,
        • "units_sold": 12,
        • "revenue": 3599.88,
        • "revenue_usd": 3599.88,
        • "commission_rate": 0.2,
        • "commission_earned": 719.98,
        • "commission_earned_usd": 719.98,
        • "new_to_brand_purchases": 8,
        • "new_to_brand_revenue": 2399.92,
        • "exchange_rate_used": 1
        },
      • {
        • "report_date": "2025-01-15",
        • "asin": "B0EXAMPLE2",
        • "product_name": "Ergonomic Office Chair",
        • "brand_name": "TechBrand",
        • "campaign_id": "Folium_BrandX_Publisher",
        • "country_code": "US",
        • "currency_code": "USD",
        • "detail_page_views": 45,
        • "add_to_cart": 10,
        • "purchases": 3,
        • "units_sold": 3,
        • "revenue": 899.97,
        • "revenue_usd": 899.97,
        • "commission_rate": 0.15,
        • "commission_earned": 135,
        • "commission_earned_usd": 135,
        • "new_to_brand_purchases": 2,
        • "new_to_brand_revenue": 599.98,
        • "exchange_rate_used": 1
        }
      ]
    }
}