CamelCamelCamel API: Get Amazon price history
Gets 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.
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, for example Canada or CA. Default United States.
United States
Default
United States.- Product, required
product Product name, Amazon product link, or CamelCamelCamel product link, for example AirPods Pro 2.
https://www.amazon.com/dp/B0BDHWDR12
Input as JSON
{ "country": "United States", "product": "https://www.amazon.com/dp/B0BDHWDR12" }Output
{ "asin": "B0BDHWDR12", "amazon": { "average_price": 278.68, "current_price": null, "lowest_ever_date": "2023-10-10", "highest_ever_date": "2026-06-05", "lowest_ever_price": 189, "highest_ever_price": 288.8 }, "verdict": "Third-party new price is 1% below average.", "amazon_link": "https://www.amazon.com/dp/B0BDHWDR12" , "product_name": "Apple AirPods Pro (2nd Gen) Wireless Earbuds, Up to 2X More Active Noise Cancelling, Adaptive Transparency, Personalized Spatial Audio MagSafe Charging Case (Lightning) Bluetooth Headphones for iPhone", "currency_code": "USD", "third_party_new": { "average_price": 250.42, "current_price": 249, "lowest_ever_date": "2025-11-22", "highest_ever_date": "2025-12-17", "lowest_ever_price": 199.58, "highest_ever_price": 349.79 }, "amazon_price_history": [ { "date": "2023-10-10", "price": 189 }, { "date": "2026-06-05", "price": 288.8 } ], "camelcamelcamel_link": "https://camelcamelcamel.com/product/B0BDHWDR12" }Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"camelcamelcamel.com/get_price_history","input":{"country":"United States","product":"https://www.amazon.com/dp/B0BDHWDR12"}}' # 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/get_price_history" , "input": { "country": "United States", "product": "https://www.amazon.com/dp/B0BDHWDR12" }})# 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/get_price_history" , "input": { "country": "United States", "product": "https://www.amazon.com/dp/B0BDHWDR12" } }), 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/get_price_history# with {"country":"United States","product":"https://www.amazon.com/dp/B0BDHWDR12"}"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", "required": [ "product" ], "properties": { "country": { "type": "string", "default": "United States", "description": "Amazon store country, for example Canada or CA. Default United States." }, "product": { "type": "string", "minLength": 1, "description": "Product name, Amazon product link, or CamelCamelCamel product link, for example AirPods Pro 2." } }}Output schema
{ "type": "object", "required": [ "product_name", "currency_code", "amazon", "third_party_new", "amazon_price_history", "verdict", "camelcamelcamel_link", "amazon_link", "asin" ], "properties": { "asin": { "type": "string" }, "amazon": { "type": "object", "required": [ "current_price", "lowest_ever_price", "lowest_ever_date", "highest_ever_price", "highest_ever_date", "average_price" ], "properties": { "average_price": { "type": [ "number", "null" ], "description": "Average recorded price." }, "current_price": { "type": [ "number", "null" ], "description": "Latest listed price; null when out of stock." }, "lowest_ever_date": { "type": [ "string", "null" ], "description": "Date of the lowest price, YYYY-MM-DD." }, "highest_ever_date": { "type": [ "string", "null" ], "description": "Date of the highest price, YYYY-MM-DD." }, "lowest_ever_price": { "type": [ "number", "null" ], "description": "Lowest recorded price." }, "highest_ever_price": { "type": [ "number", "null" ], "description": "Highest recorded price." } } }, "verdict": { "type": "string" }, "amazon_link": { "type": "string" }, "product_name": { "type": "string" }, "currency_code": { "type": "string" }, "third_party_new": { "type": "object", "required": [ "current_price", "lowest_ever_price", "lowest_ever_date", "highest_ever_price", "highest_ever_date", "average_price" ], "properties": { "average_price": { "type": [ "number", "null" ], "description": "Average recorded price." }, "current_price": { "type": [ "number", "null" ], "description": "Latest listed price; null when out of stock." }, "lowest_ever_date": { "type": [ "string", "null" ], "description": "Date of the lowest price, YYYY-MM-DD." }, "highest_ever_date": { "type": [ "string", "null" ], "description": "Date of the highest price, YYYY-MM-DD." }, "lowest_ever_price": { "type": [ "number", "null" ], "description": "Lowest recorded price." }, "highest_ever_price": { "type": [ "number", "null" ], "description": "Highest recorded price." } } }, "amazon_price_history": { "type": "array", "items": { "type": "object", "required": [ "date", "price" ], "properties": { "date": { "type": "string", "description": "YYYY-MM-DD." }, "price": { "type": "number" } } }, "description": "Dated Amazon low, high and current points from the displayed price table, not the full chart series." }, "camelcamelcamel_link": { "type": "string" } }}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
camelcamelcamel.com/get_price_history- Returns
- product name, currency, Amazon and third-party new current/lowest/highest/average prices with dates, Amazon price points, verdict, 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/get_price_history with the inputs above.
Ask your agent
- What's the lowest price the Ninja AF101 air fryer has ever been on Amazon, and is today's price a good deal compared to its average?
- Check camelcamelcamel for the price history of ASIN B0BSHF7WHW — I want the all-time high and low with dates.
- Is the Kindle Paperwhite cheaper than usual right now on Amazon Canada? Show current vs average price.
- Pull the camelcamelcamel stats for https://www.amazon.co.uk/dp/B09B8V1LZ3 — current price, record low, and third-party new prices.
- Before I buy the Sony WH-1000XM5 headphones on Amazon Germany, tell me how the current price compares to its historical lowest and highest.
See more
All CamelCamelCamel methodsLists 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.
camelcamelcamel.com/list_price_dropsGets 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_productSearches 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_productsGet one AliExpress product’s prices, variants, reviews, shipping to a chosen country, seller and specifications from its link or the best-selling name match. Sold counts may be rounded, and shipping options are those shown for the displayed variant.
aliexpress.com/get_productGets current Apple Store prices and the configurations on sale for a product in one country. It includes only models sold on that country's public store.
apple.com/get_product_pricesGets details, price and availability for a Walmart product by name or product link, using Walmart's default location.
walmart.com/get_productCompares the Apple Store price of one product configuration across up to 15 countries, converted with the latest European Central Bank reference rates.
apple.com/compare_country_pricesGets a Nike product's details by name or product link for a chosen country. Returns its colourways, size availability, price and reviews.
nike.com/get_product