Get information about a featured book each day including title, author, publication year, image, and a detailed description.
GET https://book.freeapi.me/
{
"book": {
"book": "Happy Land",
"author": "Dolen Perkins-Valdez",
"publicationYear": 2025,
"image": "https://media.npr.org/assets/img/2025/04/23/happy-land_sq-270ef08b0a9f59355fb7103e14932b92e1af7e3d.jpg?s=3000&c=66&f=jpg",
"date": "2025-04-24",
"description": "When Nikki travels to visit her grandmother in western North Carolina, she expects answers about her family's history. But instead, she uncovers her connection to the Kingdom of the Happy Land, a community of formerly enslaved people..."
}
}
https://book.freeapi.me/
All API requests should be made to this endpoint. HTTPS is required for all API calls.
The Book of the Day API accepts GET requests only.
This API does not accept any query parameters. A simple GET request to the base URL will return the current Book of the Day.
# Get the Book of the Day curl https://book.freeapi.me/
// Get the Book of the Day fetch('https://book.freeapi.me/') .then(response => response.json()) .then(data => console.log(data)) .catch(error => console.error('Error:', error));
import requests # Get the Book of the Day response = requests.get('https://book.freeapi.me/') data = response.json() print(data)
// Get the Book of the Day $response = file_get_contents('https://book.freeapi.me/'); $data = json_decode($response, true); print_r($data);
The API returns a JSON object containing the Book of the Day and related details nested under a "book" key.
{ "book": { "book": "Happy Land", // string | The title of the book "author": "Dolen Perkins-Valdez", // string | The author of the book "publicationYear": 2025, // number | The year the book was published "image": "https://media.npr.org/...", // string | URL to the book cover image "date": "2025-04-24", // string | The date (YYYY-MM-DD) this book was featured "description": "When Nikki travels to..." // string | A detailed description of the book } }
The API may return the following error responses: