Looking for the overview — what this API returns, what it costs, and a call you can run without a key? See the iFood API page →
E-commerce & Marketplaces

iFood API & Scraper

iFood shows a different set of stores, fees and delivery times for every address, so this API takes the latitude and longitude of a Brazilian address.

3 actionsLive JSON1,000 free credits$0.67–$1.50 / 1,000 creditsMCP-ready
Get a free keyOpen in playground

🤖 Using an AI assistant? Copy this link into ChatGPT / Claude / Cursor — it reads every endpoint and parameter instantly and tells you if this API fits your use case.

`stores` returns the stores iFood lists there for one tab (restaurants, groceries, pharmacy, drinks, pets, shopping) with delivery fee in reais, delivery time range in minutes, rating, distance, open-now flag and a link, 36 per page in iFood's own order, with a cursor for the next page. `store` opens one store: legal name, CNPJ, address, opening hours, rating count, minimum order and payment methods, plus the menu or grocery catalogue by section with price, struck-through price, discount, 'a partir de' price, promotional price, EAN and availability; with a category_id it returns one supermarket aisle in full, 100 products per page. `search` finds a product or dish across every store delivering to the address, or inside one store, with each store's price and delivery fee.

Reference

What an iFood field actually contains

Fields that read differently from how they look. Every row was measured against live responses on 2026-10-18.

FieldWhat it holds
delivery_fee_listedThe delivery fee in reais that iFood lists for the address you sent (4.99 for a card iFood describes as "4 reais e 99 centavos"). Not a store-wide constant.
delivery_estimate_min / maxThe delivery-time range in minutes shown for that address at the moment of the call (49 and 64).
price, original_price, discount_pctprice is the item's current price, the same figure iFood's search shows; original_price is the struck-through "de" price when the item is discounted (Leite Italac 8.54, original 11.86, discount 28%).
promotional_priceA conditional promotion iFood attaches to some restaurant items (Maminha ao Forno: price 51.90, promotional 41.90). iFood's search prices the same item at 51.90, so it is kept apart from price.
price_fromThe lowest price of an item whose price depends on the options chosen ("a partir de"); build-your-own dishes have no fixed price (Monte seu Prato: from 17.90).
items_truncatedA supermarket's catalogue overview shows at most 16 products per aisle; true means the aisle holds more. Call store with that category_id for the full aisle (one beer aisle: 2,283 products in 23 pages).
name_matches_queryiFood's search falls back to related products when nothing matches (a nonsense word still returns a full page); this flag says whether the row contains every word you searched.
cnpj, legal_nameThe store's company registration number and registered name as iFood publishes them on the store page.

iFood orders the store list itself and pages it with its own cursor; three pages of 36 shared no store. Fees, times and store lists depend on the address you send, not on where the request comes from.

Live example

Real request and response JSON

Captured from the indexed primary action, search, on .

Captured request
{
  "method": "POST",
  "url": "https://api.reefapi.com/ifood/v1/search",
  "headers": {
    "x-api-key": "$REEF_KEY",
    "content-type": "application/json"
  },
  "body": {
    "query": "leite",
    "latitude": -23.5613,
    "longitude": -46.6565
  }
}
Captured response
{
  "ok": true,
  "meta": {
    "api": "ifood",
    "endpoint": "search",
    "mode": "live",
    "latency_ms": 1716.2,
    "record_count": 36,
    "bytes": 80437,
    "cache_hit": false,
    "upstream_requests": 1,
    "charged_credits": 2,
    "version": "1.0.0",
    "request_id": "4fe0aa26c0ad4cf8",
    "queue_ms": 1.2,
    "fetched_at": "2026-10-18T17:45:01.323Z"
  },
  "data": {
    "items": [
      {
        "item_id": "33da5083-e02f-4339-a7c7-4b230262d6f3",
        "name": "Leite Uht Integral com Tampa Italac 1l",
        "details": null,
        "price": 8.54,
        "original_price": 11.86,
        "discount_pct": 28,
        "price_from": null,
        "currency": "BRL",
        "available": true,
        "ean": "7898080640611",
        "category_name": "Leites",
        "taxonomy": [
          "LEITES",
          "LEITE_TRADICIONAL"
        ],
        "image": "https://static-images.ifood.com.br/image/upload/t_medium/pratos/820af392-002c-47b1-bfae-d7ef31743c7f/202511101418_n60rlk0rlbk.jpeg",
        "store": {
          "store_id": "7e61205a-bdec-4b89-9cd1-b6b075592e52",
          "name": "Imigrantes Bebidas - Itaim",
          "slug": "sao-paulo-sp/imigrantes-bebidas---itaim-vila-olimpia",
          "url": "https://www.ifood.com.br/delivery/sao-paulo-sp/imigrantes-bebidas---itaim-vila-olimpia/7e61205a-bdec-4b89-9cd1-b6b075592e52",
          "main_category": "Mercado",
          "open_now": true,
          "delivery_fee_listed": 12.98,
          "delivery_fee_type": "FAST_DELIVERY_OVERLAP",
          "delivery_estimate_min": 30,
          "delivery_estimate_max": 50,
          "rating_score": 4.9,
          "rating_count": 345,
          "distance_km": 4.56
        },
        "name_matches_query": true
      },
      {
        "item_id": "ee35db75-d9ec-41a4-89ef-bdfc5c3ef25e",
        "name": "Leite Uht Integral com Tampa Italac 1l",
        "details": null,
        "price": 10.49,
        "original_price": null,
        "discount_pct": null,
        "price_from": null,
        "currency": "BRL",
        "available": true,
        "ean": "7898080640611",
        "category_name": "Leites",
        "taxonomy": [
          "LEITES",
          "LEITE_TRADICIONAL"
        ],
        "image": "https://static-images.ifood.com.br/image/upload/t_medium/pratos/820af392-002c-47b1-bfae-d7ef31743c7f/202511101418_n60rlk0rlbk.jpeg",
        "store": {
          "store_id": "f43f172b-365a-499c-934b-f4454c26f5ea",
          "name": "Dc Mercado e Adega",
          "slug": "sao-paulo-sp/dc-mercado-e-adega-bom-retiro",
          "url": "https://www.ifood.com.br/delivery/sao-paulo-sp/dc-mercado-e-adega-bom-retiro/f43f172b-365a-499c-934b-f4454c26f5ea",
          "main_category": "Mercado",
          "open_now": true,
          "delivery_fee_listed": 12,
          "delivery_fee_type": "DEFAULT",
          "delivery_estimate_min": 35,
          "delivery_estimate_max": 45,
          "rating_score": 4.8,
          "rating_count": 21,
          "distance_km": 4.27
        },
        "name_matches_query": true
      },
      {
        "item_id": "a2d8b3dc-f53e-4a6d-9bc9-f7df0b5e8784",
        "name": "Leite Uht Zero Lactose Italac Edge 1l",
        "details": "Caixa 1l",
        "price": 8.87,
        "original_price": 12.15,
        "discount_pct": 27,
        "price_from": null,
        "currency": "BRL",
        "available": true,
        "ean": "7898080640932",
        "category_name": "Leites",
        "taxonomy": [
          "LEITES",
          "LEITE_TRADICIONAL"
        ],
        "image": "https://static-images.ifood.com.br/image/upload/t_medium/pratos/820af392-002c-47b1-bfae-d7ef31743c7f/202510042156_p3hhnawz01k.jpeg",
        "store": {
          "store_id": "7e61205a-bdec-4b89-9cd1-b6b075592e52",
          "name": "Imigrantes Bebidas - Itaim",
          "slug": "sao-paulo-sp/imigrantes-bebidas---itaim-vila-olimpia",
          "url": "https://www.ifood.com.br/delivery/sao-paulo-sp/imigrantes-bebidas---itaim-vila-olimpia/7e61205a-bdec-4b89-9cd1-b6b075592e52",
          "main_category": "Mercado",
          "open_now": true,
          "delivery_fee_listed": 12.98,
          "delivery_fee_type": "FAST_DELIVERY_OVERLAP",
          "delivery_estimate_min": 30,
          "delivery_estimate_max": 50,
          "rating_score": 4.9,
          "rating_count": 345,
          "distance_km": 4.56
        },
        "name_matches_query": true
      }
    ],
    "matched_rows": 36,
    "query": "leite",
    "store_id": null,
    "location": {
      "latitude": -23.5613,
      "longitude": -46.6565
    },
    "pagination": {
      "page": 1,
      "limit": 36,
      "has_more": true
    }
  }
}
Actions

What the iFood API does

ActionDescriptionConcrete use caseKey params
storesStores that deliver to a location in Brazil, in iFood's own feed order for one tab (restaurants, groceries, pharmacy, drinks, pets, shopping): delivery fee, delivery time range, rating, distance, open now, category, super-restaurant / new / exclusive flags, link. 36 per page, next page through the feed's own cursor.Pricing teams call stores to get stores that deliver to a location in Brazil, in iFood's own feed order for one tab (restauran….latitude, longitude, type, cursor
storeOne iFood store: details (legal name, CNPJ, address, opening hours, rating and count, price band, minimum order, open now, payment methods) and its menu / catalogue by section with price, struck-through price, discount %, 'from' price, promotional price, EAN, availability and photo. With category_id: that one aisle in full, page by page.Marketplace operators call store to get one iFood store.store_id, latitude, longitude, category_id, page, ...
searchSearch products and dishes by name across the stores delivering to a location, or inside one store: each row with price, struck-through price, discount, EAN, category and the store selling it (fee, delivery time, rating, rating count, distance, open now).Catalog enrichment teams call search to search products and dishes by name across the stores delivering to a location, or inside one….query, latitude, longitude, store_id, page, ...
Code samples

Call search from your stack

curl -X POST https://api.reefapi.com/ifood/v1/search \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"query":"leite","latitude":-23.5613,"longitude":-46.6565}'
MCP one-liner
Ask your MCP-connected assistant: call reefapi.ifood.search with {"query":"leite","latitude":-23.5613,"longitude":-46.6565}.
Use cases

Who uses this API and why

  • Track supermarket and pharmacy prices on iFood Mercado by store, aisle and EAN.
  • Map which restaurants and stores deliver to an address with fees and delivery times.
  • Monitor a restaurant chain's cardápio prices and discounts across its iFood stores.
  • Compare one product's price across every store delivering to the same address.
  • Build a Brazilian store database with CNPJ, address, opening hours and rating.
FAQ

Questions developers ask before integrating

Do I need an address?

Yes. stores and search require latitude and longitude of the delivery address in Brazil; iFood's store list, fees and delivery times depend on it. store works with a store_id alone.

Can I get iFood Mercado and supermarket prices?

Yes. stores with type=groceries lists the supermarkets and iFood Mercado stores delivering to the address; store returns each aisle, and store with a category_id returns that aisle in full, 100 products per page with price, struck-through price, discount and EAN.

Can I get a restaurant's cardápio?

Yes. store with the restaurant's store_id or its iFood URL returns every menu section with the dishes, description, price, struck-through price, 'a partir de' price, promotional price and availability.

How do I compare one product across stores?

search with query=leite and the address returns matching products from the stores nearby, each with the store's price, delivery fee, delivery time and rating. Add store_id to search inside one store.

Does it cover pharmacies?

Yes. type=pharmacy lists the pharmacies delivering to the address (36 per page in São Paulo) and store returns their catalogue with EAN codes.

Which cities work?

Any address iFood delivers to; São Paulo and Rio de Janeiro were measured on every tab. A few coordinates are answered with an error by iFood itself; coordinates of a street address nearby work.

Do I need an iFood account?

No. Everything is what a logged-out visitor sees; order history, coupons and iFood Clube benefits are not included.

How fresh is the data?

Every call reads iFood live; nothing is cached.

What is the iFood API?

iFood API is a ReefAPI endpoint group for restaurants, ifood mercado supermarkets and pharmacies delivering to a brazilian address, with fees and times; full menus and grocery catalogues with prices, discounts and ean. It returns live JSON through POST requests under /ifood/v1.

Is the iFood API free to try?

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

Do I need an iFood login or account?

No login to iFood 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 iFood data?

The page example is captured from a live stores call, and production requests fetch live data through ReefAPI rather than a static sample.

How many credits does the iFood API use?

iFood 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 iFood from an AI assistant or MCP client?

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

docs / ifood

iFood

Restaurants, iFood Mercado supermarkets and pharmacies delivering to a Brazilian address, with fees and times; full menus and grocery catalogues with prices, discounts and EAN.

base /ifood/v13 endpoints
post/ifood/v1/stores3 credits

Stores that deliver to a location in Brazil, in iFood's own feed order for one tab (restaurants, groceries, pharmacy, drinks, pets, shopping): delivery fee, delivery time range, rating, distance, open now, category, super-restaurant / new / exclusive flags, link. 36 per page, next page through the feed's own cursor.

ParameterAllowed / rangeDescription
latituderequired-34–6Delivery location latitude in Brazil (e.g. -23.5613 = Av. Paulista, São Paulo). Required: fees, delivery times and the stores shown depend on it; there is no default location.
longituderequired-74–-34Delivery location longitude (with latitude).
type = restaurantsoptionalrestaurants · groceries · pharmacy · drinks · pets · shoppingiFood tab: restaurants (default), groceries (Mercados), pharmacy (Farmácias), drinks (Bebidas), pets, shopping.
cursoroptional—pagination.next_cursor of the previous page (same location and type).
Try in playground →
post/ifood/v1/store3 credits

One iFood store: details (legal name, CNPJ, address, opening hours, rating and count, price band, minimum order, open now, payment methods) and its menu / catalogue by section with price, struck-through price, discount %, 'from' price, promotional price, EAN, availability and photo. With category_id: that one aisle in full, page by page.

ParameterAllowed / rangeDescription
store_idrequired—Store id (`store_id` of a stores or search row, a UUID) or the store's iFood URL (https://www.ifood.com.br/delivery/<city>/<store>/<id>).
latitudeoptional-34–6Optional delivery latitude (with longitude).
longitudeoptional-74–-34Optional delivery longitude.
category_idoptional—Return ONE aisle/menu section in full, page by page (`category_id` from this store's `categories`). Grocery overviews show at most 16 items per aisle; use this for the rest (Imigrantes Bebidas beer aisle: 2,283 items, 23 pages of 100).
page = 1optional1–Page number (1-based).
limit = 100optional1–100Items per aisle page (1-100).
Try in playground →
Built for volume
5M+ requests a day

Measured at 60 requests a second across the fleet, with no central bottleneck. Volume pricing is on request, and per-key limits are raised for high-volume accounts.

Missing a source?
We build it

Tell us a site we do not cover yet and it becomes an engine. A customer asked for bestprice.gr on a Sunday and it was in the catalog the next day.

Support
2 minute median reply

Median time from a question in the live chat to the first answer, measured across every answered conversation. Setup help included, no support tier to buy.

One key, one balance
Every API included

No per-site plans and no separate subscriptions. One key and one credit pool across the whole catalog, so adding a source costs nothing up front.

Planning something large? Tell us the volume and the sources and we will come back with what it costs and what we would have to build.