Quotable est une API de devis gratuite et open source. Il a été initialement construit dans le cadre d'un projet FreeCodeCamp. Si vous souhaitez contribuer, veuillez consulter le Guide des contributeurs.
Il existe une limite de débit de 180 requêtes par minute et par adresse IP. Si vous dépassez la limite de débit, l'API répondra avec une erreur 429
.
https://api.quotable.io
Vous pouvez essayer l'API sur notre espace de travail public Postman.
GET /random
Renvoie une seule citation aléatoire de la base de données
⛔️ Cette méthode est obsolète au profit de Get Random Quotes
Paramètres de requête
paramètre | taper | Description |
---|---|---|
longueurmax | Int | La longueur maximale en caractères (peut être combinée avec minLength ) |
minLongueur | Int | La longueur minimale en caractères (peut être combinée avec maxLength ) |
balises | String | Obtenez un devis aléatoire avec des balises spécifiques. Cela prend une liste d'un ou plusieurs noms de balises, séparés par une virgule (signifiant AND ) ou une barre verticale (signifiant OR ). Une liste séparée par des virgules correspondra aux guillemets contenant toutes les balises données. Alors qu'une liste séparée par des barres verticales ( | ) correspondra aux guillemets contenant l'une des balises fournies. Les noms de balises ne sont pas sensibles à la casse. Les balises multi-mots peuvent être en casse kebab ("nom-tag") ou séparées par des espaces ("nom de la balise") |
auteur | String | Obtenez une citation aléatoire d'un ou plusieurs auteurs. La valeur peut être le name d'un auteur ou slug . Pour inclure des citations de plusieurs auteurs, fournissez une liste de noms d'auteurs/slugs séparés par des barres. |
auteurId | String | deprecated Identique au paramètre author , sauf qu'il utilise author _id au lieu de slug |
Réponse
{
_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
Obtenez une ou plusieurs citations aléatoires de la base de données. Cette méthode prend en charge plusieurs filtres qui peuvent être utilisés pour obtenir des citations aléatoires avec des propriétés spécifiques (par exemple, balises, longueur des citations, etc.)
Par défaut, cette méthode renvoie une seule citation aléatoire. Vous pouvez spécifier le nombre de guillemets aléatoires à renvoyer via le paramètre limit
.
️ Cette méthode est équivalente au point de terminaison/random
. La seule différence réside dans le format de réponse : au lieu de réajuster un seul objetQuote
, cette méthode renvoie unArray
d'objetsQuote
.
paramètre | taper | Description |
---|---|---|
limite | Int | default: 1 min: 1 max: 50 Le nombre de citations aléatoires à récupérer. |
longueurmax | Int | La longueur maximale en caractères (peut être combinée avec minLength ) |
minLongueur | Int | La longueur minimale en caractères (peut être combinée avec maxLength ) |
balises | String | Obtenez un devis aléatoire avec des balises spécifiques. Cela prend une liste d'un ou plusieurs noms de balises, séparés par une virgule (signifiant AND ) ou une barre verticale (signifiant OR ). Une liste séparée par des virgules correspondra aux guillemets contenant toutes les balises données. Alors qu'une liste séparée par des barres verticales ( | ) correspondra aux guillemets contenant l'une des balises fournies. Les noms de balises ne sont pas sensibles à la casse. Les balises multi-mots peuvent être en casse kebab ("nom-tag") ou séparées par des espaces ("nom de la balise") |
auteur | String | Obtenez une citation aléatoire d'un ou plusieurs auteurs. La valeur peut être le name d'un auteur ou slug . Pour inclure des citations de plusieurs auteurs, fournissez une liste de noms d'auteurs/slugs séparés par des barres. |
auteurId | String | deprecated Identique au paramètre author , sauf qu'il utilise author _id au lieu de slug |
Réponse
// 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 [ ]
} >
Exemples
Obtenez un devis aléatoire dans le navigateur
GET /quotes/random
Obtenez 5 citations aléatoires, essayez dans le navigateur
GET /quotes/random?limit=3
Citation aléatoire avec les balises "technologie" AND
"citations célèbres" à essayer dans le navigateur
GET /quotes/random?tags=technology,famous-quotes
Citation aléatoire avec les balises « Histoire » OR
« Droits civils » à essayer dans le navigateur
GET /quotes/random?tags=history|civil-rights
Citation aléatoire d'une longueur maximale de 50 caractères, essayez dans le navigateur
GET /quotes/random?maxLength=50
Citation aléatoire d'une longueur comprise entre 100 et 140 caractères, essayez dans le navigateur
GET /quotes/random?minLength=100&maxLength=140
GET /quotes
Obtenez tous les devis correspondant à une requête donnée. Par défaut, cela renverra une liste paginée de toutes les citations, triées par _id
. Les citations peuvent également être filtrées par auteur, balise et longueur.
Paramètres de requête
paramètre | taper | Description |
---|---|---|
longueurmax | Int | La longueur maximale en caractères (peut être combinée avec minLength ) |
minLongueur | Int | La longueur minimale en caractères (peut être combinée avec maxLength ) |
balises | String | Filtrer les citations par balise(s). Prend une liste d'un ou plusieurs noms de balises, séparés par une virgule (signifiant AND ) ou une barre verticale (signifiant OR ). Une liste séparée par des virgules correspondra aux guillemets contenant toutes les balises données. Alors qu'une liste séparée par des barres verticales ( | ) correspondra aux guillemets qui ont l'une des balises fournies. Les noms de balises ne sont pas sensibles à la casse. Les balises multi-mots peuvent être en casse kebab ("nom-tag") ou séparées par des espaces ("nom de la balise") |
auteur | String | Obtenez des citations d’un auteur spécifique. La valeur peut être le name d'un auteur ou slug . Pour obtenir des citations de plusieurs auteurs, fournissez une liste de noms d'auteurs/slugs séparés par des barres. |
auteurId | String | deprecated Identique au paramètre author , sauf qu'il utilise author _id au lieu de slug |
Trier par | enum | Default: "dateAdded" values: "dateAdded", "dateModified", "author", "content" Le champ utilisé pour trier les devis |
commande | enum | values: "asc", "desc" default: depends on sortBy L'ordre dans lequel les résultats sont triés. L'ordre par défaut dépend du champ sortBy. Pour les champs de chaîne triés par ordre alphabétique, l’ordre par défaut est croissant. Pour les champs numériques et date, l’ordre par défaut est décroissant. |
limite | Int | Min: 1 Max: 150 Default: 20 Définit le nombre de résultats par page. |
page | Int | Min: 1 Default: 1 La page de résultats à retourner. Si la valeur est supérieure au nombre total de pages, la requête ne renverra aucun résultat |
Réponse
{
// 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 [ ]
} >
}
Exemples
Obtenez la première page de citations, avec 20 résultats par page, essayez dans le navigateur
GET /quotes?page=1
Obtenez la deuxième page de citations, avec 20 résultats par page, essayez dans le navigateur
GET /quotes?page=2
Obtenez toutes les citations avec les balises love
OR
happiness
essayez dans le navigateur
GET /quotes?tags=love|happiness
Obtenez toutes les citations avec la technology
des balises AND
famous-quotes
essayez dans le navigateur
GET /quotes?tags=technology,famous-quotes
Obtenez toutes les citations par auteur, en utilisant le slug
de l'auteur. essaye dans le navigateur
GET /quotes?author=albert-einstein
GET /quotes/:id
Obtenir un devis par son identifiant
Réponse
{
_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
Obtenez tous les auteurs correspondant à la requête donnée. Ce point de terminaison peut être utilisé pour répertorier les auteurs, avec plusieurs options de tri et de filtrage. Il peut également être utilisé pour obtenir des détails sur l'auteur d'un ou plusieurs auteurs spécifiques, en utilisant le slug ou les identifiants de l'auteur.
Paramètres de requête
paramètre | taper | Description |
---|---|---|
limace | string | Filtrer les auteurs par slug. La valeur peut être un ou plusieurs slugs d’auteur. Pour obtenir plusieurs auteurs par slug, la valeur doit être une liste de slugs séparés par des barres. |
Trier par | enum | Default: "name" values: "dateAdded", "dateModified", "name", "quoteCount" Le champ utilisé pour trier les auteurs. |
commande | enum | values: "asc", "desc" L'ordre dans lequel les résultats sont triés. L'ordre par défaut dépend du champ sortBy. Pour les champs de chaîne triés par ordre alphabétique (c'est-à-dire name ), l'ordre par défaut est croissant. Pour les champs de nombre et de date (c'est-à-dire quoteCount ), l'ordre par défaut est décroissant. |
limite | Int | Min: 1 Max: 150 Default: 20 Définit le nombre de résultats par page. |
page | Int | Min: 1 Default: 1 La page de résultats à retourner. Si la valeur est supérieure au nombre total de pages, la requête ne renverra aucun résultat |
Réponse
{
// 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
} >
}
Exemples
Obtenez tous les auteurs, triés par ordre alphabétique par nom, essayez dans le navigateur
GET /authors?sortBy=name
Obtenez tous les auteurs, triés par nombre de citations par ordre décroissant, essayez dans le navigateur
GET /authors?sortBy=quoteCount&order=desc
Obtenez un seul auteur par slug. essaye dans le navigateur
GET /authors?slug=albert-einstein
Obtenez plusieurs auteurs par slug. Dans ce cas, vous fournissez une liste de slugs essayés dans le navigateur, séparés par des barres verticales.
GET /authors?slug=albert-einstein|abraham-lincoln
GET /search/quotes
Ce point de terminaison vous permet de rechercher des citations par mots-clés, contenu et/ou nom d'auteur. Contrairement au point de terminaison List Quotes, cette méthode est optimisée par Atlas Search et est conçue pour alimenter une interface utilisateur de barre de recherche.
Paramètres de requête
Paramètre | Taper | Description |
---|---|---|
requête | String | La chaîne de recherche. La requête peut être placée entre guillemets pour rechercher une expression exacte. |
champs | String | Default: "content,author,tags" Spécifiez les champs de recherche. Cela prend une liste de noms de champs séparés par des virgules. Les champs de recherche pris en charge sont « contenu », « auteur », « balises ». Par défaut, il effectuera une recherche dans tous les champs simultanément. |
fuzzyMaxModifications | Int | Min: 0 Max: 2 Default: 0 Nombre maximum de modifications d'un seul caractère requises pour correspondre au terme de recherche spécifié. La définition de cette valeur sur zéro désactive la correspondance floue. |
fuzzyMaxExpansion | Int | Max: 150 Min: 0 Default: 50 Lorsque la recherche floue est activée, il s'agit du nombre maximum de variantes à générer et à rechercher. Cette limite s'applique par jeton. |
limite | Int | Min: 0 Max: 150 Default: 20 Le nombre maximum de résultats par page |
page | Int | Min: 1 Default: 1 Définit le numéro de page pour la pagination |
Réponse
{
// 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
} >
}
Exemples
Recherchez « toute bonne technologie est fondamentalement magique » (essayez dans le navigateur)
GET /search/quotes?query=every good technology is basically magic
Résultats:
- "Toute technologie suffisamment avancée équivaut à de la magie."
Recherchez l’expression « maison divisée »
GET /search/quotes?query=divided house
Résultats
- "Une maison divisée contre elle-même ne peut pas tenir."
Recherchez des citations avec les mots-clés « vie » ou « bonheur » (essayez dans le navigateur)
GET /search/quotes?query=life happiness
Recherchez des citations d'un auteur nommé "Kennedy" (essayez dans le navigateur)
GET /search/quotes?query=Kennedy&fields=author
GET /search/authors
Ce point de terminaison vous permet de rechercher des auteurs par nom. Il est conçu pour alimenter une barre de recherche pour les auteurs qui affiche des suggestions de saisie semi-automatique au fur et à mesure que l'utilisateur tape.
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
Paramètres de requête
Paramètre | Taper | Description |
---|---|---|
requête | String | La requête de recherche |
saisie semi-automatique | Boolean | default: true Active la correspondance de saisie semi-automatique |
matchThreshold | Int | Min: 1 Max: 3 Default: 2 Définit le nombre minimum de termes de recherche (mots) qui doivent correspondre pour qu'un auteur soit inclus dans les résultats. Fondamentalement, si la valeur est 1, les résultats incluront tous les auteurs correspondant à au moins une partie du nom. Ainsi, query="John F. Kennedy", les résultats incluraient tous les auteurs correspondant à "john" OR "kennedy".Si la valeur est 2 : lorsque la requête de recherche comprend deux "termes" ou plus, au moins deux de ces termes doivent correspondre. Donc query="John F. Kennedy" renverrait uniquement les auteurs correspondant à "John" AND "Kennedy". |
limite | Int | Min: Max: 150 Default: 20 Nombre maximum de résultats par page |
page | Int | Min: 1 Default: 1 Définit le numéro de page pour la pagination |
Réponse
{
// 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
} >
}
Exemples
Recherchez l'auteur nommé "Einstein" (essayez dans le navigateur)
GET /search/authors?query=Einstein
Résultats:
- Albert Einstein
Recherche de saisie semi-automatique pour "Einstein" (essayez dans le navigateur)
GET /search/authors?query=Einst
Résultats:
- Albert Einstein
Recherchez "John Adams" (essayez dans le navigateur)
GET /search/authors?query=john adams
Résultats
- John Adams
- John Quincy Adams
Recherchez "John Quincy Adams" (essayez dans le navigateur)
GET /search/authors?query=john quincy adams
Résultats:
- John Quincy Adams)
- John Adams
Obtenez un seul Author
par slug
. Cette méthode peut être utilisée pour obtenir des détails sur l'auteur tels que la biographie, le lien du site Web et l'image de profil.
Si vous souhaitez obtenir toutes les citations d'un auteur spécifique, utilisez le point de terminaison /quotes et filtrez par nom d'auteur/slug.
Si vous souhaitez obtenir plusieurs auteurs par slug en une seule requête, utilisez le point de terminaison /authors et filtrez par slug
.
GET /authors/:id
Réponse
{
// 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
Obtenez une liste de toutes les balises
Paramètres de requête
paramètre | taper | Description |
---|---|---|
Trier par | enum | Default: "name" values: "dateAdded", "dateModified", "name", "quoteCount" Le champ utilisé pour trier les balises. |
commande | enum | values: "asc", "desc" L'ordre dans lequel les résultats sont triés. L'ordre par défaut dépend du champ sortBy. Pour les champs de chaîne triés par ordre alphabétique, l’ordre par défaut est croissant. Pour les champs numériques et date, l’ordre par défaut est décroissant. |
Réponse
{
// The number of all tags by this request
count: number
// The array of tags
results : Array < {
_id : string
name : string
} >
}