DEVELOPERS
Australian grocery data. One API.
49,000+ products across Coles, Woolworths, ALDI and Harris Farm. Real prices updated weekly, cross-retailer comparison by barcode, and up to 12 months of price history. Free tier included.
Get an API key
Free tier: 30 requests/minute, 1,000/day, 30 days of price history. No credit card.
Quick start
curl "https://pinch-app.com/api/products/search?q=milk&limit=3" \
-H "Authorization: Bearer pk_live_YOUR_KEY" curl "https://pinch-app.com/api/compare/9300675016902" \
-H "Authorization: Bearer pk_live_YOUR_KEY" curl -X POST "https://pinch-app.com/api/basket/compare" \
-H "Authorization: Bearer pk_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"items":[{"query":"full cream milk 2L"},{"query":"white bread"},{"query":"bananas"}]}' {
"data": [...],
"meta": {
"total": 1518,
"limit": 3,
"offset": 0,
"data_source": "pinch",
"generated_at": "2026-05-14T06:49:05.027Z"
}
} Endpoints
All endpoints are relative to https://pinch-app.com/api
/health No auth Health check and data freshness. Returns retailer list, product counts, and last update timestamps.
/products/search Full-text search across all products. Falls back to fuzzy matching for special characters.
q required Search queryretailer Filter: Woolworths, Coles, Aldi, Harris Farmcategory Filter by category nameon_special true for specials onlysort relevance (default), price_asc, price_desc, unit_price_asclimit 1-50, default 20offset Pagination offset, default 0/products/:id
Get a single product by ID. IDs are returned in search results and vary by retailer (e.g. 216872 for Woolworths, coles_1154961 for Coles).
/products/:id/price-history Historical price data with stats (lowest, highest, average). History depth depends on your tier.
days Max days of history. Free: 30, Registered: 90, Partner: 365/compare/:barcode Cross-retailer price comparison by EAN-13 barcode. Returns all retailers stocking the product, sorted cheapest first. Approximately 7,800 products have barcode matches.
/specials Current specials and promotions, sorted by savings amount (biggest discounts first).
retailer Filter by retailercategory Filter by categorylimit 1-50, default 20offset Pagination offset, default 0/categories List all product categories with product counts.
/retailers Retailer statistics: product counts, specials counts, average prices, and last update time.
/basket/compare Submit a grocery list and get the total cost at each retailer. Finds the best match per retailer for each item and computes totals and savings.
items required Array of { query: string } objects (1-20 items)strategy single_store (default) or split_storesRate limits
| Free | Registered | Partner | |
|---|---|---|---|
| Per minute | 30 | 60 | 120 |
| Per day | 1,000 | 5,000 | 50,000 |
| Price history | 30 days | 90 days | 365 days |
| Basket items | 5 | 15 | 20 |
| Attribution | Required | Optional | Optional |
| Cost | Free | $99/mo | Contact us |
New registrations start on the Free tier. To upgrade to Registered ($99/mo), contact us or use the upgrade link after registering. For Partner access, get in touch.
MCP server for AI agents
Connect Claude, ChatGPT, or any MCP-compatible AI agent to live Australian grocery data. Choose remote (recommended) or local.
{
"mcpServers": {
"pinch-grocery": {
"url": "https://pinch-app.com/api/mcp",
"headers": {
"Authorization": "Bearer pk_live_YOUR_KEY_HERE"
}
}
}
} {
"mcpServers": {
"pinch-grocery": {
"command": "npx",
"args": ["-y", "@pinch-app/mcp-server"],
"env": {
"PINCH_API_KEY": "pk_live_YOUR_KEY_HERE"
}
}
}
} Available tools
search_products Search grocery products with filters get_product Get full product details by ID compare_prices Compare prices across retailers by barcode get_price_history Historical price data with stats get_specials Current specials and promotions get_cheapest Find cheapest option across all retailers compare_basket Compare a grocery list across all retailers Interactive API docs
Full interactive documentation with try-it-out functionality, code examples in multiple languages, and schema details: Open API docs
Authentication
All endpoints except /health require an API key. Pass it as a Bearer token in the Authorization header:
Authorization: Bearer pk_live_YOUR_KEY Attribution
Every API response includes "data_source": "pinch". If you display Pinch data publicly, include a visible attribution linking back to pinch-app.com.