BookTok Trend Intelligence & Goodreads Enrichment
Pricing
Pay per usage
BookTok Trend Intelligence & Goodreads Enrichment
Analyze public BookTok videos and export matched book data, TikTok engagement metrics, trend scores, representative evidence, and Goodreads metadata for publishing, author marketing, and reader-demand research.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Inus Grobler
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Quick start
What it does: collects public BookTok signals, matches them to books, scores trends, and enriches results with Goodreads and Open Library metadata. Input accepts titles, authors, ISBNs, or discovery topics; output is a structured dataset with book trends and optional video evidence. Use cases include publishing, marketing, and research. Pricing and cost guidance, limitations, and troubleshooting for common no-signal, matching, runtime, and upstream-source cases are documented below.
Example input: use watchlist with a title, ISBN, or Title | Author pair. Output includes ranked book trends, evidence, confidence, and a run summary. Pay-per-event launch pricing is scheduled for August 3, 2026. Review pricing and cost, limitations, and troubleshooting before increasing limits.
BookTok Trend Intelligence turns public TikTok book videos into ranked, analysis-ready book data. Track named titles, compare competing books, or discover books appearing in BookTok results, then combine TikTok mentions, creators, views, engagement, and recency with Goodreads ratings and book metadata.
Use this BookTok trend tracker for publishing research, author marketing, reader-demand analysis, campaign reporting, acquisition research, influencer discovery, and competitive book intelligence. Results are delivered as clean JSON dataset rows and can also be exported to CSV, Excel, XML, RSS, or HTML.
What this BookTok analytics Actor does
- Tracks public TikTok videos for a list of book titles, authors, or ISBNs.
- Discovers book candidates from public BookTok keyword and hashtag results.
- Compares multiple books using the same bounded collection and scoring method.
- Matches videos to books using ISBN, title, author, hashtag, and source-query evidence.
- Calculates mentions, unique creators, views, engagements, engagement rate, recency, and a transparent trend score.
- Enriches confident matches with public Goodreads ratings, review counts, genres, covers, identifiers, and canonical URLs.
- Uses Open Library to resolve discovery candidates or fill basic metadata when Goodreads has no confident result.
- Preserves representative TikTok videos and optional evidence rows so analysts can audit every conclusion.
- Returns partial but useful results when one public source is temporarily unavailable.
Who should use it?
- Publishers comparing reader attention across current and upcoming titles
- Authors and literary agencies measuring BookTok campaign reach
- Book marketers finding videos and creators driving discussion
- Editors and acquisition teams researching rising subjects or genres
- Bookshops, libraries, and recommendation products tracking reader demand
- Researchers building reproducible social-media and book metadata datasets
Analysis modes
Watchlist
Provide one or more books. The Actor searches public TikTok results for every title, matches the collected videos, enriches each book, and returns one book_trend row per input.
Compare
Provide at least two books. Results are ranked by trend score and include each title's share of the views collected in that run.
Discover
Provide BookTok keywords or hashtags. The Actor extracts plausible title signals from captions, hashtags, and search context, resolves them through Open Library, then adds Goodreads enrichment when a confident match is available.
Discovery is deliberately conservative. Ambiguous phrases are left unresolved instead of being presented as books with false certainty.
Input
Most users only need these five controls:
| Field | What to enter | Suggested first run |
|---|---|---|
mode | Track books, discover BookTok titles, or compare books | watchlist |
targets | Books as Title | Author or ISBN; discovery topics in Discover mode | Dune | Frank Herbert |
searchDepth | quick, balanced, or deep | quick |
enrichWithGoodreads | Add Goodreads ratings and book details | true |
includeVideoEvidence | Add separate rows for individual TikTok videos | false |
The search-depth preset sets sensible limits automatically:
| Preset | Named-book videos | Discovery videos per topic | Total video cap | Best for |
|---|---|---|---|---|
quick | 1 | 5 | 25 | First runs and low-cost checks |
balanced | 3 | 10 | 100 | Normal research |
deep | 10 | 25 | 250 | Wider coverage and longer runs |
For ambiguous titles, use Title | Author. The Actor also accepts ISBN-10 and ISBN-13. The collapsible More options section contains only maximum books, the source spending cap, and unmatched-video diagnostics. Fine-grained limits remain supported through JSON/API input for existing advanced integrations.
Example inputs
Track one book
{"mode": "watchlist","targets": ["Dune | Frank Herbert"],"searchDepth": "quick"}
Compare books
{"mode": "compare","targets": ["Dune | Frank Herbert","Kindred | Octavia E. Butler"],"searchDepth": "balanced"}
Discover fantasy BookTok titles
{"mode": "discover","targets": ["fantasy booktok"],"searchDepth": "quick"}
Output
The Output tab opens on Results, a compact book-level table with only the fields clients usually need first:
- rank, title, and author
- trend score and trend label
- matched video count, views, and engagement rate
- Goodreads rating and book URL
Use Book Details for additional metadata, Individual Videos when evidence rows were requested, and Full Data (Advanced) for every raw field. The Run Summary contains completion status, counts, runtime, warnings, and source statuses.
Example result
{"rank": 1,"title": "Dune","author": "Frank Herbert","trendScore": 68.42,"trendLabel": "strong","mentionCount": 12,"totalViews": 2500000,"engagementRate": 0.1088,"averageRating": 4.21,"goodreadsUrl": "https://www.goodreads.com/book/show/44767458-dune"}
The full dataset still includes matching confidence, Goodreads metadata, engagement totals, representative videos, timestamps, warnings, and source provenance for advanced integrations.
How the trend score works
The score ranges from 0 to 100 and combines:
- sample volume: number of confidently matched videos
- reach: logarithmically scaled total views
- engagement: likes, comments, shares, and saves divided by views
- recency: age of the newest matched public video
Labels are:
no_signal— no collected video met the match thresholdemerging— a limited or early samplerising— meaningful collected attentionstrong— high reach or engagement in the samplebreakaway— exceptional combined sample signals
This is a reproducible ranking of the videos collected in one run. It is not an estimate of every BookTok video ever published and should not be presented as an official TikTok ranking.
Matching and data quality
Every TikTok match carries:
matchConfidencematchMethodmatchReasons- the source query
- representative video evidence
Goodreads enrichment has a separate goodreadsMatchConfidence. Low-confidence Goodreads candidates are rejected instead of silently replacing the requested book with a similarly named title.
If a title-only Goodreads lookup is ambiguous, the Actor can use a confidently matched Open Library ISBN for a second Goodreads lookup. Each upstream run remains visible in UPSTREAM_RUNS and sourceRunIds.
dataCompleteness, sourceStatus, and warnings make partial results explicit. If TikTok is temporarily blocked but Goodreads succeeds, the Actor still returns the book with no_tiktok_signal rather than producing an empty dataset.
Some public TikTok search results expose a video URL and caption without engagement counters. Those rows remain auditable, but the aggregate is marked missing_tiktok_metrics and its trend score uses only the signals actually available; missing counters are never presented as complete data.
Cost and runtime
From August 3, 2026 at 17:05 UTC, the launch price is $0.01 per completed book_trend result ($10 per 1,000 results), plus the standard $0.00005 Actor start event. Apify requires advance notice when changing pricing models, so runs before that activation time remain on the existing pay-per-usage model. The introductory event rate is 50% of the planned standard $0.02 per book result. Optional video_evidence, unmatched_video, and run_status rows do not add another BookTok Trend Intelligence result charge.
This workflow calls public TikTok and Goodreads Actors under your Apify account. Their current event pricing can apply separately to those child runs. When TikTok collection requires multiple child runs, the Actor divides maxUpstreamChargeUsd across them so the configured pay-per-event ceiling remains a source-level budget. The parent Actor includes its own platform usage in the book-result price rather than adding a separate parent usage charge.
The Actor respects Apify's maximum total charge for the run. If the remaining budget cannot fund one book result, it exits before calling the data sources and returns a clear status row. If the budget allows fewer results than requested, work is capped and the run summary is marked partial instead of returning unpaid book records.
Control spend with:
searchDepthfor a Quick, Balanced, or Deep preset- fewer entries in
targets - exact video and book limits in Advanced controls when needed
maxUpstreamChargeUsdfor pay-per-event upstream pricing
Start with one to three videos per book. Broad discovery searches and large comparison lists take longer because public TikTok collection is the dominant runtime. Larger query lists are processed with at most three TikTok child runs active at once, which reduces elapsed time without raising the result cap. Discovery topics run independently because each topic can return a full result page; shorter named-book searches are grouped into bounded batches.
Python API example
import osfrom apify_client import ApifyClientTOKEN = os.environ["APIFY_TOKEN"]ACTOR_ID = "thescrapelab/booktok-trend-intelligence"apify_client = ApifyClient(TOKEN)actor_client = apify_client.actor(ACTOR_ID)run_input = {"mode": "compare","targets": ["Dune | Frank Herbert","Kindred | Octavia E. Butler",],"searchDepth": "quick",}call_result = actor_client.call(run_input=run_input)if call_result is None:raise RuntimeError("Actor run failed")dataset_client = apify_client.dataset(call_result["defaultDatasetId"])items = dataset_client.list_items(view="overview", clean=True).itemsfor item in items:print(item)
JavaScript API example
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('thescrapelab/booktok-trend-intelligence').call({mode: 'watchlist',targets: ['Dune | Frank Herbert'],searchDepth: 'quick',});const { items } = await client.dataset(run.defaultDatasetId).listItems({view: 'overview',clean: true,});console.log(items);
Scheduling and integrations
Schedule the Actor daily or weekly to create comparable snapshots. Send completed datasets to Google Sheets, Airtable, Make, Zapier, n8n, a database, a BI dashboard, or an LLM workflow through Apify integrations and webhooks.
For time-series reporting, retain each run's scrapedAt, source run IDs, trend score, and underlying engagement totals. Do not compare runs that used materially different searches or collection limits without accounting for that change.
Limitations
- TikTok results are public search samples and may vary by availability, region, ranking, or anti-bot behavior.
- The Actor does not sign in, access private profiles, bypass access controls, or claim complete TikTok coverage.
- Captions do not always name a book clearly. Discovery therefore favors precision and can leave candidates unresolved.
- Metrics are point-in-time public values and can change after collection.
- Public Goodreads search can return similarly named editions or related works; confidence checks reduce but cannot eliminate ambiguity.
- Date filtering excludes videos that do not expose a usable public creation time.
- Open Library and Goodreads coverage varies by book and edition.
- Source layouts, APIs, pricing, and availability can change.
Troubleshooting
I received a book row with zero TikTok mentions
Check sourceStatus, dataCompleteness, and warnings. The search may have returned no public videos, videos may have fallen outside the date range, or candidates may have stayed below minimumMatchConfidence.
A title matched the wrong edition
Use Title | Author or an ISBN instead of title-only input. Review goodreadsMatchConfidence and the canonical URLs before merging results into an authoritative catalog.
Discovery returned fewer books than expected
Try a more specific topic, move from Quick to Balanced search depth, and optionally include unmatched videos to inspect the evidence. Lowering the confidence threshold increases recall but can also create false matches.
The run is slow
Use Quick search depth, reduce the number of targets, and keep individual video rows disabled unless required. Public TikTok extraction normally accounts for most of the runtime.
An upstream source failed
The default resilient mode returns partial data with warnings. Enable strictMode only when your integration must reject any incomplete run.
Responsible use
This Actor processes public content and public book metadata only. Use the results responsibly, respect applicable website terms and laws, avoid harassment or sensitive-person profiling, and review source policies for your specific commercial use case.