Methodology

How we collect and update prices

This page describes what our systems actually do: where a price comes from, which store it represents, how often it is refreshed, and where the numbers stop being reliable. It is written by the MenuPriceToday editorial team (see our editorial policy) and was last reviewed in October 2026.

In short: prices are collected automatically from food-delivery platforms, refreshed about once a week per country, shown in local currency, and are indicative. They are not a live feed, and they are not an offer to sell.

Where prices come from

Menu prices come from two third-party food-delivery platforms: Uber Eats (most of the markets we cover) and foodpanda(for example Pakistan, Malaysia, the Philippines and Singapore). We read the menu data that these platforms show to customers in their own apps and websites, using automated software. We do not have a partnership or a data feed with either platform, they have not endorsed this site, and they are not "official" sources for a brand's in-store prices.

Because a delivery-platform price is what a customer pays through that platform, it can be higher than the price at the counter. See limitations.

Prices are collected by software and published without a person checking each one. We do have automated guards (below), and we look into reports from readers, but we do not claim every figure has been verified by hand.

Which price do we show?

  • One real store per brand and country. For each brand in each country we take the menu of one real, open store (the first open one found) and use its prices exactly as listed. We do not average prices across stores. If the first candidate is closed, we try the next, up to a handful of stores.
  • Promotional sections are skipped.Sections the platform labels as "most popular", "featured" or "new" are not read, and non-menu items such as cutlery or napkins are hidden.
  • State or regional prices(where we show them) come from one real store in that state, again as listed. Where prices differ a lot between states, the "national" price we show is the median of that item's state prices, recomputed each day from the latest state prices already collected. In markets where prices are uniform, the national price is simply the single store's price.
  • Zero or invalid prices are never shown. A price of zero or below is discarded when it is collected and filtered out again when pages and APIs return data. If there is no valid price for an item, we do not show one.
  • Matching. Items are matched by name or slug from one refresh to the next. If a brand renames or restructures an item, it may briefly appear as missing or as a new item.

What “differs from national” means

We only treat a state as having its own pricing for a brand when two tests are both met: at least five items (or 10% of the brand's items in that country, whichever is larger) have a state price that differs from the national price, and the brand has at least three active branches in that state in our data. Otherwise we do not treat that state as having its own pricing for the brand.

When a state page compares an average price with the national average, it is a comparison of averages over the items that have a price in each case. It is not a like-for-like comparison of the same items, and in state-varying markets the national average is itself derived from state medians.

How often prices are updated

Each country is refreshed on a weekly schedule, staggered across the week (for example, Uber Eats countries on different days, and foodpanda countries one per day). State prices are refreshed weekly too, in the countries where we collect them. That means a price on the site can be up to about a week behind the platform, and longer if a refresh fails or a store is unavailable. We do not claim real-time prices.

The date shown beside a price (“updated” or “verified”) is the date our importer last wrote that price. It tells you when we last collected it, not that a person confirmed it that day.

Price history

For national prices, a weekly job records an observation for each item: the first time we see a price, every time it changes, and, when it has not changed but was re-collected recently, an unchanged observation. So a price history is a series of weekly observations, not only a list of changes, and the “price points” count on an item means the number of observations we hold, not the number of price changes.

History starts on the day we first tracked an item. We do not reconstruct earlier prices. State prices do not have a history. The recent price-changes page leaves out moves of more than 60% in one step, which we treat as probable scraper glitches (a unit, size or bundle mismatch) rather than real changes. That rule is automatic, so a genuine large change can be hidden too.

Currency

Every price is stored and shown in the currency of its own country. We do not convert between currencies and hold no exchange-rate data. Comparisons across countries (for example the price index) list local-currency amounts side by side, so the order reflects the numbers in each currency, not purchasing power. If you want a converted figure, apply a current exchange rate yourself.

Nutrition and allergens

Calories, nutrition values, ingredients and allergens are imported from brands' own published information, per country, from their websites and PDF nutrition guides. A country's nutrition data is applied only to that country: we do not copy one market's figures to another, and where we have no source for a country, that country's figures are left empty. Reading brand pages and PDFs is automated, and for some PDFs the text extraction can be AI-assisted, so parsing mistakes are possible.

Some items may show a single calorie figure that is not tied to a specific country's brand publication. Treat any figure without a stated source as indicative. Nutrition and allergen details are not medical advice; if you have an allergy, confirm with the restaurant before you order.

Descriptions, images and AI

We do not republish brands' marketing descriptions or product photographs. Where an item shows a short description, it is assembled from our structured data by a template, not written by an AI model and not copied. Some blog illustrations are AI-generated images and are not photographs of real products. The site's chat assistant uses an AI language model and its answers can be wrong. More detail is in our editorial policy.

Limitations

  • Delivery-platform prices can include a mark-up compared with in-store prices.
  • One store stands in for a whole country or state. Prices can differ by city, branch, franchise or mall.
  • Prices can change at any time and are refreshed weekly at best. Promotions, coupons and delivery fees are not included.
  • Some items may be missing, renamed, or listed under a different size or portion than you expect.
  • A platform can change its menu data or block collection, which would leave prices stale until we adapt.
  • Nutrition and allergen details can differ by location and recipe. Check the restaurant before you rely on them.

MenuPriceToday is independent and not affiliated with any restaurant brand or delivery platform. Brand names and logos belong to their owners and are used only to identify the brand.

Reporting a wrong price

If a price, item or figure looks wrong, tell us through the contact page or at [email protected]. Include the brand, country, item, the price you see and where you saw it. We look into reports, but because the figures reflect what the platform lists, we cannot promise a particular price will change or a particular reply time. Read about the site and the team on the About page.