ISBNdb API Documentation

Welcome to the ISBNdb API Documentation. Our REST API allows you to retrieve information about millions of books.

Authentication

In order to interact with the API you'll need to use an HTTP header on every request.

X-API-Key: YOUR_REST_KEY

Please note the difference as passing your key via GET parameters won't work. e.g.,

  • Incorrect

    https://api.isbndb.com/book/9780134093413?X-API-KEY=YOUR_REST_KEY
            
  • Correct

    GET /book/9780134093413 HTTP/1.1
    Host: api.isbndb.com
    User-Agent: insomnia/5.12.4
    X-API-KEY: YOUR_REST_KEY
    Accept: */*
            
    

Error Messages

If the key reaches the request limit the response will be 

Status code: 404 Not found

Response:  {"errorMessage": "Not Found"}

 

Status code: 429 Too Many Requests

Response :  { "message": "Limit Exceeded" }

 

Optional parameters

 

pageSize

To control the number of results per page

 

https://api.isbndb.com/books/biology?pageSize=50

Will return 50 books

 

page

To request a specific page

 

https://api.isbndb.com/books/biology?pageSize=5&page=3

Will return the 3rd page of the results, in this case, since the pageSize is 5. We're getting results 11-15

 

author

To filter book searches by author

 

https://api.isbndb.com/books/biology?author=campbell

Will return all books with biology in the title written by authors named Campbell

 

binding

To filter the books by a specific type of binding ( paperback or hardcover )

 

https://api.isbndb.com/books/biology?binding=paperback

Will return a list of paperback biology books

* title and author filter will only work on the books endpoint

If you need further information on HTTP Headers please see our API Code Examples or visit Swagger API Keys for a more in-depth explanation

View Examples

API Endpoints

The following lists all our available API endpoints, you may use your assigned API_REST_KEY to live interact with it using each of the forms below.

API Code Examples

  • PHP

    1. <!--?php
    2.  
    3. $url = 'https://api.isbndb.com/book/9780134093413';
    4. $restKey = 'YOUR_REST_KEY';
    5.  
    6. $headers = array(
    7. "Content-Type: application/json",
    8. "X-API-Key: " . $restKey
    9. );
    10.  
    11. $rest = curl_init();
    12. curl_setopt($rest,CURLOPT_URL,$url);
    13. curl_setopt($rest,CURLOPT_HTTPHEADER,$headers);
    14. curl_setopt($rest,CURLOPT_RETURNTRANSFER, true);
    15.  
    16. $response = curl_exec($rest);
    17.  
    18. echo $response;
    19. print_r($response);
    20. curl_close($rest);
    21.  
    22. ?-->
  • .NET C#

    1. using System;
    2. using System.IO;
    3. using System.Net;
    4.  
    5. namespace ConsoleApp1 {
    6. public class Program {
    7.  
    8. public static void Main(string[] args) {
    9.  
    10. const string WEBSERVICE_URL = "https://api.isbndb.com/book/9781934759486";
    11.  
    12. try {
    13. var webRequest = WebRequest.Create(WEBSERVICE_URL);
    14.  
    15. if (webRequest != null) {
    16. webRequest.Method = "GET";
    17. webRequest.ContentType = "application/json";
    18. webRequest.Headers["X-API-Key"] = "YOUR_REST_KEY";
    19.  
    20. //Get the response
    21. WebResponse wr = webRequest.GetResponseAsync().Result;
    22. Stream receiveStream = wr.GetResponseStream();
    23. StreamReader reader = new StreamReader(receiveStream);
    24.  
    25. string content = reader.ReadToEnd();
    26.  
    27. Console.Write(content);
    28. }
    29. } catch (Exception ex) {
    30. Console.WriteLine(ex.ToString());
    31. }
    32. }
    33. }
    34. }
  • Python

    1. import requests as req
    2.  
    3. h = {'X-API-Key': 'YOUR_REST_KEY'}
    4. resp = req.get("https://api.isbndb.com/book/9781934759486", headers=h)
    5. print(resp.json())
  • Java

    1. import java.io.BufferedReader;
    2. import java.io.IOException;
    3. import java.io.InputStreamReader;
    4. import java.net.HttpURLConnection;
    5. import java.net.MalformedURLException;
    6. import java.net.ProtocolException;
    7. import java.net.URL;
    8.  
    9. public class JavaGetRequest {
    10.  
    11. private static HttpURLConnection con;
    12.  
    13. public static void main(String[] args) throws MalformedURLException,
    14.  
    15. String url = "https://api.isbndb.com/book/9781934759486";
    16.  
    17. try {
    18.  
    19. URL myurl = new URL(url);
    20. con = (HttpURLConnection) myurl.openConnection();
    21. con.setRequestProperty("Content-Type", "application/json");
    22. con.setRequestProperty("X-API-Key": "YOUR_REST_KEY");
    23. con.setRequestMethod("GET");
    24.  
    25. StringBuilder content;
    26.  
    27. new InputStreamReader(con.getInputStream()))) {
    28.  
    29. String line;
    30. content = new StringBuilder();
    31.  
    32. while ((line = in.readLine()) != null) {
    33. content.append(line);
    34. content.append(System.lineSeparator());
    35. }
    36. }
    37.  
    38. System.out.println(content.toString());
    39.  
    40. } finally {
    41.  
    42. con.disconnect();
    43. }
    44. }
    45. }