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.