Quotable é uma API de cotações gratuita e de código aberto. Foi originalmente construído como parte de um projeto FreeCodeCamp. Se você estiver interessado em contribuir, consulte o Guia do Colaborador.
Há um limite de taxa de 180 solicitações por minuto , por endereço IP. Se você exceder o limite de taxa, a API responderá com um erro 429
.
https://api.quotable.io
Você pode experimentar a API em nosso espaço de trabalho público do Postman.
GET /random
Retorna uma única cotação aleatória do banco de dados
⛔️ Este método está obsoleto em favor de Get Random Quotes
Parâmetros de consulta
parâmetro | tipo | Descrição |
---|---|---|
comprimento máximo | Int | O comprimento máximo em caracteres (pode ser combinado com minLength ) |
comprimento mínimo | Int | O comprimento mínimo em caracteres (pode ser combinado com maxLength ) |
etiquetas | String | Obtenha uma cotação aleatória com tags específicas. Isso leva uma lista de um ou mais nomes de tags, separados por uma vírgula (que significa AND ) ou uma barra vertical (que significa OR ). Uma lista separada por vírgulas corresponderá às citações que possuem todas as tags fornecidas. Enquanto uma lista separada por barras verticais ( | ) corresponderá às aspas que possuem qualquer uma das tags fornecidas. Os nomes das tags não diferenciam maiúsculas de minúsculas. Tags com várias palavras podem ser kebab-case ("nome da tag") ou separadas por espaço ("nome da tag") |
autor | String | Obtenha uma citação aleatória de um ou mais autores. O valor pode ser um name de autor ou slug . Para incluir citações de vários autores, forneça uma lista separada por barras verticais de nomes/slugs de autores. |
autorId | String | deprecated O mesmo que o parâmetro author , exceto que usa autor _id em vez de slug |
Resposta
{
_id: string
// The quotation text
content: string
// The full name of the author
author: string
// The `slug` of the quote author
authorSlug: string
// The length of quote (number of characters)
length: number
// An array of tag names for this quote
tags: string [ ]
}
GET /quotes/random
Obtenha uma ou mais cotações aleatórias do banco de dados. Este método suporta vários filtros que podem ser usados para obter cotações aleatórias com propriedades específicas (ou seja, tags, comprimento da cotação, etc.)
Por padrão, este método retorna uma única cotação aleatória. Você pode especificar o número de cotações aleatórias a serem retornadas por meio do parâmetro limit
.
️ Este método é equivalente ao endpoint/random
. A única diferença é o formato da resposta: em vez de retornar um único objetoQuote
, este método retorna umaArray
de objetosQuote
.
parâmetro | tipo | Descrição |
---|---|---|
limite | Int | default: 1 min: 1 max: 50 O número de cotações aleatórias a serem recuperadas. |
comprimento máximo | Int | O comprimento máximo em caracteres (pode ser combinado com minLength ) |
comprimento mínimo | Int | O comprimento mínimo em caracteres (pode ser combinado com maxLength ) |
etiquetas | String | Obtenha uma cotação aleatória com tags específicas. Isso leva uma lista de um ou mais nomes de tags, separados por uma vírgula (que significa AND ) ou uma barra vertical (que significa OR ). Uma lista separada por vírgulas corresponderá às citações que possuem todas as tags fornecidas. Enquanto uma lista separada por barras verticais ( | ) corresponderá às aspas que possuem qualquer uma das tags fornecidas. Os nomes das tags não diferenciam maiúsculas de minúsculas. Tags com várias palavras podem ser kebab-case ("nome da tag") ou separadas por espaço ("nome da tag") |
autor | String | Obtenha uma citação aleatória de um ou mais autores. O valor pode ser um name de autor ou slug . Para incluir citações de vários autores, forneça uma lista separada por barras verticais de nomes/slugs de autores. |
autorId | String | deprecated O mesmo que o parâmetro author , exceto que usa autor _id em vez de slug |
Resposta
// An array containing one or more Quotes
Array < {
_id : string
// The quotation text
content : string
// The full name of the author
author : string
// The `slug` of the quote author
authorSlug : string
// The length of quote (number of characters)
length : number
// An array of tag names for this quote
tags : string [ ]
} >
Exemplos
Obtenha uma cotação aleatória, tente no navegador
GET /quotes/random
Obtenha 5 citações aleatórias, experimente no navegador
GET /quotes/random?limit=3
Citação aleatória com tags "tecnologia" AND
"citações famosas" tente no navegador
GET /quotes/random?tags=technology,famous-quotes
Citação aleatória com tags "História" OR
"Direitos Civis" tente no navegador
GET /quotes/random?tags=history|civil-rights
Citação aleatória com comprimento máximo de 50 caracteres, tente no navegador
GET /quotes/random?maxLength=50
Citação aleatória com comprimento entre 100 e 140 caracteres, tente no navegador
GET /quotes/random?minLength=100&maxLength=140
GET /quotes
Obtenha todas as cotações que correspondam a uma determinada consulta. Por padrão, isso retornará uma lista paginada de todas as citações, classificadas por _id
. As citações também podem ser filtradas por autor, tag e comprimento.
Parâmetros de consulta
parâmetro | tipo | Descrição |
---|---|---|
comprimento máximo | Int | O comprimento máximo em caracteres (pode ser combinado com minLength ) |
comprimento mínimo | Int | O comprimento mínimo em caracteres (pode ser combinado com maxLength ) |
etiquetas | String | Filtre as cotações por tag(s). Pega uma lista de um ou mais nomes de tags, separados por uma vírgula (que significa AND ) ou uma barra vertical (que significa OR ). Uma lista separada por vírgulas corresponderá às citações que possuem todas as tags fornecidas. Enquanto uma lista separada por barras verticais ( | ) corresponderá às aspas que possuem qualquer uma das tags fornecidas. Os nomes das tags não diferenciam maiúsculas de minúsculas. Tags com várias palavras podem ser kebab-case ("nome da tag") ou separadas por espaço ("nome da tag") |
autor | String | Obtenha citações de um autor específico. O valor pode ser um name de autor ou slug . Para obter citações de vários autores, forneça uma lista separada por barras verticais de nomes/slugs de autores. |
autorId | String | deprecated O mesmo que o parâmetro author , exceto que usa autor _id em vez de slug |
ordenar por | enum | Default: "dateAdded" values: "dateAdded", "dateModified", "author", "content" O campo usado para classificar cotações |
ordem | enum | values: "asc", "desc" default: depends on sortBy A ordem em que os resultados são classificados. A ordem padrão depende do campo sortBy. Para campos de string classificados em ordem alfabética, a ordem padrão é crescente. Para campos de número e data, a ordem padrão é decrescente. |
limite | Int | Min: 1 Max: 150 Default: 20 Define o número de resultados por página. |
página | Int | Min: 1 Default: 1 A página de resultados a ser retornada. Se o valor for maior que o número total de páginas, a solicitação não retornará nenhum resultado |
Resposta
{
// The number of quotes returned in this response
count: number
// The total number of quotes matching this query
totalCount: number
// The current page number
page: number
// The total number of pages matching this request
totalPages: number
// The 1-based index of the last result included in the current response.
lastItemIndex: number
// The array of quotes
results : Array < {
_id : string
// The quotation text
content : string
// The full name of the author
author : string
// The `slug` of the quote author
authorSlug : string
// The length of quote (number of characters)
length : number
// An array of tag names for this quote
tags : string [ ]
} >
}
Exemplos
Obtenha a primeira página de cotações, com 20 resultados por página, experimente no navegador
GET /quotes?page=1
Obtenha a segunda página de cotações, com 20 resultados por página, experimente no navegador
GET /quotes?page=2
Obtenha todas as citações com as tags love
OR
happiness
experimente no navegador
GET /quotes?tags=love|happiness
Obtenha todas as citações com as tags technology
AND
famous-quotes
experimente no navegador
GET /quotes?tags=technology,famous-quotes
Obtenha todas as citações por autor, usando o slug
do autor. tente no navegador
GET /quotes?author=albert-einstein
GET /quotes/:id
Obtenha uma cotação pelo seu ID
Resposta
{
_id: string
// The quotation text
content: string
// The full name of the author
author: string
// The length of quote (number of characters)
length: number
// An array of tag names for this quote
tags: string [ ]
}
GET /authors
Obtenha todos os autores que correspondam à consulta fornecida. Este endpoint pode ser usado para listar autores, com diversas opções de classificação e filtro. Também pode ser usado para obter detalhes do autor de um ou mais autores específicos, usando o slug ou ids do autor.
Parâmetros de consulta
parâmetro | tipo | Descrição |
---|---|---|
lesma | string | Filtre os autores por slug. O valor pode ser um ou mais slugs do autor. Para obter vários autores por slug, o valor deve ser uma lista de slugs separada por barras verticais. |
ordenar por | enum | Default: "name" values: "dateAdded", "dateModified", "name", "quoteCount" O campo usado para classificar os autores. |
ordem | enum | values: "asc", "desc" A ordem em que os resultados são classificados. A ordem padrão depende do campo sortBy. Para campos de string classificados em ordem alfabética (ou seja, name ), a ordem padrão é crescente. Para campos de número e data (ou seja, quoteCount ), a ordem padrão é decrescente. |
limite | Int | Min: 1 Max: 150 Default: 20 Define o número de resultados por página. |
página | Int | Min: 1 Default: 1 A página de resultados a ser retornada. Se o valor for maior que o número total de páginas, a solicitação não retornará nenhum resultado |
Resposta
{
// The number of results included in this response.
count: number
// The total number of results matching this request.
totalCount: number
// The current page number
page: number
// The total number of pages matching this request
totalPages: number
// The 1-based index of the last result included in this response. This shows the
// current pagination offset.
lastItemIndex: number | null
// The array of authors
results : Array < {
// A unique id for this author
_id : string
// A brief, one paragraph bio of the author. Source: wiki API
bio : string
// A one-line description of the author. Typically it is the person's primary
// occupation or what they are know for.
description : string
// The link to the author's wikipedia page or official website
link : string
// The authors full name
name : string
// A slug is a URL-friendly ID derived from the authors name. It can be used as
slug : string
// The number of quotes by this author
quoteCount : string
} >
}
Exemplos
Obtenha todos os autores, classificados em ordem alfabética por nome, tente no navegador
GET /authors?sortBy=name
Obtenha todos os autores, classificados por número de citações em ordem decrescente, tente no navegador
GET /authors?sortBy=quoteCount&order=desc
Obtenha um único autor por slug. tente no navegador
GET /authors?slug=albert-einstein
Obtenha vários autores por slug. Nesse caso, você fornece uma lista separada por barras de slugs para tentar no navegador
GET /authors?slug=albert-einstein|abraham-lincoln
GET /search/quotes
Este endpoint permite pesquisar citações por palavras-chave, conteúdo e/ou nome do autor. Ao contrário do endpoint List Quotes, este método é desenvolvido pelo Atlas Search e foi projetado para alimentar uma interface de usuário da barra de pesquisa.
Parâmetros de consulta
Parâmetro | Tipo | Descrição |
---|---|---|
consulta | String | A sequência de pesquisa. A consulta pode ser colocada entre aspas para pesquisar uma frase exata. |
campos | String | Default: "content,author,tags" Especifique os campos pelos quais pesquisar. Isso leva uma lista separada por vírgulas de nomes de campos. Os campos de pesquisa suportados são “conteúdo”, “autor”, “tags”. Por padrão, ele pesquisará todos os campos simultaneamente. |
fuzzyMax | Int | Min: 0 Max: 2 Default: 0 O número máximo de edições de um único caractere necessárias para corresponder ao termo de pesquisa especificado. Definir isso como zero desativa a correspondência difusa. |
fuzzyMaxExpansions | Int | Max: 150 Min: 0 Default: 50 Quando a pesquisa difusa está habilitada, este é o número máximo de variações a serem geradas e pesquisadas. Este limite se aplica por token. |
limite | Int | Min: 0 Max: 150 Default: 20 O número máximo de resultados por página |
página | Int | Min: 1 Default: 1 Define o número da página para paginação |
Resposta
{
// The number of results included in this response.
count: number
// The total number of results matching this request.
totalCount: number
// The current page number
page: number
// The total number of pages matching this request
totalPages: number
// The 1-based index of the last result included in this response. This shows the
// current pagination offset.
lastItemIndex: number | null
// The array of authors
results : Array < {
// A unique id for this author
_id : string
// A brief, one paragraph bio of the author. Source: wiki API
bio : string
// A one-line description of the author. Typically it is the person's primary
// occupation or what they are know for.
description : string
// The link to the author's wikipedia page or official website
link : string
// The authors full name
name : string
// A slug is a URL-friendly ID derived from the authors name. It can be used as
slug : string
// The number of quotes by this author
quoteCount : string
} >
}
Exemplos
Pesquise "toda boa tecnologia é basicamente mágica" (tente no navegador)
GET /search/quotes?query=every good technology is basically magic
Resultados:
- “Qualquer tecnologia suficientemente avançada é equivalente à magia.”
Procure a frase "casa dividida"
GET /search/quotes?query=divided house
Resultados
- "Uma casa dividida contra si mesma não pode subsistir."
Pesquise citações com as palavras-chave “vida” ou “felicidade” (tente no navegador)
GET /search/quotes?query=life happiness
Procure citações de um autor chamado "Kennedy" (tente no navegador)
GET /search/quotes?query=Kennedy&fields=author
GET /search/authors
Este endpoint permite pesquisar autores por nome. Ele foi projetado para alimentar uma barra de pesquisa para autores que exibe sugestões de preenchimento automático conforme o usuário digita.
Example
query="John F. Kennedy"
terms=["john", "kennedy"]
term term
| |
John F. Kennedy Jr.
| |
initial suffix
Example
query="Saint Augustine of Hippo"
terms=["Augustine", "Hippo"]
term term
| |
Saint Augustine of Hippo
| |
prefix stopword
Parâmetros de consulta
Parâmetro | Tipo | Descrição |
---|---|---|
consulta | String | A consulta de pesquisa |
preenchimento automático | Boolean | default: true Ativa a correspondência de preenchimento automático |
matchThreshold | Int | Min: 1 Max: 3 Default: 2 Define o número mínimo de termos de pesquisa (palavras) que devem corresponder para que um autor seja incluído nos resultados. Basicamente, se for definido como 1, os resultados incluirão todos os autores que correspondem a pelo menos uma parte do nome. Portanto, query="John F. Kennedy" os resultados incluiriam todos os autores que correspondessem a "john" OR "kennedy".Se estiver definido como 2 : quando a consulta de pesquisa incluir dois ou mais "termos", pelo menos dois desses termos deverão corresponder. Portanto, query="John F. Kennedy" retornaria apenas autores que correspondessem a "John" AND "Kennedy". |
limite | Int | Min: Max: 150 Default: 20 Número máximo de resultados por página |
página | Int | Min: 1 Default: 1 Define o número da página para paginação |
Resposta
{
// The number of results included in this response.
count: number
// The total number of results matching this request.
totalCount: number
// The current page number
page: number
// The total number of pages matching this request
totalPages: number
// The 1-based index of the last result included in this response. This shows the
// current pagination offset.
lastItemIndex: number | null
// The array of authors
results : Array < {
// A unique id for this author
_id : string
// A brief, one paragraph bio of the author. Source: wiki API
bio : string
// A one-line description of the author. Typically it is the person's primary
// occupation or what they are know for.
description : string
// The link to the author's wikipedia page or official website
link : string
// The authors full name
name : string
// A slug is a URL-friendly ID derived from the authors name. It can be used as
slug : string
// The number of quotes by this author
quoteCount : string
} >
}
Exemplos
Procure pelo autor chamado "Einstein" (tente no navegador)
GET /search/authors?query=Einstein
Resultados:
- Albert Einstein
Pesquisa de preenchimento automático por "Einstein" (tente no navegador)
GET /search/authors?query=Einst
Resultados:
- Albert Einstein
Procure por "John Adams" (tente no navegador)
GET /search/authors?query=john adams
Resultados
- João Adams
- John Quincy Adams
Procure por "John Quincy Adams" (tente no navegador)
GET /search/authors?query=john quincy adams
Resultados:
- John Quincy Adams)
- João Adams
Obtenha um único Author
por slug
. Este método pode ser usado para obter detalhes do autor, como biografia, link do site e imagem do perfil.
Se você deseja obter todas as citações de um autor específico, use o endpoint /quotes e filtre por autor, nome do autor/slug.
Se você deseja obter vários autores por slug em uma única solicitação, use o endpoint /authors e filtre por slug
.
GET /authors/:id
Resposta
{
// A unique id for this author
_id: string
// A brief, one paragraph bio of the author. Source wiki API.
bio: string
// A one-line description of the author.
description: string
// The link to the author's wikipedia page or official website
link: string
// The authors full name
name: string
// A slug is a URL-friendly ID derived from the authors name. It can be used as
slug: string
// The number of quotes by this author
quoteCount: string
}
GET /tags
Obtenha uma lista de todas as tags
Parâmetros de consulta
parâmetro | tipo | Descrição |
---|---|---|
ordenar por | enum | Default: "name" values: "dateAdded", "dateModified", "name", "quoteCount" O campo usado para classificar tags. |
ordem | enum | values: "asc", "desc" A ordem em que os resultados são classificados. A ordem padrão depende do campo sortBy. Para campos de string classificados em ordem alfabética, a ordem padrão é crescente. Para campos de número e data, a ordem padrão é decrescente. |
Resposta
{
// The number of all tags by this request
count: number
// The array of tags
results : Array < {
_id : string
name : string
} >
}