If you want to see these endpoints in action before getting started, you can use our API Explorer to input sample queries and view the live responses!
GIPHY Trending returns a list of the most relevant and engaging content each and every day. Our feed of trending content is continuously updated, so you always have the latest and greatest at your fingertips.
| Gif URL | Sticker URL |
|---|---|
| api.giphy.com/v1/gifs/trending | api.giphy.com/v1/stickers/trending |
| Request Parameters: | Example: | Description: |
|---|---|---|
| api_key: string(required) | YOUR_API_KEY | GIPHY API Key. |
| limit: integer (int32) | 20 | The maximum number of objects to return. (Default: “25”) |
| offset: integer (int32) | 5 | Specifies the starting position of the results. Default: “0” Maximum: “499” |
| rating: string | g | Filters 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. |
| customer_id: string | e826c9fc5c929e0d6c6d423841a282aa | An 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: string | messaging_non_clips | Returns only renditions that correspond to the named bundle. Read more about renditions. |
| country_code: string | US | Specify 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: string | VA | Specify 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: boolean | true | Use this parameter to exclude low-contrast items from search results. |
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.
| Gif URL | Sticker URL |
|---|---|
| api.giphy.com/v1/gifs/search | api.giphy.com/v1/stickers/search |
| Request Parameters: | Example: | Description: |
|---|---|---|
| api_key: string(required) | YOUR_API_KEY | GIPHY API Key. |
| q: string(required) | cheeseburgers | Search 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) | 20 | The maximum number of objects to return. (Default: “25”).For beta keys max limit is 50 |
| offset: integer (int32) | 5 | Specifies the starting position of the results. Default: “0” Maximum: “4999” |
| rating: string | g | Filters 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: string | en | Specify default language for regional content; use a 2-letter ISO 639-1 language code. |
| customer_id: string | e826c9fc5c929e0d6c6d423841a282aa | An 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: string | messaging_non_clips | Returns only renditions that correspond to the named bundle. Read more about renditions. |
| country_code: string | US | Specify 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: string | VA | Specify 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: boolean | true | Use this parameter to exclude low-contrast items from search results. |
GIPHY Translate converts words and phrases to the perfect GIF or Sticker using GIPHY's special sauce algorithm. This feature is best exhibited in GIPHY's Slack integration.
| Gif URL | Sticker URL |
|---|---|
| api.giphy.com/v1/gifs/translate | api.giphy.com/v1/stickers/translate |
| Request Parameters: | Example: | Description: |
|---|---|---|
| api_key: string(required) | YOUR_API_KEY | GIPHY API Key. |
| s: string(required) | "ryan gosling" or "ryan @gosling #cat" | Recommends a single gif. In order to pull such result supply query param "s" with desired term. It's possible to use @ or # to help search user channel(@) or gif's related to hashtag word |
| rating: string | g | Filters 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. |
| customer_id: string | e826c9fc5c929e0d6c6d423841a282aa | An 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. |
| country_code: string | US | Specify 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: string | VA | Specify 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. |
GIPHY Random lets you add some weirdness to the conversation by returning a single random GIF or Sticker related to the word or phrase entered. If no tag is specified, the GIF or Sticker returned is completely random.
| Gif URL | Sticker URL |
|---|---|
| api.giphy.com/v1/gifs/random | api.giphy.com/v1/stickers/random |
| Request Parameters: | Example: | Description: |
|---|---|---|
| api_key: string(required) | YOUR_API_KEY | GIPHY API Key. |
| tag: string | "burrito" or "burrito @cat" | Filters results by specified tag. Retrieves any random gif. You can optimize results by supplying gif tag @username rating query parameters. |
| rating: string | g | Filters results by specified rating. If you do not specify a rating, you will receive results from all possible ratings. |
| customer_id: string | e826c9fc5c929e0d6c6d423841a282aa | An 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. |
| country_code: string | US | Specify 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: string | VA | Specify 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. |
The GIPHY Action Register endpoint registers each time a user views, clicks, or sends a GIF or Sticker, helping GIPHY improve your users' search results.
STEP 1: Most endpoints include an Analytics Object for each GIF in the response payload. To register user interactions (e.g., view, click, or send), trigger a request to the appropriate tracking URL specified in the Analytics Object.
| Event | Description | Trigger |
|---|---|---|
| onload | User views the GIF. Call once, immediately after the asset is visible. | When the GIF is displayed |
| onclick | User clicks on the GIF. Call once per click/tap event | On GIF click event |
| onsent | User shares or sends the GIF. Call once per successful share/send action. | On share/send action |
"analytics": { "onload": { "url": "https://giphy-analytics.giphy.com/v2/pingback_simple? analytics_response_payload=e%3DZXZlbnRf&action_type=SEEN" }, "onclick": { "url": "https://giphy-analytics.giphy.com/v2/pingback_simple? analytics_response_payload=e%3DZXZlbnRf&action_type=CLICK" }, "onsent": { "url": "https://giphy-analytics.giphy.com/v2/pingback_simple? analytics_response_payload=e%3DZXZlbnRf&action_type=SENT" }}STEP 2: Build the pingback URL by appending customer_id and ts parameters to the tracking URL.
| Request Parameters: | Example: | Description: |
|---|---|---|
| customer_id: string(required) | e826c9fc5c929e0d6c6d423841a282aa | An 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. |
| ts: integer (int)(required) | 1527703430507 | A UNIX timestamp in milliseconds corresponding to when the action occurred. |
Successful Response (200 OK) indicates that the analytics request has been processed. Below is an example of how to build a pingback URL using JavaScript code:
1// Step 1: "gifItem" is a GifItem object from a GIF API response2const analytics = gifItem.analytics;3
4// Step 2: Build pingback URL5const baseUrl = new URL(analytics.onload.url);6
7baseUrl.searchParams.append('ts', Date.now().toString());8baseUrl.searchParams.append('customer_id', randomId);9
10// Step 3: Send GET pingback11const pingRes = await fetch(baseUrl.toString());12// A 200 "OK" means the pingback was acceptedThe GIPHY Random ID Endpoint generates a unique identifier that does not include personal information.
Compatible API and analytics endpoints use customer_id to help personalize responses for the same user while maintaining user privacy. If you do not have your own stable user identifier, use the random_id returned by this endpoint as the customer_id on those requests.
| URL |
|---|
| api.giphy.com/v1/randomid |
| Request Parameters: | Example: | Description: |
|---|---|---|
| api_key: string(required) | YOUR_API_KEY | GIPHY API Key. |
GIPHY has released a feature across all GIPHY apps and platforms that makes GIPHY’s uniquely diverse emoji library more accessible than ever. Pairing custom artwork with a purpose-built API endpoint, GIPHY emojis allow you to bring animated reaction emojis to your users with style and ease.
This endpoint is used to fetch GIF Objects for the set of GIPHY Emoji.
variation_count| URL |
|---|
| api.giphy.com/v2/emoji |
| Request Parameters: | Example: | Description: |
|---|---|---|
| limit: integer (int32) | 20 | The maximum number of objects to return. (Default: 25) |
| offset: integer (int32) | 5 | Specifies the starting position of the results. (Default: 0) |
| customer_id: string | e826c9fc5c929e0d6c6d423841a282aa | An 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. |
If an emoji's' variation_count is greater than 0, use the Emoji Variations Endpoint to fetch its variations.
Fetch the variations associated with a given emoji using the "id" property of the The GIF Object.
| URL |
|---|
| api.giphy.com/v2/emoji/{gif_id}/variations |
| Request Parameters: | Example: | Description: |
|---|---|---|
| customer_id: string | e826c9fc5c929e0d6c6d423841a282aa | An 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. |
On the front-end, we reccomend displaying the variations in a tray above the emoji, as is a standard in popular platforms across mobile and web.
Check out the GIPHY Mobile Apps, or the GIPHY SDK, to see how we've chosen to display emoji variations.
Get GIF by ID returns a GIF’s metadata based on the GIF ID specified.
| URL |
|---|
| api.giphy.com/v1/gifs/<gif_id> |
| Request Parameters: | Example: | Description: |
|---|---|---|
| api_key: string(required) | YOUR_API_KEY | GIPHY API Key. |
| gif_id: string(required) | xT4uQulxzV39haRFjG | The ID of the GIF you want details for. |
| customer_id: string | e826c9fc5c929e0d6c6d423841a282aa | An 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. |
| rating: string | g | If the GIF has a rating higher than the rating parameter, the API will return an empty response with a Meta Object containing a 4xx error code. |
| country_code: string | US | Specify 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: string | VA | Specify 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. |
Get GIFs by ID returns metadata of multiple GIFs based on the GIF IDs specified.
| URL |
|---|
| api.giphy.com/v1/gifs |
| Request Parameters: | Example: | Description: |
|---|---|---|
| api_key: string(required) | YOUR_API_KEY | GIPHY API Key. |
| ids: string(required) | xT4uQulxzV39haRFjG, 3og0IPxMM0erATueVW | Filters results by specified GIF IDs, separated by commas. Maximum GIF IDs: “100” |
| customer_id: string | e826c9fc5c929e0d6c6d423841a282aa | An 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. |
| rating: string | g | Filters 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. |
| rating: string | g | Filters 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. |
| country_code: string | US | Specify 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: string | VA | Specify 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. |
GIPHY Upload allows you to upload your content programmatically on GIPHY.com. We accept animated GIFs or video files up to 100MB.
Note: If you're using a rate-limited key assigned by the developer portal, you will not be able to specify a GIPHY channel username to your request and you will be limited to 10 uploads per day. To have these limits removed, you can apply for a production key from your dashboard. Only approved apps will be able to include a GIPHY channel username. You can use this endpoint to upload your content, attach tags, and other meta tag in a single HTTP or HTTPS POST request.
| URL |
|---|
| upload.giphy.com/v1/gifs |
| Request Parameters: | Example: | Description: |
|---|---|---|
| api_key: string(required) | YOUR_API_KEY | GIPHY API Key. |
| username: string | JoeCool3000 | Your assigned username (required for approved apps only). |
| file: string(binary) | The animated GIF or video file you'd like to upload. (Local file resource, required if no source_image_url supplied). | |
| source_image_url: string | http://www.mysite.com/myfile.mp4 | The URL for the image or video you wish to upload (required if no file parameter specified). |
| tags: string | pets, cat, meow | A comma delimited list of tags to be applied to the upload. |
| source_post_url: string | http://www.mysite.com/my-post/ | The URL of the source of the asset. |
| customer_id: string | e826c9fc5c929e0d6c6d423841a282aa | An 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. |
| country_code: string | US | Specify 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: string | VA | Specify 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. |
Providers users a list of Gif categories on the GIPHY network.
| URL |
|---|
| api.giphy.com/v1/gifs/categories |
| Request Parameters: | Example: | Description: |
|---|---|---|
| api_key: string(required) | YOUR_API_KEY | GIPHY API Key. |
| customer_id: string | e826c9fc5c929e0d6c6d423841a282aa | An 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. |
Providers users a list of valid terms that completes the given tag on the GIPHY network.
| URL |
|---|
| api.giphy.com/v1/gifs/search/tags |
| Request Parameters: | Example: | Description: |
|---|---|---|
| api_key: string(required) | YOUR_API_KEY | GIPHY API Key. |
| q: string(required) | foo | Tag term. |
| limit: integer (int32) | 20 | The maximum number of objects to return. (Default: 5) |
| offset: integer (int32) | 5 | Specifies the starting position of the results. (Default: 0) |
| customer_id: string | e826c9fc5c929e0d6c6d423841a282aa | An 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. |
Channel Search endpoint returns all the GIPHY channels matching the query term
| URL |
|---|
| api.giphy.com/v1/channels/search |
| Request Parameters: | Example: | Description: |
|---|---|---|
| api_key: string(required) | YOUR_API_KEY | GIPHY API Key. |
| q: string(required) | foo | Accepts term to search through GIPHY’s channels |
| limit: integer (int32) | 20 | The maximum number of objects to return. Default: “25” Maximum: “50” |
| offset: integer (int32) | 5 | Specifies the starting position of the results. Default: “0” |
| customer_id: string | e826c9fc5c929e0d6c6d423841a282aa | An 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. |
Providers users a list of tag terms related to the given tag on the GIPHY network.
| URL |
|---|
| api.giphy.com/v1/tags/related/<term> |
| Request Parameters: | Example: | Description: |
|---|---|---|
| api_key: string(required) | YOUR_API_KEY | GIPHY API Key. |
| term: string(required) | haha | Tag term. |
| customer_id: string | e826c9fc5c929e0d6c6d423841a282aa | An 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. |
Provides users a list of the most popular trending search terms on the GIPHY network.
| URL |
|---|
| api.giphy.com/v1/trending/searches |
| Request Parameters: | Example: | Description: |
|---|---|---|
| api_key: string(required) | YOUR_API_KEY | GIPHY API Key. |
| customer_id: string | e826c9fc5c929e0d6c6d423841a282aa | An 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. |