Instacart APIunofficial
Public city retailer directories, pantry category product discovery and product-detail metadata from Instacart.
- instacart.com
all live 3 operations, checked by the installs that call them.
Try it
Set up API Anything for your agents:
npx -y api-anything setupThen ask your agent, which finds this site by itself, or call it from a shell:
api-anything pull instacart
api-anything call instacart getProduct product=19875642-s-s-soup-base-bonito-12-packs-12-eaOperations
| Operation | Method | Login | Writes | Status |
|---|---|---|---|---|
getProduct(product) -> name, size, description, brand, category, urlRead public product-detail metadata from a linked Instacart product page. |
GET | no | no | Live0 confirmations |
listPantryCategoryProducts(aisle, group, category) -> name, size, urlList the initial public product cards of a five-level food/pantry category, using its three final linked path segments. |
GET | no | no | Live0 confirmations |
listStores(region, city) -> name, url, fulfillmentList the retailer cards shown by the public grocery-delivery city directory. |
GET | no | no | Live0 confirmations |
Notes
Use listStores for the retailer cards on Instacart's public city directory. Take both arguments from a link under https://www.instacart.com/grocery-delivery. For example, /grocery-delivery/ny/near-me-in-long-island-city-ny means region=ny city=long-island-city-ny. The city slug includes its region suffix; the arguments must refer to the same place.
The cards describe retailer chains advertised for the city, rather than individual branches. fulfillment is the card's delivery/pickup label and can contain a compact bullet such as Delivery•Pickup. It does not establish availability, inventory, pricing or delivery coverage for an address. The result includes the initially published cards only; Show all is not exercised. No account, ZIP code or personal address is required for this directory read.
Use getProduct with the complete ID-and-slug segment from a public /store/products/ link. It reads schema.org metadata. size preserves the site's literal label; it does not normalize packs or units. description is the short structured-data description, not the detailed ingredients or directions. A separately labelled structured-data brand is returned when present. This read does not establish price, stock, delivery or address coverage.
Use listPantryCategoryProducts for linked five-level food/pantry categories. Copy its last three path segments as aisle, group and category, in that order; retain each ID and slug. Results are the initial product cards in source order. Follow a returned URL and pass its final segment to getProduct. Size stays literal. Pagination, other category depths, filters and shopping availability are outside this read.
About these operations
Each operation is a request learned from Instacart's own web pages: API Anything replays it over plain HTTP and falls back to a browser when it must. Read them as JSON.