> ## Content Index
> Fetch the complete content index at: https://blog.affiliate.com/llms.txt
> Use this file to discover other available public pages before exploring further.

# Search Discounted Products via API
- URL: https://blog.affiliate.com/search-for-discounted-products/
- Published: 2025-11-06T19:45:00.000Z
- Updated: 2025-11-21T23:37:57.000Z
- Author: Casey Caroselli

Search discounted products via API when you want repeatable deal discovery that scales. In Affiliate.com, the Product Search API taps more than thirty networks and over a billion products, then returns only what meets your rules for discount, price, currency, and availability.

This guide shows how to structure a high integrity sale query, why identifiers keep comparisons honest, and where UI features map one to one with the API so your team can ship faster with confidence.

![](https://storage.ghost.io/c/22/24/222415b9-00f9-4f91-b2be-0ff3f96900ef/content/images/2024/04/Affiliate.com-Blog-Templates--1--1-1-1.png)

## What counts as a discounted product

A discounted product is any item where the merchant provides both a regular price and a lower sale or final price. In the API, you can request only items where on\_sale equals true or where sale\_discount meets a threshold. Pair that with currency and availability so results match your market and do not produce dead clicks.

## Map the UI to fields

In the screenshots, the Advanced Search toggle exposes discount controls that you can mirror in code.

![](https://storage.ghost.io/c/22/24/222415b9-00f9-4f91-b2be-0ff3f96900ef/content/images/2024/04/Screenshot-2024-04-15-at-2.51.39-PM-1.png)

Key fields you will use most:

- Pricing: regular\_price, final\_price, sale\_price, sale\_discount, currency
- Availability: in\_stock, stock\_quantity, availability
- Source controls: merchant\_id, merchant\_name, network\_id, network\_name
- Identifiers: barcode, sku, mpn, asin for exact matching across merchants
- Search scaffolding: any, name, description, brand, category
- Presentation aids: limit, sort, deduplication, last\_updated

![](https://storage.ghost.io/c/22/24/222415b9-00f9-4f91-b2be-0ff3f96900ef/content/images/2024/04/Screenshot-2024-04-12-at-6.00.49-PM-1-1.png)

## Minimal API request for on sale only

Use the Product Search endpoint with a compact body. The example is language agnostic.

`{  
 "filters": {  
 "on_sale": true,  
 "currency": "USD",  
 "in_stock": true  
 },  
 "fields": ["name","brand","barcode","regular_price","final_price","sale_discount","merchant_name","merchant_id","network_name","commission_url"],  
 "limit": 50,  
 "sort": [{"sale_discount":"desc"}, {"final_price":"asc"}],  
 "deduplication": "on"  
}`  

This returns unique SKUs that are currently on sale in USD and in stock, sorted by highest discount then lowest price.

## Add a price band and brand focus

Often you need editorial control such as a price ceiling and a tight brand set.

`{  
 "filters": {  
 "on_sale": true,  
 "currency": "USD",  
 "final_price": {"gte": 150, "lte": 200},  
 "brand": ["Ninja","KitchenAid","Breville"],  
 "in_stock": true  
 },  
 "limit": 40,  
 "sort": [{"final_price":"asc"}],  
 "deduplication": "on"  
}`  

This mirrors the UI example for a blender between one hundred fifty and two hundred with sale only results.

![](https://storage.ghost.io/c/22/24/222415b9-00f9-4f91-b2be-0ff3f96900ef/content/images/2024/04/Screenshot-2024-04-15-at-2.51.08-PM-1.png)

For instance, let's say you want to find a specific blender between $150-$200\. This search filter allows you to easily do that. 

![](https://storage.ghost.io/c/22/24/222415b9-00f9-4f91-b2be-0ff3f96900ef/content/images/2024/04/Screenshot-2024-04-12-at-10.14.36-PM-1-1.png)

## Exact comparisons across merchants

If your goal is a price table for one model, anchor the query with an identifier and show every offer.

`{  
 "filters": {  
 "barcode": "1234567890123",  
 "currency": "USD",  
 "in_stock": true  
 },  
 "limit": 100,  
 "sort": [{"final_price":"asc"}],  
 "deduplication": "off"  
}`  

Barcode, sku, mpn, or asin ensure you compare the same item even when titles differ by merchant. Deduplication off returns all valid offers so you can render a full side by side.

## Governance with network and merchant IDs

Keep results inside your approvals by scoping to specific partners.

`{  
 "filters": {  
 "on_sale": true,  
 "network_id": ["impact_us","cj_us"],  
 "merchant_id": ["12345","67890"],  
 "currency": "USD",  
 "in_stock": true  
 }  
}`  

Use these IDs in briefs and exports so business and editorial stay coordinated.

## Decision checklist before you publish

- Do results include a regular price alongside the sale or final price so discounts are credible
- Did you anchor comparisons with barcode, sku, mpn, or asin to avoid lookalikes
- Are currency and availability aligned to your market and stock reality
- Do network and merchant filters match your approvals
- Is deduplication configured to match the intended layout, on for lists of unique SKUs, off for full offer tables
- Are prices and stock verified in the live UI at time of writing

Sign up for free and test it out: [https://www.affiliate.com/pricing](https://www.affiliate.com/pricing?ref=blog.affiliate.com)