API · archived
Google (Tenor)
Google decommissioned the Tenor API — the GIF search and share service behind GIF pickers across the web — on 30 June 2026, terminating all API and Ads Distribution Agreements and ending third-party access with no official replacement
left 30 Jun 2026
Quick answers
- Is it true that Google shut down the Tenor GIF API on 30 June 2026, breaking GIF pickers in Discord, X, WhatsApp and Bluesky?
- Yes — and the date has already passed (30 Jun 2026). The Tenor API was the GIF search-and-share backend embedded in a huge range of apps — the GIF picker in Discord, X/Twitter, WhatsApp, Bluesky, Slack integrations, countless chat clients and bots.
- When did it take effect?
- 30 Jun 2026 (already passed). Verified against the vendor's own announcement.
- What should I use instead?
- There is no drop-in Google replacement — the API is simply gone, and Tenor content remains available only inside Google's own apps.
What this means for you
The Tenor API was the GIF search-and-share backend embedded in a huge range of apps — the GIF picker in Discord, X/Twitter, WhatsApp, Bluesky, Slack integrations, countless chat clients and bots. Google's [official support notice](https://support.google.com/tenor/answer/10455265) sets two dates: on **13 January 2026** Tenor stopped accepting new API key sign-ups and new integrations, and on **30 June 2026** it terminated every existing API and Ads Distribution Agreement and *"fully decommissioned"* current integrations. After 30 June, calls to the Tenor API endpoints (`tenor.googleapis.com/v2`, and the legacy `g.tenor.com/v1` / `api.tenor.com/v1`) no longer return results, so any GIF picker or bot built on them shows nothing or errors. This is easy to miss because the code often keeps running — it just quietly returns no GIFs — and because Tenor itself did not go away: Google explicitly kept Tenor content working inside its *own* products (Gboard, Tenor.com, the Android/iOS GIF Keyboard, Google Chat and Google Messages). Only third-party API access was withdrawn. Google published no in-product migration path and named no replacement.
Where to go
There is no drop-in Google replacement — the API is simply gone, and Tenor content remains available only inside Google's own apps. If your product used the Tenor API, first grep your codebase and config for the API hosts (`tenor.googleapis.com`, `g.tenor.com/v1`, `api.tenor.com/v1`) and any `TENOR_API_KEY` to find every call site; note that media URLs on `media.tenor.com` / `c.tenor.com` are content delivery and separate from the API. The main like-for-like alternative developers moved to is the **GIPHY Developers API**, which offers comparable search/trending/share endpoints (subject to its own rate limits and key approval); some teams switched to Klipy or self-hosted GIF sources instead. Whichever you choose, the switch is a real integration change — new API keys, a new client, and new attribution/branding requirements — not a hostname swap, so budget for testing the picker end to end.
- GIPHY Developers API (developers.giphy.com) — the closest like-for-like GIF search/trending/share API
- Klipy or another GIF/clip API, subject to its own terms and limits
- Self-host a curated GIF/sticker set if a full search API is more than you need
Google decommissioned the Tenor API on 30 June 2026. Tenor was the GIF search-and-share service that powered the GIF picker in a large slice of the internet — Discord, X/Twitter, WhatsApp, Bluesky, Slack apps, chat clients and bots — through a simple search API. Third-party access to that API is now gone.
Google’s official support notice gives two dates:
- 13 January 2026 — Tenor stopped accepting new API key sign-ups and new integrations.
- 30 June 2026 — “Any API or Ads Distribution Agreements you have with Tenor will be terminated” and “current integrations that use the Tenor API will be fully decommissioned.”
Tenor didn’t disappear — only third-party API access did
The confusing part is that Tenor is still very much alive. Google kept Tenor content working inside its own products — Gboard, Tenor.com, the Android and iOS GIF Keyboard, and the Google Chat and Google Messages integrations. What went away is the ability for other apps to call the API. So end users still see GIFs in Google’s keyboards while the same GIF picker in a third-party app quietly returns nothing.
Where this bites
The failure mode is silent. Code that calls tenor.googleapis.com/v2 (or the legacy g.tenor.com/v1 / api.tenor.com/v1) keeps running — it just stops getting results, so the picker shows an empty grid or an error rather than crashing loudly. If you shipped an app or bot with a Tenor-backed GIF feature and haven’t touched it recently, it may already be broken.
Note that media URLs on media.tenor.com and c.tenor.com are content delivery, separate from the API — an embedded GIF you already have a URL for may still load, but you can no longer search for new ones.
What to do
There is no official Google replacement. To find every place you need to change, grep for the API hosts (tenor.googleapis.com, g.tenor.com/v1, api.tenor.com/v1) and any TENOR_API_KEY. The most common migration is to the GIPHY Developers API, which provides comparable search, trending and share endpoints — under its own key-approval, rate limits and attribution rules. Klipy and self-hosted GIF sets are alternatives where a full search API is more than you need. Treat it as a real integration swap and test the picker end to end.
The lastcall CLI fingerprints the three dead Tenor API hosts, so a repo still calling the decommissioned API surfaces as a warning in your terminal — without flagging the still-live media.tenor.com content URLs.
Entry changelog
- — last reviewed.
- — Entry created from Google's official Tenor support notice, which states the two dated milestones — 13 January 2026 (no new API sign-ups) and 30 June 2026 (all API and Ads Distribution Agreements terminated, existing integrations fully decommissioned). Status is `passed`: the shutdown has already happened; this is an archive record of a widely-integrated API that went away. detect fingerprints cover the three Tenor API hosts/paths (`tenor.googleapis.com`, legacy `g.tenor.com/v1` and `api.tenor.com/v1`) so a codebase still calling the dead API surfaces in the lastcall CLI; the still-live media hosts `media.tenor.com` / `c.tenor.com` are deliberately not fingerprinted because they are content delivery, not the withdrawn API.
Put this countdown in your README
Building on Google (Tenor)? Drop this badge into a project’s README or docs — it shows the days left and
refreshes on its own every night from this page.
[](https://lastcall.dev/entries/tenor-api-shutdown) Spot an error or a changed date? Tell us and it’s corrected the same night.