https://codexdindia.blogspot.com/
https://sh20raj.gitbook.io/whollyapi
https://sh20raj.gitbook.io/whollyapi/data/random-quotes
π‘ Random Quotes
Quotable -
lukePeavey / quotable
Random Quotes API
Quotable
Quotable is a free, open source quotations API. It was originally built as part of a FreeCodeCamp project. If you are interested in contributing, please check out the Contributors Guide.
Rate Limit
There is a rate limit of 180 requests per minute, per IP address. If you exceed the rate limit, the API will respond with a 429
error.
API Servers
https://api.quotable.io
Postman
You can try out the API on our public Postman workspace.
API Reference
- Get random quote
- Get Random Quotes
- List Quotes
- Get Quote By ID
- List Authors
- Search Quotes (beta)
- Search Authors (beta)
- Get Author By Slug
- List Tags
Examples
- Basic Quote Machine (CodePen)
- React Quote Machine (CodeSandbox)
- React Native App (Github)
- Paginated Author List (codeSandbox)
- Paginated Quote List (codeSandbox)
Get random quote
GET /random
Returns a single random quote from the database
βοΈ This method is deprecated in favor of Get Random Quotes
β¦
Quotable is a free, open source quotations API. It was originally built as part of a FreeCodeCamp project. If you are interested in contributing, please check out the Contributors Guide.
Rate Limit
There is a rate limit of 180 requests per minute, per IP address. If you exceed the rate limit, the API will respond with a 429
error.
API Servers
https://api.quotable.io
Postman
You can try out the API on our public Postman workspace.
API Reference
- Get random quote
- Get Random Quotes
- List Quotes
- Get Quote By ID
- List Authors
- Search Quotes (beta)
- Search Authors (beta)
- Get Author By Slug
- List Tags
Examples
- Basic Quote Machine (CodePen)
- React Quote Machine (CodeSandbox)
- React Native App (Github)
- Paginated Author List (codeSandbox)
- Paginated Quote List (codeSandbox)
Get random quote
GET /random
Returns a single random quote from the database
βοΈ This method is deprecated in favor of Get Random Quotes
Query parameters
param | type | Description |
---|---|---|
maxLength | Int |
The maximum Length in characters ( can be combined with minLength ) |
minLength | Int |
The minimum Length in characters ( can be combined with maxLength ) |
tags | String |
Get a random quote with specific tag(s). This takes a list of one or more tag names, separated by a comma (meaning AND ) or a pipe (meaning OR ). A comma separated list will match quotes that have all of the given tags. While a pipe (`\ |
author | {% raw %}String
|
Get a random quote by one or more authors. The value can be an author name or slug . To include quotes by multiple authors, provide a pipe-separated list of author names/slugs. |
authorId | String |
|
Response
{
_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 Random Quotes
GET /quotes/random
Get one or more random quotes from the database. This method supports several filters that can be used to get random quotes with specific properties (ie tags, quote length, etc.)
By default, this methods returns a single random quote. You can specify the number of random quotes to return via the limit
parameter.
β οΈ This method is equivalent to the
/random
endpoint. The only difference is the response format: Instead of retuning a singleQuote
object, this method returns anArray
ofQuote
objects.
\
param | type | Description |
---|---|---|
limit | Int |
|
maxLength | Int |
The maximum Length in characters ( can be combined with minLength ) |
minLength | Int |
The minimum Length in characters ( can be combined with maxLength ) |
tags | String |
Get a random quote with specific tag(s). This takes a list of one or more tag names, separated by a comma (meaning AND ) or a pipe (meaning OR ). A comma separated list will match quotes that have all of the given tags. While a pipe (`\ |
author | {% raw %}String
|
Get a random quote by one or more authors. The value can be an author name or slug . To include quotes by multiple authors, provide a pipe-separated list of author names/slugs. |
authorId | String |
|
Response
// 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[]
}>
Examples
Get random quote try in browser
GET /quotes/random
Get 5 random quotes try in browser
GET /quotes/random?limit=3
Random Quote with tags "technology" AND
"famous-quotes" try in browser
GET /quotes/random?tags=technology,famous-quotes
Random Quote with tags "History" OR
"Civil Rights" try in browser
GET /quotes/random?tags=history|civil-rights
Random Quote with a maximum length of 50 characters try in browser
GET /quotes/random?maxLength=50
Random Quote with a length between 100 and 140 characters try in browser
GET /quotes/random?minLength=100&maxLength=140
\
List Quotes
GET /quotes
Get all quotes matching a given query. By default, this will return a paginated list of all quotes, sorted by _id
. Quotes can also be filter by author, tag, and length.
Query parameters
param | type | Description |
---|---|---|
maxLength | Int |
The maximum Length in characters ( can be combined with minLength ) |
minLength | Int |
The minimum Length in characters ( can be combined with maxLength ) |
tags | String |
Filter quotes by tag(s). Takes a list of one or more tag names, separated by a comma (meaning AND ) or a pipe (meaning OR ). A comma separated list will match quotes that have all of the given tags. While a pipe (`\ |
author | {% raw %}String
|
Get quotes by a specific author. The value can be an author name or slug . To get quotes by multiple authors, provide a pipe separated list of author names/slugs. |
authorId | String |
|
sortBy | enum |
|
order | enum |
|
limit | Int |
|
page | Int |
|
Response
{
// 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[]
}>
}
Examples
Get the first page of quotes, with 20 results per page try in browser
GET /quotes?page=1
Get the second page of quotes, with 20 results per page try in browser
GET /quotes?page=2
Get all quotes with the tags love
OR
happiness
try in browser
GET /quotes?tags=love|happiness
Get all quotes with the tags technology
AND
famous-quotes
try in browser
GET /quotes?tags=technology,famous-quotes
Get all quotes by author, using the author's slug
. try in browser
GET /quotes?author=albert-einstein
\
Get Quote By ID
GET /quotes/:id
Get a quote by its ID
Response
{
_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[]
}
\
List Authors
GET /authors
Get all authors matching the given query. This endpoint can be used to list authors, with several options for sorting and filter. It can also be used to get author details for one or more specific authors, using the author slug or ids.
Query parameters
param | type | Description |
---|---|---|
slug | string |
Filter authors by slug. The value can be one or more author slugs. To get multiple authors by slug, the value should be a pipe separated list of slugs. |
sortBy | enum |
|
order | enum |
|
limit | Int |
|
page | Int |
|
Response
{
// 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
}>
}
Examples
Get all authors, sorted alphabetically by name try in browser
GET /authors?sortBy=name
Get all authors, sorted by number of quotes in descending order try in browser
GET /authors?sortBy=quoteCount&order=desc
Get a single author by slug. try in browser
GET /authors?slug=albert-einstein
Get multiple authors by slug. In this case, you provide a pipe-separated list of slugs try in browser
GET /authors?slug=albert-einstein|abraham-lincoln
\
Search Quotes (beta)
GET /search/quotes
This endpoint allows you to search for quotes by keywords, content, and/or author name. Unlike the List Quotes endpoint, this method is powered by Atlas Search and is designed to power a search bar UI.
- Search results are sorted by score
- The query can be wrapped in quotes to search for an exact phrase. In this case, results will only include quotes that match the query exactly.
- Supports fuzzy search (optional). This allows for minor typos and misspelling in the search query. For more info on how this works, refer to the Atlas docs
Query Params
Param | Type | Description |
---|---|---|
query | String |
The search string. The query can be wrapped in quotes to search for an exact phrase. |
fields | String |
|
fuzzyMaxEdits | Int |
|
fuzzyMaxExpansions | Int |
|
limit | Int |
|
page | Int |
|
Response
{
// 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
}>
}
Examples
Search for "every good technology is basically magic" (try in browser)
GET /search/quotes?query=every good technology is basically magic
Results:
- "Any sufficiently advanced technology is equivalent to magic."
Search for the phrase "divided house"
GET /search/quotes?query=divided house
Results
- "A house divided against itself cannot stand."
Search for quotes with the keywords "life" or "happiness" (try in browser)
GET /search/quotes?query=life happiness
Search for quotes by an author named "kennedy" (try in browser)
GET /search/quotes?query=Kennedy&fields=author
\
Search Authors (beta)
GET /search/authors
This endpoint allows you search for authors by name. It is designed to power a search bar for authors that displays autocomplete suggests as the user types.
- Powered by Atlas Search.
- Real autocomplete
- Results are sorted by score
- Parses the query into "terms". Things like initials, prefixes, suffixes, and stopwords are not considered search terms. They will still impact the score of a result, but are not required to match.
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
Query Parameters
Param | Type | Description |
---|---|---|
query | String |
The search query |
autocomplete | Boolean |
|
matchThreshold | Int |
|
limit | Int |
|
page | Int |
|
Response
{
// 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
}>
}
Examples
Search for author named "Einstein" (try in browser)
GET /search/authors?query=Einstein
Results:
- Albert Einstein
Autocomplete search for "Einstein" (try in browser)
GET /search/authors?query=Einst
Results:
- Albert Einstein
Search for "John Adams" (try in browser)
GET /search/authors?query=john adams
Results
- John Adams
- John Quincy Adams
Search for "John Quincy Adams" (try in browser)
GET /search/authors?query=john quincy adams
Results:
- John Quincy Adams)
- John Adams
\
Get Author By Slug
Get a single Author
by slug
. This method can be used to get author details such as bio, website link, and profile image.
If you want to get all quotes by a specific author, use the /quotes endpoint and filter by author author name/slug.
If you want to get multiple authors by slug in a single request, use the /authors endpoint and filter by slug
.
GET /authors/:id
Response
{
// 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
}
\
List Tags
GET /tags
Get a list of all tags
Query parameters
param | type | Description |
---|---|---|
sortBy | enum |
|
order | enum |
|
Response
{
// The number of all tags by this request
count: number
// The array of tags
results: Array<{
_id: string
name: string
}>
}
Top comments (0)