GIF API errors: useful UI for 401, 404, 409, 429, and 503
Map API failures to recoverable picker states instead of showing every error as an empty GIF search.
The GIFs.so field guide
Better GIF searches. Working integrations. Fewer broken embeds. Practical guides for the people sending reactions and the people building the picker.
Replacing Tenor? Start with the shutdown and migration guide.50 guides · Page 2 of 5
Map API failures to recoverable picker states instead of showing every error as an empty GIF search.
A server-side JavaScript search example with URL encoding, a timeout, response validation, and explicit error handling.
Implement nextOffset correctly, prevent stale searches from mixing, and handle empty final pages without loops.
A small Python example with encoded query parameters, an environment-based API key, a timeout, and useful failure states.
Understand GIFs.so’s shared account limits and design a picker that backs off instead of multiplying requests.
Use a stable requestId for identical retries, distinguish analytics from rate limits, and stop retrying permanent errors.
Use categories for uncertain intent and keywords for specific details, with predictable filtering in a GIF picker.
Separate API permission, creator rights, source attribution, and commercial use before publishing or rehosting a reaction GIF.
Distinguish source pages, direct GIF URLs, video renditions, and downloaded files before sharing an animation.
Give an assistant structured GIF search and lookup tools while keeping discovery separate from sending a message.
Improve picker responsiveness by loading less media, avoiding stale searches, and measuring the path from typing to selection.
Use intent, tone, tool discovery, and a small candidate set to help an assistant find an appropriate reaction.