
Connects Claude to a 5M+ product catalog spanning 40+ retailers across Southeast Asia and the US, with MCP tools for search_products, compare_prices, find_deals, and get_product. Built on BM25-ranked search over PostgreSQL, returns structured data with affiliate tracking baked in. You'd reach for this when building shopping agents that need to compare prices across Shopee, Lazada, Amazon, and regional platforms in one query instead of scraping each separately. Free tier gives you 60 req/min for prototyping, live keys scale to 600 req/min. Works with Claude Desktop, Cursor, or any MCP client through their streamable HTTP transport at mcp.buywhere.ai.
Public tool metadata for what this MCP can expose to an agent.
search_productsSearch the BuyWhere product catalog by keyword. Returns products from e-commerce platforms across multiple regions (Singapore, US, etc.). Use compact=true for agent-optimized responses with structured_specs, comparison_attributes, and normalized_price_usd fields.10 paramsSearch the BuyWhere product catalog by keyword. Returns products from e-commerce platforms across multiple regions (Singapore, US, etc.). Use compact=true for agent-optimized responses with structured_specs, comparison_attributes, and normalized_price_usd fields.
compactbooleancountrystringcountry_codestringSG · US · VN · TH · MYdomainstringlimitintegermax_pricenumbermin_pricenumberoffsetintegerqstringregionstringget_productGet a specific product by its ID, including full details and current price.1 paramsGet a specific product by its ID, including full details and current price.
idstringcompare_productsCompare multiple products side-by-side. Returns price, brand, rating, and category for each.1 paramsCompare multiple products side-by-side. Returns price, brand, rating, and category for each.
idsarrayget_dealsGet discounted products sorted by discount percentage. Returns products with original price and discount percentage. Supports region (sea, us, eu, au) and country (SG, US, VN, MY, ...) filters.5 paramsGet discounted products sorted by discount percentage. Returns products with original price and discount percentage. Supports region (sea, us, eu, au) and country (SG, US, VN, MY, ...) filters.
countrystringlimitintegermin_discountnumberoffsetintegerregionstringlist_categoriesList top-level product categories available in the BuyWhere catalog.List top-level product categories available in the BuyWhere catalog.
No parameter schema in public metadata yet.
The product catalog API for AI agent commerce — search, compare, and track prices across 900,000+ merchants in the US and Southeast Asia.
BuyWhere is an agent-native product catalog API indexing 300M+ products from 900,000+ merchants across Singapore, Malaysia, Indonesia, Thailand, the Philippines, Vietnam, and the United States. It is purpose-built for AI shopping agents: BM25-ranked search, structured price comparison, deals discovery, and affiliate link tracking out of the box. The API is MCP-compatible and works with Claude Desktop, Cursor, LangChain, CrewAI, and any MCP-enabled AI client.
Get an API key at buywhere.ai/api-keys, then:
export BUYWHERE_API_KEY="bw_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
export BUYWHERE_BASE_URL="https://api.buywhere.ai"
Search products across platforms
curl -sS --get "$BUYWHERE_BASE_URL/v1/products" \
-H "Authorization: Bearer $BUYWHERE_API_KEY" \
--data-urlencode "q=wireless headphones" \
--data-urlencode "limit=5"
Get a specific product by ID
curl -sS "$BUYWHERE_BASE_URL/v1/products/78234" \
-H "Authorization: Bearer $BUYWHERE_API_KEY"
Deals feed — biggest discounts right now
curl -sS --get "$BUYWHERE_BASE_URL/v1/deals" \
-H "Authorization: Bearer $BUYWHERE_API_KEY" \
--data-urlencode "min_discount=20" \
--data-urlencode "limit=10"
Build an AI agent using BuyWhere MCP tools and win API credits, featured placement, and a Built With BuyWhere badge.
Tools: search_products, get_product, compare_prices, find_deals, browse_categories, get_category_products, get_deals
Timeline: Submissions open through May 19, 2026
Enter the Challenge → | Quick Start | MCP Setup
BuyWhere is listed in the awesome-mcp-servers registry. Connect to Claude Desktop, Cursor, Windsurf, or any MCP-compatible AI client in seconds.
Install the MCP server:
pip install httpx mcp
python /path/to/buywhere-api/mcp_server.py
Claude Desktop — add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"buywhere": {
"command": "python",
"args": ["/path/to/buywhere-api/mcp_server.py"],
"env": {
"BUYWHERE_API_KEY": "your_api_key_here",
"BUYWHERE_API_URL": "https://api.buywhere.ai"
}
}
}
}
Cursor — add to Cursor settings → MCP servers using the same JSON config above.
Available MCP tools: search_products, get_product, compare_prices, get_deals, find_deals, browse_categories, get_category_products.
| Resource | Description |
|---|---|
| API Documentation | Full endpoint reference, authentication, error codes |
| API Examples | Worked examples for common agent use cases |
| Quickstart Guide | First query in under 5 minutes |
| AI Agent Framework Guide | LangChain, Claude, and GPT integration patterns for BuyWhere |
| Developer FAQ | Common auth, search, category, and rate-limit fixes |
| Release Notes v1.0 | What shipped in the GA release |
| MCP Setup | MCP server configuration for AI clients |
| API Healthcheck Monitor | Synthetic monitoring for /v1/search and /v1/products |
| Region | Retailers |
|---|---|
| Singapore | Shopee SG, Lazada SG, Amazon SG, Carousell SG, Zalora SG, Qoo10 SG, Courts, Challenger, FairPrice / FairPrice Xtra, Watsons SG, Harvey Norman, Gain City, Popular, Don Don Donki, IKEA SG, Decathlon SG, Uniqlo SG, Sephora SG, and more |
| Malaysia | Shopee MY, Lazada MY, Zalora MY, Watsons MY, Carousell MY |
| Indonesia | Shopee ID, Tokopedia, Bukalapak, Zalora ID |
| Thailand | Shopee TH, Lazada TH, Central TH |
| Philippines | Shopee PH, Lazada PH, Zalora PH |
| Vietnam | Shopee VN, Tiki, Sendo |
| United States | Amazon US, Walmart, Target, Costco, Best Buy, Chewy, Wayfair, Etsy, Ulta, Zappos, REI, and more |
| Australia | Amazon AU, Catch, Big W, Bunnings, Coles, Officeworks |
| Japan / Korea | Rakuten, Amazon JP, Yodobashi, Daiso JP, Coupang (KR) |
BuyWhere uses hybrid search (BM25 keyword + vector cosine similarity via RRF) as the default search mode. Embeddings are built with Qwen3-Embedding-4B (1024-dim) via Flow AI, replacing the retired Gemini pipeline.
| Item | Detail |
|---|---|
| Model | flow-embed-1 (Qwen3-Embedding-4B, open weights, 1024-dim) |
| Provider | Flow AI (POST https://api.flowaiapi.com/v1/embeddings) |
| Failover | DeepInfra primary → SiliconFlow (Flow routes automatically) |
| Cost | $0.02/M tokens ($0.01 batch); one-off backfill ~$10; ongoing ~$20–26/mo |
| Budget | $10 one-off + $25/month, hard cap enforced by Flow AI key |
| Phase | Dates | Deliverable |
|---|---|---|
| Decide & guard | Days 0–7 | Pin model/dim, eval set, nightly backup to R2, write-access lock |
| Feature first | Days 8–21 | Hybrid as default mode in /v1/products/search and MCP search |
| Backfill | Days 22–28 | One worker, hash-gated, checkpointed, hard cap = scope size |
| Matching | Days 29–45 | ANN candidates → rule verification → product_matches populated |
| Measure | Days 46–60 | Dashboard: coverage, vector-path share, p95, eval win rate, multi-merchant % |
product_embeddings (write-access lock enforced)pg_dump of product_embeddings → R2 (30-day retention)model_ver = 'flow-embed-1@1024' stamped on every vector| Tier | Key Prefix | Limit | Use Case |
|---|---|---|---|
| Free | bw_free_* | 60 req/min | Development and testing |
| Live | bw_live_* | 600 req/min | Production |
| Partner | bw_partner_* | Unlimited | Data partners |
Rate limit status is returned in response headers (X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset). On 429 Too Many Requests, use exponential backoff starting at 2 seconds.
BuyWhere is a Python/FastAPI service backed by PostgreSQL and Redis, with platform-specific scrapers deployed as ECS Fargate tasks. The scraping pipeline handles 40+ platforms concurrently using distributed Redis locks, NDJSON normalization, and BM25-ranked search via PostgreSQL FTS5.
Architecture details: SCRAPING_ARCHITECTURE.md
# Local development
docker-compose up
# API available at http://localhost:8000
Proprietary — © 2026 BuyWhere. All rights reserved.