genre enum Only generate books in this genre — the title is assembled from the genre's own word pools and the genre field matches. Omit for a random mix.
Fake books with genre-flavored titles, checksum-valid ISBN-13s, authors, page counts and invented publishers. Filter by genre and page range.
Generated test data for fixtures and development
| Parameter | Type | Default & allowed | Description |
|---|---|---|---|
genre | enum | allowed: fantasy | scifi | mystery | thriller | romance | horror | literary | history | biography | selfhelp | children | poetry example: fantasy | Only generate books in this genre — the title is assembled from the genre's own word pools and the genre field matches. Omit for a random mix. |
minPages | int | default: 120 allowed: 20 – 2000 example: 200 | Minimum page count (inclusive). Must be ≤ maxPages. |
maxPages | int | default: 600 allowed: 20 – 2000 example: 400 | Maximum page count (inclusive). Must be ≥ minPages. |
genre enum Only generate books in this genre — the title is assembled from the genre's own word pools and the genre field matches. Omit for a random mix.
minPages int Minimum page count (inclusive). Must be ≤ maxPages.
maxPages int Maximum page count (inclusive). Must be ≥ minPages.
| Parameter | Type | Default & allowed | Description |
|---|---|---|---|
count | int | default: 10 allowed: 1 – 100 example: 3 | How many records to generate (1–100). |
seed | int | example: 42 | Deterministic output: the same seed always returns the same records. Omit for random (the used seed is echoed in meta.seed). |
fields | list | example: title,author | Return only these fields (comma-separated). Mutually exclusive with 'exclude'. |
exclude | list | example: publisher | Return all fields except these (comma-separated). |
format | enum | default: json allowed: json | ndjson | csv example: csv | Response format: json envelope, ndjson (one record per line) or csv. |
pretty | boolean | default: false example: true | Pretty-print the JSON response. |
unwrap | boolean | default: false example: true | Drop the envelope: return the raw array/object without data/meta wrapper. |
count int How many records to generate (1–100).
seed int Deterministic output: the same seed always returns the same records. Omit for random (the used seed is echoed in meta.seed).
fields list Return only these fields (comma-separated). Mutually exclusive with 'exclude'.
exclude list Return all fields except these (comma-separated).
format enum Response format: json envelope, ndjson (one record per line) or csv.
pretty boolean Pretty-print the JSON response.
unwrap boolean Drop the envelope: return the raw array/object without data/meta wrapper.
| Field | Type | Description | Example |
|---|---|---|---|
title | string | Genre-flavored title assembled from the genre's word pools. | The Ashen Throne of the Winter Court |
author | string | Fake author full name (given name + family name). | Nora Bellamy |
isbn13 | string (ISBN-13) | 13 digits starting with 978, with a valid ISBN-13 check digit (kept as a string to preserve leading digits). Not registered to a real book. | 9781639284719 |
genre | string | One of the 12 genres; always matches the pools the title came from. | fantasy |
pages | integer | Page count within minPages..maxPages (inclusive). | 384 |
publishedYear | integer | Publication year, 1900 to the current year. | 1987 |
publisher | string | Invented publishing house from a fixed fictional list — never a real company. | Hartwell & Sons |
title string Genre-flavored title assembled from the genre's word pools.
example: The Ashen Throne of the Winter Court
author string Fake author full name (given name + family name).
example: Nora Bellamy
isbn13 string (ISBN-13) 13 digits starting with 978, with a valid ISBN-13 check digit (kept as a string to preserve leading digits). Not registered to a real book.
example: 9781639284719
genre string One of the 12 genres; always matches the pools the title came from.
example: fantasy
pages integer Page count within minPages..maxPages (inclusive).
example: 384
publishedYear integer Publication year, 1900 to the current year.
example: 1987
publisher string Invented publishing house from a fixed fictional list — never a real company.
example: Hartwell & Sons
/api/books?genre=fantasy&count=5 {
"data": [
{
"title": "Sunken Grimoire",
"author": "Kaylie Gorczany-Considine",
"isbn13": "9785004797361",
"genre": "fantasy",
"pages": 296,
"publishedYear": 2001,
"publisher": "Thornquill Press"
},
{
"title": "The Crown of Shadowfell",
"author": "Waino Marvin",
"isbn13": "9789125678875",
"genre": "fantasy",
"pages": 458,
"publishedYear": 1984,
"publisher": "Lanternlight Books"
},
{
"title": "Ashen Crown",
"author": "Hailee Streich",
"isbn13": "9785050180360",
"genre": "fantasy",
"pages": 497,
"publishedYear": 1964,
"publisher": "Marlowe & Finch"
},
{
"title": "The Fabled Throne",
"author": "Otis Hodkiewicz",
"isbn13": "9789863190998",
"genre": "fantasy",
"pages": 191,
"publishedYear": 2026,
"publisher": "Copperbeam Books"
},
{
"title": "Ashen Grimoire",
…
"generatedAt": "2026-07-29T08:13:22.000Z"
}
} /api/books?minPages=500&maxPages=1200&seed=42&count=3 {
"data": [
{
"title": "The Effigy of the Attic",
"author": "Kaylie Gorczany-Considine",
"isbn13": "9780047973635",
"genre": "horror",
"pages": 1061,
"publishedYear": 1969,
"publisher": "Foxglove Press"
},
{
"title": "The Shattered Dragon of Stormhold",
"author": "Waino Marvin",
"isbn13": "9781256788775",
"genre": "fantasy",
"pages": 967,
"publishedYear": 1949,
"publisher": "Copperbeam Books"
},
{
"title": "The Penguin of the Blueberry Patch",
"author": "Hailee Streich",
"isbn13": "9780501803676",
"genre": "children",
"pages": 853,
"publishedYear": 1925,
"publisher": "Thornquill Press"
}
],
"meta": {
"endpoint": "books",
"count": 3,
"seed": 42,
"params": {
"minPages": 500,
"maxPages": 1200
},
"generatedAt": "2026-07-29T08:13:22.000Z"
}
} /api/books?genre=children&minPages=20&maxPages=48&count=10 {
"data": [
{
"title": "Giggly Firefly",
"author": "Kaylie Gorczany-Considine",
"isbn13": "9785004797361",
"genre": "children",
"pages": 30,
"publishedYear": 2001,
"publisher": "Thornquill Press"
},
{
"title": "The Bear Cub of the Blueberry Patch",
"author": "Waino Marvin",
"isbn13": "9789125678875",
"genre": "children",
"pages": 40,
"publishedYear": 1984,
"publisher": "Lanternlight Books"
},
{
"title": "Snuggly Bear Cub",
"author": "Hailee Streich",
"isbn13": "9785050180360",
"genre": "children",
"pages": 42,
"publishedYear": 1964,
"publisher": "Marlowe & Finch"
},
{
"title": "The Brave Acorn",
"author": "Otis Hodkiewicz",
"isbn13": "9789863190998",
"genre": "children",
"pages": 24,
"publishedYear": 2026,
"publisher": "Copperbeam Books"
},
{
"title": "Snuggly Firefly",
…
"generatedAt": "2026-07-29T08:13:22.000Z"
}
} Generates believable book records for library and bookstore demos. Titles are assembled from per-genre word pools (adjective + noun + motif), so ?genre=fantasy really returns things like The Ashen Throne of the Winter Court — never a cookbook. The genre field always matches the pools the title was built from; omit genre for a random mix across all 12.
Every isbn13 is a 13-digit Bookland EAN that starts with 978 and carries a valid ISBN-13 check digit, so it passes any standard ISBN validator or barcode renderer. Honesty note: the nine digits between the prefix and the check digit are random — these ISBNs are not registered to real books. Likewise every publisher is an invented house (e.g. Hartwell & Sons) drawn from a fixed fictional list, never a real company, and authors are fake names.
minPages/maxPages bound the pages field inclusively (defaults 120–600, hard limits 20–2000); minPages above maxPages is a 400, not a silent fix. publishedYear falls between 1900 and the current year. With a seed the same request returns byte-identical books forever.
Structurally, yes — every isbn13 has a correct check digit, so it passes format validators. The numbers are fake: they don't resolve to real published books.
Yes — genre restricts records to one genre and minPages/maxPages genuinely constrain the page count.
No — titles, authors and publishers are generated, and the endpoint is honestly badged mock. For real reference data, this isn't it.
Fake movies with genre-flavored titles, release-year windows, genre-aware runtimes and ratings (animation is never R) and one-decimal scores.
Public-domain quotes from authors who died before 1929 — every one traceable to a real work, filterable by author, tag and length, reproducible with a seed.
Sentiment-coherent fake product reviews — 1–2★ complain, 3★ shrug, 4–5★ rave — with star-rating and date-range filters and full seed determinism.
Multi-section Markdown documents where every feature flag is a hard guarantee — code blocks, tables, lists, links and images appear when on, never when off.