Quotable es una API de cotizaciones gratuita y de código abierto. Fue construido originalmente como parte de un proyecto FreeCodeCamp. Si está interesado en contribuir, consulte la Guía para contribuyentes.
Hay un límite de velocidad de 180 solicitudes por minuto , por dirección IP. Si excede el límite de tasa, la API responderá con un error 429
.
https://api.quotable.io
Puede probar la API en nuestro espacio de trabajo público Postman.
GET /random
Devuelve una única cita aleatoria de la base de datos.
⛔️ Este método está obsoleto en favor de Obtener cotizaciones aleatorias
Parámetros de consulta
parámetro | tipo | Descripción |
---|---|---|
longitud máxima | Int | La longitud máxima en caracteres (se puede combinar con minLength ) |
minLongitud | Int | La longitud mínima en caracteres (se puede combinar con maxLength ) |
etiquetas | String | Obtenga una cotización aleatoria con etiquetas específicas. Esto toma una lista de uno o más nombres de etiquetas, separados por una coma (que significa AND ) o una barra vertical (que significa OR ). Una lista separada por comas coincidirá con las citas que tengan todas las etiquetas proporcionadas. Mientras que una lista separada con barra vertical ( | ) coincidirá con las citas que tengan cualquiera de las etiquetas proporcionadas. Los nombres de las etiquetas no distinguen entre mayúsculas y minúsculas. Las etiquetas de varias palabras pueden estar en mayúsculas y minúsculas ("nombre de etiqueta") o separadas por espacios ("nombre de etiqueta") |
autor | String | Obtenga una cita aleatoria de uno o más autores. El valor puede ser el name del autor o slug . Para incluir citas de varios autores, proporcione una lista de nombres de autores/slugs separados por barras verticales. |
ID de autor | String | deprecated Igual que el parámetro author , excepto que usa autor _id en lugar de slug |
Respuesta
{
_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
Obtenga una o más cotizaciones aleatorias de la base de datos. Este método admite varios filtros que se pueden utilizar para obtener citas aleatorias con propiedades específicas (es decir, etiquetas, longitud de las citas, etc.)
De forma predeterminada, este método devuelve una única comilla aleatoria. Puede especificar el número de cotizaciones aleatorias que se devolverán mediante el parámetro limit
.
️ Este método es equivalente al punto final/random
. La única diferencia es el formato de respuesta: en lugar de volver a ajustar un único objetoQuote
, este método devuelve unaArray
de objetosQuote
.
parámetro | tipo | Descripción |
---|---|---|
límite | Int | default: 1 min: 1 max: 50 El número de citas aleatorias que se recuperarán. |
longitud máxima | Int | La longitud máxima en caracteres (se puede combinar con minLength ) |
minLongitud | Int | La longitud mínima en caracteres (se puede combinar con maxLength ) |
etiquetas | String | Obtenga una cotización aleatoria con etiquetas específicas. Esto toma una lista de uno o más nombres de etiquetas, separados por una coma (que significa AND ) o una barra vertical (que significa OR ). Una lista separada por comas coincidirá con las citas que tengan todas las etiquetas proporcionadas. Mientras que una lista separada con barra vertical ( | ) coincidirá con las citas que tengan cualquiera de las etiquetas proporcionadas. Los nombres de las etiquetas no distinguen entre mayúsculas y minúsculas. Las etiquetas de varias palabras pueden estar en mayúsculas y minúsculas ("nombre de etiqueta") o separadas por espacios ("nombre de etiqueta") |
autor | String | Obtenga una cita aleatoria de uno o más autores. El valor puede ser el name del autor o slug . Para incluir citas de varios autores, proporcione una lista de nombres de autores/slugs separados por barras verticales. |
ID de autor | String | deprecated Igual que el parámetro author , excepto que usa autor _id en lugar de slug |
Respuesta
// 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 [ ]
} >
Ejemplos
Obtenga una cotización aleatoria en el navegador
GET /quotes/random
Obtenga 5 citas aleatorias, pruébelas en el navegador
GET /quotes/random?limit=3
Cita aleatoria con las etiquetas "tecnología" AND
"citas famosas" prueba en el navegador
GET /quotes/random?tags=technology,famous-quotes
Cita aleatoria con las etiquetas "Historia" OR
"Derechos civiles" pruebe en el navegador
GET /quotes/random?tags=history|civil-rights
Cita aleatoria con una longitud máxima de 50 caracteres. Pruebe en el navegador.
GET /quotes/random?maxLength=50
Cita aleatoria con una longitud de entre 100 y 140 caracteres. Pruebe en el navegador.
GET /quotes/random?minLength=100&maxLength=140
GET /quotes
Obtenga todas las cotizaciones que coincidan con una consulta determinada. De forma predeterminada, esto devolverá una lista paginada de todas las citas, ordenadas por _id
. Las citas también se pueden filtrar por autor, etiqueta y extensión.
Parámetros de consulta
parámetro | tipo | Descripción |
---|---|---|
longitud máxima | Int | La longitud máxima en caracteres (se puede combinar con minLength ) |
minLongitud | Int | La longitud mínima en caracteres (se puede combinar con maxLength ) |
etiquetas | String | Filtrar cotizaciones por etiqueta(s). Toma una lista de uno o más nombres de etiquetas, separados por una coma (que significa AND ) o una barra vertical (que significa OR ). Una lista separada por comas coincidirá con las citas que tengan todas las etiquetas proporcionadas. Mientras que una lista separada con barra vertical ( | ) coincidirá con las comillas que tengan cualquiera de las etiquetas proporcionadas. Los nombres de las etiquetas no distinguen entre mayúsculas y minúsculas. Las etiquetas de varias palabras pueden estar en mayúsculas y minúsculas ("nombre de etiqueta") o separadas por espacios ("nombre de etiqueta") |
autor | String | Obtenga citas de un autor específico. El valor puede ser el name del autor o slug . Para obtener citas de varios autores, proporcione una lista separada por barras verticales de nombres de autores/slugs. |
ID de autor | String | deprecated Igual que el parámetro author , excepto que usa autor _id en lugar de slug |
Ordenar por | enum | Default: "dateAdded" values: "dateAdded", "dateModified", "author", "content" El campo utilizado para ordenar las cotizaciones. |
orden | enum | values: "asc", "desc" default: depends on sortBy El orden en que se ordenan los resultados. El orden predeterminado depende del campo ordenarPor. Para los campos de cadena ordenados alfabéticamente, el orden predeterminado es ascendente. Para los campos de número y fecha, el orden predeterminado es descendente. |
límite | Int | Min: 1 Max: 150 Default: 20 Establece el número de resultados por página. |
página | Int | Min: 1 Default: 1 La página de resultados para regresar. Si el valor es mayor que el número total de páginas, la solicitud no arrojará ningún resultado. |
Respuesta
{
// 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 [ ]
} >
}
Ejemplos
Obtenga la primera página de cotizaciones, con 20 resultados por página, pruebe en el navegador
GET /quotes?page=1
Obtenga la segunda página de cotizaciones, con 20 resultados por página, pruebe en el navegador
GET /quotes?page=2
Obtenga todas las citas con las etiquetas love
OR
happiness
pruébelas en el navegador
GET /quotes?tags=love|happiness
Obtenga todas las citas con las etiquetas technology
AND
famous-quotes
pruébelas en el navegador
GET /quotes?tags=technology,famous-quotes
Obtenga todas las citas por autor, utilizando el slug
del autor. prueba en el navegador
GET /quotes?author=albert-einstein
GET /quotes/:id
Obtenga una cotización por su ID
Respuesta
{
_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
Obtenga todos los autores que coincidan con la consulta dada. Este punto final se puede utilizar para enumerar autores, con varias opciones para ordenar y filtrar. También se puede utilizar para obtener detalles del autor de uno o más autores específicos, utilizando el slug o los identificadores del autor.
Parámetros de consulta
parámetro | tipo | Descripción |
---|---|---|
babosa | string | Filtrar autores por slug. El valor puede ser uno o más slugs de autor. Para obtener varios autores por slug, el valor debe ser una lista de slugs separadas por barras verticales. |
Ordenar por | enum | Default: "name" values: "dateAdded", "dateModified", "name", "quoteCount" El campo utilizado para ordenar los autores. |
orden | enum | values: "asc", "desc" El orden en que se ordenan los resultados. El orden predeterminado depende del campo ordenarPor. Para los campos de cadena ordenados alfabéticamente (es decir, name ), el orden predeterminado es ascendente. Para los campos de número y fecha (es decir, quoteCount ), el orden predeterminado es descendente. |
límite | Int | Min: 1 Max: 150 Default: 20 Establece el número de resultados por página. |
página | Int | Min: 1 Default: 1 La página de resultados para regresar. Si el valor es mayor que el número total de páginas, la solicitud no arrojará ningún resultado. |
Respuesta
{
// 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
} >
}
Ejemplos
Obtenga todos los autores, ordenados alfabéticamente por nombre, intente en el navegador
GET /authors?sortBy=name
Obtenga todos los autores, ordenados por número de citas en orden descendente, intente en el navegador
GET /authors?sortBy=quoteCount&order=desc
Consigue un único autor por slug. prueba en el navegador
GET /authors?slug=albert-einstein
Obtenga múltiples autores por slug. En este caso, proporciona una lista de slugs separadas por tuberías que se prueban en el navegador.
GET /authors?slug=albert-einstein|abraham-lincoln
GET /search/quotes
Este punto final le permite buscar citas por palabras clave, contenido y/o nombre del autor. A diferencia del punto final List Quotes, este método funciona con Atlas Search y está diseñado para impulsar una interfaz de usuario de barra de búsqueda.
Parámetros de consulta
parámetro | Tipo | Descripción |
---|---|---|
consulta | String | La cadena de búsqueda. La consulta se puede entrecomillar para buscar una frase exacta. |
campos | String | Default: "content,author,tags" Especifique los campos por los que buscar. Esto requiere una lista de nombres de campos separados por comas. Los campos de búsqueda admitidos son "contenido", "autor", "etiquetas". De forma predeterminada, buscará en todos los campos simultáneamente. |
fuzzyMaxEditar | Int | Min: 0 Max: 2 Default: 0 El número máximo de ediciones de un solo carácter necesarias para coincidir con el término de búsqueda especificado. Establecer esto en cero deshabilita la coincidencia aproximada. |
expansionesfuzzyMax | Int | Max: 150 Min: 0 Default: 50 Cuando la búsqueda difusa está habilitada, este es el número máximo de variaciones para generar y buscar. Este límite se aplica por token. |
límite | Int | Min: 0 Max: 150 Default: 20 El número máximo de resultados por página. |
página | Int | Min: 1 Default: 1 Establece el número de página para la paginación. |
Respuesta
{
// 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
} >
}
Ejemplos
Busque "toda buena tecnología es básicamente mágica" (pruébelo en el navegador)
GET /search/quotes?query=every good technology is basically magic
Resultados:
- "Cualquier tecnología suficientemente avanzada equivale a magia".
Busque la frase "casa dividida"
GET /search/quotes?query=divided house
Resultados
- "Una casa dividida contra sí misma no puede mantenerse en pie."
Busque citas con las palabras clave "vida" o "felicidad" (pruebe en el navegador)
GET /search/quotes?query=life happiness
Busque citas de un autor llamado "kennedy" (pruebe en el navegador)
GET /search/quotes?query=Kennedy&fields=author
GET /search/authors
Este punto final le permite buscar autores por nombre. Está diseñado para impulsar una barra de búsqueda de autores que muestra sugerencias de autocompletar a medida que el usuario escribe.
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 | Descripción |
---|---|---|
consulta | String | La consulta de búsqueda |
autocompletar | Boolean | default: true Habilita la coincidencia de autocompletar |
partidoUmbral | Int | Min: 1 Max: 3 Default: 2 Establece el número mínimo de términos de búsqueda (palabras) que deben coincidir para que un autor se incluya en los resultados. Básicamente, si se establece en 1, los resultados incluirán todos los autores que coincidan con al menos una parte del nombre. Entonces query="John F. Kennedy" los resultados incluirían todos los autores que coincidan con "john" OR "kennedy".Si se establece en 2 : cuando la consulta de búsqueda incluye dos o más "términos", al menos dos de esos términos deben coincidir. Entonces query="John F. Kennedy" solo devolverá autores que coincidan con "John" AND "Kennedy". |
límite | Int | Min: Max: 150 Default: 20 Número máximo de resultados por página |
página | Int | Min: 1 Default: 1 Establece el número de página para la paginación. |
Respuesta
{
// 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
} >
}
Ejemplos
Busque un autor llamado "Einstein" (pruebe en el navegador)
GET /search/authors?query=Einstein
Resultados:
- Albert Einstein
Búsqueda automática de "Einstein" (pruébelo en el navegador)
GET /search/authors?query=Einst
Resultados:
- Albert Einstein
Busque "John Adams" (pruebe en el navegador)
GET /search/authors?query=john adams
Resultados
- Juan Adams
- John Quincy Adams
Busque "John Quincy Adams" (pruebe en el navegador)
GET /search/authors?query=john quincy adams
Resultados:
- John Quincy Adams)
- Juan Adams
Obtenga un único Author
por slug
. Este método se puede utilizar para obtener detalles del autor, como la biografía, el enlace al sitio web y la imagen de perfil.
Si desea obtener todas las citas de un autor específico, utilice el punto final /quotes y filtre por nombre de autor/slug.
Si desea obtener varios autores por slug en una sola solicitud, utilice el punto final /authors y filtre por slug
.
GET /authors/:id
Respuesta
{
// 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
Obtener una lista de todas las etiquetas
Parámetros de consulta
parámetro | tipo | Descripción |
---|---|---|
Ordenar por | enum | Default: "name" values: "dateAdded", "dateModified", "name", "quoteCount" El campo utilizado para ordenar las etiquetas. |
orden | enum | values: "asc", "desc" El orden en que se ordenan los resultados. El orden predeterminado depende del campo ordenarPor. Para los campos de cadena ordenados alfabéticamente, el orden predeterminado es ascendente. Para los campos de número y fecha, el orden predeterminado es descendente. |
Respuesta
{
// The number of all tags by this request
count: number
// The array of tags
results : Array < {
_id : string
name : string
} >
}