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
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.
Retrieve paginated product catalog with commission information.
country_code=UK, it will be automatically converted to GB (ISO 3166-1 alpha-2 standard) as the database stores United Kingdom data with the GB country code.| page | integer >= 1 Default: 1 Example: page=1 [Optional] Page number for pagination. Each page returns up to 500 items. Default: |
| brand_code | string Example: brand_code=TECHBRAND [Optional] Filter results by brand code (e.g., |
| country_code | string^[A-Z]{2}$ Example: country_code=US [Optional] Filter results by country code (two-letter ISO 3166-1 alpha-2). If omitted, returns products from all countries. Default: All countries Supported values: Note: |
| include_history | boolean Example: include_history=true [Optional] Include commission rate history for each product. Accepts Default: |
| commission_type | string Default: "associates" Enum: "associates" "attribution" "all" Example: commission_type=associates [Optional] Filter products by commission type. Default:
Note: |
| platform | string Default: "amazon" Enum: "amazon" "walmart" "all" Example: platform=amazon [Optional] Filter products by platform. Default:
|
| status | string Enum: "active" "inactive" Example: status=active [Optional] Filter products by catalog status. Default: All statuses (no filtering)
Each item in the response includes a |
{- "status": "success",
- "pagination": {
- "items_in_this_page": 500,
- "has_more": true,
- "next_page": 2
}, - "catalog": [
- {
- "asin": "B08N5WRWNW",
- "title": "Premium Wireless Headphones",
- "brand": "TechBrand",
- "brand_code": "TECHBRAND",
- "price": 299.99,
- "category": "Electronics",
- "browse_node": "Headphones & Earbuds",
- "commission_percentage": 4.5,
- "attribution_commission_percentage": 3,
- "cc_total_commission_percentage": 4.5,
- "country_code": "US",
- "currency_code": "USD",
- "commission_start_date": "2024-01-15",
- "last_updated": "2025-01-20T15:30:00Z",
- "status": "Active"
}
]
}Retrieve list of all brands that Folium manages
{- "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"
]
}
]
}Submit performance data including sales, clicks, impressions, and revenue metrics. Enables real-time performance tracking and optimization.
Submit performance data including sales, shipments, and revenue metrics.
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.
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:
Note: The country code |
{- "data": [
- {
- "asin": "B08N5WRWNW",
- "date_shipped": "2025-01-15",
- "items_shipped_qty": 1,
- "revenue": 299.99
}
], - "country_code": "US"
}{- "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
}
}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 data about where Folium ASINs are placed on your site(s) with optional performance metrics.
If a placement already exists (same publisher_id, asin, url, date, country_code):
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 Supported Country Codes:
Note: The country code |
{- "placements": [
], - "country_code": "US"
}{- "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
}
}Access curated deals, promotions, and special offers across all authorized brands. Stay ahead with exclusive promotional opportunities.
Retrieve current and upcoming deals for products in your authorized brands.
The API supports powerful filtering with operators. Use the pattern field__operator=value to apply filters.
| Operator | Description | Example | Use Case |
|---|---|---|---|
| (none) | Exact match | ?campaign_status=ACTIVE |
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=LIGHTNING_DEAL,BEST_DEAL |
Multiple values |
__contains |
Contains text | ?campaign_name__contains=Prime |
Text search (case-insensitive) |
Text Fields:
asin, deal_type, campaign_id, campaign_name, campaign_statusmarketplace, event_tags, asin_status, sku, currency_code, brand_code__in, __containsNumeric Fields:
seller_price, deal_price, discount_percentage, seller_quantity, deal_quantity, total_asins_in_campaign__lt, __lte, __gt, __gte, __inDate Fields:
start_date, end_date__lt, __lte, __gt, __gteYYYY-MM-DDBoolean Fields:
is_includedtrue, false, 1, 0, yes, noFind deals under $50:
GET /deals?deal_price__lt=50
Find deals with 30% or more discount:
GET /deals?discount_percentage__gte=30
Find cheap deals with good discounts:
GET /deals?deal_price__lte=100&discount_percentage__gt=20
Find lightning or best deals:
GET /deals?deal_type__in=LIGHTNING_DEAL,BEST_DEAL
Find deals starting in December 2025:
GET /deals?start_date__gte=2025-12-01&start_date__lte=2025-12-31
Find active Prime-related campaigns:
GET /deals?campaign_name__contains=Prime&campaign_status=ACTIVE
Complex filter - Active US deals under $80 with 20%+ discount:
GET /deals?country_code=US&campaign_status=ACTIVE&deal_price__lte=80&discount_percentage__gte=20
__contains are case-insensitivestart_date, end_date) are returned in ISO 8601 format (YYYY-MM-DDThh:mm:ss)created_by_user_idcreated_by_emailseller_idorganization_id| 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:
Note: The country code |
| brand_code | string Example: brand_code=TECHBRAND Filter by brand |
| deal_type | string Enum: "LIGHTNING_DEAL" "BEST_DEAL" "DOTD" "PRIME_EXCLUSIVE" Filter by deal type |
| campaign_status | string Enum: "SCHEDULED" "ACTIVE" "COMPLETED" "CANCELLED" Filter by campaign 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_tags | string Example: event_tags=Prime Day Filter by event tags (partial match) |
{- "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",
- "campaign_status": "ACTIVE"
}, - "deals": [
- {
- "asin": "B08N5WRWNW",
- "deal_type": "LIGHTNING_DEAL",
- "start_date": "2025-01-20T00:00:00",
- "end_date": "2025-01-22T00:00:00",
- "country_code": "US",
- "campaign_name": "January Flash Sale",
- "campaign_status": "ACTIVE",
- "brand_code": "TECHBRAND",
- "seller_price": 299.99,
- "deal_price": 199.99,
- "discount_percentage": 33.33,
- "deal_quantity": 100
}
]
}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 an Amazon Attribution tag for tracking advertising campaigns.
The country_code parameter determines which Amazon regional API endpoint is used:
If country_code is not provided, it defaults to US.
Returns the attribution link, a system-generated campaign name, and the country code used.
| 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 Supported Country Codes (grouped by Amazon region): NA (North America): EU (Europe): FE (Far East): Note: The country code |
| adgroupID | string Optional Amazon advertising adgroup ID |
| creativeID | string Optional Amazon advertising creative ID |
{- "asin": "B08N5WRWNW",
- "adgroupID": "social_campaign_jan",
- "creativeID": "banner_headphones_v2"
}{- "campaign_name": "TECHBRAND_social_campaign_jan_banner_headphones_v2",
- "country_code": "US"
}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.
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.
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.
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.| 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) |
| 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 Note: |
| group_by | string Default: "creative" Enum: "creative" "adgroup" Example: group_by=creative Aggregation level for the report data. Case-insensitive.
If omitted or set to an unrecognized value, defaults to Note: The response echoes this value back in |
{- "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": "B08N5WRWNW",
- "creative_id": "B08N5WRWNW-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": "B08N5WRWNW",
- "creative_id": "B08N5WRWNW-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
}
]
}
}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.
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.
Always returns the last 30 days from today. This is not configurable.
/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 |
| 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) |
| 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 Note: |
| asin | string^[A-Z0-9]{10}$ Example: asin=B08N5WRWNW 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 |
{- "status": "success",
- "data": {
- "publisher_id": "PUB123",
- "country_code": "US",
- "total_records": 2,
- "report": [
- {
- "report_date": "2025-01-15",
- "asin": "B08N5WRWNW",
- "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": "B07XJ8C8F5",
- "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
}
]
}
}