Publix API

Publix prices per store as JSON

This API reads delivery.publix.com, Publix's online shop, live and returns it as JSON.

no credit card1,000 free credits · instant API key · pay by card or crypto
Missing a Publix endpoint, or need a source we don't have yet?Contact us real people · same-day reply.
P
/publix/v1

7 active endpoints. Every call is 3 credits.

  • POST/publix/v1/search
  • POST/publix/v1/category
  • POST/publix/v1/product/detail
  • POST/publix/v1/categories
  • POST/publix/v1/stores
  • POST/publix/v1/offers
  • POST/publix/v1/promotions

What Publix endpoints does ReefAPI ship?

7 live read endpoints. Read-only data API: no writes, no account actions, no dashboard access on the target site.

7 endpoints

search

3 cr

Search delivery.publix.com at one Publix store.

required
query
optional
page, per_page, include_unmatched, cursor, postal_code, store_id

category

3 cr

Every product of a delivery.publix.com collection (a category, a brand or a diet collection f…

required
slug
optional
page, per_page, cursor, postal_code, store_id

product/detail

3 cr

One Publix product.

required
product_id
optional
postal_code, store_id

categories

3 cr

The delivery.publix.com category tree (departments and their collections) or one collection's…

required
—
optional
slug, postal_code, store_id

stores

3 cr

Publix stores around a US ZIP code, nearest first, with address, coordinates, distance and wh…

required
postal_code
optional
page, limit

offers

3 cr

Publix's current deal lists at one store.

required
—
optional
type, page, per_page, cursor, postal_code, store_id

promotions

3 cr

Which Publix deal lists are live now at one store, each with its name and product count.

required
—
optional
postal_code, store_id

Every parameter, every allowed value →

Publix API

4 of 7 endpoints, ready to run

View docs ↗

Milk at a Publix near 33801

3 credits1 required · 1 optional
POST/publix/v1/search
idle
// 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 Publix API works

Publix is a normal ReefAPI surface — the same four rules that hold for every other engine on the key.

01
Authenticate
x-api-key header

No OAuth app, no request signing, no per-site account. One key covers all 585 engines.

02
Call
POST /publix/v1/…

Every route is a POST with a JSON body. Parameters are validated against the published schema before anything is charged.

03
Pay
3 credit per call

Credits, not seats. Failed and blocked calls are never charged, and cache hits cost nothing.

04
Read
{ ok, data, meta, error }

One envelope everywhere. meta carries latency_ms, record_count and the endpoint that answered.

From a ZIP code to this week's Publix deals at the nearest store

Pick a store, list the deals, then search its prices.

01stores?postal_code=33801
GET/publix/v1/stores?postal_code=33801

Publix stores nearest first, with store_id, distance and services.

02promotions?store_id=21778
GET/publix/v1/promotions?store_id=21778

The live deal lists with their product counts.

03offers?type=bogo&store_id=21778
GET/publix/v1/offers?type=bogo&store_id=21778

The deal products with price, regular price and promotions.

04search?query=coffee&store_id=21778
GET/publix/v1/search?query=coffee&store_id=21778

The same store's prices for any search.

One Publix store's current deals and prices, refreshable every day.

request
curl -X POST https://api.reefapi.com/publix/v1/search \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"query":"milk","postal_code":"33801"}'
response envelope
{
  "ok": true,
  "data": { … },
  "meta": {
    "api": "publix",
    "endpoint": "search",
    "mode": "live",
    "latency_ms": …,
    "record_count": …
  },
  "error": null
}

What a Publix field actually contains

Fields that read differently from how they look, measured on live responses on 2026-10-18.

FieldWhat it holds
price, price_displayThe price at the chosen store as the delivery.publix.com product page prints it (matched on 8/8 products, e.g. Publix Eggs, Large $2.43).
original_price, discount_percentThe 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_oneDeals shown on the item: BOGO, multi-buy ('Buy 2 for $9.16'), member offers. They are never folded into price.
loyalty_priceA separate card or member price when the site shows one next to the regular price; null otherwise.
store, store_defaultedThe Publix store that priced the response (id, name, street, city). store_defaulted is true when you gave neither postal_code nor store_id.
unit_price_textThe 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_stockmany_in_stock, in_stock, likely_out_of_stock or out_of_stock for that store.
matches_queryWhether 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 16 products cost differently on 3 of them at a store near 30303 on the same day.

Publix coverage, measured

Every number was read from live responses on 2026-10-18: 24 calls across all seven actions.

Price check

8 of 8 products: price matched the price printed on the delivery.publix.com product page.

Store prices

A second store near 30303 priced 3 of 16 common products differently.

Stores

228 stores around 33801.

Deals

BOGO (buy one, get one free) 970 products at the default store.

Paging

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.

Fill

Across 140 rows: price, size, image and stock level on all; brand 140; unit price 135; regular price on sale items 8; promotions 38.

Limits

No sorting or filters beyond the store; no stock counts, only a stock level; product reviews are not returned.

What people build with Publix

The jobs this data is most often used for.

7

endpoints

3

credits per call

01

Track Publix prices per store and ZIP code for a grocery price comparison app.

02

Publish Publix BOGO deals every week in a deals feed.

03

Compare Publix prices between Florida and Georgia stores.

04

Build a Publix store finder with distance from any ZIP code.

What Publix data costs

The cheapest call here is 3 credits, so $15/mo (Pro) buys 3,333 of them — $1.50 per 1,000 credits. Credits roll over and never expire, and failed or blocked calls are not charged.

Full pricing →
$0.67–$1.50 / 1,000 credits
  • 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
curl -X POST https://api.reefapi.com/publix/v1/search \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"query":"milk","postal_code":"33801"}'
python
import requests

r = requests.post(
    "https://api.reefapi.com/publix/v1/search",
    headers={"x-api-key": REEF_KEY},
    json={
  "query": "milk",
  "postal_code": "33801"
},
)
print(r.json()["data"])
FAQ

Have a question? We got answers.

The questions people actually ask before wiring up Publix.

Get a free key →
Does Publix have a public API?▾

No public product API. This API reads what delivery.publix.com shows a logged-out visitor and returns it as JSON. No account is needed.

Why do I need a ZIP code?▾

Publix 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 Publix BOGO deals?▾

Yes. offers with type bogo returns Publix's current BOGO (buy one, get one free) list priced at one store; rows carry the promotion label and buy_one_get_one. promotions lists the deal list with its product count.

Is the BOGO price in `price`?▾

No. price is the regular price the product page prints; BOGO and multi-buy deals are in promotions[] and buy_one_get_one, so you can compute the effective price yourself.

How do I find Publix stores near a ZIP code?▾

Call stores with postal_code. Around 33801 it returned 228 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 299 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 delivery.publix.com live; nothing is cached on our side.

What is the Publix API?▾

Publix API is a ReefAPI endpoint group for delivery.publix.com prices as json per store: search, categories, bogo (buy one, get one free), product details and the store locator. It returns live JSON through POST requests under /publix/v1.

Is the Publix API free to try?▾

Yes. ReefAPI starts with 1,000 free credits, no card required. Publix calls use the same shared credit balance as every other ReefAPI engine.

Do I need a Publix login or account?▾

No login to Publix 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 Publix 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 Publix API use?▾

Publix actions currently cost 3 credits per successful call. Failed or blocked calls are free. All APIs draw from one credit pool.

Can I call Publix from an AI assistant or MCP client?▾

Yes. Connect ReefAPI once through MCP and your assistant can call publix actions with the same key, credit pool and JSON envelope used by normal REST requests.

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.

0/4000

No account needed · we reply from [email protected]

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.