Documentação
Introdução
A Gumball API é uma API REST gratuita e somente leitura com dados sobre O Incrível Mundo de Gumball e The Wonderfully Weird World of Gumball. Ela disponibiliza personagens, lugares, episódios, temporadas, músicas, jogos e mídias do universo da série em JSON.
Não há autenticação, chave de API nem cadastro. Todas as rotas são requisições GET, então você pode chamá-las pelo navegador, por um servidor ou pelo terminal. Abra qualquer painel Testar desta página para enviar uma requisição real e ver a resposta.
O conteúdo retornado pela API, como nomes, títulos e descrições, está em inglês.
URL base
Todas as requisições começam pela URL base abaixo. A raiz dela lista todos os recursos disponíveis, o que faz dela uma ótima primeira requisição.
https://gumball-api-server.vercel.app/{
"name": "The Amazing World of Gumball API",
"description": "A free, read-only REST API about The Amazing World of Gumball and The Wonderfully Weird World of Gumball. No authentication required.",
"resources": {
"characters": "/characters",
"locations": "/locations",
"episodes": "/episodes",
"seasons": "/seasons",
"songs": "/songs",
"games": "/games",
"media": "/media"
}
}Limite de requisições e cache
Cada endereço IP pode fazer até 100 requisições por minuto. Toda resposta informa o seu consumo atual nos cabeçalhos abaixo. Ao atingir o limite, a API responde com 429 Too Many Requests até a janela ser reiniciada.
| Cabeçalho | Tipo | Descrição |
|---|---|---|
| X-RateLimit-Limit | integer | Requisições permitidas por minuto. |
| X-RateLimit-Remaining | integer | Requisições restantes na janela atual. |
| X-RateLimit-Reset | integer | Segundos até a janela ser reiniciada. |
Listas e itens individuais ficam em cache por 5 minutos com Cache-Control: public, então requisições repetidas são rápidas. As rotas aleatórias nunca usam cache. Sempre que possível, faça cache das respostas do seu lado também.
Informações e paginação
As rotas de listagem retornam 20 itens por página por padrão. Use page e limit para navegar pelos resultados. Além dos itens em data, toda resposta de listagem inclui meta, com os totais, e links, com caminhos prontos para as outras páginas.
| Parâmetro | Tipo | Descrição |
|---|---|---|
| page | integer | A página a ser retornada, a partir de 1. |
| limit | integer | Itens por página, de 1 a 100. O padrão é 20. |
| Chave | Tipo | Descrição |
|---|---|---|
| data | array | Os itens da página atual. |
| meta.page | integer | A página atual, a partir de 1. |
| meta.limit | integer | A quantidade de itens por página. |
| meta.totalItems | integer | O total de itens. |
| meta.totalPages | integer | O total de páginas. |
| meta.hasNextPage | boolean | Indica se existe uma próxima página. |
| meta.hasPreviousPage | boolean | Indica se existe uma página anterior. |
| links.self | string | O caminho da página atual. |
| links.first | string | O caminho da primeira página. |
| links.previous | string | null | O caminho da página anterior, se houver. |
| links.next | string | null | O caminho da próxima página, se houver. |
| links.last | string | O caminho da última página. |
{
"data": [
{
"id": 3,
"slug": "anais-watterson",
"name": "Anais Watterson",
"fullName": "Anais Watterson",
"aliases": [
"Jimmy",
"Runtus Decepticus",
"The Anaihilator",
"Clever Girl",
"Pink One"
],
"description": "The youngest member of the Watterson family and, by far, its most intelligent. Despite being only four years old, she speaks with an advanced vocabulary and attends Elmore Junior High in a higher grade than her older brothers, Gumball and Darwin.",
"species": "Rabbit",
"gender": "female",
"age": 4,
"occupation": "Student",
"role": "main",
"status": "alive",
"animationStyle": "2d",
"voiceActors": [
"Kyla Kowalewski",
"Kinza Syed Khan"
],
"firstAppearance": {
"id": 1,
"slug": "the-dvd",
"title": "The DVD",
"code": "S01E01",
"url": "/episodes/1"
},
"colors": [
"#f9b6ba",
"#ffffff"
],
"image": "https://arturbomtempo-dev.github.io/arturbomtempo-cdn/assets/images/projects/gumball-api/characters/anais-watterson.webp",
"url": "/characters/3",
"createdAt": "2026-09-30T03:52:12.603Z",
"updatedAt": "2026-09-30T13:59:03.490Z"
},
{
"id": 4,
"slug": "nicole-watterson",
"name": "Nicole Watterson",
"fullName": "Nicole Watterson",
"aliases": [
"Nicole Senicourt",
"Mom"
],
"description": "The mother of the Watterson family and its only truly responsible member. She works hard to support her family, is fiercely devoted to keeping them safe, and has a famously explosive temper when pushed too far.",
"species": "Cat",
"gender": "female",
"age": 38,
"occupation": "Rainbow Factory employee",
"role": "main",
"status": "alive",
"animationStyle": "2d",
"voiceActors": [
"Teresa Gallagher"
],
"firstAppearance": {
"id": 1,
"slug": "the-dvd",
"title": "The DVD",
"code": "S01E01",
"url": "/episodes/1"
},
"colors": [
"#4bc5e5",
"#f7f7f7",
"#989377",
"#3c5c61",
"#d2d4d3"
],
"image": "https://arturbomtempo-dev.github.io/arturbomtempo-cdn/assets/images/projects/gumball-api/characters/nicole-watterson.webp",
"url": "/characters/4",
"createdAt": "2026-09-30T03:52:12.603Z",
"updatedAt": "2026-09-30T13:59:03.490Z"
}
],
"meta": {
"page": 2,
"limit": 2,
"totalItems": 245,
"totalPages": 123,
"hasNextPage": true,
"hasPreviousPage": true
},
"links": {
"self": "/characters?page=2&limit=2",
"first": "/characters?page=1&limit=2",
"previous": "/characters?page=1&limit=2",
"next": "/characters?page=3&limit=2",
"last": "/characters?page=123&limit=2"
}
}Ordenação
Use o parâmetro sort com o nome de um campo para ordem crescente, ou adicione - antes dele para ordem decrescente. Itens sem valor nesse campo sempre aparecem por último. Cada recurso documenta os campos que podem ser ordenados.
GET /characters?sort=-name
GET /episodes?sort=usAirDateFiltros
Todas as rotas de listagem aceitam filtros como query parameters, que podem ser combinados livremente. Algumas regras valem para todos os recursos:
searchfaz uma busca parcial pelo nome ou título, sem diferenciar maiúsculas de minúsculas.- Os valores de enum são minúsculos e em kebab-case, como
stop-motionouschool-facility. idsrecebe uma lista separada por vírgulas, comoids=1,2,3, para buscar vários itens de uma vez.- Parâmetros desconhecidos ou inválidos são rejeitados com
400 Bad Request, então nenhum erro de digitação passa despercebido.
GET /characters?species=cat&status=alive&sort=nameRecursos relacionados
Os recursos se conectam por meio de pequenos objetos de referência, em vez de ids soltos. Cada referência inclui uma url com o caminho para o item completo.
EpisodeReference
| Chave | Tipo | Descrição |
|---|---|---|
| id | integer | O id do episódio. |
| slug | string | O slug do episódio. |
| title | string | O título do episódio. |
| code | string | null | Código de temporada e episódio, como |
| url | string | O caminho do episódio. |
CharacterReference
| Chave | Tipo | Descrição |
|---|---|---|
| id | integer | O id do personagem. |
| slug | string | O slug do personagem. |
| name | string | O nome do personagem. |
| url | string | O caminho do personagem. |
LocationReference
| Chave | Tipo | Descrição |
|---|---|---|
| id | integer | O id do lugar. |
| slug | string | O slug do lugar. |
| name | string | O nome do lugar. |
| url | string | O caminho do lugar. |
Imagens
As imagens são servidas em WebP por uma CDN pública, no campo image de cada item. Elas têm alta qualidade e a maioria das imagens de personagens tem fundo transparente, então combinam com qualquer cor.
Erros
Os erros usam os códigos de status HTTP padrão e sempre retornam o mesmo formato de JSON.
| Chave | Tipo | Descrição |
|---|---|---|
| statusCode | integer | O código de status HTTP. |
| error | string | O texto do status HTTP. |
| message | string | string[] | O que deu errado. Erros de validação listam todos os problemas. |
| path | string | O caminho requisitado. |
| timestamp | datetime | Quando o erro aconteceu. |
{
"statusCode": 404,
"error": "Not Found",
"message": "Character with id 9999 not found",
"path": "/characters/9999",
"timestamp": "2026-10-01T12:00:00.000Z"
}| Status | Significado |
|---|---|
| 200 | A requisição foi concluída com sucesso. |
| 400 | Um id, slug ou query parameter é inválido. |
| 404 | O item ou a rota não existe. |
| 429 | O limite de requisições foi excedido. Aguarde a janela ser reiniciada. |
| 500 | Algo deu errado do nosso lado. |
Personagens
Todos os personagens com nome da série, da família Watterson aos moradores de Elmore que aparecem em um único episódio.
245 personagens disponíveis.
Schema de personagem
| Chave | Tipo | Descrição |
|---|---|---|
| id | integer | O id único do personagem. |
| slug | string | Identificador único e amigável para URLs do personagem. |
| name | string | O nome pelo qual o personagem é mais conhecido. |
| fullName | string | null | O nome completo, quando conhecido. |
| aliases | string[] | Apelidos e nomes alternativos. |
| description | string | null | Uma breve descrição. |
| species | string | null | A espécie ou o tipo de ser, como |
| gender | enum | O gênero do personagem.
|
| age | integer | null | A idade em anos, quando mencionada na série. |
| occupation | string | null | A ocupação principal. |
| role | enum | A importância do personagem na série.
|
| status | enum | Se o personagem está vivo.
|
| animationStyle | enum | Como o personagem é animado.
|
| voiceActors | string[] | Os atores que dublaram o personagem. |
| firstAppearance | EpisodeReference | null | O episódio em que o personagem aparece pela primeira vez. |
| colors | string[] | As cores principais do personagem, em hexadecimal. |
| image | string | URL da imagem do personagem (WebP). |
| url | string | O caminho do personagem na API, como |
| createdAt | datetime | Quando o item foi adicionado à API, em ISO 8601. |
| updatedAt | datetime | Quando o item foi atualizado pela última vez, em ISO 8601. |
Listar todos os personagens
Retorna uma lista paginada de personagens, com 20 por página por padrão.
/characters| Parâmetro | Tipo | Descrição |
|---|---|---|
| page | integer | A página a ser retornada, a partir de 1. |
| limit | integer | Itens por página, de 1 a 100. O padrão é 20. |
| sort | string | Campo usado na ordenação. Adicione
|
Buscar um personagem
Retorna um personagem pelo id numérico.
/characters/{id}{
"id": 1,
"slug": "gumball-watterson",
"name": "Gumball Watterson",
"fullName": "Gumball Tristopher Watterson",
"aliases": [
"Gummypuss",
"G-Ball",
"Zach"
],
"description": "The protagonist of the series: a twelve-year-old blue cat who attends Elmore Junior High with his adoptive brother Darwin and his sister Anais. Energetic, impulsive and endlessly overconfident, he constantly gets his family into absurd situations, and he starts dating Penny as of \"The Shell.\"",
"species": "Cat",
"gender": "male",
"age": 12,
"occupation": "Student",
"role": "main",
"status": "alive",
"animationStyle": "2d",
"voiceActors": [
"Logan Grove",
"Jacob Hopkins",
"Nicolas Cantu",
"Duke Cutler",
"Alkaio Thiele"
],
"firstAppearance": {
"id": 1,
"slug": "the-dvd",
"title": "The DVD",
"code": "S01E01",
"url": "/episodes/1"
},
"colors": [
"#4ac2e4",
"#ffffff",
"#3e5156",
"#f4d8b2"
],
"image": "https://arturbomtempo-dev.github.io/arturbomtempo-cdn/assets/images/projects/gumball-api/characters/gumball-watterson.webp",
"url": "/characters/1",
"createdAt": "2026-09-30T03:52:12.603Z",
"updatedAt": "2026-09-30T13:59:03.490Z"
}Buscar um personagem pelo slug
Slugs são identificadores estáveis e legíveis, ideais para as URLs do seu próprio app.
/characters/slug/{slug}Buscar personagens aleatórios
Retorna uma seleção aleatória de personagens. As respostas aleatórias nunca usam cache, então cada requisição traz um resultado diferente.
/characters/random| Parâmetro | Tipo | Descrição |
|---|---|---|
| count | integer | Quantos itens retornar, de 1 a 20. O padrão é 1. |
Filtrar personagens
Combine qualquer um destes query parameters entre si, com a paginação e com a ordenação.
| Parâmetro | Tipo | Descrição |
|---|---|---|
| search | string | Busca parcial pelo nome e pelo nome completo, sem diferenciar maiúsculas de minúsculas. |
| species | string | Espécie exata, sem diferenciar maiúsculas de minúsculas. |
| gender | enum | Filtra pelo gênero.
|
| role | enum | Filtra pela importância na série.
|
| status | enum | Filtra pelo status.
|
| animationStyle | enum | Filtra pelo estilo de animação.
|
| voiceActor | string | Nome exato de um dos dubladores. |
| firstAppearanceId | integer | Id do episódio em que aparece pela primeira vez. |
| ids | integer[] | Lista de ids separados por vírgula, até 100. |
| sort | string | Campo usado na ordenação. Adicione
|
GET /characters?species=cat&role=mainLugares
Os lugares do universo de Gumball, organizados em hierarquia: uma sala de aula pertence a uma escola, que pertence a Elmore.
112 lugares disponíveis.
Schema de lugar
| Chave | Tipo | Descrição |
|---|---|---|
| id | integer | O id único do lugar. |
| slug | string | Identificador único e amigável para URLs do lugar. |
| name | string | O nome do lugar. |
| description | string | null | Uma breve descrição. |
| type | enum | O tipo de lugar.
|
| parent | LocationReference | null | O lugar que contém este. |
| firstAppearance | EpisodeReference | null | O episódio em que o lugar aparece pela primeira vez. |
| image | string | URL da imagem do lugar (WebP). |
| url | string | O caminho do lugar na API, como |
| createdAt | datetime | Quando o item foi adicionado à API, em ISO 8601. |
| updatedAt | datetime | Quando o item foi atualizado pela última vez, em ISO 8601. |
Listar todos os lugares
Retorna uma lista paginada de lugares, com 20 por página por padrão.
/locations| Parâmetro | Tipo | Descrição |
|---|---|---|
| page | integer | A página a ser retornada, a partir de 1. |
| limit | integer | Itens por página, de 1 a 100. O padrão é 20. |
| sort | string | Campo usado na ordenação. Adicione
|
Buscar um lugar
Retorna um lugar pelo id numérico.
/locations/{id}{
"id": 1,
"slug": "elmore",
"name": "Elmore",
"description": "The fictional California town where most of the series takes place, with an estimated \"weird\" population of 20,000. It works much like any other town, except that anything in it, from food to furniture, can come to life.",
"type": "town",
"parent": null,
"firstAppearance": {
"id": 1,
"slug": "the-dvd",
"title": "The DVD",
"code": "S01E01",
"url": "/episodes/1"
},
"image": "https://arturbomtempo-dev.github.io/arturbomtempo-cdn/assets/images/projects/gumball-api/locations/elmore.webp",
"url": "/locations/1",
"createdAt": "2026-09-30T04:25:12.603Z",
"updatedAt": "2026-09-30T13:59:03.490Z"
}Buscar um lugar pelo slug
Slugs são identificadores estáveis e legíveis, ideais para as URLs do seu próprio app.
/locations/slug/{slug}Buscar lugares aleatórios
Retorna uma seleção aleatória de lugares. As respostas aleatórias nunca usam cache, então cada requisição traz um resultado diferente.
/locations/random| Parâmetro | Tipo | Descrição |
|---|---|---|
| count | integer | Quantos itens retornar, de 1 a 20. O padrão é 1. |
Filtrar lugares
Combine qualquer um destes query parameters entre si, com a paginação e com a ordenação.
| Parâmetro | Tipo | Descrição |
|---|---|---|
| search | string | Busca parcial pelo nome, sem diferenciar maiúsculas de minúsculas. |
| type | enum | Filtra pelo tipo.
|
| parentId | integer | Id do lugar que contém este. |
| firstAppearanceId | integer | Id do episódio em que aparece pela primeira vez. |
| ids | integer[] | Lista de ids separados por vírgula, até 100. |
| sort | string | Campo usado na ordenação. Adicione
|
GET /locations?type=school-facilityEpisódios
Todos os episódios, especiais, curtas e pilotos, com datas de exibição, créditos e links para o episódio anterior e o próximo.
305 episódios disponíveis.
Schema de episódio
| Chave | Tipo | Descrição |
|---|---|---|
| id | integer | O id único do episódio. |
| slug | string | Identificador único e amigável para URLs do episódio. |
| title | string | O título do episódio. |
| description | string | null | Uma breve sinopse. |
| series | enum | A série à qual o episódio pertence.
|
| type | enum | O tipo de episódio.
|
| status | enum | Se o episódio foi lançado.
|
| season | integer | null | O número da temporada. |
| episodeNumber | integer | null | O número do episódio na temporada. |
| overallNumber | integer | null | O número do episódio considerando a série inteira. |
| code | string | null | Código de temporada e episódio, como |
| productionCode | string | null | O código de produção. |
| usAirDate | date | null | Data da primeira exibição nos EUA. |
| ukAirDate | date | null | Data da primeira exibição no Reino Unido. |
| writers | string[] | Os roteiristas do episódio. |
| storyboardArtists | string[] | Os artistas de storyboard do episódio. |
| previous | EpisodeReference | null | O episódio anterior na ordem. |
| next | EpisodeReference | null | O próximo episódio na ordem. |
| image | string | URL da imagem do episódio (WebP). |
| url | string | O caminho do episódio na API, como |
| createdAt | datetime | Quando o item foi adicionado à API, em ISO 8601. |
| updatedAt | datetime | Quando o item foi atualizado pela última vez, em ISO 8601. |
Listar todos os episódios
Retorna uma lista paginada de episódios, com 20 por página por padrão.
/episodes| Parâmetro | Tipo | Descrição |
|---|---|---|
| page | integer | A página a ser retornada, a partir de 1. |
| limit | integer | Itens por página, de 1 a 100. O padrão é 20. |
| sort | string | Campo usado na ordenação. Adicione
|
Buscar um episódio
Retorna um episódio pelo id numérico.
/episodes/{id}{
"id": 1,
"slug": "the-dvd",
"title": "The DVD",
"description": "Gumball and Darwin will do anything to avoid paying the late fee on an overdue DVD, no matter how extreme their schemes get.",
"series": "amazing-world",
"type": "episode",
"status": "released",
"season": 1,
"episodeNumber": 1,
"overallNumber": 1,
"code": "S01E01",
"productionCode": null,
"usAirDate": "2011-05-03",
"ukAirDate": "2011-09-05",
"writers": [
"Ben Bocquelet",
"Jon Foster",
"James Lamont"
],
"storyboardArtists": [
"Benjamin Marsaud"
],
"previous": null,
"next": {
"id": 2,
"slug": "the-responsible",
"title": "The Responsible",
"code": "S01E02",
"url": "/episodes/2"
},
"image": "https://arturbomtempo-dev.github.io/arturbomtempo-cdn/assets/images/projects/gumball-api/episodes/the-dvd.webp",
"url": "/episodes/1",
"createdAt": "2026-09-30T05:03:47.171Z",
"updatedAt": "2026-09-30T05:03:47.171Z"
}Buscar um episódio pelo slug
Slugs são identificadores estáveis e legíveis, ideais para as URLs do seu próprio app.
/episodes/slug/{slug}Buscar episódios aleatórios
Retorna uma seleção aleatória de episódios. As respostas aleatórias nunca usam cache, então cada requisição traz um resultado diferente.
/episodes/random| Parâmetro | Tipo | Descrição |
|---|---|---|
| count | integer | Quantos itens retornar, de 1 a 20. O padrão é 1. |
Filtrar episódios
Combine qualquer um destes query parameters entre si, com a paginação e com a ordenação.
| Parâmetro | Tipo | Descrição |
|---|---|---|
| search | string | Busca parcial pelo título, sem diferenciar maiúsculas de minúsculas. |
| series | enum | Filtra pela série.
|
| type | enum | Filtra pelo tipo.
|
| status | enum | Filtra pelo status.
|
| season | integer | Número da temporada. |
| writer | string | Nome exato de um dos roteiristas. |
| storyboardArtist | string | Nome exato de um dos artistas de storyboard. |
| airedFrom | date | Exibido nos EUA a partir desta data ( |
| airedTo | date | Exibido nos EUA até esta data ( |
| ids | integer[] | Lista de ids separados por vírgula, até 100. |
| sort | string | Campo usado na ordenação. Adicione
|
GET /episodes?season=1&sort=-usAirDateTemporadas
As seis temporadas de O Incrível Mundo de Gumball e as temporadas de The Wonderfully Weird World of Gumball.
8 temporadas disponíveis.
Schema de temporada
| Chave | Tipo | Descrição |
|---|---|---|
| id | integer | O id único da temporada. |
| slug | string | Identificador único e amigável para URLs da temporada. |
| number | integer | O número da temporada considerando as duas séries. |
| title | string | O título da temporada. |
| description | string | null | Um breve resumo. |
| series | enum | A série à qual a temporada pertence.
|
| seriesSeasonNumber | integer | O número da temporada dentro da série. |
| status | enum | Se a temporada foi concluída, está no ar ou ainda vai estrear.
|
| episodeCount | integer | null | A quantidade planejada de episódios. |
| releasedEpisodeCount | integer | A quantidade de episódios já lançados. |
| networks | string[] | Os canais que exibiram a temporada. |
| usPremiereDate | date | null | Data de estreia nos EUA. |
| usFinaleDate | date | null | Data do último episódio nos EUA. |
| ukPremiereDate | date | null | Data de estreia no Reino Unido. |
| ukFinaleDate | date | null | Data do último episódio no Reino Unido. |
| episodes | string | Caminho que lista os episódios da temporada. |
| image | string | URL da imagem da temporada (WebP). |
| url | string | O caminho da temporada na API, como |
| createdAt | datetime | Quando o item foi adicionado à API, em ISO 8601. |
| updatedAt | datetime | Quando o item foi atualizado pela última vez, em ISO 8601. |
Listar todas as temporadas
Retorna uma lista paginada de temporadas, com 20 por página por padrão.
/seasons| Parâmetro | Tipo | Descrição |
|---|---|---|
| page | integer | A página a ser retornada, a partir de 1. |
| limit | integer | Itens por página, de 1 a 100. O padrão é 20. |
| sort | string | Campo usado na ordenação. Adicione
|
Buscar uma temporada
Retorna uma temporada pelo id numérico.
/seasons/{id}{
"id": 1,
"slug": "season-1",
"number": 1,
"title": "Season 1",
"description": "The debut season of The Amazing World of Gumball, introducing Gumball, Darwin and the rest of the Watterson family. It premiered in the US on May 3, 2011 with \"The DVD\" and wrapped up 36 episodes later with \"The Fight.\"",
"series": "amazing-world",
"seriesSeasonNumber": 1,
"status": "completed",
"episodeCount": 36,
"releasedEpisodeCount": 36,
"networks": [
"Cartoon Network"
],
"usPremiereDate": "2011-05-03",
"usFinaleDate": "2012-03-13",
"ukPremiereDate": "2011-09-05",
"ukFinaleDate": "2012-04-01",
"episodes": "/episodes?season=1",
"image": "https://arturbomtempo-dev.github.io/arturbomtempo-cdn/assets/images/projects/gumball-api/seasons/season-1.webp",
"url": "/seasons/1",
"createdAt": "2026-09-30T13:34:03.707Z",
"updatedAt": "2026-09-30T13:34:03.707Z"
}Buscar uma temporada pelo slug
Slugs são identificadores estáveis e legíveis, ideais para as URLs do seu próprio app.
/seasons/slug/{slug}Buscar temporadas aleatórias
Retorna uma seleção aleatória de temporadas. As respostas aleatórias nunca usam cache, então cada requisição traz um resultado diferente.
/seasons/random| Parâmetro | Tipo | Descrição |
|---|---|---|
| count | integer | Quantos itens retornar, de 1 a 10. O padrão é 1. |
Filtrar temporadas
Combine qualquer um destes query parameters entre si, com a paginação e com a ordenação.
| Parâmetro | Tipo | Descrição |
|---|---|---|
| search | string | Busca parcial pelo título, sem diferenciar maiúsculas de minúsculas. |
| series | enum | Filtra pela série.
|
| status | enum | Filtra pelo status.
|
| ids | integer[] | Lista de ids separados por vírgula, até 100. |
| sort | string | Campo usado na ordenação. Adicione
|
GET /seasons?series=amazing-worldMúsicas
As músicas cantadas na série, do tema de abertura aos números musicais de cada episódio.
156 músicas disponíveis.
Schema de música
| Chave | Tipo | Descrição |
|---|---|---|
| id | integer | O id único da música. |
| slug | string | Identificador único e amigável para URLs da música. |
| title | string | O título da música. |
| description | string | null | Uma breve descrição. |
| type | enum | O tipo de música.
|
| episode | EpisodeReference | null | O episódio em que a música é cantada. |
| characters | CharacterReference[] | Os personagens que cantam a música. |
| vocalists | string[] | Os intérpretes reais. |
| genres | string[] | Gêneros musicais. |
| duration | string | null | Duração no formato |
| durationSeconds | integer | null | Duração em segundos. |
| musicalKey | string | null | A tonalidade musical. |
| image | string | null | URL da imagem da música (WebP). |
| url | string | O caminho da música na API, como |
| createdAt | datetime | Quando o item foi adicionado à API, em ISO 8601. |
| updatedAt | datetime | Quando o item foi atualizado pela última vez, em ISO 8601. |
Listar todas as músicas
Retorna uma lista paginada de músicas, com 20 por página por padrão.
/songs| Parâmetro | Tipo | Descrição |
|---|---|---|
| page | integer | A página a ser retornada, a partir de 1. |
| limit | integer | Itens por página, de 1 a 100. O padrão é 20. |
| sort | string | Campo usado na ordenação. Adicione
|
Buscar uma música
Retorna uma música pelo id numérico.
/songs/{id}{
"id": 1,
"slug": "opening-theme",
"title": "Opening theme",
"description": "The theme song of the series. Most countries air the full introduction, while the United States usually airs a shortened version. The Wonderfully Weird World of Gumball introduced a new version.",
"type": "theme",
"episode": {
"id": 1,
"slug": "the-dvd",
"title": "The DVD",
"code": "S01E01",
"url": "/episodes/1"
},
"characters": [],
"vocalists": [],
"genres": [],
"duration": "0:20",
"durationSeconds": 20,
"musicalKey": "G major",
"image": "https://arturbomtempo-dev.github.io/arturbomtempo-cdn/assets/images/projects/gumball-api/songs/opening-theme.webp",
"url": "/songs/1",
"createdAt": "2026-09-30T13:47:38.110Z",
"updatedAt": "2026-09-30T13:47:38.110Z"
}Buscar uma música pelo slug
Slugs são identificadores estáveis e legíveis, ideais para as URLs do seu próprio app.
/songs/slug/{slug}Buscar músicas aleatórias
Retorna uma seleção aleatória de músicas. As respostas aleatórias nunca usam cache, então cada requisição traz um resultado diferente.
/songs/random| Parâmetro | Tipo | Descrição |
|---|---|---|
| count | integer | Quantos itens retornar, de 1 a 20. O padrão é 1. |
Filtrar músicas
Combine qualquer um destes query parameters entre si, com a paginação e com a ordenação.
| Parâmetro | Tipo | Descrição |
|---|---|---|
| search | string | Busca parcial pelo título, sem diferenciar maiúsculas de minúsculas. |
| type | enum | Filtra pelo tipo.
|
| episodeId | integer | Id do episódio. |
| season | integer | Número da temporada do episódio. |
| characterId | integer | Id de um personagem que canta a música. |
| vocalist | string | Nome exato de um dos intérpretes. |
| genre | string | Nome exato de um dos gêneros. |
| ids | integer[] | Lista de ids separados por vírgula, até 100. |
| sort | string | Campo usado na ordenação. Adicione
|
GET /songs?characterId=1&sort=-durationSecondsJogos
Jogos oficiais ambientados exclusivamente no universo de Gumball, de jogos de navegador a apps para celular.
81 jogos disponíveis.
Schema de jogo
| Chave | Tipo | Descrição |
|---|---|---|
| id | integer | O id único do jogo. |
| slug | string | Identificador único e amigável para URLs do jogo. |
| title | string | O título do jogo. |
| description | string | null | Uma breve descrição. |
| platforms | enum[] | As plataformas em que o jogo foi lançado.
|
| status | enum | Se o jogo ainda está disponível.
|
| releaseDate | date | null | A data de lançamento. |
| releaseYear | integer | null | O ano de lançamento. |
| developers | string[] | Os estúdios responsáveis pelo jogo. |
| image | string | URL da imagem do jogo (WebP). |
| url | string | O caminho do jogo na API, como |
| createdAt | datetime | Quando o item foi adicionado à API, em ISO 8601. |
| updatedAt | datetime | Quando o item foi atualizado pela última vez, em ISO 8601. |
Listar todos os jogos
Retorna uma lista paginada de jogos, com 20 por página por padrão.
/games| Parâmetro | Tipo | Descrição |
|---|---|---|
| page | integer | A página a ser retornada, a partir de 1. |
| limit | integer | Itens por página, de 1 a 100. O padrão é 20. |
| sort | string | Campo usado na ordenação. Adicione
|
Buscar um jogo
Retorna um jogo pelo id numérico.
/games/{id}{
"id": 1,
"slug": "school-house-rush",
"title": "School House Rush",
"description": "A 2D side-scrolling platformer in which Gumball and Darwin save students trapped in a flooded Elmore Junior High and fix the broken pipe outside.",
"platforms": [
"web"
],
"status": "discontinued",
"releaseDate": "2012-01-30",
"releaseYear": 2012,
"developers": [],
"image": "https://arturbomtempo-dev.github.io/arturbomtempo-cdn/assets/images/projects/gumball-api/games/school-house-rush.webp",
"url": "/games/1",
"createdAt": "2026-09-30T16:15:16.273Z",
"updatedAt": "2026-09-30T16:15:16.273Z"
}Buscar um jogo pelo slug
Slugs são identificadores estáveis e legíveis, ideais para as URLs do seu próprio app.
/games/slug/{slug}Buscar jogos aleatórios
Retorna uma seleção aleatória de jogos. As respostas aleatórias nunca usam cache, então cada requisição traz um resultado diferente.
/games/random| Parâmetro | Tipo | Descrição |
|---|---|---|
| count | integer | Quantos itens retornar, de 1 a 20. O padrão é 1. |
Filtrar jogos
Combine qualquer um destes query parameters entre si, com a paginação e com a ordenação.
| Parâmetro | Tipo | Descrição |
|---|---|---|
| search | string | Busca parcial pelo título, sem diferenciar maiúsculas de minúsculas. |
| platform | enum | Filtra pela plataforma.
|
| status | enum | Filtra pelo status.
|
| developer | string | Nome exato de um dos estúdios. |
| releaseYear | integer | Ano de lançamento. |
| ids | integer[] | Lista de ids separados por vírgula, até 100. |
| sort | string | Campo usado na ordenação. Adicione
|
GET /games?platform=mobile&status=availableMídias
Filmes, séries, livros e jogos que existem dentro do universo de Gumball, muitos deles paródias de obras reais.
16 mídias disponíveis.
Schema de mídia
| Chave | Tipo | Descrição |
|---|---|---|
| id | integer | O id único da mídia. |
| slug | string | Identificador único e amigável para URLs da mídia. |
| title | string | O título da mídia. |
| description | string | null | Uma breve descrição. |
| type | enum | O tipo de mídia.
|
| parodyOf | string | null | A obra real que ela parodia. |
| firstAppearance | EpisodeReference | null | O episódio em que aparece pela primeira vez. |
| image | string | URL da imagem da mídia (WebP). |
| url | string | O caminho da mídia na API, como |
| createdAt | datetime | Quando o item foi adicionado à API, em ISO 8601. |
| updatedAt | datetime | Quando o item foi atualizado pela última vez, em ISO 8601. |
Listar todas as mídias
Retorna uma lista paginada de mídias, com 20 por página por padrão.
/media| Parâmetro | Tipo | Descrição |
|---|---|---|
| page | integer | A página a ser retornada, a partir de 1. |
| limit | integer | Itens por página, de 1 a 100. O padrão é 20. |
| sort | string | Campo usado na ordenação. Adicione
|
Buscar uma mídia
Retorna uma mídia pelo id numérico.
/media/{id}{
"id": 1,
"slug": "alligators-on-a-train",
"title": "Alligators on a Train",
"description": "The action movie Nicole rents from Laser Video in \"The DVD.\" After Gumball accidentally ruins the disc, he and Darwin try to remake the entire film themselves to avoid paying the late fee.",
"type": "movie",
"parodyOf": "Snakes on a Plane",
"firstAppearance": {
"id": 1,
"slug": "the-dvd",
"title": "The DVD",
"code": "S01E01",
"url": "/episodes/1"
},
"image": "https://arturbomtempo-dev.github.io/arturbomtempo-cdn/assets/images/projects/gumball-api/in-universe-media/alligators-on-a-train.webp",
"url": "/media/1",
"createdAt": "2026-10-01T00:54:23.135Z",
"updatedAt": "2026-10-01T00:54:23.135Z"
}Buscar uma mídia pelo slug
Slugs são identificadores estáveis e legíveis, ideais para as URLs do seu próprio app.
/media/slug/{slug}Buscar mídias aleatórias
Retorna uma seleção aleatória de mídias. As respostas aleatórias nunca usam cache, então cada requisição traz um resultado diferente.
/media/random| Parâmetro | Tipo | Descrição |
|---|---|---|
| count | integer | Quantos itens retornar, de 1 a 20. O padrão é 1. |
Filtrar mídias
Combine qualquer um destes query parameters entre si, com a paginação e com a ordenação.
| Parâmetro | Tipo | Descrição |
|---|---|---|
| search | string | Busca parcial pelo título, sem diferenciar maiúsculas de minúsculas. |
| type | enum | Filtra pelo tipo.
|
| firstAppearanceId | integer | Id do episódio em que aparece pela primeira vez. |
| ids | integer[] | Lista de ids separados por vírgula, até 100. |
| sort | string | Campo usado na ordenação. Adicione
|
GET /media?type=movie