Quotable adalah API kutipan sumber terbuka dan gratis. Awalnya dibangun sebagai bagian dari proyek FreeCodeCamp. Jika Anda tertarik untuk berkontribusi, silakan lihat Panduan Kontributor.
Ada batas kecepatan 180 permintaan per menit , per alamat IP. Jika Anda melebihi batas kapasitas, API akan merespons dengan kesalahan 429
.
https://api.quotable.io
Anda dapat mencoba API di ruang kerja Postman publik kami.
GET /random
Mengembalikan satu kutipan acak dari database
⛔️ Metode ini tidak digunakan lagi dan digantikan dengan Dapatkan Kutipan Acak
Parameter kueri
param | jenis | Keterangan |
---|---|---|
panjang maksimal | Int | Panjang maksimum dalam karakter (dapat digabungkan dengan minLength ) |
minPanjang | Int | Panjang minimum dalam karakter (dapat digabungkan dengan maxLength ) |
tag | String | Dapatkan penawaran acak dengan tag tertentu. Ini mengambil daftar satu atau lebih nama tag, dipisahkan dengan koma (artinya AND ) atau pipa (artinya OR ). Daftar yang dipisahkan koma akan mencocokkan tanda kutip yang memiliki semua tag yang diberikan. Sedangkan daftar yang dipisahkan pipa ( | ) akan cocok dengan tanda kutip yang memiliki salah satu tag yang disediakan. Nama tag tidak peka huruf besar-kecil. Tag multi-kata dapat berupa kebab-case ("nama-tag") atau dipisahkan spasi ("nama tag") |
pengarang | String | Dapatkan kutipan acak dari satu atau lebih penulis. Nilainya bisa berupa author name atau slug . Untuk menyertakan kutipan dari beberapa penulis, berikan daftar nama/siput penulis yang dipisahkan dengan pipa. |
penulisId | String | deprecated Sama seperti param author , hanya saja ia menggunakan _id penulis, bukan slug |
Tanggapan
{
_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
Dapatkan satu atau lebih kutipan acak dari database. Metode ini mendukung beberapa filter yang dapat digunakan untuk mendapatkan kutipan acak dengan properti tertentu (yaitu tag, panjang kutipan, dll.)
Secara default, metode ini mengembalikan satu kutipan acak. Anda dapat menentukan jumlah kutipan acak yang akan dikembalikan melalui parameter limit
.
️ Metode ini setara dengan titik akhir/random
. Satu-satunya perbedaan adalah format responsnya: Daripada menyetel ulang objekQuote
tunggal, metode ini mengembalikan objekArray
ofQuote
.
param | jenis | Keterangan |
---|---|---|
membatasi | Int | default: 1 min: 1 max: 50 Jumlah kutipan acak yang akan diambil. |
panjang maksimal | Int | Panjang maksimum dalam karakter (dapat digabungkan dengan minLength ) |
minPanjang | Int | Panjang minimum dalam karakter (dapat digabungkan dengan maxLength ) |
tag | String | Dapatkan penawaran acak dengan tag tertentu. Ini mengambil daftar satu atau lebih nama tag, dipisahkan dengan koma (artinya AND ) atau pipa (artinya OR ). Daftar yang dipisahkan koma akan mencocokkan tanda kutip yang memiliki semua tag yang diberikan. Sedangkan daftar yang dipisahkan pipa ( | ) akan cocok dengan tanda kutip yang memiliki salah satu tag yang disediakan. Nama tag tidak peka huruf besar-kecil. Tag multi-kata dapat berupa kebab-case ("nama-tag") atau dipisahkan spasi ("nama tag") |
pengarang | String | Dapatkan kutipan acak dari satu atau lebih penulis. Nilainya bisa berupa author name atau slug . Untuk menyertakan kutipan dari beberapa penulis, berikan daftar nama/siput penulis yang dipisahkan dengan pipa. |
penulisId | String | deprecated Sama seperti param author , hanya saja ia menggunakan _id penulis, bukan slug |
Tanggapan
// 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 [ ]
} >
Contoh
Dapatkan penawaran acak coba di browser
GET /quotes/random
Dapatkan 5 kutipan acak coba di browser
GET /quotes/random?limit=3
Kutipan Acak dengan tag "teknologi" AND
"kutipan terkenal" coba di browser
GET /quotes/random?tags=technology,famous-quotes
Kutipan Acak dengan tag "Sejarah" OR
"Hak Sipil" coba di browser
GET /quotes/random?tags=history|civil-rights
Kutipan Acak dengan panjang maksimal 50 karakter coba di browser
GET /quotes/random?maxLength=50
Kutipan Acak dengan panjang antara 100 dan 140 karakter coba di browser
GET /quotes/random?minLength=100&maxLength=140
GET /quotes
Dapatkan semua kutipan yang cocok dengan kueri tertentu. Secara default, ini akan mengembalikan daftar semua kutipan yang diberi nomor halaman, diurutkan berdasarkan _id
. Kutipan juga dapat difilter berdasarkan penulis, tag, dan panjangnya.
Parameter kueri
param | jenis | Keterangan |
---|---|---|
panjang maksimal | Int | Panjang maksimum dalam karakter (dapat digabungkan dengan minLength ) |
minPanjang | Int | Panjang minimum dalam karakter (dapat digabungkan dengan maxLength ) |
tag | String | Filter kutipan berdasarkan tag. Mengambil daftar satu atau lebih nama tag, dipisahkan dengan koma (artinya AND ) atau pipa (artinya OR ). Daftar yang dipisahkan koma akan mencocokkan tanda kutip yang memiliki semua tag yang diberikan. Sedangkan daftar yang dipisahkan pipa ( | ) akan cocok dengan tanda kutip yang memiliki salah satu tag yang disediakan. Nama tag tidak peka huruf besar-kecil. Tag multi-kata dapat berupa kebab-case ("nama-tag") atau dipisahkan spasi ("nama tag") |
pengarang | String | Dapatkan kutipan dari penulis tertentu. Nilainya bisa berupa author name atau slug . Untuk mendapatkan kutipan dari banyak penulis, berikan daftar nama/siput penulis yang dipisahkan pipa. |
penulisId | String | deprecated Sama seperti param author , hanya saja ia menggunakan _id penulis, bukan slug |
urutkan berdasarkan | enum | Default: "dateAdded" values: "dateAdded", "dateModified", "author", "content" Bidang yang digunakan untuk mengurutkan kutipan |
memesan | enum | values: "asc", "desc" default: depends on sortBy Urutan pengurutan hasil. Urutan default bergantung pada bidang sortBy. Untuk bidang string yang diurutkan berdasarkan abjad, urutan defaultnya adalah menaik. Untuk kolom nomor dan tanggal, urutan defaultnya adalah menurun. |
membatasi | Int | Min: 1 Max: 150 Default: 20 Menetapkan jumlah hasil per halaman. |
halaman | Int | Min: 1 Default: 1 Halaman hasil yang akan dikembalikan. Jika nilainya lebih besar dari jumlah total halaman, permintaan tidak akan memberikan hasil apa pun |
Tanggapan
{
// 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 [ ]
} >
}
Contoh
Dapatkan kutipan halaman pertama, dengan 20 hasil per halaman coba di browser
GET /quotes?page=1
Dapatkan kutipan halaman kedua, dengan 20 hasil per halaman coba di browser
GET /quotes?page=2
Dapatkan semua kutipan dengan tag love
OR
happiness
coba di browser
GET /quotes?tags=love|happiness
Dapatkan semua kutipan dengan tag technology
AND
famous-quotes
coba di browser
GET /quotes?tags=technology,famous-quotes
Dapatkan semua kutipan oleh penulis, menggunakan slug
penulis. coba di browser
GET /quotes?author=albert-einstein
GET /quotes/:id
Dapatkan penawaran berdasarkan ID-nya
Tanggapan
{
_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
Dapatkan semua penulis cocok dengan kueri yang diberikan. Titik akhir ini dapat digunakan untuk membuat daftar penulis, dengan beberapa opsi untuk menyortir dan memfilter. Ini juga dapat digunakan untuk mendapatkan detail penulis untuk satu atau lebih penulis tertentu, menggunakan slug atau id penulis.
Parameter kueri
param | jenis | Keterangan |
---|---|---|
siput | string | Filter penulis berdasarkan siput. Nilainya bisa berupa satu atau lebih siput penulis. Untuk mendapatkan banyak penulis berdasarkan slug, nilainya harus berupa daftar slug yang dipisahkan dengan pipa. |
urutkan berdasarkan | enum | Default: values: "dateAdded", "dateModified", "name", "quoteCount" Default: "name" : "dateAdded", "dateModified", "name", "quoteCount"Bidang yang digunakan untuk mengurutkan penulis. |
memesan | enum | values: "asc", "desc" Urutan pengurutan hasil. Urutan default bergantung pada bidang sortBy. Untuk bidang string yang diurutkan berdasarkan abjad (yaitu name ), urutan defaultnya adalah menaik. Untuk bidang nomor dan tanggal (yaitu quoteCount ) urutan defaultnya adalah menurun. |
membatasi | Int | Min: 1 Max: 150 Default: 20 Menetapkan jumlah hasil per halaman. |
halaman | Int | Min: 1 Default: 1 Halaman hasil yang akan dikembalikan. Jika nilainya lebih besar dari jumlah total halaman, permintaan tidak akan memberikan hasil apa pun |
Tanggapan
{
// 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
} >
}
Contoh
Dapatkan semua penulis, diurutkan menurut abjad berdasarkan nama, coba di browser
GET /authors?sortBy=name
Dapatkan semua penulis, diurutkan berdasarkan jumlah kutipan dalam urutan menurun, coba di browser
GET /authors?sortBy=quoteCount&order=desc
Dapatkan satu penulis dengan siput. coba di browser
GET /authors?slug=albert-einstein
Dapatkan banyak penulis dengan siput. Dalam hal ini, Anda memberikan daftar slug yang dipisahkan pipa di browser
GET /authors?slug=albert-einstein|abraham-lincoln
GET /search/quotes
Titik akhir ini memungkinkan Anda mencari kutipan berdasarkan kata kunci, konten, dan/atau nama penulis. Berbeda dengan titik akhir Daftar Kutipan, metode ini didukung oleh Atlas Search dan dirancang untuk mendukung UI bilah pencarian.
Param Kueri
Param | Jenis | Keterangan |
---|---|---|
pertanyaan | String | String pencarian. Kueri dapat dibungkus dengan tanda kutip untuk mencari frasa yang tepat. |
bidang | String | Default: "content,author,tags" Tentukan bidang yang akan dicari. Ini membutuhkan daftar nama bidang yang dipisahkan koma. Bidang pencarian yang didukung adalah "konten", "penulis", "tag". Secara default, ia akan mencari berdasarkan semua bidang secara bersamaan. |
fuzzyMaxEdits | Int | Min: 0 Max: 2 Default: 0 Jumlah maksimum pengeditan satu karakter yang diperlukan agar sesuai dengan istilah penelusuran yang ditentukan. Menyetelnya ke nol akan menonaktifkan pencocokan fuzzy. |
fuzzyMaxExpansions | Int | Max: 150 Min: 0 Default: 50 Jika penelusuran fuzzy diaktifkan, ini adalah jumlah maksimum variasi yang akan dihasilkan dan dicari. Batasan ini berlaku per token. |
membatasi | Int | Min: 0 Max: 150 Default: 20 Jumlah maksimum hasil per halaman |
halaman | Int | Min: 1 Default: 1 Menetapkan nomor halaman untuk penomoran halaman |
Tanggapan
{
// 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
} >
}
Contoh
Telusuri "setiap teknologi bagus pada dasarnya ajaib" (coba di browser)
GET /search/quotes?query=every good technology is basically magic
Hasil:
- “Teknologi apa pun yang cukup maju setara dengan sihir.”
Telusuri frasa "rumah terbagi"
GET /search/quotes?query=divided house
Hasil
- “Sebuah rumah yang terpecah-belah tidak dapat berdiri sendiri.”
Cari quotes dengan kata kunci "hidup" atau "kebahagiaan" (coba di browser)
GET /search/quotes?query=life happiness
Cari kutipan dari penulis bernama "kennedy" (coba di browser)
GET /search/quotes?query=Kennedy&fields=author
GET /search/authors
Titik akhir ini memungkinkan Anda mencari penulis berdasarkan nama. Ini dirancang untuk mengaktifkan bilah pencarian untuk penulis yang menampilkan saran pelengkapan otomatis saat pengguna mengetik.
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
Parameter Kueri
Param | Jenis | Keterangan |
---|---|---|
pertanyaan | String | Permintaan pencarian |
pelengkapan otomatis | Boolean | default: true Mengaktifkan pencocokan pelengkapan otomatis |
pertandinganThreshold | Int | Min: 1 Max: 3 Default: 2 Menetapkan jumlah minimum istilah pencarian (kata) yang harus cocok agar seorang penulis dapat disertakan dalam hasil. Pada dasarnya, jika disetel ke 1, hasilnya akan mencakup semua penulis yang cocok dengan setidaknya satu bagian nama. Jadi query="John F. Kennedy" hasilnya akan mencakup semua penulis yang cocok dengan "john" OR "kennedy".Jika disetel ke 2 : bila kueri penelusuran menyertakan dua atau lebih "istilah", setidaknya dua istilah tersebut harus cocok. Jadi query="John F. Kennedy" hanya akan mengembalikan penulis yang cocok dengan "John" AND "Kennedy". |
membatasi | Int | Min: Max: 150 Default: 20 Jumlah maksimum hasil per halaman |
halaman | Int | Min: 1 Default: 1 Menetapkan nomor halaman untuk penomoran halaman |
Tanggapan
{
// 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
} >
}
Contoh
Cari penulis bernama "Einstein" (coba di browser)
GET /search/authors?query=Einstein
Hasil:
- Albert Einstein
Pencarian pelengkapan otomatis untuk "Einstein" (coba di browser)
GET /search/authors?query=Einst
Hasil:
- Albert Einstein
Cari "John Adams" (coba di browser)
GET /search/authors?query=john adams
Hasil
- John Adams
- John Quincy Adams
Cari "John Quincy Adams" (coba di browser)
GET /search/authors?query=john quincy adams
Hasil:
- John Quincy Adams)
- John Adams
Dapatkan satu Author
dengan slug
. Cara ini dapat digunakan untuk mendapatkan detail penulis seperti bio, link website, dan gambar profil.
Jika Anda ingin mendapatkan semua kutipan dari penulis tertentu, gunakan titik akhir /quotes dan filter berdasarkan nama penulis/siput.
Jika Anda ingin mendapatkan banyak penulis dengan slug dalam satu permintaan, gunakan titik akhir /authors dan filter berdasarkan slug
.
GET /authors/:id
Tanggapan
{
// 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
Dapatkan daftar semua tag
Parameter kueri
param | jenis | Keterangan |
---|---|---|
urutkan berdasarkan | enum | Default: values: "dateAdded", "dateModified", "name", "quoteCount" Default: "name" : "dateAdded", "dateModified", "name", "quoteCount"Bidang yang digunakan untuk mengurutkan tag. |
memesan | enum | values: "asc", "desc" Urutan pengurutan hasil. Urutan default bergantung pada bidang sortBy. Untuk bidang string yang diurutkan berdasarkan abjad, urutan defaultnya adalah menaik. Untuk kolom nomor dan tanggal, urutan defaultnya adalah menurun. |
Tanggapan
{
// The number of all tags by this request
count: number
// The array of tags
results : Array < {
_id : string
name : string
} >
}