Gelson's prices per store as JSON
This API reads shop.gelsons.com, Gelson's online shop, live and returns it as JSON.
7 active endpoints, on 2 and 3 credit tiers.
- POST/gelsons/v1/search
- POST/gelsons/v1/category
- POST/gelsons/v1/product/detail
- POST/gelsons/v1/categories
- POST/gelsons/v1/stores
- POST/gelsons/v1/offers
- POST/gelsons/v1/promotions
What Gelson's endpoints does ReefAPI ship?
7 live read endpoints. Read-only data API: no writes, no account actions, no dashboard access on the target site.
Gelson's API
4 of 7 endpoints, ready to run
Milk at a Gelson's near 91403
// Press "Try it" and this pane shows exactly what the // live site returned this second — including an empty // result, if that is the truth. No key, no account.
How the Gelson's API works
Gelson's is a normal ReefAPI surface — the same four rules that hold for every other engine on the key.
No OAuth app, no request signing, no per-site account. One key covers all 585 engines.
Every route is a POST with a JSON body. Parameters are validated against the published schema before anything is charged.
Credits, not seats. Failed and blocked calls are never charged, and cache hits cost nothing.
One envelope everywhere. meta carries latency_ms, record_count and the endpoint that answered.
From a ZIP code to this week's Gelson's deals at the nearest store
Pick a store, list the deals, then search its prices.
Gelson's stores nearest first, with store_id, distance and services.
The live deal lists with their product counts.
The deal products with price, regular price and promotions.
The same store's prices for any search.
One Gelson's store's current deals and prices, refreshable every day.
curl -X POST https://api.reefapi.com/gelsons/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"query":"milk","postal_code":"91403"}'{
"ok": true,
"data": { … },
"meta": {
"api": "gelsons",
"endpoint": "search",
"mode": "live",
"latency_ms": …,
"record_count": …
},
"error": null
}What a Gelson's field actually contains
Fields that read differently from how they look, measured on live responses on 2026-10-18.
| Field | What it holds |
|---|---|
| price, price_display | The price at the chosen store as the shop.gelsons.com product page prints it (matched on 8/8 products, e.g. Vital Farms Organic Pasture Raised Lar $11.99). |
| original_price, discount_percent | The struck-through regular price on sale items and the discount computed from the two prices; null when the item is not on sale. |
| promotions, buy_one_get_one | Deals shown on the item: BOGO, multi-buy ('Buy 2 for $9.16'), member offers. They are never folded into price. |
| loyalty_price | A separate card or member price when the site shows one next to the regular price; null otherwise. |
| store, store_defaulted | The Gelson's store that priced the response (id, name, street, city). store_defaulted is true when you gave neither postal_code nor store_id. |
| unit_price_text | The unit price as the site prints it ("$0.03/fl oz"). For items sold by weight, price is the estimated package price and price_is_estimate is true. |
| stock_level, likely_out_of_stock | many_in_stock, in_stock, likely_out_of_stock or out_of_stock for that store. |
| matches_query | Whether the row shares a word with your search. The site fills a search that matches nothing with unrelated products; such pages are dropped and counted in unmatched_dropped. |
Prices differ between stores: the same 14 products cost differently on 1 of them at a store near 90068 on the same day.
Gelson's coverage, measured
Every number was read from live responses on 2026-10-18: 25 calls across all seven actions.
8 of 8 products: price matched the price printed on the shop.gelsons.com product page.
A second store near 90068 priced 1 of 14 common products differently.
18 stores around 91403.
Weekly Ad 294 products, On Sale 964 products at the default store.
The site re-ranked between calls (two products repeated across page 2 and 3 by page number). With next_cursor: 3 pages twice for 5 lists across 4 shops, no product repeated.
Across 160 rows: price, size, image and stock level on all; brand 151; unit price 159; regular price on sale items 79; promotions 79.
No sorting or filters beyond the store; no stock counts, only a stock level; product reviews are not returned.
What people build with Gelson's
The jobs this data is most often used for.
endpoints
credits per call
Track Gelson's prices per store and ZIP code.
Publish the Gelson's Weekly Ad and On Sale list in a deals feed.
Compare premium grocery prices across Los Angeles stores.
Build a Gelson's store finder with distance from any ZIP code.
What Gelson's data costs
The cheapest call here is 2 credits, so $15/mo (Pro) buys 5,000 of them — $1.50 per 1,000 credits. Credits roll over and never expire, and failed or blocked calls are not charged.
Full pricing →- 1,000 free credits on signup, no card
- One key, all 585 APIs, one credit pool
- Failed and blocked calls are never charged
- Credits roll over and never expire
Call it in two lines
Sign up, get 1,000 credits and one key that works on every engine. Then this is the whole protocol.
curl -X POST https://api.reefapi.com/gelsons/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"query":"milk","postal_code":"91403"}'import requests
r = requests.post(
"https://api.reefapi.com/gelsons/v1/search",
headers={"x-api-key": REEF_KEY},
json={
"query": "milk",
"postal_code": "91403"
},
)
print(r.json()["data"])Have a question? We got answers.
The questions people actually ask before wiring up Gelson's.
Get a free key →Does Gelson's have a public API?▾
No public product API. This API reads what shop.gelsons.com shows a logged-out visitor and returns it as JSON. No account is needed.
Why do I need a ZIP code?▾
Gelson's prices are set per store. Pass postal_code or store_id; without them a fixed default store is used and store_defaulted is true.
Do delivery, pickup and in-store prices differ?▾
Not in our measurement: the store's delivery, pickup and in-store price lists were identical on 16 of 16 products, so one price is returned, the one the product page prints.
Can I get the Gelson's Weekly Ad and sale items?▾
Yes. offers returns weekly_ad (the dated Weekly Ad list) or on_sale (the On Sale list), each priced at one store.
How are sale prices shown?▾
A sale item's price is the sale price and original_price is the struck-through regular price, both as the product page prints them.
How do I find Gelson's stores near a ZIP code?▾
Call stores with postal_code. Around 91403 it returned 18 stores, nearest first, with address, coordinates, distance in miles and the services each offers. Use a store_id in any other call to price at that store.
Does search return everything the site finds?▾
Yes, in the site's own order, 20 per page by default (up to 40). cheese returned 300 products. The site can re-rank its list between two calls, so reading by page number can repeat or skip a product; follow next_cursor from each answer for a complete scan: it never returns a product twice and fills the page from the rest of the list.
How fresh is the data?▾
Every call reads shop.gelsons.com live; nothing is cached on our side.
What is the Gelson's API?▾
Gelson's API is a ReefAPI endpoint group for shop.gelsons.com prices as json per store: search, categories, weekly ad, on sale, product details and the store locator. It returns live JSON through POST requests under /gelsons/v1.
Is the Gelson's API free to try?▾
Yes. ReefAPI starts with 1,000 free credits, no card required. Gelson's calls use the same shared credit balance as every other ReefAPI engine.
Do I need a Gelson's login or account?▾
No login to Gelson's is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.
How fresh is the Gelson's data?▾
The page example is captured from a live search call, and production requests fetch live data through ReefAPI rather than a static sample.
How many credits does the Gelson's API use?▾
Gelson's actions currently cost 2-3 credits per successful call. Failed or blocked calls are free. All APIs draw from one credit pool.
Can I call Gelson's from an AI assistant or MCP client?▾
Yes. Connect ReefAPI once through MCP and your assistant can call gelsons actions with the same key, credit pool and JSON envelope used by normal REST requests.
320 E-commerce & Marketplaces APIs on the same key
One key, one credit pool, one response envelope. If you are pulling Gelson's, you are one call away from the rest of the category — no second contract, no second integration.
Need something this API does not do?
Name the endpoint, the field, or a source we do not carry yet. We ship new APIs every week and you would be first to get the key. Real people read every message and reply the same day.
Try it on your own data before you pay anything
The call above is the real endpoint, not a recording. A free key gives you 1,000 credits, the other 584 APIs, and the same envelope everywhere.
Endpoints, parameters and credit costs on this page are read from the live catalog and cannot drift from what the API accepts. Field notes were captured on 2026-10-18.