PaperQuotes API Documentation

More than 11M Quotes from more than 15 languages


First of all, Thank you so much for landing to PaperQuotes!. You are awesome!
With PaperQuotes you get access to millions of quotes from more than hundreds of categories and that is all for Free!

What is PaperQuotes API #back to top

PaperQuotes is collection of more than 12M quotes from more than 500 categories.

We offer an API that can be utilized by developers, designers or any product to interact with API and fetch quotes.

If you need any help with integration let us know via sending an email to [email protected] and we will more than happy to assist you.

Getting Started #back to top

We have a huge collection of quotes in our database. And our best Quotes API gives easy way to access the data. Note if you are using our public API / quotes from our website an attribution link back to is required. If you don't want to display attribution please sign up for the private API. Here is the code you can cut and paste to provide attribution




API EndPoints #back to top

API playground can be accessed here - Paper Quotes API Playground

1. GET

Gives you the list of quotes, with following fields.

  • Quote - The quote text.
  • Author - The author of quote.
  • Tags - Tags of the quote.
  • Image - Quote Image if available.

Available Filters

  • tags - Filter quotes by tags
  • limit - Limit number of quotes you get in single request
  • order - Order quotes by either likes or date created available fields are likes, created
  • maxlength - Set the Quote maximum length
  • minlength - Set the Quote minimum length
  • curated - Only get the curated quotes by PaperQuotes Team
  • lang - Get the quote in specified language code, see the language section for available languages

Available Languages

You can pass following language code as lang parameter to get the quote in specified language.
  • en - English ( default )
  • be - Bengali
  • fr - French
  • hi - Hindi
  • de - German
  • it - Italian
  • pl - Polish
  • pt - Portuguese
  • ru - Russian
  • es - Spanish
  • tr - Turkish
  • uk - Ukrainian
  • he - Hebrew
  • ar - Arabic
  • te - Telugu

Example Request

curl -v  -i -X GET -H 'Authorization: Token {token_value}'\?tags\=love\&order\=-likes


                                [{"quote":"I'm selfish, impatient and a little insecure. I make mistakes, I am out of control and at times hard to handle. But if you can't handle me at my worst, then you sure as hell don't deserve me at my best.","author":"Marilyn Monroe","likes":137317,"tags":["best","mistakes","truth","love","attributed-no-source","worst","out-of-control","life"],"pk":8635,"image":""}]}% 

2. GET

Gives you the Quote of the day

Code Samples #back to top


                                   import requests, json

                                    PAPERQUOTES_API_ENDPOINT = ''
                                    TOKEN = '{your_token}'
                                    response = requests.get(PAPERQUOTES_API_ENDPOINT, headers={'Authorization': 'TOKEN {}'.format(TOKEN)})

                                    if response.ok:

                                            quotes = json.loads(response.text).get('results')

                                            for quote in quotes:
                                                print quote.get('quote')
                                                print quote.get('author')
                                                print quote.get('tags')


                                    $ch = curl_init();
                                    $headers = array(
                                    'Authorization: Token {token}',
                                    'Content-Type: application/json',

                                    $api_endpoint = '';
                                    curl_setopt($ch, CURLOPT_URL, $api_endpoint);
                                    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
                                    curl_setopt($ch, CURLOPT_HEADER, 0);

                                    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET"); 
                                    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

                                    curl_setopt($ch, CURLOPT_TIMEOUT, 30);

                                    $response = curl_exec($ch);

                                    echo $response;


                                using System;  
                                using System.IO;  
                                using System.Net;  
                                namespace Examples.System.Net
                                    public class WebRequestGetExample
                                        public static void Main()
                                            // Create a request for the URL.   
                                            WebRequest request = WebRequest.Create(
                                            request.Headers.Add("Authorization", "Token {token}");
                                            // If required by the server, set the credentials.  
                                            //request.Credentials = CredentialCache.DefaultCredentials;
                                            // Get the response.  
                                            WebResponse response = request.GetResponse();
                                            // Display the status.  
                                          //  Console.WriteLine(((HttpWebResponse)response).StatusDescription);
                                            // Get the stream containing content returned by the server. 
                                            // The using block ensures the stream is automatically closed. 
                                            using (Stream dataStream = response.GetResponseStream())
                                                // Open the stream using a StreamReader for easy access.  
                                                StreamReader reader = new StreamReader(dataStream);
                                                // Read the content.  
                                                string responseFromServer = reader.ReadToEnd();
                                                // Display the content.  
                                            // Close the response.  

Rate Limiting#back to top

PaperQuotes allows 3000 calls a day, If you hit the limit you will get the rate limit exceeded response, if you are looking to make more calls. you can subscribe to one of our plans.

If you plan to make more API calls you want to request a specific feature. Drop us a note Contact Us if you have any questions.




No contracts. Anytime cancellation.
1 API Key
100,000 API Calls / Month



No contracts. Anytime cancellation.
1 API Key
30,000 API Calls / Month


FREE for 30 days then $5/mo

No contracts. Anytime cancellation.
1 API Key
10,000 API Calls / Month

BASIC Freedom

FREE for 7 days then $3/mo

Plan for open source projects, students or startups!
1 API Key
10,500 API Calls / Month

Support #back to top

If you plan to make more API calls you want to request a specific feature. Drop us a note Contact Us if you have any questions.

OR email us at [email protected] and we will get back to you with in 2-3 business day

I have a question....
  • * How many calls are free? - During the trial period of basic plan, you can make 1000 calls a day without hitting rate limit
  • * I need technical help to get API working - sure, email us at [email protected]
  • * I have an idea OR feature request - Woah! Email us at [email protected]
  • * How does the subscription work? - You can choose the plan, once its paid we send you an email with an API token