CamelCamelCamel API: List Amazon price drops
Lists the biggest percentage Amazon price drops of the past week on CamelCamelCamel for one Amazon store, optionally in one product category, with old and new prices, photo, category and links.
Unofficial. Not affiliated with or endorsed by CamelCamelCamel.
Inputs
Values from the run on Oct 31, 2026, shown under Output.
- Country optional
country Amazon store country name or two-letter code, for example United States or CA.
Canada
Default
United States.- Category optional
category Product category in plain words, for example electronics. Leave blank for all categories.
electronics
Default
all.- Max Results optional
max_results Maximum drops to return, for example 25 (up to 100).
5
Whole number from 1 to 100. Default
25.
Input as JSON
{ "country": "Canada", "category": "electronics", "max_results": 5}Output
{ "drops": [ { "asin": "B0C5Y5325W", "category": "Electronics", "currency": "CAD", "new_price": 43.27, "photo_link": "https://m.media-amazon.com/images/I/214BaRl-1hL._UL300_.jpg" , "amazon_link": "https://amazon.ca/dp/B0C5Y5325W" , "drop_amount": 58.12, "drop_percent": 57.32, "product_name": "HyperX Cirro Buds Pro True Wireless Earbuds, Tan", "previous_price": 101.39, "when_drop_seen": "2026-09-27T02:49:17-04:00", "camelcamelcamel_link": "https://ca.camelcamelcamel.com/product/B0C5Y5325W?active=price_amazon&context=top_drops" }, { "asin": "B01954PYG6", "category": "Electronics", "currency": "CAD", "new_price": 83.39, "photo_link": "https://m.media-amazon.com/images/I/41Iv-vM6n5L._UL300_.jpg" , "amazon_link": "https://amazon.ca/dp/B01954PYG6" , "drop_amount": 82.06, "drop_percent": 49.6, "product_name": "Pyle Outdoor Bluetooth Speakers, Waterproof 5.25 Inch Wireless Wall Mount Stereo Speaker System for Patio, Pool, Deck & Home Audio, Black", "previous_price": 165.45, "when_drop_seen": "2026-09-25T18:18:38-04:00", "camelcamelcamel_link": "https://ca.camelcamelcamel.com/product/B01954PYG6?active=price_amazon&context=top_drops" }, { "asin": "B0C6VFPP4R", "category": "Electronics", "currency": "CAD", "new_price": 1305.59, "photo_link": "https://m.media-amazon.com/images/I/410RVC+vLZL.jpg" , "amazon_link": "https://amazon.ca/dp/B0C6VFPP4R" , "drop_amount": 1254.4, "drop_percent": 49, "product_name": "Samsung Galaxy Z Fold5 512GB Phantom Black (CAD Version & Warranty) - AI Enabled, 6.2 cover screen, Multi Tasking, Dex Productivity, IPX8 Rating, Google meet live sharing, S-Pen compatible", "previous_price": 2559.99, "when_drop_seen": "2026-09-27T03:01:39-04:00", "camelcamelcamel_link": "https://ca.camelcamelcamel.com/product/B0C6VFPP4R?active=price_amazon&context=top_drops" } ]}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"camelcamelcamel.com/list_price_drops","input":{"country":"Canada","category":"electronics","max_results":5}}' # Save as fous.py, then run: python3 fous.pyimport json, os, timefrom urllib.error import HTTPErrorfrom urllib.request import Request, urlopenAPI = "https://api.fous.com/v1/runs" KEY = os.environ["FOUS_API_KEY"]HEADERS = { "Authorization": f"Bearer {KEY}", "Content-Type": "application/json" ,}def call(url, body=None): data = json.dumps(body).encode() if body else None request = Request(url, data, HEADERS) try: with urlopen(request, timeout=120) as r: return r.status, json.load(r) except HTTPError as error: message = json.load(error)["error"]["message"] raise RuntimeError(message) from errorstatus, run = call(API, { "method": "camelcamelcamel.com/list_price_drops" , "input": { "country": "Canada", "category": "electronics", "max_results": 5 }})# 202: still going after 30 s. Ask again until it ends.while status == 202: time.sleep(2) status, run = call(f"{API}/{run['id']}")print(json.dumps(run["data"], indent=2))// Save as fous.mjs, then run: node fous.mjsconst api = "https://api.fous.com/v1/runs" ;const headers = { Authorization: `Bearer ${process.env.FOUS_API_KEY}`, "Content-Type": "application/json" ,};let response = await fetch(api, { method: "POST", headers, body: JSON.stringify({ "method": "camelcamelcamel.com/list_price_drops" , "input": { "country": "Canada", "category": "electronics", "max_results": 5 } }), signal: AbortSignal.timeout(120_000),});let run = await response.json();// 202: still going after 30 s. Ask again until it ends.while (response.status === 202) { await new Promise((done) => setTimeout(done, 2_000)); response = await fetch(`${api}/${run.id}`, { headers }); run = await response.json();}if (!response.ok) throw new Error(run.error.message);console.log(run.data);# Connect your agent to Fous once, over MCP (Streamable HTTP):# https://api.fous.com/mcp# Set FOUS_API_KEY first: create a key at https://app.fous.com/keys.# Claude Codeclaude mcp add \ --scope user \ --transport http fous https://api.fous.com/mcp \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Codexcodex mcp add fous \ --url https://api.fous.com/mcp \ --bearer-token-env-var FOUS_API_KEY# Cursor, VS Code, Windsurf, Cline and morenpx -y add-mcp https://api.fous.com/mcp -g -n fous \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Then ask your agent:# "Use Fous to run camelcamelcamel.com/list_price_drops# with {"country":"Canada","category":"electronics","max_results":5}"Over HTTP, the answer’s data holds the output. A run still going after 30 seconds answers 202 with its id: ask GET /v1/runs/{id} until it ends.
Schema
Input schema
{ "type": "object", "properties": { "country": { "type": "string", "default": "United States", "description": "Amazon store country name or two-letter code, for example United States or CA." }, "category": { "type": "string", "default": "all", "description": "Product category in plain words, for example electronics. Leave blank for all categories." }, "max_results": { "type": "integer", "default": 25, "maximum": 100, "minimum": 1, "description": "Maximum drops to return, for example 25 (up to 100)." } }}Output schema
{ "type": "object", "required": [ "drops" ], "properties": { "drops": { "type": "array", "items": { "type": "object", "required": [ "product_name", "category", "previous_price", "new_price", "currency", "drop_amount", "drop_percent", "when_drop_seen", "photo_link", "camelcamelcamel_link", "amazon_link", "asin" ], "properties": { "asin": { "type": "string" }, "category": { "type": [ "string", "null" ] }, "currency": { "type": "string" }, "new_price": { "type": "number" }, "photo_link": { "type": [ "string", "null" ] }, "amazon_link": { "type": "string" }, "drop_amount": { "type": "number" }, "drop_percent": { "type": "number" }, "product_name": { "type": "string" }, "previous_price": { "type": "number" }, "when_drop_seen": { "type": [ "string", "null" ], "description": "Time shown for this drop in ISO 8601 format with its UTC offset." }, "camelcamelcamel_link": { "type": "string" } }, "additionalProperties": false } } }, "additionalProperties": false}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
camelcamelcamel.com/list_price_drops- Returns
- product name, category, previous and new price, currency, drop amount and percent, when seen, photo, CamelCamelCamel and Amazon links, ASIN
Use it from your agent
Give your agent this line. It reads SKILL.md, gets a Fous API key and connects the Fous MCP server. Its run then takes the method camelcamelcamel.com/list_price_drops with the inputs above.
Ask your agent
- What are the biggest Amazon price drops this week in electronics? Give me the top 20 with old and new prices.
- Show me the steepest percentage price cuts on Amazon Canada over the past week, all categories, up to 50 items.
- camelcamelcamel: list this week's largest Amazon UK price drops in kitchen products, with ASINs and links.
- I'm hunting for deals — which toys on Amazon.de dropped the most in price over the last seven days? Top 10 please.
- Pull the top 100 Amazon US price drops from camelcamelcamel for the past week, including drop percent and product photos.
See more
All CamelCamelCamel methodsGets an Amazon product's current listed price and lifetime price statistics from CamelCamelCamel (Amazon and third-party new), with dated Amazon low/high points and a comparison to the average. Takes a product name, an Amazon or CamelCamelCamel link, or an ASIN, for eight Amazon stores.
camelcamelcamel.com/get_price_historyLists current public Today's Deals in page order for an Amazon store country, optionally for one deal category and a minimum discount, with deal and original prices, discount, deal type, time left, share claimed, rating and links.
amazon.com/list_dealsLists current Amazon Best Sellers in the closest matching top-level category for a store country (United States, United Kingdom, Germany, India, Canada or Australia), up to 100 ranked products. Prices, ratings and photos may be missing.
amazon.com/list_best_sellersSearches Amazon products in a chosen country store, with price range, sort, Prime and page options. Returns the listings and prices shown to an anonymous shopper in the store's currency.
amazon.com/search_productsLists Similarweb's most visited websites for a category and country, with rankings and engagement figures for the reported month. Anonymous view limits may restrict results, especially for country rankings.
similarweb.com/list_top_websitesLists Xbox games currently on sale in a country, biggest discount first, with original and sale prices, sale end dates and Game Pass inclusion; console covers Xbox One and Xbox Series X|S. Reads the store's whole deals list and ranks it by discount.
xbox.com/list_dealsGets details for an Amazon product, found by name or by link, in a chosen country store. Offer prices, delivery and variants may be missing when Amazon does not show them publicly.
amazon.com/get_productLists Steam's top-selling, discounted, or new and trending games in store order, with prices for a chosen country, review summaries and release dates.
store.steampowered.com/list_top_sellers