This article was featured in One Great Story, New York’s reading recommendation newsletter. Sign up here to get it nightly.
The most important social-media food genre of the past decade is photos of avocado toast, bright and colorful and clean. But innovation is relentless, and the high-contrast gaze has been pushed off the timeline by videos like the 35-second review of the Odeon that was posted in the fall by the VIP List, an influencer account (with 480,000 followers across TikTok and Instagram) run by Audrey Jongens and Maeghan Radice. The duo offer scathing takedowns of restaurants they deem to have “peasant” vibes: “This is arguably the most iconic restaurant in New York, and it’s giving nothing but mid!” the voice-over declares as a disembodied hand stretches a layer of molten Gruyère on a tureen of French onion soup. “The kale Caesar was giving low-budget … and the lobster rolls were serving major tuna-salad energy.”
The highest compliment that Jongens and Radice can award any dish is that “it fucks” (an appetizer of warm pull-apart pretzels at Manhatta in the Financial District recently received this important distinction), and a glowing review from a high-follower channel like the VIP List is increasingly more valuable to restaurants than traditional accolades, able to drive customer traffic more immediately while sustaining buzz for months. Restaurateurs are not oblivious to the fact that social-media — TikTok especially but also Instagram Reels and even YouTube — is an essential restaurant-discovery tool for young diners, and they have started to adopt (or build) their businesses to lure in a new breed of critic who is happy to play the role of ad hoc publicist if it means free food or, in some cases, thousands of dollars in cash. As this new economy has emerged, so too has a set of best practices, ideas, and even ingredients that are optimized to satisfy, above all else, the ever-evolving demands of the FYP algorithm.
“Every few days, we get DMs or emails from influencers asking to ‘collab’ — that’s always the word they use,” says Patricia Howard, co-owner of the popular restaurants Dame and Lord’s. “They usually list their number of followers and always ask for a free meal in exchange for posting.” Everything is organized into tiers, with the asks escalating alongside the potential for exposure: “Stories require this much, a feed post is that much, and a Reel is always the most.” Howard rejects these solicitations outright (“It’s really offensive to contact a small restaurant and say that you’re trying to help by asking for a free meal,” she says), but other chefs see value in cooperating.
Joe Isidori is the chef and owner of Arthur & Sons, a meatballs-and-macaroni Italian spot that opened in the West Village last year. He is also an engagement guru, having previously invented the candy-loaded milkshakes at Black Tap Burgers that became a defining beverage of the 2010s Instagram era. “I kind of cracked the code nine years ago,” he says. He’s since left Black Tap and traded burgers for burrata, but he hasn’t lost his deft digital touch, developing an informal partnership — he calls it a “bromance,” and no money is exchanged — with Jack Goldburg, the 24-year-old star of Jack’s Dining Room (261,000 followers), who launched his account last year, partly in an effort to procure free meals. Together, Isidori and Goldburg take a shameless, boisterous approach to chasing views. “I’ve heard all the hype that Arthur & Sons is better than Carbone, so I had to see for myself, but no one told me the owner, Joe, is the fucking man,” Goldburg effuses in one video, as Isidori feeds him a heaping forkful of cheese-drenched tomatoes followed by a plate of shiny Marsala overflowing with sliced mushrooms. The camera zooms in on Goldburg’s bug-eyed, orgasmic expression as a strand of cheese stretches from a mozzarella stick to his mouth. “Let me just say this: The spicy rigatoni blew Carbone out of the stratosphere, the cheesy mozz bites were ridiculous, these homemade balls had me dancing, and the truffle-cream pasta was the knockout punch.”
Goldburg’s video got 1.5 million views and led to a huge spike in reservations, Isidori says. Spurred on by the success, Goldburg next suggested Isidori host an influencer party. They invited as many TikTokers as they could; several dozen showed up. All the food was free, and everyone filmed. “It was like, Food’s on the table; we’re shaving cheese on top of it,” Isidori recalls. “Everyone’s drinking wine, the music’s playing — Let the cameras roll.”
Compared to traditional publicity, the cost of comping a meal is relatively low, though influencers with more than a million followers often want cash, too. To Goldburg, even these rates are justified: “For some restaurants, it would be stupid for them to not pay $10,000 for the day,” he says. “I know that sounds high — but you’re genuinely getting a million-plus views.” How does he quantify this? “Dozens of restaurants have shared case studies with us detailing the before-and-after impact of our videos,” he claims.
For a more formal arrangement, restaurant owners can turn to an agency like Mustard, which specializes in connecting businesses with influencers. Mustard offers its clients a variety of packages, starting with the $300 “Fomo Promo,” for which the company will send three influencers a month to post about a given restaurant, promising the resulting videos will reach nearly 40,000 users. (The most expensive package, “Champagne Campaign,” costs $1,000 per month with a reach of more than 100,000.) Smyth Tavern in Tribeca and José Andrés’s Hudson Yards food hall Mercado Little Spain are among the “trending” restaurants on Mustard’s site.
According to Mustard’s co-founder Diana Might, her company can also offer advice on building relationships with influencers. “We try to explain that these people see it as a job,” she says. “You know, they maybe got some free food, but they’re also doing the work, putting out those videos. It’s important to break down those concepts and explain them to restaurants.” Might can help mitigate issues that come up when influencers are eating on the clock, like the question of whether they should tip (some do, some don’t).
Another common issue is how to handle the disruptive LED flashlights needed to shoot video in dark dining rooms. Morgan Raum, an influencer who posts as Tooomuchfoood (260,000 followers), remembers a night at Bad Roman when she was seated next to a couple who didn’t appreciate her lights. “I said, ‘I’m so sorry. I’m not trying to bother you. I’m just doing my job, ” she recalls. “I explained, ‘I’m allowed to do it. I was invited here.’” Raum says a manager agreed. “He was like, ‘You’re allowed to film. Even if you weren’t an influencer, you’re allowed to film. We welcome everyone.’” The couple was “so pissed that they got up and left.”
Some restaurants have instituted lighting bans — “Today I identify as a peasant because I couldn’t use a flash at Delilah,” the VIP List lamented in one recent video — but social-media users want to see the gory details of food while it’s being eaten, and anything is better than blurry Yelp photos. More than that, they want to see places where it’s impossible for them, personally, to go: When the VIP List reviewed Arthur & Sons, the video earned a respectable 185,000 views. A video about Carbone soared to 4.4 million.
Fried mozzarella from Arthur & Sons.
Photo: Hugo Yu
“The most successful tactic is always scarcity,” says influencer Audrey Peters (782,000 followers). Madison Shapiro, one member of Sistersnacking (494,000 followers), points to Bohemian, a “referral only” Japanese steakhouse that recently closed but for a time required guests to receive an endorsement from an existing member or submit in writing why they should be allowed to dine there (it lost “allure and buzz” after relaxing this rule during the pandemic, Shapiro says), and the Office of Mr. Moto, a “sushi speakeasy” decorated with a 19th-century nautical theme that asks guests to type in a pass code to gain access. The influencer Kit Keenan (578,000 followers) prefers 4 Charles Prime Rib, “a very New York, dark, hard-to-get-into, can’t-get-a-reservation type place — those are the spots that do the best on social media.”
Wherever the influencers land, once they are in a dining room, they’ll need something to record. The more action that can happen in front of them, the better. “It’s part of the reason why a lot of restaurants are embracing, like, Caesar salad that’s made tableside,” says Alex Delany, a former Bon Appétit editor who is now a food-and-beverage consultant (with 280,000 followers on Instagram). “They’re going to do something that’s maybe an extra step, logistically, but it generates some kind of potentially viral action.”
At 4 Charles, it is the burger, which can be split among two diners after it’s ordered. A waiter will wheel it over on a cart to carve at the table, first cutting a pickle spear in half before moving onto the burger itself: In one video that’s been viewed 3 million times on TikTok, a white-gloved server lifts a quivering fried egg high into the air before knifing it open and dripping the liquid yolk down onto the patty from several feet up.
That burger raises another crucial point: The food can’t just sit there. It must be as performative as the staff, if not more so. Nothing hooks a viewer more than items that melt and drip and stretch. “Anything cheesy is always good, because there’s some kind of action item,” says Raum. It could be syrup ladled over a dessert, rare steaks dribbling blood and hemoglobin, or strands of melted mozzarella distended between halves of a saucy meatball sub.
Increasingly, chefs design food specifically to generate these moments. “It’s very evident when you look at a menu and someone in the kitchen has said, like, ‘Yo, what’s our viral dish?’” Delany says. At Bad Roman — the first name anyone mentions when asked about restaurants designed specifically for TikTok — that dish is filet mignon topped with a single oversize “cacio e pepe raviolo,” which is essentially a sauce–filled pasta balloon, the contents of which explode across the steak as everything is sliced open.
“Cacio e pepe is really big right now,” says Delany. “Leaning into nostalgic foods with a little touch of luxury is the formula.” At Dr Clark on Bayard Street (another restaurant featured on Mustard’s site), that means French fries drenched in “housemade uni cream sauce.” The Nines and Caviar Kaspia both load caviar onto baked potatoes, and Centurion New York — a supper club opened specifically for AmEx-black-card holders with a menu by Daniel Boulud (and a “strict ‘no peasant’ policy,” per the VIP List) — might pile some osetra onto off-menu waffle bites.
Still, the title for algorithmic opulence goes to Mollusca, a new seafood restaurant in the Meatpacking District that sells an $89 serving of Wagyu tataki with uni, truffle, and caviar that is then topped with truffle aïoli and 24-karat gold leaf. The same restaurant offers moules-frites with 35 different choices of garnish, including a $42 option that’s covered in chocolate, bananas, and M&Ms.
“It’s all about creating very intentional visual flourishes,” says Kristen Barnett, the founder of Hungry House, a ghost-kitchen company that works with influencer chefs, “either through service methodology or the interior itself, like a fountain and some kind of unveiling as you walk around the corner.”
Above all, the goal is excess; the most unforgivable social-media sin for any restaurant is to project an image of austerity (“It’s giving peasant!”). The chef Eyal Shani knows how to generate this particular energy. His HaSalon restaurants serve 12-foot-long noodles and encourage diners to dance on their tables, waving white napkins over their heads while disco blares from speakers. “Thirty years ago, it was about the content” of a dish or an idea, says Shani, who runs 40 restaurants around the world and has seen trends ebb and flow over the decades. “People tried to understand the structure of your creation.” Today, it’s much more visual: “It’s very flat — it’s not about going into depth.”
`;
// integrate Sub(x) scripts and elements
if (hostname !== 'subs.nymag.com') { // do not integrate on this subdomain
document.head.appendChild(trackingScript);
document.body.insertAdjacentHTML('beforeend', subXAnimationElements);
}
There was an error processing the request. Please try again later."}).catch(e=>console.error("Error verifying email: ",e)))(r.querySelector(".content"),o.bannerCTAVerification)})):(l.remove(),s.remove()),o.dismissable||n.remove(),o.useAlertIcon||a.remove(),r.classList.add("show"),n.addEventListener("click",()=>{u(),r.classList.remove("show")})}else r.remove()}});
}, {"1":1,"6":6,"12":12,"35":35,"40":40}];
window.modules["global-nav.client"] = [function(require,module,exports){"use strict";const dom=require(4),auth=require(12),signInButton=dom.find(".user-signin"),signOutButton=dom.find(".user-signout"),globalNav=dom.find('[class^="global-nav"]'),body=dom.find("body"),dropdownItems=dom.findAll(".dropdown-wrap"),gtm=require(1),appendLandingPageParams=require(135),pageUri=require(124).getPageUri(),subscriptionPromoLinks=dom.findAll(".persist-params"),searchString=window.location.search||"";function closeDropdowns(e){let n=globalNav.querySelectorAll(".dropdown.open");dropdownItems.forEach(function(t){let o=t.querySelector(".dropdown");!n||t.contains(e.target)&&27!==e.keyCode||o.classList.remove("open")})}function gtmSendReport(e,n,t){let o={eventCategory:"ecommerce",eventAction:"componentClick",brand:e,dimension23:"global-nav",list:pageUri,pageZone:"header",variant:"nav-link"};"global-nav-link"===t&&(o.eventLabel=n.href),gtm.reportNow(o)}function updateElementTargetUrlsIfQueryStrings(e){if(searchString){const n=new URLSearchParams(searchString);let t=e.href;if(t.includes("?")){const o=t.split("?"),i=new URLSearchParams(o[1]);for(let e of n.entries())i.set(e[0],e[1]);t=`${o[0]}?${i.toString()}`,e.href=t}else e.href=`${t}?${n.toString()}`}}function init(e){const n=e.querySelectorAll(".to-landing-page");window.addEventListener("auth:init",()=>{signInButton.addEventListener("click",function(e){e.preventDefault(),auth.showEmbeddedLoginFlow("top navigation")}),signOutButton.addEventListener("click",function(e){e.preventDefault(),gtmSendReport("Sign Out",e.target,"user-info-link"),auth.logout()}),auth.isAuthenticated()&&e.classList.add("signed-in"),auth.isSubscriber()&&e.classList.add("subscribed"),e.querySelectorAll(".user-link").forEach(e=>{e.classList.add("active")}),subscriptionPromoLinks.forEach(e=>{updateElementTargetUrlsIfQueryStrings(e)}),appendLandingPageParams(n)})}dropdownItems.forEach(function(e){e.addEventListener("click",function(){e.querySelector(".dropdown").classList.toggle("open")})}),body.addEventListener("click",closeDropdowns),document.addEventListener("keydown",closeDropdowns),globalNav.addEventListener("click",function(e){let n=e.target;n.classList.contains("global-nav-track")&>mSendReport(n.text,n,"global-nav-link")}),module.exports=init;
}, {"1":1,"4":4,"12":12,"124":124,"135":135}];
window.modules["aaa-module-mounting.legacy"] = [function(require,module,exports){"use strict";const _pickBy=require(221),_each=require(406),Fingerprint2=require(408),DS=require(407),Eventify=require(246);function registerGlobals(){window.DS=DS,window.Eventify=Eventify,window.Fingerprint2=Fingerprint2,DS.value("Eventify",Eventify),DS.value("Fingerprint2",Fingerprint2),DS.value("$document",window.document),DS.value("$window",window)}function mountDollarSliceComponents(){DS.service("components",["$document","$module",function(e,n){var o=_pickBy(n.definitions,e=>e.providerStrategy===n.providers.controller),r=Object.keys(o);function t(e){return o=>{try{n.get(e,o)}catch(e){logMountError(o,e)}}}_each(r,n=>{var o=e.querySelectorAll('[data-uri*="/_components/'+n+'/"]'),r=e.querySelectorAll('[data-uri$="/_components/'+n+'"]');_each(o,t(n)),_each(r,t(n))}),this.components=r}]),DS.get("components")}function logMountError(e,n){const o=e.outerHTML.slice(0,e.outerHTML.indexOf(e.innerHTML));console.error("Error attaching controller to "+o,n)}registerGlobals(),"loading"===document.readyState?document.addEventListener("DOMContentLoaded",()=>{mountDollarSliceComponents()}):mountDollarSliceComponents();
}, {"221":221,"246":246,"406":406,"407":407,"408":408}];
window.modules["ads.legacy"] = [function(require,module,exports){"use strict";const _map=require(118),_forEach=require(107),_isString=require(268),_intersectionWith=require(409),_isEqual=require(274),_each=require(406),_debounce=require(182),_sortBy=require(205),page=require(124),visit=require(114);DS.service("adService",["Eventify","$cid","$document","$window",function(e,t,a,i){var o,n,s,r,d,c,u,l,g={},p=this,h=[],f=visit.getQueryParamsObject(["utm_campaign"]),m=document.querySelector('script[data-type="ad-a9"]'),b=[],w=!1,v=[],y=document.querySelector('script[data-name="ad-doubleverify"]');document.querySelector('script[data-name="concert-ads"]')||(i.NYM={},i.NYM.analytics={},i.NYM.analytics.adStartTime=i.performance.now(),i.googletag=i.googletag||{},i.googletag.cmd=i.googletag.cmd||[],u=i.googletag,(m||y)&&(i.googletag.cmd=i.googletag.cmd||[],i.googletag.cmd.push(function(){i.googletag.pubads().disableInitialLoad()})),m&&(l=i.setInterval(function(){void 0!==window.apstag&&void 0!==window.apstag.timeout&&(i.clearInterval(l),window.apstag.cleared=!0,l=null)},10),setTimeout(function(){l&&(i.clearInterval(l),i.googletag.pubads().refresh(),window.apstag||console.log("MESSAGE: Timeout for A9 load exceeded, aborting"))},500)),y&&(b.push(new Promise(function(e){w?e():v.push(e)})),c=i.setTimeout(T,2500)),o=function(e){var t,a,o=e.data,n=[];return o.loaded?e:(o.loaded=!0,t=null,(t=o.sizes?u.defineSlot(o.name,o.sizes,o.id).addService(u.pubads()):u.defineOutOfPageSlot(o.name,o.id).addService(u.pubads())).setTargeting("adid",o.id),f.hasOwnProperty("utm_campaign")&&t.setTargeting("utmcamp",f.utm_campaign),a=p.getAdCount(o.label),t.setTargeting("label",o.label+"_"+o.site+"-"+a),u.display(o.id),u.pubads().addEventListener("slotOnload",function(){i.NYM.analytics.firstAdLoadTime||(i.NYM.analytics.firstAdLoadTime=i.performance.now(),i.NYM.analytics.firstAdLoadLabel=e.data.label)}),n=_(o),Promise.all(b).then(function(){n?window.apstag&&window.apstag.cleared?window.apstag.fetchBids({slots:[n],timeout:window.apstag.timeout},function(){u.cmd.push(function(){window.apstag.setDisplayBids(),u.pubads().refresh([t],{changeCorrelator:!1})})}):y&&u.pubads().refresh([t],{changeCorrelator:!1}):u.pubads().refresh([t],{changeCorrelator:!1})}),e.slot=t,e)},n=function(e){var a,i,o,n=t(),s=e.getAttribute("data-name"),r=e.getAttribute("data-sizes"),d=e.getAttribute("data-label"),c=e.getAttribute("data-site");n=e.id,r&&r.length?(r=r.split(","),a=[],_map(r,function(e){e=e.split("x"),i=parseInt(e[0]),o=parseInt(e[1]),a.push([i,o])})):(e.classList.add("oop"),a=!1),this.data={id:n,name:s,sizes:a,loaded:!1,label:d,site:c},g[n]=this},r=function(e){u.cmd.push(function(){var t=o(e);g[e.data.id]=t})},s=function(e){var t=[];e.slot?(t=_(e))&&window.apstag&&window.apstag.cleared&&window.apstag.fetchBids({slots:[t],timeout:window.apstag.timeout},function(){u.cmd.push(function(){window.apstag.setDisplayBids(),u.pubads().refresh([e.slot],{changeCorrelator:!1})})}):e&&r(e)},u.cmd.push(function(){var e,t,o,n=page.getMeta("article:tag"),s=page.getMeta("author"),r=i.location.href,d=(e=a.head.querySelector(".head-gtm"),t=a.body.querySelector(".gtm"),e&&"top"===e.getAttribute("data-gtm")?"gtmtop":t&&"bottom"===t.getAttribute("data-gtm")?"gtmbottom":"");o=[],_forEach([n,s,d],function(e){_forEach(e.split(","),function(e){(e=e.trim().toLowerCase().replace(/\s/g,"-").replace(/\'|\’/g,"")).length&&o.push(e)})}),u.pubads().setTargeting("kw",o),u.pubads().setTargeting("entry_group",o),r=r.slice(r.lastIndexOf("/")+1),u.pubads().setTargeting("pn",r),u.companionAds().setRefreshUnfilledSlots(!0),u.pubads().enableAsyncRendering(),u.enableServices()}),this.load=r,this.create=function(e){return new n(e)},this.refresh=function(e){var t;_isString(e)?(t=this.getById(e),s(t)):s(e)},this.remove=function(e){var t=e.data.id;a.getElementById(t).innerHTML=""},this.getAdCount=function(e){var t,a=0,i=Object.keys(g);return _each(i,function(i){(t=g[i]).data.loaded&&t.data.label===e&&a++}),a},this.getById=function(e){return g[e]},d=_debounce(function(){var e={TopLeaderboard:1,RightColTopMPU:2,outOfPage:99,"homepageTakeover/TopLeaderboard":1},t=_sortBy(h,function(t){return e[t.data.label]||10});_forEach(t,function(e){return e.data.sizes?r(e):i.setTimeout(function(){r(e)},2e3)}),y&&window.PQ.cmd.push(()=>{try{window.PQ.loadSignals(["ids","bsc","vlp"],T)}catch(e){T(),console.error(`There has been an error loading Double Verify signals: ${e}`)}}),h=[]},10),this.addToPageLoadQueue=function(e){h.push(e),d()});function _(e){var t,a=e.sizes;return a=_intersectionWith(a,[[970,250],[970,90],[728,90],[300,600],[300,250],[320,100],[320,50]],_isEqual),e.sizes&&e.sizes.length&&(t={slotID:e.id,sizes:a,slotName:e.label}),t}function T(){i.clearTimeout(c),w=!0,_forEach(v,function(e){e()})}}]);
}, {"107":107,"114":114,"118":118,"124":124,"182":182,"205":205,"268":268,"274":274,"406":406,"409":409}];
window.modules["cid.legacy"] = [function(require,module,exports){"use strict";DS.service("$cid",function(){var r=Math.floor(100*Math.random());return function(){return"cid-"+ ++r}});
}, {}];
window.modules["client.legacy"] = [function(require,module,exports){"use strict";require("cid.legacy"),require("ads.legacy"),require("facebook.legacy"),require("aaa-module-mounting.legacy");
}, {"cid.legacy":"cid.legacy","ads.legacy":"ads.legacy","facebook.legacy":"facebook.legacy","aaa-module-mounting.legacy":"aaa-module-mounting.legacy"}];
window.modules["facebook.legacy"] = [function(require,module,exports){"use strict";DS.service("facebook",[function(){this.fb=function(i){window.FB&&window.FB[i].apply(this,Array.prototype.slice.call(arguments,1))}}]);
}, {}];
require=(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o typeof key === 'string' && key.match(/\.legacy$/)).forEach(key => window.require(key));
}
function tryToMount(fn, el, name) {
try {
fn(el); // init the controller
} catch (e) {
const elementTag = el.outerHTML.slice(0, el.outerHTML.indexOf(el.innerHTML));
console.error(`Error initializing controller for "${name}" on "${elementTag}"`, e);
}
}
/**
* mount client.js component controllers
*/
function mountComponentModules() {
Object.keys(window.modules).filter(key => typeof key === 'string' && key.match(/\.client$/)).forEach(key => {
let controllerFn = window.require(key);
if (typeof controllerFn === 'function') {
const name = key.replace('.client', ''),
instancesSelector = `[data-uri*="_components/${name}/"]`,
defaultSelector = `[data-uri$="_components${name}"]`,
instances = document.querySelectorAll(instancesSelector),
defaults = document.querySelectorAll(defaultSelector);
for (let el of instances) {
tryToMount(controllerFn, el, name);
}
for (let el of defaults) {
tryToMount(controllerFn, el, name);
}
}
});
}
// Make sure that a `window.process.env.NODE_ENV` is available in the client for any dependencies,
// services, or components that could require it
// note: the `` value is swapped for the actual environment variable in /lib/cmd/compile/scripts.js
window.process = window.process || {};
window.process.env = window.process.env || {};
if (!window.process.env.NODE_ENV) {
window.process.env.NODE_ENV = '';
}
// note: legacy controllers that require legacy services (e.g. dollar-slice) must
// wait for DOMContentLoaded to initialize themselves, as the files themselves must be mounted first
mountLegacyServices();
mountComponentModules();
// ]]