Giphy API icon

Giphy API

Giphy API

COMMUNITYAPI KEY0 INSTALLS
API Docs
OpenAPI Specificationv3.0
{
  "openapi": "3.0.0",
  "servers": [
    {
      "url": "https://api.giphy.com/v1"
    }
  ],
  "info": {
    "contact": {
      "email": "support@giphy.com"
    },
    "description": "Giphy API",
    "termsOfService": "https://developers.giphy.com/",
    "title": "Giphy API",
    "version": "1.0",
    "x-apisguru-categories": [
      "media"
    ],
    "x-logo": {
      "url": "https://api.apis.guru/v2/cache/logo/https_twitter.com_GIPHY_profile_image.png"
    },
    "x-origin": [
      {
        "format": "openapi",
        "url": "https://raw.githubusercontent.com/faragorn/open-api-specs/master/specs/giphy_api/1.0/index.yml",
        "version": "3.0"
      }
    ],
    "x-providerName": "giphy.com"
  },
  "externalDocs": {
    "description": "Official Giphy Documentation",
    "url": "https://developers.giphy.com/docs/"
  },
  "security": [
    {
      "api_key": []
    }
  ],
  "tags": [
    {
      "name": "gifs"
    },
    {
      "name": "stickers"
    }
  ],
  "paths": {
    "/gifs": {
      "get": {
        "description": "A multiget version of the get GIF by ID endpoint.\n",
        "operationId": "getGifsById",
        "parameters": [
          {
            "$ref": "#/components/parameters/gifIds"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/Gif"
                      },
                      "type": "array"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          }
        },
        "summary": "Get GIFs by ID",
        "tags": [
          "gifs"
        ]
      }
    },
    "/gifs/random": {
      "get": {
        "description": "Returns a random GIF, limited by tag. Excluding the tag parameter will return a random GIF from the GIPHY catalog.\n",
        "operationId": "randomGif",
        "parameters": [
          {
            "$ref": "#/components/parameters/tag"
          },
          {
            "$ref": "#/components/parameters/rating"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Gif"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          }
        },
        "summary": "Random GIF",
        "tags": [
          "gifs"
        ]
      }
    },
    "/gifs/search": {
      "get": {
        "description": "Search all GIPHY GIFs for a word or phrase. Punctuation will be stripped and ignored.  Use a plus or url encode for phrases. Example paul+rudd, ryan+gosling or american+psycho.\n",
        "operationId": "searchGifs",
        "parameters": [
          {
            "$ref": "#/components/parameters/query"
          },
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/offset"
          },
          {
            "$ref": "#/components/parameters/rating"
          },
          {
            "$ref": "#/components/parameters/lang"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/Gif"
                      },
                      "type": "array"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Search results"
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          }
        },
        "summary": "Search GIFs",
        "tags": [
          "gifs"
        ]
      }
    },
    "/gifs/translate": {
      "get": {
        "description": "The translate API draws on search, but uses the GIPHY `special sauce` to handle translating from one vocabulary to another. In this case, words and phrases to GIF\n",
        "operationId": "translateGif",
        "parameters": [
          {
            "$ref": "#/components/parameters/term"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Gif"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          }
        },
        "summary": "Translate phrase to GIF",
        "tags": [
          "gifs"
        ]
      }
    },
    "/gifs/trending": {
      "get": {
        "description": "Fetch GIFs currently trending online. Hand curated by the GIPHY editorial team.  The data returned mirrors the GIFs showcased on the GIPHY homepage. Returns 25 results by default.\n",
        "operationId": "trendingGifs",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/offset"
          },
          {
            "$ref": "#/components/parameters/rating"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/Gif"
                      },
                      "type": "array"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          }
        },
        "summary": "Trending GIFs",
        "tags": [
          "gifs"
        ]
      }
    },
    "/gifs/{gifId}": {
      "get": {
        "description": "Returns a GIF given that GIF's unique ID\n",
        "operationId": "getGifById",
        "parameters": [
          {
            "$ref": "#/components/parameters/gifId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Gif"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          }
        },
        "summary": "Get GIF by Id",
        "tags": [
          "gifs"
        ]
      }
    },
    "/stickers/random": {
      "get": {
        "description": "Returns a random GIF, limited by tag. Excluding the tag parameter will return a random GIF from the GIPHY catalog.\n",
        "operationId": "randomSticker",
        "parameters": [
          {
            "$ref": "#/components/parameters/tag"
          },
          {
            "$ref": "#/components/parameters/rating"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Gif"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          }
        },
        "summary": "Random Sticker",
        "tags": [
          "stickers"
        ]
      }
    },
    "/stickers/search": {
      "get": {
        "description": "Replicates the functionality and requirements of the classic GIPHY search, but returns animated stickers rather than GIFs.\n",
        "operationId": "searchStickers",
        "parameters": [
          {
            "$ref": "#/components/parameters/query"
          },
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/offset"
          },
          {
            "$ref": "#/components/parameters/rating"
          },
          {
            "$ref": "#/components/parameters/lang"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/Gif"
                      },
                      "type": "array"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Search results"
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          }
        },
        "summary": "Search Stickers",
        "tags": [
          "stickers"
        ]
      }
    },
    "/stickers/translate": {
      "get": {
        "description": "The translate API draws on search, but uses the GIPHY `special sauce` to handle translating from one vocabulary to another. In this case, words and phrases to GIFs.\n",
        "operationId": "translateSticker",
        "parameters": [
          {
            "$ref": "#/components/parameters/term"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Gif"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          }
        },
        "summary": "Translate phrase to Sticker",
        "tags": [
          "stickers"
        ]
      }
    },
    "/stickers/trending": {
      "get": {
        "description": "Fetch Stickers currently trending online. Hand curated by the GIPHY editorial team. Returns 25 results by default.\n",
        "operationId": "trendingStickers",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/offset"
          },
          {
            "$ref": "#/components/parameters/rating"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/Gif"
                      },
                      "type": "array"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          }
        },
        "summary": "Trending Stickers",
        "tags": [
          "stickers"
        ]
      }
    }
  },
  "components": {
    "parameters": {
      "gifId": {
        "description": "Filters results by specified GIF ID.",
        "in": "path",
        "name": "gifId",
        "required": true,
        "schema": {
          "format": "int32",
          "type": "integer"
        }
      },
      "gifIds": {
        "description": "Filters results by specified GIF IDs, separated by commas.",
        "in": "query",
        "name": "ids",
        "schema": {
          "type": "string"
        }
      },
      "lang": {
        "description": "Specify default language for regional content; use a 2-letter ISO 639-1 language code.",
        "in": "query",
        "name": "lang",
        "schema": {
          "type": "string"
        }
      },
      "limit": {
        "description": "The maximum number of records to return.",
        "in": "query",
        "name": "limit",
        "schema": {
          "default": 25,
          "format": "int32",
          "type": "integer"
        }
      },
      "offset": {
        "description": "An optional results offset.",
        "in": "query",
        "name": "offset",
        "schema": {
          "default": 0,
          "format": "int32",
          "type": "integer"
        }
      },
      "query": {
        "description": "Search query term or prhase.",
        "in": "query",
        "name": "q",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "rating": {
        "description": "Filters results by specified rating.",
        "in": "query",
        "name": "rating",
        "schema": {
          "type": "string"
        }
      },
      "tag": {
        "description": "Filters results by specified tag.",
        "in": "query",
        "name": "tag",
        "schema": {
          "type": "string"
        }
      },
      "term": {
        "description": "Search term.",
        "in": "query",
        "name": "s",
        "required": true,
        "schema": {
          "type": "string"
        }
      }
    },
    "responses": {
      "BadRequest": {
        "description": "Your request was formatted incorrectly or missing required parameters."
      },
      "Forbidden": {
        "description": "You weren't authorized to make your request; most likely this indicates an issue with your API Key."
      },
      "NotFound": {
        "description": "The particular GIF you are requesting was not found. This occurs, for example, if you request a GIF by an id that does not exist."
      },
      "TooManyRequests": {
        "description": "Your API Key is making too many requests. Read about [requesting a Production Key](https://developers.giphy.com/docs/#access) to upgrade your API Key rate limits.\n"
      }
    },
    "schemas": {
      "Gif": {
        "properties": {
          "bitly_url": {
            "description": "The unique bit.ly URL for this GIF",
            "example": "http://gph.is/1gsWDcL",
            "type": "string"
          },
          "content_url": {
            "description": "Currently unused",
            "type": "string"
          },
          "create_datetime": {
            "description": "The date this GIF was added to the GIPHY database.",
            "example": "2013-08-01 12:41:48",
            "format": "date-time",
            "type": "string"
          },
          "embded_url": {
            "description": "A URL used for embedding this GIF",
            "example": "http://giphy.com/embed/YsTs5ltWtEhnq",
            "type": "string"
          },
          "featured_tags": {
            "description": "An array of featured tags for this GIF (Note: Not available when using the Public Beta Key)\n",
            "items": {
              "description": "Tag name",
              "type": "string"
            },
            "type": "array"
          },
          "id": {
            "description": "This GIF's unique ID",
            "example": "YsTs5ltWtEhnq",
            "type": "string"
          },
          "images": {
            "description": "An object containing data for various available formats and sizes of this GIF.",
            "properties": {
              "downsized": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Image"
                  },
                  {
                    "description": "Data surrounding a version of this GIF downsized to be under 2mb."
                  }
                ]
              },
              "downsized_large": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Image"
                  },
                  {
                    "description": "Data surrounding a version of this GIF downsized to be under 8mb."
                  }
                ]
              },
              "downsized_medium": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Image"
                  },
                  {
                    "description": "Data surrounding a version of this GIF downsized to be under 5mb."
                  }
                ]
              },
              "downsized_small": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Image"
                  },
                  {
                    "description": "Data surrounding a version of this GIF downsized to be under 200kb."
                  }
                ]
              },
              "downsized_still": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Image"
                  },
                  {
                    "description": "Data surrounding a static preview image of the downsized version of this GIF."
                  }
                ]
              },
              "fixed_height": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Image"
                  },
                  {
                    "description": "Data surrounding versions of this GIF with a fixed height of 200 pixels. Good for mobile use."
                  }
                ]
              },
              "fixed_height_downsampled": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Image"
                  },
                  {
                    "description": "Data surrounding versions of this GIF with a fixed height of 200 pixels and the number of frames reduced to 6."
                  }
                ]
              },
              "fixed_height_small": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Image"
                  },
                  {
                    "description": "Data surrounding versions of this GIF with a fixed height of 100 pixels. Good for mobile keyboards."
                  }
                ]
              },
              "fixed_height_small_still": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Image"
                  },
                  {
                    "description": "Data surrounding a static image of this GIF with a fixed height of 100 pixels."
                  }
                ]
              },
              "fixed_height_still": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Image"
                  },
                  {
                    "description": "Data surrounding a static image of this GIF with a fixed height of 200 pixels."
                  }
                ]
              },
              "fixed_width": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Image"
                  },
                  {
                    "description": "Data surrounding versions of this GIF with a fixed width of 200 pixels. Good for mobile use."
                  }
                ]
              },
              "fixed_width_downsampled": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Image"
                  },
                  {
                    "description": "Data surrounding versions of this GIF with a fixed width of 200 pixels and the number of frames reduced to 6."
                  }
                ]
              },
              "fixed_width_small": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Image"
                  },
                  {
                    "description": "Data surrounding versions of this GIF with a fixed width of 100 pixels. Good for mobile keyboards."
                  }
                ]
              },
              "fixed_width_small_still": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Image"
                  },
                  {
                    "description": "Data surrounding a static image of this GIF with a fixed width of 100 pixels."
                  }
                ]
              },
              "fixed_width_still": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Image"
                  },
                  {
                    "description": "Data surrounding a static image of this GIF with a fixed width of 200 pixels."
                  }
                ]
              },
              "looping": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Image"
                  },
                  {
                    "description": "Data surrounding a version of this GIF set to loop for 15 seconds."
                  }
                ]
              },
              "original": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Image"
                  },
                  {
                    "description": "Data surrounding the original version of this GIF. Good for desktop use."
                  }
                ]
              },
              "original_still": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Image"
                  },
                  {
                    "description": "Data surrounding a static preview image of the original GIF."
                  }
                ]
              },
              "preview": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Image"
                  },
                  {
                    "description": "Data surrounding a version of this GIF in .MP4 format limited to 50kb that displays the first 1-2 seconds of the GIF."
                  }
                ]
              },
              "preview_gif": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Image"
                  },
                  {
                    "description": "Data surrounding a version of this GIF limited to 50kb that displays the first 1-2 seconds of the GIF."
                  }
                ]
              }
            },
            "type": "object"
          },
          "import_datetime": {
            "description": "The creation or upload date from this GIF's source.",
            "example": "2013-08-01 12:41:48",
            "format": "date-time",
            "type": "string"
          },
          "rating": {
            "description": "The MPAA-style rating for this content. Examples include Y, G, PG, PG-13 and R",
            "example": "g",
            "type": "string"
          },
          "slug": {
            "description": "The unique slug used in this GIF's URL",
            "example": "confused-flying-YsTs5ltWtEhnq",
            "type": "string"
          },
          "source": {
            "description": "The page on which this GIF was found",
            "example": "http://www.reddit.com/r/reactiongifs/comments/1xpyaa/superman_goes_to_hollywood/",
            "type": "string"
          },
          "source_post_url": {
            "description": "The URL of the webpage on which this GIF was found.",
            "example": "http://cheezburger.com/5282328320",
            "type": "string"
          },
          "source_tld": {
            "description": "The top level domain of the source URL.",
            "example": "cheezburger.com",
            "type": "string"
          },
          "tags": {
            "description": "An array of tags for this GIF (Note: Not available when using the Public Beta Key)\n",
            "items": {
              "description": "Tag name",
              "type": "string"
            },
            "type": "array"
          },
          "trending_datetime": {
            "description": "The date on which this gif was marked trending, if applicable.",
            "example": "2013-08-01 12:41:48",
            "format": "date-time",
            "type": "string"
          },
          "type": {
            "default": "gif",
            "description": "Type of the gif. By default, this is almost always gif",
            "enum": [
              "gif"
            ],
            "type": "string"
          },
          "update_datetime": {
            "description": "The date on which this GIF was last updated.",
            "example": "2013-08-01 12:41:48",
            "format": "date-time",
            "type": "string"
          },
          "url": {
            "description": "The unique URL for this GIF",
            "example": "http://giphy.com/gifs/confused-flying-YsTs5ltWtEhnq",
            "type": "string"
          },
          "user": {
            "$ref": "#/components/schemas/User"
          },
          "username": {
            "description": "The username this GIF is attached to, if applicable",
            "example": "JoeCool4000",
            "type": "string"
          }
        },
        "type": "object"
      },
      "Image": {
        "properties": {
          "frames": {
            "description": "The number of frames in this GIF.",
            "example": "15",
            "type": "string"
          },
          "height": {
            "description": "The height of this GIF in pixels.",
            "example": "200",
            "type": "string"
          },
          "mp4": {
            "description": "The URL for this GIF in .MP4 format.",
            "example": "https://media1.giphy.com/media/cZ7rmKfFYOvYI/giphy.mp4",
            "type": "string"
          },
          "mp4_size": {
            "description": "The size in bytes of the .MP4 file corresponding to this GIF.",
            "example": "25123",
            "type": "string"
          },
          "size": {
            "description": "The size of this GIF in bytes.",
            "example": "32381",
            "type": "string"
          },
          "url": {
            "description": "The publicly-accessible direct URL for this GIF.",
            "example": "https://media1.giphy.com/media/cZ7rmKfFYOvYI/200.gif",
            "type": "string"
          },
          "webp": {
            "description": "The URL for this GIF in .webp format.",
            "example": "https://media1.giphy.com/media/cZ7rmKfFYOvYI/giphy.webp",
            "type": "string"
          },
          "webp_size": {
            "description": "The size in bytes of the .webp file corresponding to this GIF.",
            "example": "12321",
            "type": "string"
          },
          "width": {
            "description": "The width of this GIF in pixels.",
            "example": "320",
            "type": "string"
          }
        },
        "type": "object"
      },
      "Meta": {
        "description": "The Meta Object contains basic information regarding the request, whether it was successful, and the response given by the API.  Check `responses` to see a description of types of response codes the API might give you under different cirumstances.\n",
        "properties": {
          "msg": {
            "description": "HTTP Response Message",
            "example": "OK",
            "type": "string"
          },
          "response_id": {
            "description": "A unique ID paired with this response from the API.",
            "example": "57eea03c72381f86e05c35d2",
            "type": "string"
          },
          "status": {
            "description": "HTTP Response Code",
            "example": 200,
            "format": "int32",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "Pagination": {
        "description": "The Pagination Object contains information relating to the number of total results available as well as the number of results fetched and their relative positions.\n",
        "properties": {
          "count": {
            "description": "Total number of items returned.",
            "example": 25,
            "format": "int32",
            "type": "integer"
          },
          "offset": {
            "description": "Position in pagination.",
            "example": 75,
            "format": "int32",
            "type": "integer"
          },
          "total_count": {
            "description": "Total number of items available.",
            "example": 250,
            "format": "int32",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "User": {
        "description": "The User Object contains information about the user associated with a GIF and URLs to assets such as that user's avatar image, profile, and more.",
        "properties": {
          "avatar_url": {
            "description": "The URL for this user's avatar image.",
            "example": "https://media1.giphy.com/avatars/election2016/XwYrZi5H87o6.gif",
            "type": "string"
          },
          "banner_url": {
            "description": "The URL for the banner image that appears atop this user's profile page.",
            "example": "https://media4.giphy.com/avatars/cheezburger/XkuejOhoGLE6.jpg",
            "type": "string"
          },
          "display_name": {
            "description": "The display name associated with this user (contains formatting the base username might not).",
            "example": "JoeCool4000",
            "type": "string"
          },
          "profile_url": {
            "description": "The URL for this user's profile.",
            "example": "https://giphy.com/cheezburger/",
            "type": "string"
          },
          "twitter": {
            "description": "The Twitter username associated with this user, if applicable.",
            "example": "@joecool4000",
            "type": "string"
          },
          "username": {
            "description": "The username associated with this user.",
            "example": "joecool4000",
            "type": "string"
          }
        },
        "type": "object"
      }
    },
    "securitySchemes": {
      "api_key": {
        "in": "query",
        "name": "api_key",
        "type": "apiKey"
      }
    }
  }
}