July 29th, 2024

After 10 Years, Yelp Gave My App 4 Days

David Kopec has removed his macOS app, Restaurants, after a decade due to unexpected changes in Yelp's API licensing, which threatened access to essential data for the app's functionality.

Read original articleLink Icon
FrustrationDisappointmentAnger
After 10 Years, Yelp Gave My App 4 Days

David Kopec has removed his macOS app, Restaurants, from sale after a decade due to changes in Yelp's API licensing. Initially developed in 2014 using the Yelp API, Restaurants served as a dedicated client for searching restaurants on Mac, integrating various macOS features and driving traffic to Yelp's website. Despite moderate success, Yelp's recent email indicated that Kopec's API usage was higher than other developers, requiring him to complete a licensing agreement within four days or risk having his API key disabled. This sudden demand for a paid license was unexpected, as Kopec had previously received permission to use the API and had not been informed of any changes to Yelp's API model.

Faced with the threat of losing access to Yelp data, Kopec decided to remove the app from the Mac App Store to prevent users from purchasing a product that would soon become non-functional. He expressed disappointment over the abrupt communication and the impact on his users, many of whom had recently purchased the app. Kopec reflected on the challenges of relying on third-party APIs, emphasizing the need for developers to ensure stable partnerships. He also noted the difficulties of maintaining a sustainable business model for apps that depend on ongoing access to external services, particularly when users expect long-term access for a one-time purchase.

Related

Leaking URLs to the Clown

Leaking URLs to the Clown

The author describes leaking URLs during Mac app testing, with a unique URL receiving requests from a random "cloud" service every three hours. This raises privacy concerns and highlights potential risks for users.

Man makes money buying his own pizza on DoorDash app

Man makes money buying his own pizza on DoorDash app

A US pizza restaurant owner discovered DoorDash selling his pizzas at lower prices without permission. DoorDash conducted a trial without informing owners, sparking scrutiny over its business practices and CEO's controversial remarks.

3M iOS and macOS apps were exposed to potent supply-chain attacks

3M iOS and macOS apps were exposed to potent supply-chain attacks

Vulnerabilities in CocoaPods server exposed 3 million apps to supply-chain attacks for a decade. Flaws allowed hackers to inject malicious code, compromising sensitive user data. Developers urged to prioritize security measures.

Hey Google, what happened to all the fun?

Hey Google, what happened to all the fun?

An Android app, "Is It Tuesday?" created in 2010, faces removal from Google Play Store due to lacking purpose under new policies. Author explores challenges for developers and values software freedom. Consideration for alternative platforms like Fdroid.

Deluge of Fake Mac App Store Reviews

Deluge of Fake Mac App Store Reviews

A surge of fake customer reviews in the US Mac App Store targeted top paid apps priced between $1.99 and $4.99. Reviews, mostly 5 stars, featured generic text, raising suspicions. The total cost of fake reviews exceeded $1150. Apple's default review sort order potentially hides these fake reviews. Motive remains unclear, with speculation of developer involvement. Apple's lack of curation raises authenticity concerns.

AI: What people are saying
The comments reflect a range of opinions and experiences related to the discontinuation of Yelp's API access for David Kopec's app, Restaurants.
  • Many commenters express frustration with Yelp's handling of API access and the sudden changes in pricing, viewing it as a betrayal of long-term developers.
  • Several users share personal anecdotes of similar experiences with other APIs, emphasizing the risks of relying on third-party services.
  • There is a consensus that businesses should avoid depending solely on a single API or platform to mitigate risks.
  • Some commenters speculate that Yelp's decision may be driven by a desire to monetize data in response to AI training demands.
  • Criticism of Yelp's business practices and customer relations is prevalent, with calls for more transparency and fairness in API access.
Link Icon 69 comments
By @purec - 6 months
I got the same email. Despite my hobby project (a random food picker) having been broken and not used for years (because of yelp API updates), they also told me my usage was higher than other developers...

The email also arrived in my spam folder, so I was lucky to even see it. Once I got back to them they did increase the cutoff by a few days but it has since been stopped.

Their new prices seemed insane to me.

By @WoodenChair - 6 months
Author here. I actually discovered something in their terms of use today while looking up something else that someone had asked me in this thread:

"2. CHANGES Yelp reserves the right to modify the API Agreement at any time. If Yelp reasonably determines that a modification may materially and adversely impact You, Yelp will provide email notice to you using the email address you provided during registration no less than ten (10) days prior to the material adverse modification taking affect. IF YOU DO NOT WISH TO BE BOUND TO ANY NEW OR MODIFIED TERMS, YOU MUST TERMINATE THE API AGREEMENT BY CEASING USE OF THE API WITHIN TEN (10) DAYS OF RECEIPT OF SUCH NOTICE."

So, the 4-days would have violated their original notification terms of use anyway. I think they realized this after the fact of sending all of us the threatening emails and this is why they ultimately closed my API key after 10-days as described in my original post.

Anyway, just an interesting aside that the poorly written, inaccurate original email that I shared in my original post was even inaccurate to their own policies.

By @drra - 6 months
Seen this story play out so many times. I audited a company years ago that claimed to have excellent, personal almost, relationship with Google and all needed paperwork to use their platform as a core of their business. They went bust 6 months after because of "unexpected" change of Google's product strategy.

Real lesson here is to avoid single points of failure, regardless if it's API, people or partners. Ask yourself a question if there's a single entity that can kill your business and remove that reliance.

By @leros - 6 months
I built a service around helping podcasters automatically convert their audio podcast into a YouTube channel. I went through tons of review with Google in order to get access to the YouTube API and make sure everything I was doing was in compliance with their terms - literally months of back and forth. I had been testing in my development and staging environments against their API for 6+ months. I launched in production, got a few videos uploaded to YouTube, and they disabled my API key. I spent months emailing them and never got anything more than the same boilerplate copy/pasted answer. I could have pivoted or something, but I just shut it down and moved on. Lesson learned.
By @altairprime - 6 months
I think Yelp is shutting off their API for the same reason as Reddit: to ensure that AI training makes money for them. It sucks that you’re a drive-by casualty of that, and if I’d bought this app, then - same as Apollo iOS - I would not request a refund.
By @physhster - 6 months
I think the general lack of willingness to help in Big Tech is very problematic. You can almost never get through those thick-skulled reps that email you out of the blue...
By @WoodenChair - 6 months
Author here—seems they noticed that people were unhappy. Just got this email from Yelp (August 1, 2024):

> Earlier this month, we sent you an email about your Yelp Fusion API usage. That email gave developers until July 23rd to contact us if they want to continue using Yelp’s data for use in their app. We realize you might need more time and are extending your free access for an additional 90 days starting today. Your access should be available now.

> We’re sorry for any inconvenience or frustration this abbreviated transition might have caused. Please respond to this email or contact us at api@yelp.com if you have any questions.

By @simonw - 6 months
> First of all, I was not “trialing” the Yelp API. I had been using it for a decade and had official permission from Yelp to create Restaurants.

This looks like a Face/Off situation to me.

(Spoiler alert for a 1997 action movie: in Face/Off a cop surgically exchanges faces with an imprisoned villain in order to go undercover in their organization, but the villain then murders everyone who knew about the swap and steals the cop's life.)

Somebody at Yelp in 2014 knew that you had been approved to build this app. That person almost certainly no longer worked at Yelp ten years later, so the institutional knowledge of that agreement had likely been lost.

By @gukov - 6 months
I’m actually surprised the API access lasted for so long. The person that provisioned it is probably long gone from Yelp. Similarly, the company’s values and priorities have changed as well.

Also, I’m guessing this new API pricing policy is they way of combating data scraping to train AI.

By @openasocket - 6 months
Depending on what kind of approvals they gave him 10 years ago, it MIGHT be possible that doing this violates a contract. It sounds like they had some kind of understanding when they gave him access that he had some sort of informal approval. Even if nothing was signed, that still forms a contract. Even if there was a formal contract or terms of service (TOS) agreement, there are certain restrictions around when and how a company can change their TOS. In particular, there's often requirements about how much advance notice has to be given if the terms of service change.

It sounds like the monetary stakes are pretty small, but depending on the author's desire, it might be worth doing some research and potentially going to small claims court and claiming damages for those customers that requested refunds.

By @guywithahat - 6 months
I would be upset too, but this sort of sounds like someone did him a favor 10 years ago, management changed, and now management wants him to pay. This sucks, but near infinite free api calls sounds unsustainable
By @egberts1 - 6 months
I think Yelp marketing is on an incredible shortsighted and profit-losing path.

I too used the macos App.

Looking forward to Apple Map dumping Yelp, because that combo doesn't work for me and I do not want Yelp cluttering my Apple map.

By @al_borland - 6 months
Was this a move to try and get some profit from AI companies trying to train on their data? With the API providing limited results, I’d think it would be of limited use. I always found Apple’s use of it in Maps frustrating, because seeing POI details basically required I also have Yelp installed.

If this move was AI driven, like with Reddit and others, I’m starting to dislike AI more and more… at least the rent seeking end of it, which seems to be slowing killing the open internet.

By @caesil - 6 months
My son, it is time for you to embrace the good news of our lord and savior web scraping.
By @diceduckmonk - 6 months
We need to move towards “zero trust” for APIs.

SaaS can provide “open core” or better yet simply sell a hosted version of their fully open source code. If the provider fails to provide, you can fall back to self hosting.

The API equivalent would be open sourcing the data. This is the OpenStreetMap model. If the API provider fails to provide, you can fallback to the underlying data.

By @loloquwowndueo - 6 months
If the api was as basic as you say, can you replace it with some screen scraping on yelp’s site?
By @smukherjee19 - 6 months
Sorry to hear how Yelp treated the OP...

Given how many stories of greed and throwing people under the bus for money I hear nowadays, we might already be living in a dystopia.

By @eddieroger - 6 months
> It seemed they were in fact encouraging me to finish the app and release it.

That was quite the assumption. They gave you access to something for free, not encouragement. I do feel bad for OP, but they weren't paying for the API, and should not have had any assumption that it would last forever because there was no contract or terms or anything. This is the risk we take by building our house on someone else's foundation.

By @billylo - 6 months
I am in the same boat, sadly.

I am particularly disappointed by the generic "Your API usage is higher than lots of other Yelp Fusion developers" statement.

My giveback service has a tiny user-base and find it hard to believe my API usage level can be higher than average.

https://try-something-new.web.app was built a couple years ago.

By @annexrichmond - 6 months
If I knew about this app before, I would've definitely bought it! The Yelp site and app are incredibly slow and tedious to use
By @kelnos - 6 months
> if you utilize a third-party API for the core of your app, you are at their whim

More than that, if you aren't paying for use of that third-party API, the people who run it will not care about you, and will think nothing of shutting you down.

I think Yelp handled this poorly, and Restaurants was probably a net positive for their business -- a positive that they were getting for near-zero cost. It's a shame that companies are so short-sighted like this.

But ultimately if you build on top of someone else's platform, with no backups and no alternatives, it's not really truly your app.

By @petterroea - 6 months
Enshittification is at an all time high, and API access is being tightened and monetized in response to many industry factors including "freeloading" AI trainers.

Cory Doctorow is right, if you want to disrupt, or make any improvement to an existing large platform, adversarial interoperability(that is, reverse engineering) is the only way forward and has to be explicitly legalized in cases where it's a tool for progress.

My previous statement is arrogant, as it assumes developers are entitled to take any data they want and profit from it. It also puts services in a situation where harmful crawling like what is performed by some new AI actors with no experience is an expected thing. This is of course wrong, but I want to argue that had Yelp and other actors not wanted such a future, they shouldn't have tightened free access to their proper APIs where they have the ability to set ground rules and have the ability to talk to their users.

Big companies are amazingly bad at keeping track of things internally - a promise in an e-mail is easily forgotten 10 years later. But why should the user be punished for Yelps lack of control?

By @ChrisMarshallNY - 6 months
I'm sorry to read that. Unfortunately, it isn't an uncommon story.

> if you utilize a third-party API for the core of your app, you are at their whim.

That's the money quote, there. I avoid using third-party APIs like the plague. I have written backend aggregators and facias, to avoid having to use the API.

I Just. Will. Not. embed an opaque codeball into my app. I'm a cranky old bastard, I know, but I sleep well at night.

By @xyst - 6 months
yelp had so much potential but they pissed it all away. Google brain raped them [1,2]. Then they never recovered from it.

Then there is ongoing issues between merchants and yelp [3]

Yelp used to be a great place to find some decent place to eat in a new city. But the platform has gotten stale. Reviews are less reliable. Star rating often not useful.

[1] https://www.theguardian.com/technology/2015/mar/20/google-il...

[2] https://techcrunch.com/2015/02/06/google-takes-on-yelp-elite...

[3] https://en.m.wikipedia.org/wiki/Yelp

By @umvi - 6 months
Probably what happened was 1 support rep helped you out but did it through some undocumented backdoor to unblock you and not a formal contract. Later a completely unrelated set of employees are tasked with figuring out who the biggest API users are and to either cut them loose or get them to start paying.
By @isolli - 6 months
This feels important:

> The other thing this taught me is the danger of an up-front paid model for apps that depend on ongoing access to third-party services. If users were continually paying for the app, paying for Yelp’s APIs would not be as much of an issue. And I wouldn’t feel as guilty about the app being discontinued since if the fees were charged on a monthly basis, they would just end at the same time the app ceased to exist instead of facing an expectation upon purchase of “forever access.” On the other hand, how would you charge a monthly fee for an app that people are only willing to spend less than $5 for upfront?

There are apps that I like and would like to purchase, but paying e.g. 24 euros per year feels like too much. So I stick with the free version...

By @mistercow - 6 months
A hard lesson I learned after several times getting burned in my time long ago doing indie stuff is “never depend on a single company without a backup plan”.

Sometimes this can be pretty difficult to even see. If you were a Mac shareware dev depending on VersionTracker and MacUpdate to drive downloads, with no actual marketing budget, you might not have noticed that you were implicitly relying on Apple not creating an App Store which would turn the entire ecosystem upside down.

This is one of the reasons that it’s so tough to make a business work at a small scale. In some ways, you have more flexibility than a big company, but the lack of capital means that certain events that a larger company would shrug off can totally upend everything you’re doing.

By @raverbashing - 6 months
> is that if you utilize a third-party API for the core of your app, you are at their whim.

Well, yes. I think people figured that out more than 10 years ago

And business models can and do change

And by checking the pricing page, Yelp's commercial API is $15 per 1000 API calls per month. Which sounds ok?

By @shawn-butler - 6 months
I have seen many notices like this in the past few months. My guess is anbody of signficant size whose reason for existing includes curating user-generated content is trying to ensure that gen-AI ingestors don’t swallow up their data through unpaid API access or scraping. (Maybe a podcast or article popular with CxO and IT directors on the topic??)

Which they seemingly already have done anyway. Another unintended side-effect of the borderline illegal and generally immoral “AI” companies efforts to get as many data sets as possible.

By @ginko - 6 months
Is Yelp even still relevant these days?

At least where I am in Europe I find it incredibly outdated, showing restaurants that have closed a long long time ago and none of the new ones.

By @krazydad - 6 months
I got the same email regarding my hobby website "The Wheel of Lunch" (https://wheelof.com/lunch). The site makes no money and sends traffic to Yelp. The cheapest plan offered was $230 a month! I can't afford that.

I have stopped calling the Yelp API for local listings and put up a notice on the site. It was fun while it lasted!

By @shever73 - 6 months
We've been bitten by going the "free 3rd-party <x>" route so many times, so I sympathise with the problem here.

Off-topic, but kudos to OP for still engaging with the threads. This certainly wasn't a dump and run post. They've probably spent more time answering questions here than they did developing the app!

By @knallfrosch - 6 months
> But due to the way that the Mac App Store works we don’t have our customers’ email nor any way to directly refund them.

> if you utilize a third-party API for the core of your app, you are at their whim.

I think you might also want to revisit your relationship with Apple Incorporated.

By @pino82 - 6 months
I'd say, no you had no shared customers. Yelp had the customers, and you wrote some app that uses Yelp. For no real reason you assumed that you could be part of them (as with Facebook earlier). Sure you had some kind of informal permission at first. And then they revoked it. That's their right to do, right? Maybe you should not write Facebook or Yelp apps, if you are neither Facebook nor Yelp nor asked by them to write clients for their walled gardens. Or if you really want, set up an actual license agreement with them. Those networks are walled gardens and they don't want to cooperate with you that way. They are just not those kinds of shops which you can cuddle with. If you want to create something that has an own value, create something more than just another Faceyelptwitterddit frontend.

The good thing: You took your lesson. Maybe this time it was sufficient to actually learn sth.

By @jijji - 6 months
have you thought about writing your own API instead of using the de facto API? it may involve screen scraping but it also will be a lot more reliable and there's no limits, especially when using proxies....

I've written thousands of tools that scrape websites and never used the apis for this reason, you can never trust the API, either because of the reliability, cost, limits imposed, etc... Nobody wants you pulling data from their site anyway, so you're back to scraping anyway, its better to start out there then to have to end up there years later for some other reason...

By @2099miles - 6 months
That’s trash. I’ll delete yelp over that, bad customer or dev relations sucks.
By @_nalply - 6 months
It seems that you still can spin the Wheel of Lunch, but there are only generic proposals like Pizza, Ramen, Thai Food, and so on.
By @throwaway2037 - 6 months
That was a long blog post to tell us that they are no longer entitled to valuable free API access. It was a mistake to think it would last. This story has been repeated so many times here. As soon as the author started making money (they conveniently excluded their sales revs), they should have negotiated a written contract for access for a fee. It could be cut of app revs or pure API charges. Also, I am sure some smart managers looked at all their free API giveaways and decided there we no longer useful to their business model.
By @EGreg - 6 months
Building atop centralized platforms, you run this risk. In a decentralized environment, you’d be able to keep a fork running just as it was.
By @travisgriggs - 6 months
Control your own future, or you’ll have no future.
By @binkHN - 6 months
Reminds me of something Reddit did just recently...

I think when the AI scraping funding models go away, all these APIs will magically open up again.

By @vzaliva - 6 months
Drama aside, the guy signed up for the free Yelp API 10 years ago, which has since been discontinued. He was offered the option to switch to a paid API, which he chose not to consider.

Yes, Yelp was a bit clumsy in handling this, but discontinuing the free API after 10 years is totally within their rights. The developer didn't even bother getting their pricing proposal, which might have been totally reasonable (or not), considering his app is paid.

By @grishka - 6 months
That's when you take matters into your own hands and extract the API key out of one of their official apps. At least that's what I would've done.

Though I'm not sure how legal that would've been if done in a paid app. It feels like a serious difference between just providing a better UX for someone else's service through adversarial interoperability for free, and profiting off of it.

By @EricE - 6 months
Digital sharecropping. I don't know what the answer is, but it's sad to see it unfolding!
By @balls187 - 6 months
Curious how much money the app developer made, and how much they paid for Yelp API access.
By @suzzer99 - 6 months
Yahoo used to have a decent restaurants API. I assume that's dead now.
By @rsweeney21 - 6 months
If building an app on a platform does not increase the networks effects of that platform, this will always be the outcome.

Good platforms get more valuable with more apps: iOS, Windows, etc

Bad platforms don't get better with more apps: reddit, netflix, twitter. So they always end up killing the API.

By @egamirorrim - 6 months
Real scumbag move from Yelp, sorry to read this man
By @iamleppert - 6 months
When will people realize that using any big tech company API is a recipe for disaster? These companies, and their revolving door of employees, could care less about you, your app, or your users.
By @Terretta - 6 months
Dollars to donut stores, what's likely going on with the switch to expensive API is this:

https://business.yelp.com/products/yelp-ads/

Same as the Reddit stunt versus the Apollo app dev, except that his app had a big enough audience you'd think they'd have figured something out.

Nope. The paid app meant money from users to the app dev instead of from advertisers to the site.

What's strange is Reddit didn't seem to do the math on how little they should have charged the app dev for API access if all they wanted was to offset revenue from that user base. Perhaps the fear was much as with TV streaming: they know advertisers want audiences willing to pay, not only the audiences seeking free.

By @sethammons - 6 months
Could pivot to customer provided api keys :\
By @jdenning - 6 months
This really sucks for OP, but my first thought on seeing yelp was:

"People still use yelp? I thought it was widely known that they suppress bad reviews for money, and suppress good reviews if you don't pay."

Yelp's path to monetization has always been kind of scummy IMO.

By @oniony - 6 months
Have you considered building your own restaurant database? You could add features to the app to allow users to submit and update entries.
By @xvector - 6 months
This is just pure boneheadedness across the Yelp management chain, all the way down to the IC level.

- IC should have recognized the site was driving traffic to Yelp and flagged to management.

- Management should have realized that some API usage is beneficial to Yelp overall, and crafted a plan around this.

Just pure insanity. If I were a VP I'd fire everyone involved for a lack of basic critical thinking skills.

By @jsonis - 6 months
Question-- with the yelp api now being paywalled-- and obviously you'd have to write code to handle scraping-- but can you legally scrape yelp to do this?

Does the linkedin scraping lawsuit permit scraping yelp?

By @worthless-trash - 6 months
The big takeaway here is to never rely on a third party, they will inevitibly fuck you over.

Every business will eventually turn anything that they can into a profitable feature for them.

By @throwaway14356 - 6 months
i use to be that guy telling people not to put their eggs in other peoples basket. Some laughed at me for a decade, almost convincingly and then...

Of course my stuff also breaks because you cant really do anything anymore without trusting anything even against better judgement.

I think we will eventually get expensive quality terms of service for those who think it might be fun if things work forever, like html documents and megalithic structures.

By @sadcodemonkey - 6 months
For a site that caters to a startup and entrepreneurial crowd, it's hilarious the number of comments here that amount to "tough cookies, bud" and "Yelp can do whatever they want, and because they can, you should just shut up."

They miss the spirit of this blog post entirely, which is to point out the overt hostility to and powerlessness of API users. That should be concerning to anyone working on projects that use APIs, which is, um... almost everyone, these days.

By @m463 - 6 months
I think this is the giant internet trick... do anything to scale, then when you reach critical mass (or someone wants OKRs on their status report), pull out the rug.
By @grugagag - 6 months
I think Yelp needs to just die at this point. Reviews are gamed, usability is worse and worse. Not sure anyone still uses or trusts Yelp. They’re just in inertia from their better times.
By @jcrash - 6 months
Yelp sucks. I wish Apple Maps would drop it like a hot potato.
By @danjl - 6 months
Surely nothing like this will happen to the folks that are using LLMs at the core of their app. /s
By @RajT88 - 6 months
Who could have predicted that a company with a scammy business model would have such shady behavior when it comes to changing API pricing models?

/s

By @pavel_lishin - 6 months
Hang on, they didn't give his app 4 days - they gave him 4 days to respond with some screenshots, and if he didn't respond, they would shut down his access. They didn't say they'll shut it down in 4 days regardless.

I mean, don't take this as me defending Yelp - they're scumbags, and deserve any hate coming their way - but I don't think that the headline is an accurate description of what happened.

By @woah - 6 months
Surprised the guy never even inquired as to how much the API access to support 100 API calls per day would cost.

After 2 seconds of idle research, I have found that it would cost less than a dollar a day.

https://docs.developer.yelp.com/page/start-your-free-trial