
+30% (+0% to +66%)
64
15%


The double charge, in one line. Uber’s commission (hidden in the food price) and its service fee both pay for the same thing — Uber being the middleman. One toll, billed twice. The delivery fee is separate: that one pays the courier. Why Uber Eats won’t put it in one number →
Uber Eats collects a commission from the restaurant — which the restaurant recovers by raising its in-app menu prices — and then collects a delivery fee and a service fee from the customer. The same diner pays for both. Only one of the two is disclosed.
SWAD Indian Restaurant, Polanco: a case study. USA Times compared every dish on the restaurant’s own published menu with the prices on its Uber Eats storefront, captured on 14 July 2026. The markup will differ from restaurant to restaurant. The structure will not.

Order the butter chicken at Swad Indian Restaurant on Alejandro Dumas 125, in Mexico City’s Polanco district, and the printed menu asks $235 pesos. Order the identical dish through Uber Eats and it costs $345 — a 47 percent premium. The chicken tikka masala is $245 in the dining room and $365 in the app. A plate of four idli is $145 at the table and $240 on your phone, a 65 percent increase.
None of those figures include Uber’s delivery fee. None of them include its service fee. Those are added afterward, at checkout, on top of a price that has already been inflated.
| The delivery fee | You see it. | It pays the courier. |
| The service fee | You see it. | It pays Uber. |
| The markup on the food | You don’t see it. | It also pays Uber. |
The third charge is not listed anywhere. It is built into the price of the dish before you add it to your basket. It exists because Uber takes a commission from the restaurant on every order — and the restaurant raises its in-app prices to cover it. You pay the commission in the food, and you pay Uber again in the fees.
USA Times compared every dish we could match between Swad’s own menu — published as a PDF on the restaurant’s website — and its Uber Eats storefront, captured on July 14. Across 64 items, the average markup was 29.8 percent. The median was 28 percent. Twenty-nine dishes were marked up by 30 percent or more; fifteen by 40 percent or more. A basket containing one of each of the 64 items costs $10,993 in the restaurant and $14,179 on Uber Eats — a difference of $3,186 pesos, or 29 percent, before any fee is charged at all.
That number, 29.8 percent, is not random. It is almost precisely what Uber Eats charges the restaurant.

Uber Eats does not take a flat fee from restaurants in Mexico. It takes a percentage of every order. According to industry accounting of the platform’s Mexican pricing tiers, that commission runs roughly 25 to 30 percent of the order subtotal: about 25 percent on the entry-level “Lite” plan, about 27 percent on “Plus,” and 30 percent or more on the top tier, which buys greater visibility in the app. Uber additionally withholds 16 percent IVA on the commission, and some plans oblige the merchant to spend a further 4 to 5 percent of sales on in-app advertising.
A restaurant on those terms has a simple problem. If it lists the butter chicken at $235 on Uber Eats, the same price it charges at the table, roughly a quarter to a third of that disappears to the platform. The kitchen, the cook, the ingredients and the rent do not become cheaper because the order arrived through an app. The restaurant is not trying to profit from the delivery customer; it is trying to end up with the same amount of money it would have made serving that dish in its own dining room.
So it raises the price by approximately what the platform takes. Which is what the data shows: a mean markup of 29.8 percent against a commission of roughly 25 to 30 percent.
The result is that Uber’s commission is not, in any meaningful sense, paid by the restaurant. It is paid by the customer, embedded invisibly in the price of the food.
Here is the part that matters.
Having recovered its commission through the marked-up menu price, Uber then charges the customer again — directly, at checkout, as a delivery fee and a service fee.
Uber’s own help documentation is unusually clear about the distinction. The delivery cost, it explains, is the charge the customer pays for the courier’s service. The commission is separate: it is what the restaurant pays Uber for use of the platform. Two charges. Two different payers, on paper.
In practice there is only one payer. The diner funds the courier through the visible fee, and funds the commission through the invisible one. Swad’s Uber Eats page advertises a MX$0 delivery fee for Uber One members on orders above MX$159 — a promotion whose existence confirms that non-members are paying a delivery fee on top of everything else.
The customer is therefore charged twice for the same intermediation: once in a markup they cannot see and are never told about, and once in a fee they can.
The restaurant needs the butter chicken to earn a certain amount. In its own dining room that number is $235 — enough to cover the cook, the ingredients, the rent, and a margin. It does not particularly care how the customer arrives.
On Uber Eats, Uber takes a quarter to a third of whatever the customer pays. So the restaurant lists the same dish at $345. And once Uber’s cut comes out of that $345, the restaurant is left with roughly what it started with:
| Uber’s cut of the $345 | What the restaurant keeps |
|---|---|
| 25% | $259 |
| 27% | $252 |
| 30% | $241 |
| 32% (30% commission plus the 4–5% of sales some plans require the merchant to spend on in-app advertising) | $235 |
The restaurant is not richer. The customer is $110 poorer. The difference went to Uber — and the customer never saw a line item for it.
Then, at checkout, Uber charged them a delivery fee and a service fee.
This is why the restaurant is not the villain of this story, and why blaming it misses what happened. Swad is not marking up food to profit from delivery customers. It is pricing to arrive at the same number it would have made anyway, because a platform sits between it and the diner taking a third of the bill. The menu price on Uber Eats is not the restaurant’s price. It is the restaurant’s price with Uber’s commission already inside it.
And nothing on the screen says so.
The platform’s likely defense is that it does not set these prices, and that defense is factually correct. Uber does not choose what a restaurant charges in its app; merchants control their own in-app pricing and decide whether it matches their in-store prices.
But Uber is not unaware of what its commission structure produces. The company maintains, and reports to its merchants, a metric named “Menu Markup” — a measurement of precisely the gap this investigation set out to find. Uber measures the difference between a restaurant’s in-store and in-app prices. It has the number. It does not show it to the diner.
Nothing on Swad’s Uber Eats storefront tells a customer that the food is priced roughly 30 percent above what the same kitchen charges a walk-in. There is no disclosure, no asterisk, no comparison. The marked-up price is presented simply as the price.
Two items on Swad’s menu are priced identically in both places. Indian chai is $70 in the restaurant and $70 on Uber Eats. Sharbat is $68 in both. Zero markup, twice.
This is a small thing that forecloses a large excuse. The uplift is not a platform-wide multiplier applied automatically to a menu. It is a set of item-by-item decisions, made deliberately, dish by dish — and the two dishes left alone are the cheap drinks, where a 30 percent increase would be conspicuous.
The pattern is also regressive. The largest percentage markups fall on the cheapest items — the bread, the papad, the salad — where a diner is least likely to scrutinize a twenty-peso difference, and where the percentage is largest. A tandoori roti costs $45 at the table and $68 in the app, a 51 percent increase on a piece of bread.
This is not a story about a restaurant gouging its customers. Swad’s markup tracks its costs almost exactly; strip out Uber’s commission and the delivery price and the dining-room price converge.
It is a story about who actually pays for a business model. Uber Eats presents itself to diners as a courier service that charges a delivery fee. In reality it collects from the restaurant a share of the food itself, large enough that the restaurant must raise the food price to survive — and then collects a fee from the same customer for the delivery. Both charges land on the same person. Only one of them is disclosed.
Across the 64 dishes that appear on both menus, the distribution is not scattered. It clusters tightly around the commission Uber charges the restaurant.
| Measure | Markup on Uber Eats |
|---|---|
| Dishes compared | 64 |
| Mean (average) markup | 29.8% |
| Median markup | 28.0% |
| Mode (most common markup) | 26% — the single most frequent value, on 7 dishes |
| Standard deviation | 14.0 points |
| Interquartile range (Q1–Q3) | 20.5% – 37.5% |
| Lowest markup | 0% (Indian chai; Sharbat) |
| Highest markup | 65.5% (Idli, 4 pieces) |
| Mean price increase per dish | $50 pesos |
| Median price increase per dish | $50 pesos |
| Basket of all 64 dishes, in restaurant | $10,993 |
| Basket of all 64 dishes, on Uber Eats | $14,179 (+29%) |
The mean, the median and the mode all land between 26 and 30 percent — and Uber’s commission on Mexican restaurants runs roughly 25 to 30 percent. Three separate measures of central tendency, converging on the platform’s own take. That is what a cost being passed through looks like in data.
The spread confirms it. More than a third of the dishes (34 percent) sit in a narrow band between 25 and 35 percent — almost exactly the commission — and more than half fall between 20 and 40 percent.
| Markup band | Dishes | Share of menu |
|---|---|---|
| 0% (no markup) | 2 | 3% |
| 1–15% | 5 | 8% |
| 15–25% | 15 | 23% |
| 25–35% (Uber’s commission band) | 22 | 34% |
| 35–50% | 13 | 20% |
| 50% or more | 7 | 11% |
Every dish we could match between the two menus, ranked by markup. Prices in Mexican pesos, captured 14 July 2026. These figures exclude Uber’s delivery and service fees, which are charged on top.
| Dish | Section | Restaurant menu | Uber Eats | Difference | Markup |
|---|---|---|---|---|---|
| Idli (4) | South Indian | $145 | $240 | +$95 | +66% |
| Papad Roasted (2 pc) | Starter | $55 | $90 | +$35 | +64% |
| Fish Pakora | Starter | $180 | $275 | +$95 | +53% |
| Onion Cucumber Tomato Salad | Salad | $115 | $175 | +$60 | +52% |
| Veg Kofta Curry | Veg curry | $175 | $265 | +$90 | +51% |
| Chana Masala | Veg curry | $175 | $265 | +$90 | +51% |
| Tandoori Roti | Bread | $45 | $68 | +$23 | +51% |
| Chicken Tikka Masala | Chicken curry | $245 | $365 | +$120 | +49% |
| Butter Chicken | Chicken curry | $235 | $345 | +$110 | +47% |
| Chicken Fried Rice | Rice | $195 | $285 | +$90 | +46% |
| Arroz Blanco | Rice | $120 | $175 | +$55 | +46% |
| Chole Bhature | North Indian | $220 | $320 | +$100 | +45% |
| Dosa | South Indian | $195 | $280 | +$85 | +44% |
| Butter Naan | Bread | $50 | $70 | +$20 | +40% |
| Aalu Gobi | Veg curry | $175 | $245 | +$70 | +40% |
| Samosa | Starter | $120 | $165 | +$45 | +38% |
| Aalu Puri | North Indian | $200 | $275 | +$75 | +38% |
| Jeera Rice | Rice | $135 | $185 | +$50 | +37% |
| Garlic Naan | Bread | $55 | $75 | +$20 | +36% |
| Masala Dosa | South Indian | $220 | $300 | +$80 | +36% |
| Dal Makhani | Dal | $210 | $280 | +$70 | +33% |
| Mix Paratha | Bread | $60 | $80 | +$20 | +33% |
| Aalu Paratha | Bread | $55 | $73 | +$18 | +33% |
| Golden Fried Prawns | Chinese | $215 | $285 | +$70 | +33% |
| Raita | Salad | $125 | $165 | +$40 | +32% |
| Paneer Tikka Masala | North Indian | $225 | $295 | +$70 | +31% |
| Paneer Butter Masala | North Indian | $210 | $275 | +$65 | +31% |
| Chicken Chilli Dry | Chinese | $245 | $320 | +$75 | +31% |
| Mutton Biryani | Biryani | $280 | $365 | +$85 | +30% |
| Dal Palak | Dal | $185 | $240 | +$55 | +30% |
| Saag Mutton | Chicken curry | $240 | $310 | +$70 | +29% |
| Dal Tadka | Dal | $195 | $250 | +$55 | +28% |
| Gol Gappe (8 pc) | Chaat | $180 | $230 | +$50 | +28% |
| Sweet Lassi | Drink | $55 | $70 | +$15 | +27% |
| Salted Lassi | Drink | $55 | $70 | +$15 | +27% |
| Onion Rings Salad | Salad | $95 | $120 | +$25 | +26% |
| Palak Paneer | Veg curry | $210 | $265 | +$55 | +26% |
| Aalu Jeera | Veg curry | $135 | $170 | +$35 | +26% |
| Baingan Bharta | North Indian | $175 | $220 | +$45 | +26% |
| Dal Fry | Dal | $195 | $245 | +$50 | +26% |
| Onion Uttapam | South Indian | $195 | $245 | +$50 | +26% |
| Kadai Paneer | Veg curry | $235 | $295 | +$60 | +26% |
| Kheer | Dessert | $125 | $155 | +$30 | +24% |
| Kadai Chicken | Chicken curry | $215 | $265 | +$50 | +23% |
| Chicken Malai Tikka | Tandoor | $260 | $320 | +$60 | +23% |
| Lemon Rice | Rice | $180 | $220 | +$40 | +22% |
| Chicken Tikka | Tandoor | $240 | $290 | +$50 | +21% |
| Papdi Chaat | Chaat | $195 | $235 | +$40 | +21% |
| Chicken Saag | Chicken curry | $220 | $265 | +$45 | +20% |
| Aalu Matar | Veg curry | $185 | $220 | +$35 | +19% |
| Mutton Rogan Josh | Chicken curry | $320 | $375 | +$55 | +17% |
| Tandoori Chicken (Full) | Tandoor | $360 | $420 | +$60 | +17% |
| Strawberry Lassi | Drink | $60 | $70 | +$10 | +17% |
| Mix Veg Uttapam | South Indian | $210 | $245 | +$35 | +17% |
| Veg Fried Rice w/ Prawn Curry | Chicken curry | $310 | $360 | +$50 | +16% |
| Paneer Kulcha | Bread | $65 | $75 | +$10 | +15% |
| Mango Lassi | Drink | $65 | $75 | +$10 | +15% |
| Mushroom Chilli Dry | Chinese | $195 | $220 | +$25 | +13% |
| Samosa Chaat | Chaat | $175 | $195 | +$20 | +11% |
| Dhai Puri (8) | Chaat | $200 | $220 | +$20 | +10% |
| Sev Puri | Chaat | $200 | $220 | +$20 | +10% |
| Paneer Chilli Dry | Chinese | $245 | $265 | +$20 | +8% |
| Indian Chai | Drink | $70 | $70 | +$0 | +0% |
| Sharbat | Drink | $68 | $68 | +$0 | +0% |
| TOTAL (64 dishes) | $10,993 | $14,179 | +$3,186 | +29% |
Prices were taken from Swad Indian Restaurant’s own menu, published as a PDF on swad-restaurant.com, and from the restaurant’s Uber Eats storefront in delivery mode, both captured on 14 July 2026. Only dishes appearing on both menus with matching descriptions were compared; combination plates, which bundle rice, a drink and a dessert, were excluded because they are not like-for-like. All prices are in Mexican pesos.
Two limits should be stated plainly. Swad’s storefront was closed at the time of capture, so we could not reach checkout to record the exact delivery and service fees applied to a live order; those fees are charged, but we do not report their precise size. And this is one restaurant. A single case cannot establish a citywide pattern.
That is the point of what follows. USA Times is now conducting the same item-by-item audit across 100 Mexico City restaurants. We will publish the full dataset.
Uber was contacted for comment before publication.
Do you run a restaurant on a delivery platform, or have you noticed a gap between app and in-store prices? Write to achir@usatimes.com.
This report is part of a USA Times series auditing food-delivery pricing. Prices were collected by USA Times on the date noted, compared item by item against the restaurant’s own current menu, and reviewed by an editor before publication.
BUSINESSSurveillance Pricing, Explained: When the Price Is Built Around YouJul 16, 2026
BUSINESSAt F&F Pizzeria, Carroll Gardens’ Court Street Slice Shop, DoorDash Charges the Same Price as Ordering Direct — and the Kitchen Still Eats the CommissionJul 16, 2026
BUSINESSAt Song ’E Napule, the West Village Neapolitan Favorite, Uber Eats Runs Higher Than the Pizzeria’s Own Menu — Up to 39% on the Panuozzi, Yet the Kitchen Still Nets LessJul 16, 2026
BUSINESSAt Paulie Gee’s Slice Shop, the Greenpoint Slice Shop, Uber Eats Charges the Same as Ordering Direct — One Pie Even Cheaper — and the Kitchen Eats the CommissionJul 16, 2026