Quotable ist eine kostenlose Open-Source-API für Zitate. Es wurde ursprünglich als Teil eines FreeCodeCamp-Projekts erstellt. Wenn Sie daran interessiert sind, einen Beitrag zu leisten, schauen Sie sich bitte den Leitfaden für Mitwirkende an.
Es gibt eine Ratenbegrenzung von 180 Anfragen pro Minute und IP-Adresse. Wenn Sie das Ratenlimit überschreiten, antwortet die API mit einem 429
Fehler.
https://api.quotable.io
Sie können die API in unserem öffentlichen Postman-Arbeitsbereich ausprobieren.
GET /random
Gibt ein einzelnes zufälliges Zitat aus der Datenbank zurück
⛔️ Diese Methode ist zugunsten von „Get Random Quotes“ veraltet
Abfrageparameter
param | Typ | Beschreibung |
---|---|---|
maxLength | Int | Die maximale Länge in Zeichen (kann mit minLength kombiniert werden) |
minLänge | Int | Die minimale Länge in Zeichen (kann mit maxLength kombiniert werden) |
Tags | String | Erhalten Sie ein zufälliges Angebot mit bestimmten Tags. Dies erfordert eine Liste mit einem oder mehreren Tag-Namen, getrennt durch ein Komma (bedeutet AND ) oder einen senkrechten Strich (bedeutet OR ). Eine durch Kommas getrennte Liste findet Anführungszeichen, die alle angegebenen Tags enthalten. Während eine durch Pipe ( | ) getrennte Liste mit Anführungszeichen übereinstimmt, die eines der bereitgestellten Tags haben. Bei Tag-Namen wird die Groß-/Kleinschreibung nicht beachtet. Mehrwort-Tags können durch Groß- und Kleinschreibung („Tag-Name“) oder durch Leerzeichen („Tag-Name“) getrennt werden. |
Autor | String | Erhalten Sie ein zufälliges Zitat von einem oder mehreren Autoren. Der Wert kann ein name oder slug sein. Um Zitate mehrerer Autoren einzubeziehen, stellen Sie eine durch Pipes getrennte Liste mit Autorennamen/Slugs bereit. |
Autoren-ID | String | deprecated Identisch mit author param“, außer dass „author _id anstelle von slug verwendet wird |
Antwort
{
_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
Holen Sie sich ein oder mehrere zufällige Angebote aus der Datenbank. Diese Methode unterstützt mehrere Filter, die verwendet werden können, um zufällige Zitate mit bestimmten Eigenschaften (z. B. Tags, Zitatlänge usw.) zu erhalten.
Standardmäßig gibt diese Methode ein einzelnes zufälliges Anführungszeichen zurück. Sie können die Anzahl der zufälligen Anführungszeichen, die zurückgegeben werden sollen, über den Parameter limit
angeben.
️ Diese Methode entspricht dem/random
-Endpunkt. Der einzige Unterschied besteht im Antwortformat: Anstatt ein einzelnesQuote
Objekt neu abzustimmen, gibt diese Methode einArray
vonQuote
-Objekten zurück.
param | Typ | Beschreibung |
---|---|---|
Limit | Int | default: 1 min: 1 max: 50 Die Anzahl der abzurufenden zufälligen Anführungszeichen. |
maxLength | Int | Die maximale Länge in Zeichen (kann mit minLength kombiniert werden) |
minLänge | Int | Die minimale Länge in Zeichen (kann mit maxLength kombiniert werden) |
Tags | String | Erhalten Sie ein zufälliges Angebot mit bestimmten Tags. Dies erfordert eine Liste mit einem oder mehreren Tag-Namen, getrennt durch ein Komma (bedeutet AND ) oder einen senkrechten Strich (bedeutet OR ). Eine durch Kommas getrennte Liste findet Anführungszeichen, die alle angegebenen Tags enthalten. Während eine durch Pipe ( | ) getrennte Liste mit Anführungszeichen übereinstimmt, die eines der bereitgestellten Tags haben. Bei Tag-Namen wird die Groß-/Kleinschreibung nicht beachtet. Mehrwort-Tags können durch Groß- und Kleinschreibung („Tag-Name“) oder durch Leerzeichen („Tag-Name“) getrennt werden. |
Autor | String | Erhalten Sie ein zufälliges Zitat von einem oder mehreren Autoren. Der Wert kann ein name oder slug sein. Um Zitate mehrerer Autoren einzubeziehen, stellen Sie eine durch Pipes getrennte Liste mit Autorennamen/Slugs bereit. |
Autoren-ID | String | deprecated Identisch mit author param“, außer dass „author _id anstelle von slug verwendet wird |
Antwort
// 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 [ ]
} >
Beispiele
Holen Sie sich zufällige Zitate im Browser
GET /quotes/random
Holen Sie sich 5 zufällige Zitate, versuchen Sie es im Browser
GET /quotes/random?limit=3
Zufälliges Zitat mit den Tags „Technologie“ AND
„berühmte Zitate“ im Browser ausprobieren
GET /quotes/random?tags=technology,famous-quotes
Zufälliges Zitat mit den Tags „Geschichte“ OR
„Bürgerrechte“ im Browser ausprobieren
GET /quotes/random?tags=history|civil-rights
Zufälliges Zitat mit einer maximalen Länge von 50 Zeichen im Browser ausprobieren
GET /quotes/random?maxLength=50
Zufälliges Zitat mit einer Länge zwischen 100 und 140 Zeichen im Browser ausprobieren
GET /quotes/random?minLength=100&maxLength=140
GET /quotes
Holen Sie sich alle Angebote, die zu einer bestimmten Suchanfrage passen. Standardmäßig wird eine paginierte Liste aller Zitate zurückgegeben, sortiert nach _id
. Zitate können auch nach Autor, Tag und Länge gefiltert werden.
Abfrageparameter
param | Typ | Beschreibung |
---|---|---|
maxLength | Int | Die maximale Länge in Zeichen (kann mit minLength kombiniert werden) |
minLänge | Int | Die minimale Länge in Zeichen (kann mit maxLength kombiniert werden) |
Tags | String | Filtern Sie Zitate nach Tag(s). Akzeptiert eine Liste mit einem oder mehreren Tag-Namen, getrennt durch ein Komma (bedeutet AND ) oder einen senkrechten Strich (bedeutet OR ). Eine durch Kommas getrennte Liste findet Anführungszeichen, die alle angegebenen Tags enthalten. Während eine durch Pipe ( | ) getrennte Liste mit Anführungszeichen übereinstimmt, die eines der bereitgestellten Tags haben. Bei Tag-Namen wird die Groß-/Kleinschreibung nicht beachtet. Mehrwort-Tags können durch Groß- und Kleinschreibung („Tag-Name“) oder durch Leerzeichen („Tag-Name“) getrennt werden. |
Autor | String | Erhalten Sie Zitate eines bestimmten Autors. Der Wert kann ein name oder slug sein. Um Zitate von mehreren Autoren zu erhalten, stellen Sie eine durch Pipes getrennte Liste mit Autorennamen/Slugs bereit. |
Autoren-ID | String | deprecated Identisch mit author param“, außer dass „author _id anstelle von slug verwendet wird |
Sortieren nach | enum | Default: "dateAdded" values: "dateAdded", "dateModified", "author", "content" Das zum Sortieren von Angeboten verwendete Feld |
Befehl | enum | values: "asc", "desc" default: depends on sortBy Die Reihenfolge, in der die Ergebnisse sortiert werden. Die Standardreihenfolge hängt vom Feld sortBy ab. Bei alphabetisch sortierten Zeichenfolgefeldern ist die Standardreihenfolge aufsteigend. Für Zahlen- und Datumsfelder ist die Standardreihenfolge absteigend. |
Limit | Int | Min: 1 Max: 150 Default: 20 Legt die Anzahl der Ergebnisse pro Seite fest. |
Seite | Int | Min: 1 Default: 1 Die Ergebnisseite, die zurückgegeben werden soll. Wenn der Wert größer als die Gesamtzahl der Seiten ist, gibt die Anfrage keine Ergebnisse zurück |
Antwort
{
// 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 [ ]
} >
}
Beispiele
Holen Sie sich die erste Seite mit Angeboten, mit 20 Ergebnissen pro Seite, versuchen Sie es im Browser
GET /quotes?page=1
Holen Sie sich die zweite Seite mit Angeboten, mit 20 Ergebnissen pro Seite, versuchen Sie es im Browser
GET /quotes?page=2
Holen Sie sich alle Zitate mit den Schlagwörtern love
OR
happiness
im Browser
GET /quotes?tags=love|happiness
Holen Sie sich alle Zitate mit den Tags technology
AND
famous-quotes
im Browser
GET /quotes?tags=technology,famous-quotes
Erhalten Sie alle Zitate nach Autor, indem Sie die slug
des Autors verwenden. Versuchen Sie es im Browser
GET /quotes?author=albert-einstein
GET /quotes/:id
Erhalten Sie ein Angebot anhand der ID
Antwort
{
_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
Rufen Sie alle Autoren ab, die der angegebenen Abfrage entsprechen. Dieser Endpunkt kann zum Auflisten von Autoren mit mehreren Optionen zum Sortieren und Filtern verwendet werden. Es kann auch verwendet werden, um Autorendetails für einen oder mehrere bestimmte Autoren mithilfe des Autoren-Slugs oder der Autoren-IDs abzurufen.
Abfrageparameter
param | Typ | Beschreibung |
---|---|---|
Schnecke | string | Autoren nach Slug filtern. Der Wert kann ein oder mehrere Autoren-Slugs sein. Um mehrere Autoren nach Slug zu erhalten, sollte der Wert eine durch Pipes getrennte Liste von Slugs sein. |
Sortieren nach | enum | Default: "name" values: "dateAdded", "dateModified", "name", "quoteCount" Das Feld, das zum Sortieren der Autoren verwendet wird. |
Befehl | enum | values: "asc", "desc" Die Reihenfolge, in der die Ergebnisse sortiert werden. Die Standardreihenfolge hängt vom Feld sortBy ab. Für alphabetisch sortierte Zeichenfolgenfelder (z. B. name ) ist die Standardreihenfolge aufsteigend. Für Zahlen- und Datumsfelder (z. B. quoteCount ) ist die Standardreihenfolge absteigend. |
Limit | Int | Min: 1 Max: 150 Default: 20 Legt die Anzahl der Ergebnisse pro Seite fest. |
Seite | Int | Min: 1 Default: 1 Die Ergebnisseite, die zurückgegeben werden soll. Wenn der Wert größer als die Gesamtzahl der Seiten ist, gibt die Anfrage keine Ergebnisse zurück |
Antwort
{
// 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
} >
}
Beispiele
Holen Sie sich alle Autoren, alphabetisch nach Namen sortiert, versuchen Sie es im Browser
GET /authors?sortBy=name
Holen Sie sich alle Autoren, sortiert nach Anzahl der Zitate in absteigender Reihenfolge, versuchen Sie es im Browser
GET /authors?sortBy=quoteCount&order=desc
Holen Sie sich einen einzelnen Autor per Slug. Versuchen Sie es im Browser
GET /authors?slug=albert-einstein
Holen Sie sich mehrere Autoren per Slug. In diesem Fall stellen Sie eine durch Pipes getrennte Liste von Slugs bereit, die Sie im Browser ausprobieren
GET /authors?slug=albert-einstein|abraham-lincoln
GET /search/quotes
Dieser Endpunkt ermöglicht Ihnen die Suche nach Zitaten anhand von Schlüsselwörtern, Inhalt und/oder Autorennamen. Im Gegensatz zum Endpunkt „List Quotes“ wird diese Methode von Atlas Search unterstützt und ist so konzipiert, dass sie eine Suchleisten-Benutzeroberfläche unterstützt.
Abfrageparameter
Param | Typ | Beschreibung |
---|---|---|
Abfrage | String | Die Suchzeichenfolge. Die Abfrage kann in Anführungszeichen gesetzt werden, um nach einer genauen Phrase zu suchen. |
Felder | String | Default: "content,author,tags" Geben Sie die Felder an, nach denen gesucht werden soll. Dies erfordert eine durch Kommas getrennte Liste von Feldnamen. Unterstützte Suchfelder sind „Inhalt“, „Autor“, „Tags“. Standardmäßig wird nach allen Feldern gleichzeitig gesucht. |
fuzzyMaxEdits | Int | Min: 0 Max: 2 Default: 0 Die maximale Anzahl an Einzelzeichenbearbeitungen, die erforderlich sind, um mit dem angegebenen Suchbegriff übereinzustimmen. Wenn Sie diesen Wert auf Null setzen, wird der Fuzzy-Abgleich deaktiviert. |
fuzzyMaxExpansions | Int | Max: 150 Min: 0 Default: 50 Wenn die Fuzzy-Suche aktiviert ist, ist dies die maximale Anzahl an Variationen, die generiert und gesucht werden können. Dieses Limit gilt pro Token. |
Limit | Int | Min: 0 Max: 150 Default: 20 Die maximale Anzahl von Ergebnissen pro Seite |
Seite | Int | Min: 1 Default: 1 Legt die Seitenzahl für die Paginierung fest |
Antwort
{
// 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
} >
}
Beispiele
Suchen Sie nach „jede gute Technologie ist im Grunde Magie“ (versuchen Sie es im Browser)
GET /search/quotes?query=every good technology is basically magic
Ergebnisse:
- „Jede ausreichend fortgeschrittene Technologie ist gleichbedeutend mit Magie.“
Suchen Sie nach dem Begriff „geteiltes Haus“
GET /search/quotes?query=divided house
Ergebnisse
- „Ein in sich selbst gespaltenes Haus kann nicht bestehen.“
Suchen Sie nach Zitaten mit den Schlüsselwörtern „Leben“ oder „Glück“ (versuchen Sie es im Browser)
GET /search/quotes?query=life happiness
Suchen Sie nach Zitaten eines Autors namens „kennedy“ (versuchen Sie es im Browser)
GET /search/quotes?query=Kennedy&fields=author
GET /search/authors
Mit diesem Endpunkt können Sie nach Autoren nach Namen suchen. Es wurde entwickelt, um eine Suchleiste für Autoren bereitzustellen, die Vorschläge zur automatischen Vervollständigung anzeigt, während der Benutzer etwas eingibt.
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
Abfrageparameter
Param | Typ | Beschreibung |
---|---|---|
Abfrage | String | Die Suchanfrage |
automatische Vervollständigung | Boolean | default: true Aktiviert den automatischen Vervollständigungsabgleich |
matchThreshold | Int | Min: 1 Max: 3 Default: 2 Legt die Mindestanzahl an Suchbegriffen (Wörtern) fest, die übereinstimmen müssen, damit ein Autor in die Ergebnisse aufgenommen wird. Wenn dieser Wert auf 1 gesetzt ist, umfassen die Ergebnisse grundsätzlich alle Autoren, die mit mindestens einem Teil des Namens übereinstimmen. Wenn Sie also query="John F. Kennedy" eingeben, würden die Ergebnisse alle Autoren umfassen, die entweder mit „john“ OR „kennedy“ übereinstimmen.Wenn dies auf 2 gesetzt ist: Wenn die Suchanfrage zwei oder mehr „Begriffe“ enthält, müssen mindestens zwei dieser Begriffe übereinstimmen. query="John F. Kennedy" würde also nur Autoren zurückgeben, die mit „John“ AND „Kennedy“ übereinstimmen. |
Limit | Int | Min: Max: 150 Default: 20 Maximale Anzahl von Ergebnissen pro Seite |
Seite | Int | Min: 1 Default: 1 Legt die Seitenzahl für die Paginierung fest |
Antwort
{
// 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
} >
}
Beispiele
Suche nach Autor namens „Einstein“ (versuchen Sie es im Browser)
GET /search/authors?query=Einstein
Ergebnisse:
- Albert Einstein
Automatische Vervollständigung der Suche nach „Einstein“ (versuchen Sie es im Browser)
GET /search/authors?query=Einst
Ergebnisse:
- Albert Einstein
Suchen Sie nach „John Adams“ (versuchen Sie es im Browser)
GET /search/authors?query=john adams
Ergebnisse
- John Adams
- John Quincy Adams
Suchen Sie nach „John Quincy Adams“ (versuchen Sie es im Browser)
GET /search/authors?query=john quincy adams
Ergebnisse:
- John Quincy Adams)
- John Adams
Holen Sie sich einen einzelnen Author
per slug
. Diese Methode kann verwendet werden, um Autorendetails wie Biografie, Website-Link und Profilbild abzurufen.
Wenn Sie alle Zitate eines bestimmten Autors erhalten möchten, verwenden Sie den Endpunkt /quotes und filtern Sie nach Autorname/Slug.
Wenn Sie mehrere Autoren per Slug in einer einzigen Anfrage erhalten möchten, verwenden Sie den Endpunkt /authors und filtern Sie nach slug
.
GET /authors/:id
Antwort
{
// 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
Erhalten Sie eine Liste aller Tags
Abfrageparameter
param | Typ | Beschreibung |
---|---|---|
Sortieren nach | enum | Default: "name" values: "dateAdded", "dateModified", "name", "quoteCount" Das Feld, das zum Sortieren von Tags verwendet wird. |
Befehl | enum | values: "asc", "desc" Die Reihenfolge, in der die Ergebnisse sortiert werden. Die Standardreihenfolge hängt vom Feld sortBy ab. Bei alphabetisch sortierten Zeichenfolgefeldern ist die Standardreihenfolge aufsteigend. Für Zahlen- und Datumsfelder ist die Standardreihenfolge absteigend. |
Antwort
{
// The number of all tags by this request
count: number
// The array of tags
results : Array < {
_id : string
name : string
} >
}