GIPHY Alt Text for GIFs is now available! Email us to learn more at bd.team@giphy.com.
GIPHY Clips (GIFs with Sound)have arrived! Learn about adding Clips to your app in our documentation!
Need to move your project from Tenor to GIPHY?   Check out our  migration guide!
logo

Search Endpoint

GIPHY Search gives you instant access to our library of millions of GIFs and Stickers by entering a word or phrase. With our unparalleled search algorithm, users can easily express themselves and animate their conversations.

  • GIPHY requires the Search API call be made from the client side.
  • The search keyword should be sent to GIPHY in &q parameter in the API call. Search terms could simply be words or phrases typed by the user. Users can also add the @ sign before a GIPHY username to return content from a specific GIPHY channel. All special characters should be supported and not re-encoded in your search request.
  • This keyword should be the exact terms the user searched for without any correction/enhancement
  • Optionally, use the &lang parameter to indicate the language the user has typed in. This will help return unique regional content, if available. See here for supported languages.
  • You may use the &rating param to tailor the response per your preferences. Read more here about content ratings
  • Optionally, you can use rendition on demand bundles to limit which renditions the API sends.

Gif URLSticker URL
api.giphy.com/v1/gifs/searchapi.giphy.com/v1/stickers/search
Request Parameters:Example:Description:
api_key: string(required)YOUR_API_KEYGIPHY API Key.
q: string(required)cheeseburgersSearch query term or phrase. Adding @<username> anywhere in the q parameter effectively changes the search query to be a search for a specific user’s GIFs (user has to be public and verified user by GIPHY.)
If the q parameter contains one of these words: sticker, stickers, or transparent, the search will return stickers content.
Maximum length: 50 chars.
limit: integer (int32)20The maximum number of objects to return. (Default: “25”).
For beta keys max limit is 50
offset: integer (int32)5Specifies the starting position of the results.
Default: “0”
Maximum: “4999”
channel_ids: integer (int32)5,6Filters results by specified channel IDs, separated by commas.
Maximum channel IDs: “5”
rating: stringgFilters results by specified rating. Acceptable values include g, pg, pg-13, r. If you do not specify a rating, you will receive results from all possible ratings.
lang: stringenSpecify default language for regional content; use a 2-letter ISO 639-1 language code.
customer_id: stringe826c9fc5c929e0d6c6d423841a282aaAn identifier assigned to a user in your platform. Use it consistently across that user's requests. If you do not have your own user ID, you can use the identifier returned by the Random ID Endpoint.
bundle: stringmessaging_non_clipsReturns only renditions that correspond to the named bundle. Read more about renditions.
country_code: stringUSSpecify the country of origin of the end user request, in two-letter ISO 3166-1 alpha-2 format.

Note: Please specify country code if requests are proxied through your service.
region: stringVASpecify the country subdivision of the end user request, found in ISO 3166-2 format.

Note: Please specify region if requests are proxied through your service and country_code is also proxied.
remove_low_contrast: booleantrueUse this parameter to exclude low-contrast items from search results.
Successful Response (200 OK)