Loading page…
/api/v1/books/by-authorReturns books by author_id. Use /api/v1/authors first if you need to find an author's id.
Open this endpoint in the API Explorer.
Import this API into your tooling.
See real implementation patterns.
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| author_id | query | integer | Yes | Author id. |
| page | query | integer | No | Page number. Defaults to 1. |
| limit | query | integer | No | Records per page. Defaults to 20 and maxes at 100. |
curl "https://bdapi4all.vercel.app/api/v1/books/by-author?author_id=8&page=1&limit=20"const response = await fetch("https://bdapi4all.vercel.app/api/v1/books/by-author?author_id=8&page=1&limit=20");
const payload = await response.json();
console.log(payload.data);import requests
response = requests.get("https://bdapi4all.vercel.app/api/v1/books/by-author?author_id=8&page=1&limit=20")
print(response.json()["data"])$response = file_get_contents("https://bdapi4all.vercel.app/api/v1/books/by-author?author_id=8&page=1&limit=20");
$data = json_decode($response, true);
print_r($data["data"]);$response = Http::get("https://bdapi4all.vercel.app/api/v1/books/by-author?author_id=8&page=1&limit=20");
$data = $response->json("data");export default async function Page() {
const res = await fetch("https://bdapi4all.vercel.app/api/v1/books/by-author?author_id=8&page=1&limit=20", { next: { revalidate: 3600 } });
const payload = await res.json();
return <pre>{JSON.stringify(payload.data, null, 2)}</pre>;
}{
"success": true,
"version": "v1",
"timestamp": "2026-06-02T00:00:00.000Z",
"data": [
{
"id": 8,
"title_en": "Bidrohi",
"author_id": 8,
"genre": "poetry",
"language": "bengali"
}
],
"meta": {
"pagination": {
"page": 1,
"limit": 20,
"total": 1,
"total_pages": 1
}
}
}