Discover/Whole Foods Market API
live

Whole Foods Market APIwholefoodsmarket.com

Search Whole Foods products, get pricing and ingredients, find nearby stores, and retrieve weekly sales flyers via a structured JSON API.

Endpoint health
verified 6d ago
search_products
find_stores
get_weekly_sales
get_product_details
4/4 passing latest checkself-healing
Endpoints
4
Updated
21d ago

What is the Whole Foods Market API?

The Whole Foods Market API covers 4 endpoints that return grocery product data including pricing, ingredients, nutritional information, and availability. Use search_products to query the catalog by keyword with location-specific pricing via ZIP code, find_stores to locate nearby stores with hours and Prime eligibility, and get_weekly_sales to pull current sale items for a specific store.

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'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace wholefoodsmarket-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

from parse_apis.whole_foods_market_api import WholeFoods, Product, Store, Promotion, ProductNotFound

wf = WholeFoods()

# Search for organic milk products near a NYC ZIP code
for product in wf.products.search(query="organic milk", zip_code="10001"):
    print(product.name, product.price_current, product.availability)

# Get detailed info for a specific product by ASIN
detail = wf.products.get(product_id="B074H5SR5S")
print(detail.name, detail.brand, detail.description)

# Find stores near a ZIP code
for store in wf.stores.find(query="10001"):
    print(store.name, store.address.city, store.prime_eligible)

    # Check weekly sales at this store
    for promo in store.sales():
        print(promo.product_name, promo.sale_price, promo.prime_price)
All endpoints · 4 totalmissing one? ·

Search for grocery products by keyword. Returns products with pricing, availability, ingredients, and nutritional info. Uses ZIP code to determine store location for pricing. Pagination is not supported; use limit to control result count (max 30).

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 Details

The search_products endpoint accepts a query string (e.g., 'organic bread' or 'oat milk') and an optional zip_code to return location-adjusted pricing and availability. Results include up to 30 products per request, each with product_id (ASIN), name, brand, price_current, availability status, and an ingredients string. The total_count field tells you how many total matches exist beyond the current page.

The get_product_details endpoint takes a single product_id (ASIN) and returns a fuller record for that item: description, ingredients, availability (one of in_stock, out_of_stock, or limited), and price_current where available. Price may return null for items that require in-store lookup.

Store Finder and Weekly Sales

find_stores accepts either a 5-digit ZIP code or a city/store name string. ZIP lookups return the nearest store; name queries search against store tokens. Each store record includes store_id, name, address, lat/lng coordinates, hours, and a prime_eligible flag indicating Amazon Prime discount eligibility.

get_weekly_sales takes an optional store_id (discoverable via find_stores) and returns the current weekly flyer for that location. Each sale item includes product_id, name, availability, price_current, and promotional_text describing the offer. Omitting store_id falls back to a default store.

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
6d ago
Latest check
4/4 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 tracker that monitors price_current changes across Whole Foods product categories
  • Compare ingredient lists from search_products results to flag allergens or additives in product selections
  • Surface weekly sale items from get_weekly_sales in a meal-planning or budget-shopping app
  • Determine the nearest Prime-eligible Whole Foods store using find_stores and the prime_eligible field
  • Populate a product catalog with brand, description, and ingredients data via get_product_details
  • Build a location-aware shopping assistant that adjusts prices by passing zip_code to search_products
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. 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?+
No. Whole Foods Market does not publish a public developer API or data feed. This API provides structured access to product, store, and sales data from the Whole Foods website.
How does location affect the data returned by search_products?+
Passing a zip_code parameter to search_products causes the response to reflect pricing and availability for the Whole Foods store serving that ZIP code. Without a ZIP code, results may use a default or regional store, which can mean different prices or missing availability signals for location-specific items.
Does get_weekly_sales return sale prices for all stores?+
It returns sale data for one store per call, identified by store_id. You can retrieve store IDs using find_stores, then call get_weekly_sales once per store to compare offers across locations. There is no batch endpoint for multi-store sales in a single call.
Are product reviews or ratings available through this API?+
Not currently. The API covers product details (name, brand, ingredients, description, price, availability) and store/sales data, but does not expose customer reviews or star ratings. You can fork this API on Parse and revise it to add a reviews endpoint.
Does the API cover nutritional facts beyond the ingredients string?+
The search_products response includes an ingredients field and additional product fields, but structured nutritional data (calories, macros, vitamins) is not a guaranteed field in the current schema — price_current may also return null for some products. You can fork this API on Parse and revise it to surface additional nutritional detail where the source exposes it.
Page content last updated . Spec covers 4 endpoints from wholefoodsmarket.com.
Related APIs in Food DiningSee all →
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.
publix.com API
Access Publix grocery store data including product search, pricing, promotions, weekly ad deals, store locations, and category browsing.
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.
wellcome.com.hk API
Search and browse products from Wellcome Hong Kong's online grocery store, view detailed product information, explore categories, and see what other shoppers are searching for. Discover trending items and get product suggestions to streamline your grocery shopping experience.
tesco.com API
Search and browse Tesco's complete grocery catalog to find products with detailed nutritional information, ingredient lists, and customer reviews. Explore product suggestions via autocomplete and browse items organized by category to make informed shopping decisions.
traderjoes.com API
Access Trader Joe's product catalog, store locations, and recipes. Search products by keyword or category, retrieve full product details including nutrition and ingredients, find nearby store locations, and browse or look up recipes.
albertsons.com API
Browse Albertsons' current weekly ad deals and pricing by location, search for specific products with autocomplete suggestions, and discover all discounted items available in any weekly ad publication. Save time finding the best grocery deals and product availability at your local Albertsons store.