Discover/Whole Foods Market API
live

Whole Foods Market APIwholefoodsmarket.com ↗

Access Whole Foods Market product data, store-specific pricing, weekly sales, and store locations via 6 structured API endpoints. ZIP-code-aware pricing included.

Endpoint health
verified 4h ago
get_weekly_sales
search_products
find_stores
list_product_categories
list_products
6/6 passing latest checkself-healing
Endpoints
6
Updated
16d ago

What is the Whole Foods Market API?

The Whole Foods Market API covers 6 endpoints for retrieving grocery product data, store locations, and weekly promotional pricing from wholefoodsmarket.com. The search_products endpoint returns per-product fields including price_current, ingredients, diet_types, and availability scoped to the Whole Foods store serving a given ZIP code. You can also browse the full catalog by category, look up individual products by ASIN, and pull active sale promotions for a specific store.

This call costs5 credits / call— charged only on success
Try it
Maximum number of results to return (max 30)
Search keyword (e.g., 'milk', 'organic bread')
5-digit US ZIP code for location-specific pricing and availability
→ api.parse.bot/scraper/51e4baf2-1a29-4eda-a2b1-d52afdac2133/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/51e4baf2-1a29-4eda-a2b1-d52afdac2133/search_products?limit=5&query=milk&zip_code=10001' \
  -H 'X-API-Key: $PARSE_API_KEY'
All endpoints · 6 totalmissing one? ·

Search for grocery products by keyword. Returns one row per product with pricing, availability, ingredients, diet types, and images as shown for the Whole Foods store serving the given ZIP code; each row's location_zip reports the ZIP actually used (the default when none is supplied). One call performs a fixed handful of requests regardless of result count. Pagination is not supported; limit caps the returned rows (max 30) while total_count is the site's approximate count of all matches. A query the store has no products for returns an empty results array with total_count 0. An empty query is rejected as invalid input; a search page missing its product data yields an extraction error rather than an empty success.

Input
ParamTypeDescription
limitintegerMaximum number of results to return (max 30)
queryrequiredstringSearch keyword (e.g., 'milk', 'organic bread')
zip_codestring5-digit US ZIP code for location-specific pricing and availability
Response
{
  "type": "object",
  "fields": {
    "meta": "object containing query and zip_code used",
    "results": "array of product objects with product_id, name, brand, price_current, availability, description, ingredients, and more",
    "total_count": "integer total number of matching products"
  },
  "sample": {
    "data": {
      "meta": {
        "query": "milk",
        "zip_code": "10001"
      },
      "results": [
        {
          "name": "Organic Whole Milk, 64 Oz (Half Gallon)",
          "brand": "Organic Valley",
          "category": {
            "displayName": "Grocery",
            "productType": "DAIRY_BASED_DRINK",
            "glProductGroupSymbol": "gl_fresh_perishable"
          },
          "snap_ebt": "SNAP EBT eligible",
          "image_url": "https://m.media-amazon.com/images/I/71V8yVZRLSL.jpg",
          "diet_types": [
            "kosher",
            "halal"
          ],
          "product_id": "B000O6K8TI",
          "unit_price": "0.09 per fluid ounce",
          "description": "Organic Valley milk comes from small family farms...",
          "ingredients": "Organic Valley Whole Milk, Kosher, Halal, USDA Certified Organic, Non-GMO, 64 Fluid Ounce (Pack of 6)",
          "product_url": "https://www.wholefoodsmarket.com/grocery/product/B000O6K8TI",
          "availability": "in_stock",
          "location_zip": "10001",
          "size_display": "64 Oz",
          "price_current": 5.99,
          "price_original": null,
          "size_normalized": {
            "unit": "oz",
            "value": 64
          },
          "last_checked_utc": "2026-06-10T06:36:40Z"
        }
      ],
      "total_count": 291
    },
    "status": "success"
  }
}

About the Whole Foods Market API

Product Search and Browse

The search_products endpoint accepts a query string and an optional zip_code to return up to 30 products at a time. Each result includes product_id (ASIN), name, brand, price_current, availability, description, ingredients, and diet_types. The meta object in the response reports the ZIP code actually used, which matters because pricing and availability vary by store. The list_products endpoint enables paginated catalog browsing without a keyword — use offset and limit (up to 100 rows per page, offset ceiling of 500) along with a category slug from list_product_categories to navigate specific aisles. The response includes has_more, next_offset, total_count, and accessible_count to manage pagination.

Product Details and Categories

get_product_details retrieves a single product by its ASIN and returns name, brand, description, ingredients, image_url, diet_types, snap_ebt eligibility text, unit_price, and a category object with productType and displayName. Note that price_current and offer data may be null if the product page lacks store-specific context. list_product_categories requires no inputs and returns the full set of category slugs — roughly a dozen aisles — each with a category slug and a human-readable name. These slugs feed directly into list_products as the category parameter.

Stores and Weekly Sales

find_stores accepts a 5-digit ZIP code or a city/store name string and returns matching store records including store_id, name, address, coordinates, hours, phone, and prime_eligible. The get_weekly_sales endpoint takes a store_id (obtained from find_stores) and returns current promotional items with regular_price, sale_price, prime_price, validity dates, brand, and an associated product ASIN. This makes it straightforward to correlate sale promotions back to full product detail records.

Reliability & maintenanceVerified

The Whole Foods Market API is a managed, monitored endpoint for wholefoodsmarket.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when wholefoodsmarket.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official wholefoodsmarket.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
4h ago
Latest check
6/6 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a grocery price comparison tool using search_products with different ZIP codes to surface regional price differences
  • Track weekly Prime member discounts by polling get_weekly_sales across multiple store IDs
  • Populate a diet-filtered recipe app with product ingredients and diet_types fields from search_products
  • Check SNAP EBT eligibility for specific products using the snap_ebt field from get_product_details
  • Display the nearest Whole Foods store with hours and Prime eligibility using find_stores with a user's ZIP code
  • Catalog all products in a specific aisle using list_products with a category slug from list_product_categories
  • Monitor in-stock availability changes for a set of product ASINs by polling get_product_details over time
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Whole Foods Market have an official developer API?+
Whole Foods Market does not publish a public developer API. Product, pricing, store, and promotional data are not available through an official programmatic interface from Whole Foods or its parent company Amazon.
How does pricing vary across requests, and what does the `meta` object tell me?+
Both search_products and list_products accept a zip_code parameter that scopes results to the store serving that area. The meta object in the response reports the zip_code actually used — which may differ from your input if the ZIP was not recognized — so you can confirm which store's pricing applies to the results you received.
Does `get_weekly_sales` include nutritional data or ingredient lists for promoted items?+
The get_weekly_sales response covers promotional fields — regular_price, sale_price, prime_price, validity dates, brand, and headline — but does not include ingredients or nutritional data inline. Each promotion record carries a product ASIN, so you can pass that to get_product_details to retrieve ingredients, diet_types, and description for promoted items.
Is there a limit to how deep into a product listing I can paginate with `list_products`?+
Yes. The offset parameter is capped at 500, and accessible_count in the response reports exactly how many rows of a given listing are reachable through paging. The total_count field reflects the full catalog size as reported by the site, but rows beyond the accessible window cannot be fetched. For deeper catalog access you can fork this API on Parse and revise it to extend that ceiling.
Does the API return customer reviews or ratings for Whole Foods products?+
Not currently. The API covers product details, pricing, ingredients, diet types, store locations, and weekly sales promotions. Customer reviews and star ratings are not part of any endpoint's response. You can fork this API on Parse and revise it to add a reviews endpoint if that data is needed.
Page content last updated . Spec covers 6 endpoints from wholefoodsmarket.com.
Related APIs in Food DiningSee all →
safeway.com API
Access data from safeway.com.
instacart.com API
Search for grocery products across multiple retailers, view store locations and availability, and access detailed product information including prices and descriptions. Find the best deals and nearest stores offering the items you need.
ocado.com API
Search and browse Ocado UK's grocery catalog, view detailed product information including nutritional data, and discover related items to add to your cart. Get instant search suggestions and manage your shopping cart contents all in one place.
williams-sonoma.com API
Search Williams-Sonoma products by keyword, browse product groups by category/group ID, and fetch detailed product information including pricing, images, and product details.
woolworths.co.za API
Browse Woolworths South Africa's food categories and search for specific products while accessing detailed nutritional information and weight-based pricing. Find store locations across the country by province and suburb to check availability and plan your shopping trips.
publix.com API
Access Publix grocery store data including product search, pricing, promotions, weekly ad deals, store locations, and category browsing.
kroger.com API
Find Kroger grocery store locations across the US organized by state, city, and search parameters. Get detailed store information including directories and specifics for any Kroger location in your area.
walmart.com API
Retrieve product data from Walmart.com including pricing, descriptions, availability, reviews, and category listings. Access real-time product information to search by keyword, look up items by ID or URL, and browse department categories.