Quotable은 무료 오픈 소스 인용 API입니다. 원래 FreeCodeCamp 프로젝트의 일부로 구축되었습니다. 기여에 관심이 있다면 기여자 가이드를 확인하세요.
IP 주소당 분당 180개의 요청 비율 제한이 있습니다. 속도 제한을 초과하면 API는 429
오류로 응답합니다.
https://api.quotable.io
공개 Postman 작업공간에서 API를 사용해 볼 수 있습니다.
GET /random
데이터베이스에서 단일 무작위 인용문을 반환합니다.
⛔️ 이 방법은 무작위 견적 받기를 위해 더 이상 사용되지 않습니다.
쿼리 매개변수
매개변수 | 유형 | 설명 |
---|---|---|
최대 길이 | Int | 최대 문자 길이( minLength 와 결합 가능) |
최소 길이 | Int | 최소 문자 길이( maxLength 와 결합 가능) |
태그 | String | 특정 태그가 포함된 무작위 견적을 받아보세요. 이는 쉼표( AND 의미) 또는 파이프( OR 의미)로 구분된 하나 이상의 태그 이름 목록을 사용합니다. 쉼표로 구분된 목록은 지정된 태그가 모두 포함된 인용문과 일치합니다. 파이프( | )로 구분된 목록은 제공된 태그 중 하나가 있는 따옴표와 일치합니다. 태그 이름은 대소문자를 구분 하지 않습니다 . 여러 단어로 구성된 태그는 케밥 대소문자("태그 이름") 또는 공백으로 구분("태그 이름")될 수 있습니다. |
작가 | String | 한 명 이상의 저자가 무작위로 인용한 내용을 받아보세요. 값은 작성자 name 또는 slug 일 수 있습니다. 여러 저자의 인용문을 포함하려면 파이프로 구분된 저자 이름/슬러그 목록을 제공하세요. |
작성자 ID | String | deprecated slug 대신 작성자 _id 사용한다는 점을 제외하면 author 매개변수와 동일합니다. |
응답
{
_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
데이터베이스에서 하나 이상의 무작위 견적을 받으세요. 이 방법은 특정 속성(예: 태그, 견적 길이 등)을 사용하여 무작위 견적을 얻는 데 사용할 수 있는 여러 필터를 지원합니다.
기본적으로 이 메서드는 단일 무작위 인용문을 반환합니다. limit
매개변수를 통해 반환할 무작위 인용문의 수를 지정할 수 있습니다.
️ 이 방법은/random
엔드포인트와 동일합니다. 유일한 차이점은 응답 형식입니다. 단일Quote
개체를 반환하는 대신 이 메서드는Quote
개체Array
반환합니다.
매개변수 | 유형 | 설명 |
---|---|---|
한계 | Int | default: 1 min: 1 max: 50 검색할 무작위 인용문의 수입니다. |
최대 길이 | Int | 최대 문자 길이( minLength 와 결합 가능) |
최소 길이 | Int | 최소 문자 길이( maxLength 와 결합 가능) |
태그 | String | 특정 태그가 포함된 무작위 견적을 받아보세요. 이는 쉼표( AND 의미) 또는 파이프( OR 의미)로 구분된 하나 이상의 태그 이름 목록을 사용합니다. 쉼표로 구분된 목록은 지정된 태그가 모두 포함된 인용문과 일치합니다. 파이프( | )로 구분된 목록은 제공된 태그 중 하나가 있는 따옴표와 일치합니다. 태그 이름은 대소문자를 구분 하지 않습니다 . 여러 단어로 구성된 태그는 케밥 대소문자("태그 이름") 또는 공백으로 구분("태그 이름")될 수 있습니다. |
작가 | String | 한 명 이상의 저자가 무작위로 인용한 내용을 받아보세요. 값은 작성자 name 또는 slug 일 수 있습니다. 여러 저자의 인용문을 포함하려면 파이프로 구분된 저자 이름/슬러그 목록을 제공하세요. |
작성자 ID | String | deprecated slug 대신 작성자 _id 사용한다는 점을 제외하면 author 매개변수와 동일합니다. |
응답
// 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 [ ]
} >
예
브라우저에서 무작위 견적 받기
GET /quotes/random
브라우저에서 5개의 무작위 견적을 받아보세요.
GET /quotes/random?limit=3
"기술" AND
"유명 인용문" 태그가 포함된 임의 인용문을 브라우저에서 시도해 보세요.
GET /quotes/random?tags=technology,famous-quotes
"역사" OR
"민권" 태그가 포함된 임의 인용문을 브라우저에서 사용해 보세요.
GET /quotes/random?tags=history|civil-rights
브라우저에서 최대 50자 길이의 무작위 견적을 시도해 보세요.
GET /quotes/random?maxLength=50
100~140자 길이의 임의 견적을 브라우저에서 시도해 보세요.
GET /quotes/random?minLength=100&maxLength=140
GET /quotes
특정 쿼리와 일치하는 모든 견적을 가져옵니다. 기본적으로 _id
기준으로 정렬된 모든 인용문의 페이지가 매겨진 목록이 반환됩니다. 인용문은 작성자, 태그 및 길이별로 필터링할 수도 있습니다.
쿼리 매개변수
매개변수 | 유형 | 설명 |
---|---|---|
최대 길이 | Int | 최대 문자 길이( minLength 와 결합 가능) |
최소 길이 | Int | 최소 문자 길이( maxLength 와 결합 가능) |
태그 | String | 태그별로 견적을 필터링합니다. 쉼표( AND 의미) 또는 파이프( OR 의미)로 구분된 하나 이상의 태그 이름 목록을 가져옵니다. 쉼표로 구분된 목록은 지정된 태그가 모두 포함된 인용문과 일치합니다. 파이프( | )로 구분된 목록은 제공된 태그 중 하나가 있는 따옴표와 일치합니다. 태그 이름은 대소문자를 구분 하지 않습니다 . 여러 단어로 구성된 태그는 케밥 대소문자("태그 이름") 또는 공백으로 구분("태그 이름")될 수 있습니다. |
작가 | String | 특정 저자의 인용문을 받아보세요. 값은 작성자 name 또는 slug 일 수 있습니다. 여러 저자의 인용문을 얻으려면 파이프로 구분된 저자 이름/슬러그 목록을 제공하세요. |
작성자 ID | String | deprecated slug 대신 작성자 _id 사용한다는 점을 제외하면 author 매개변수와 동일합니다. |
정렬 기준 | enum | Default: "dateAdded" values: "dateAdded", "dateModified", "author", "content" 인용문을 정렬하는 데 사용되는 필드 |
주문하다 | enum | values: "asc", "desc" default: depends on sortBy 결과가 정렬되는 순서입니다. 기본 순서는 sortBy 필드에 따라 다릅니다. 알파벳순으로 정렬된 문자열 필드의 경우 기본 순서는 오름차순입니다. 숫자 및 날짜 필드의 경우 기본 순서는 내림차순입니다. |
한계 | Int | Min: 1 Max: 150 Default: 20 페이지당 결과 수를 설정합니다. |
페이지 | Int | Min: 1 Default: 1 반환할 결과 페이지입니다. 값이 총 페이지 수보다 크면 요청은 결과를 반환하지 않습니다. |
응답
{
// 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 [ ]
} >
}
예
페이지당 20개의 결과가 포함된 인용문의 첫 번째 페이지를 브라우저에서 사용해 보세요.
GET /quotes?page=1
페이지당 20개의 결과가 포함된 두 번째 인용문 페이지를 브라우저에서 사용해 보세요.
GET /quotes?page=2
love
OR
happiness
태그가 포함된 모든 견적을 브라우저에서 받아보세요.
GET /quotes?tags=love|happiness
브라우저에서 태그 technology
AND
famous-quotes
사용하여 모든 견적을 받아보세요.
GET /quotes?tags=technology,famous-quotes
저자의 slug
사용하여 저자별 인용문을 모두 가져옵니다. 브라우저에서 시도
GET /quotes?author=albert-einstein
GET /quotes/:id
ID로 견적 받기
응답
{
_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
주어진 쿼리와 일치하는 모든 작성자를 가져옵니다. 이 엔드포인트는 정렬 및 필터링을 위한 여러 옵션과 함께 작성자를 나열하는 데 사용될 수 있습니다. 또한 작성자 슬러그 또는 ID를 사용하여 한 명 이상의 특정 작성자에 대한 작성자 세부 정보를 얻는 데 사용할 수도 있습니다.
쿼리 매개변수
매개변수 | 유형 | 설명 |
---|---|---|
강타 | string | 슬러그를 기준으로 작성자를 필터링합니다. 값은 하나 이상의 작성자 슬러그일 수 있습니다. 슬러그로 여러 작성자를 얻으려면 값이 파이프로 구분된 슬러그 목록이어야 합니다. |
정렬 기준 | enum | Default: "name" values: "dateAdded", "dateModified", "name", "quoteCount" 작성자를 정렬하는 데 사용되는 필드입니다. |
주문하다 | enum | values: "asc", "desc" 결과가 정렬되는 순서입니다. 기본 순서는 sortBy 필드에 따라 다릅니다. 알파벳순으로 정렬된 문자열 필드(예: name )의 경우 기본 순서는 오름차순입니다. 숫자 및 날짜 필드(예: quoteCount )의 경우 기본 순서는 내림차순입니다. |
한계 | Int | Min: 1 Max: 150 Default: 20 페이지당 결과 수를 설정합니다. |
페이지 | Int | Min: 1 Default: 1 반환할 결과 페이지입니다. 값이 총 페이지 수보다 크면 요청은 결과를 반환하지 않습니다. |
응답
{
// 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
} >
}
예
모든 저자를 이름별로 알파벳순으로 정렬하여 브라우저에서 사용해 보세요.
GET /authors?sortBy=name
모든 저자를 인용문 수에 따라 내림차순으로 정렬하여 브라우저에서 사용해 보세요.
GET /authors?sortBy=quoteCount&order=desc
슬러그로 단일 작성자를 얻으세요. 브라우저에서 시도
GET /authors?slug=albert-einstein
슬러그로 여러 작성자를 확보하세요. 이 경우 브라우저에서 파이프로 구분된 슬러그 시도 목록을 제공합니다.
GET /authors?slug=albert-einstein|abraham-lincoln
GET /search/quotes
이 엔드포인트를 사용하면 키워드, 콘텐츠 및/또는 저자 이름으로 인용문을 검색할 수 있습니다. List Quotes 엔드포인트와 달리 이 방법은 Atlas Search에 의해 구동되며 검색 창 UI를 구동하도록 설계되었습니다.
쿼리 매개변수
파람 | 유형 | 설명 |
---|---|---|
질문 | String | 검색 문자열입니다. 정확한 구문을 검색하려면 쿼리를 따옴표로 묶을 수 있습니다. |
전지 | String | Default: "content,author,tags" 검색할 필드를 지정합니다. 쉼표로 구분된 필드 이름 목록을 사용합니다. 지원되는 검색 필드는 "content", "author", "tags"입니다. 기본적으로 모든 필드를 동시에 검색합니다. |
fuzzyMaxEdits | Int | Min: 0 Max: 2 Default: 0 지정된 검색어와 일치하는 데 필요한 단일 문자 편집의 최대 수입니다. 이 값을 0으로 설정하면 퍼지 일치가 비활성화됩니다. |
fuzzyMaxExpansions | Int | Max: 150 Min: 0 Default: 50 유사 항목 검색이 활성화된 경우 이는 생성 및 검색할 최대 변형 수입니다. 이 한도는 토큰별로 적용됩니다. |
한계 | Int | Min: 0 Max: 150 Default: 20 페이지당 최대 결과 수 |
페이지 | Int | Min: 1 Default: 1 페이지 매김을 위한 페이지 번호를 설정합니다. |
응답
{
// 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
} >
}
예
"모든 좋은 기술은 기본적으로 마법입니다"를 검색하세요(브라우저에서 시도해 보세요).
GET /search/quotes?query=every good technology is basically magic
결과:
- "충분히 발전한 기술은 모두 마법과 같습니다."
"분할된 집"이라는 문구를 검색하세요.
GET /search/quotes?query=divided house
결과
- "스스로 분쟁하는 집은 서지 못한다."
"인생" 또는 "행복"이라는 키워드가 포함된 인용문을 검색하세요(브라우저에서 시도해 보세요).
GET /search/quotes?query=life happiness
"kennedy"라는 저자의 인용문 검색(브라우저에서 시도)
GET /search/quotes?query=Kennedy&fields=author
GET /search/authors
이 엔드포인트를 사용하면 작성자를 이름으로 검색할 수 있습니다. 이는 사용자가 입력할 때 자동 완성 제안을 표시하는 작성자를 위한 검색 창을 강화하도록 설계되었습니다.
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
쿼리 매개변수
파람 | 유형 | 설명 |
---|---|---|
질문 | String | 검색어 |
자동완성 | Boolean | default: true 자동 완성 일치를 활성화합니다. |
일치임계값 | Int | Min: 1 Max: 3 Default: 2 작성자가 결과에 포함되기 위해 일치해야 하는 최소 검색어(단어) 수를 설정합니다. 기본적으로 이 값을 1로 설정하면 이름 중 적어도 한 부분과 일치하는 모든 저자가 결과에 포함됩니다. 따라서 query="John F. Kennedy" 결과에는 "john" OR "kennedy"와 일치하는 모든 작성자가 포함됩니다.2 로 설정된 경우 검색 쿼리에 두 개 이상의 "용어"가 포함되어 있으면 해당 용어 중 최소 두 개가 일치해야 합니다. 따라서 query="John F. Kennedy"는 "John" AND "Kennedy"와 일치하는 작성자만 반환합니다. |
한계 | Int | Min: Max: 150 Default: 20 페이지당 최대 결과 수 |
페이지 | Int | Min: 1 Default: 1 페이지 매김을 위한 페이지 번호를 설정합니다. |
응답
{
// 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
} >
}
예
"Einstein"이라는 저자를 검색하세요(브라우저에서 시도해 보세요).
GET /search/authors?query=Einstein
결과:
- 알베르트 아인슈타인
"Einstein"에 대한 자동 완성 검색(브라우저에서 시도)
GET /search/authors?query=Einst
결과:
- 알베르트 아인슈타인
"John Adams"를 검색하세요(브라우저에서 시도해 보세요).
GET /search/authors?query=john adams
결과
- 존 아담스
- 존 퀸시 아담스
"John Quincy Adams"를 검색하세요(브라우저에서 시도해 보세요).
GET /search/authors?query=john quincy adams
결과:
- 존 퀸시 아담스)
- 존 아담스
slug
로 단일 Author
얻으세요. 이 방법을 사용하면 약력, 웹사이트 링크, 프로필 이미지 등 작성자 세부정보를 얻을 수 있습니다.
특정 작성자의 모든 인용문을 얻으려면 /quotes 엔드포인트를 사용하고 작성자 작성자 이름/슬러그로 필터링하세요.
단일 요청에서 slug를 통해 여러 작성자를 얻으려면 /authors 엔드포인트를 사용하고 slug
로 필터링하세요.
GET /authors/:id
응답
{
// 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
모든 태그 목록 가져오기
쿼리 매개변수
매개변수 | 유형 | 설명 |
---|---|---|
정렬 기준 | enum | Default: "name" values: "dateAdded", "dateModified", "name", "quoteCount" 태그를 정렬하는 데 사용되는 필드입니다. |
주문하다 | enum | values: "asc", "desc" 결과가 정렬되는 순서입니다. 기본 순서는 sortBy 필드에 따라 다릅니다. 알파벳순으로 정렬된 문자열 필드의 경우 기본 순서는 오름차순입니다. 숫자 및 날짜 필드의 경우 기본 순서는 내림차순입니다. |
응답
{
// The number of all tags by this request
count: number
// The array of tags
results : Array < {
_id : string
name : string
} >
}