Freebooksy Scraper avatar

Freebooksy Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
Freebooksy Scraper

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

Crawler Bros

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

10 days ago

Last modified

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 null values in the dataset

Output per deal

  • asin — Amazon ASIN (e.g. B0C6HK79FV)
  • bookTitle, author, description — the book's blurb
  • price — USD price (e.g. 0.99), priceLabel — raw label (e.g. $0.99)
  • isFreetrue when the deal is completely free
  • dealExpiresOn — the date the free/promotional price ends (ISO YYYY-MM-DD)
  • coverUrl — book cover image (Amazon media CDN)
  • amazonUrl — Amazon Kindle deal link
  • appleBooksUrl, koboUrl, nookUrl, googlePlayUrl — retailer buy links where available
  • retailers[] — full list of {retailer, url} buy buttons
  • genres[] — genre slugs the deal's post is filed under
  • tags[] — post tags (e.g. kindle-unlimited, cozy-mystery)
  • isSeries, seriesBooks[]{title, coverUrl, url, price, asin} for other books in the series
  • postTitle, postUrl, postPublishedAt — the Freebooksy deal post this deal appeared in
  • sourceUrl — canonical page the deal was found on
  • recordType: "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

FieldTypeDefaultDescription
modestringdealsdeals / byGenre / byTag / search / byUrl
genrestringromanceGenre archive to browse (mode=byGenre) — 32 options
genreFilterstringOnly emit deals whose post is tagged with this genre
tagSlugstringkindle-unlimitedFreebooksy tag slug (mode=byTag)
searchQuerystringromanceFree-text search (mode=search)
startUrlsarrayDeal-post URLs to fetch (mode=byUrl)
keywordsstringOnly emit deals whose title/author/description contains this text
minPrice / maxPricenumberPrice range in USD
freeBooksOnlyboolfalseOnly emit completely free deals
dateFrom / dateTostringDeal expiry-date window (YYYY-MM-DD)
includeSeriesBooksbooltrueAttach series info to each deal
maxPagesint3Archive pages to walk (1–100)
maxItemsint50Hard cap on emitted records (1–1000)
proxyConfigurationobjectAUTOOptional; 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.