Books Data API
Access structured book metadata, user demographics, and ratings at scale. Designed for recommendation engines, analytics, research, and publishing platforms.
Available Endpoints
Quickstart
Make your first request
curl --request GET \ --url 'https://books-api10.p.rapidapi.com/ratings/?limit=5&offset=10' \ --header 'X-RapidAPI-Host: books-api10.p.rapidapi.com' \ --header 'X-RapidAPI-Key: YOUR_API_KEY'
Example JSON response
{ "book_id": 123, "title": "The Pragmatic Programmer", "author": "Andrew Hunt", "rating": 4.8 }
API Guide
🔑 Authentication
All requests must include your API Key and the correct API Host.
Replace YOUR_API_KEY
with your API key.
X-RapidAPI-Key: YOUR_API_KEY X-RapidAPI-Host: books-api10.p.rapidapi.com
Example Requests
cURL
curl --request GET \ --url "https://books-api10.p.rapidapi.com/books/?q=Rowling&limit=3" \ --header "X-RapidAPI-Key: YOUR_API_KEY" \ --header "X-RapidAPI-Host: books-api10.p.rapidapi.com"
Python
import requests url = "https://books-api10.p.rapidapi.com/books" headers = { "X-RapidAPI-Key": "YOUR_API_KEY", "X-RapidAPI-Host": "books-api10.p.rapidapi.com" } params = {"q": "Rowling", "limit": 3} response = requests.get(url, headers=headers, params=params) print(response.json())
R
library(httr) url <- "https://books-api10.p.rapidapi.com/books" headers <- c( "X-RapidAPI-Key" = "YOUR_API_KEY", "X-RapidAPI-Host" = "books-api10.p.rapidapi.com" ) params <- list(q = "Rowling", limit = 3) res <- GET(url, add_headers(.headers=headers), query=params) content(res, "parsed")
JavaScript (fetch)
const url = "https://books-api10.p.rapidapi.com/books/?q=Rowling&limit=3"; const options = { method: "GET", headers: { "X-RapidAPI-Key": "YOUR_API_KEY", "X-RapidAPI-Host": "books-api10.p.rapidapi.com" } }; fetch(url, options) .then(res => res.json()) .then(json => console.log(json)) .catch(err => console.error(err));
⚡ Node.js (axios)
import axios from "axios"; const options = { method: "GET", url: "https://books-api10.p.rapidapi.com/books", params: { q: "Rowling", limit: 3 }, headers: { "X-RapidAPI-Key": "YOUR_API_KEY", "X-RapidAPI-Host": "books-api10.p.rapidapi.com" } }; axios.request(options) .then(response => console.log(response.data)) .catch(error => console.error(error));
Go
package main import ( "fmt" "io/ioutil" "net/http" ) func main() { url := "https://books-api10.p.rapidapi.com/books/?q=Rowling&limit=3" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("X-RapidAPI-Key", "YOUR_API_KEY") req.Header.Add("X-RapidAPI-Host", "books-api10.p.rapidapi.com") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := ioutil.ReadAll(res.Body) fmt.Println(string(body)) }
Available Endpoints
/books
→ Search and browse books/users
→ Browse user profiles/ratings
→ Access ratings/users_books_ratings
→ Full details (user + book + rating)
Full interactive docs at: /docs
Contact & Support
Have questions, need support, or want to discuss integrations? Our team is here to help you get the most out of the Books API.