Freebooksy Scraper
Pricing
from $3.00 / 1,000 results
Freebooksy Scraper
Scrape free and discounted Kindle ebook deals from Freebooksy - the leading free-ebooks deal site. Daily deals, genre archives, tag pages, full-text search, and direct post/URL lookup with cover images, retailer links (Kindle/Apple Books/Kobo/Nook/Google Play), series data, and deal expiry dates.
Pricing
from $3.00 / 1,000 results
Rating
0.0
(0)
Developer
Crawler Bros
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
10 days ago
Last modified
Categories
Share
Scrape Freebooksy — the leading free-ebooks deal site for Amazon Kindle, Apple Books, Kobo, Nook, and Google Play. Pull today's Deals of the Day, browse 32 genre archives, follow tag pages, run full-text keyword searches, or fetch specific deal posts by URL. Every deal comes with the book title, author, blurb, price, deal expiry date, genres, cover image, Amazon ASIN, and direct retailer links. Plain HTTP scraping of the public website — no login, no cookies, no proxy required.
What this actor does
- Five modes:
deals(homepage Deals of the Day),byGenre(genre archive browse),byTag(tag archive browse),search(keyword search),byUrl(direct deal-post URLs) - 32 genres as a dropdown — browse Romance, Fantasy, Mystery, Cozy Mystery, Science Fiction, Young Adult, and more
- Retailer links — Kindle, Apple Books, Kobo, Nook, and Google Play buy links per deal
- Series data — "other books in the series" with cover, URL, and Kindle price
- Filters: price range, free-only, deal expiry date window, keyword, genre
- Empty fields are omitted — no
nullvalues in the dataset
Output per deal
asin— Amazon ASIN (e.g.B0C6HK79FV)bookTitle,author,description— the book's blurbprice— USD price (e.g.0.99),priceLabel— raw label (e.g.$0.99)isFree—truewhen the deal is completely freedealExpiresOn— the date the free/promotional price ends (ISOYYYY-MM-DD)coverUrl— book cover image (Amazon media CDN)amazonUrl— Amazon Kindle deal linkappleBooksUrl,koboUrl,nookUrl,googlePlayUrl— retailer buy links where availableretailers[]— full list of{retailer, url}buy buttonsgenres[]— genre slugs the deal's post is filed undertags[]— post tags (e.g.kindle-unlimited,cozy-mystery)isSeries,seriesBooks[]—{title, coverUrl, url, price, asin}for other books in the seriespostTitle,postUrl,postPublishedAt— the Freebooksy deal post this deal appeared insourceUrl— canonical page the deal was found onrecordType: "deal",scrapedAt— UTC timestamp
Homepage Deals of the Day cards additionally include genreLabel (the display genre name). If a requested URL cannot be fetched, the actor emits a recordType: "error" record with sourceUrl and error.
Input
| Field | Type | Default | Description |
|---|---|---|---|
mode | string | deals | deals / byGenre / byTag / search / byUrl |
genre | string | romance | Genre archive to browse (mode=byGenre) — 32 options |
genreFilter | string | – | Only emit deals whose post is tagged with this genre |
tagSlug | string | kindle-unlimited | Freebooksy tag slug (mode=byTag) |
searchQuery | string | romance | Free-text search (mode=search) |
startUrls | array | – | Deal-post URLs to fetch (mode=byUrl) |
keywords | string | – | Only emit deals whose title/author/description contains this text |
minPrice / maxPrice | number | – | Price range in USD |
freeBooksOnly | bool | false | Only emit completely free deals |
dateFrom / dateTo | string | – | Deal expiry-date window (YYYY-MM-DD) |
includeSeriesBooks | bool | true | Attach series info to each deal |
maxPages | int | 3 | Archive pages to walk (1–100) |
maxItems | int | 50 | Hard cap on emitted records (1–1000) |
proxyConfiguration | object | AUTO | Optional; uses the free Apify AUTO proxy only as a fallback |
Example: today's deals of the day
{"mode": "deals","maxItems": 20}
Example: browse the romance archive, free books only, 2 pages
{"mode": "byGenre","genre": "romance","freeBooksOnly": true,"maxPages": 2,"maxItems": 100}
Example: search with filters
{"mode": "search","searchQuery": "cozy mystery","keywords": "baker","genreFilter": "cozy-mystery","dateFrom": "2026-08-01"}
Example: specific deal posts
{"mode": "byUrl","startUrls": [{ "url": "https://www.freebooksy.com/2026/08/03/heatwave-whodunits-cozy-mystery-series/" }]}
Use cases
- Deal aggregators — feed today's free and discounted Kindle titles into a daily deals site or newsletter
- Deal tracking & price alerts — monitor which books are promoted, at what price, and when the deal expires
- Book marketing research — study which genres and books Freebooksy promotes for author/publisher outreach
- Recommendation engines — consume genre-tagged ebook deals with covers and retailer links
- Library & reading apps — surface free books with direct retailer links to users
- Backlist promotion analysis — follow tag archives to see which authors/books recur in promotions
FAQ
What is the data source?
The public freebooksy.com website — its homepage Deals of the Day widget, genre archives at /read/genre/<slug>/, tag archives at /tag/<slug>/, and WordPress search at /?s=<query>. All data is server-rendered HTML; no API key or account is needed.
Why does the "Data Source" say Freebooksy and not BookBub?
This actor replaces an earlier BookBub slot. BookBub's deal data could not be scraped reliably from Apify cloud: its API returns 403/406 to datacenter egress (and 406 to TLS-impersonating clients), and its web pages render deals entirely via JavaScript (zero deal titles in the raw HTML). Freebooksy is the leading free-ebook-deals site in the same category and serves complete server-rendered deal data that works from plain datacenter egress. Folder and slug are named for the actual platform being scraped.
Are the deals free, or are some paid?
Freebooksy is primarily a free-ebooks site, but its Deals of the Day widget also promotes discounted titles ($0.99–$1.99). Set freeBooksOnly: true to keep only free deals.
Why do some records lack a dealExpiresOn date?
Homepage Deals of the Day cards don't display an expiry date — only deal-post book cards do. Omitted fields are simply not included in the record.
How fresh is the data? Genre archives and posts are updated daily; the homepage Deals of the Day reflects the current day's promotions. Run the actor on a schedule (e.g. daily) to track changes.
Do I need a proxy?
No. Freebooksy is accessible directly from datacenter IPs. An optional proxyConfiguration field (free Apify AUTO group) is available as a fallback if you hit rate limits.
Are there rate limits?
The site doesn't publish rate limits. The actor walks pages politely with small delays and respects maxPages / maxItems caps.
What are genre slugs?
Slugs are the URL-safe form used in archive URLs (e.g. science-fiction, cozy-mystery, young-adult). The genre and genreFilter inputs are dropdowns, so you never need to type them.
Why are there sometimes fewer records than maxItems?
Deduplication — the same book promoted across multiple posts is emitted once per run. Filters (price, date window, keywords) can also reduce the final count, and archive pages may simply contain fewer deals.
Is this actor affiliated with Freebooksy? No. This is a third-party scraper using the publicly accessible freebooksy.com website.