BookTok Trend Intelligence & Goodreads Enrichment avatar

BookTok Trend Intelligence & Goodreads Enrichment

Pricing

Pay per usage

Go to Apify Store
BookTok Trend Intelligence & Goodreads Enrichment

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

Inus Grobler

Maintained by Community

Actor 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:

FieldWhat to enterSuggested first run
modeTrack books, discover BookTok titles, or compare bookswatchlist
targetsBooks as Title | Author or ISBN; discovery topics in Discover modeDune | Frank Herbert
searchDepthquick, balanced, or deepquick
enrichWithGoodreadsAdd Goodreads ratings and book detailstrue
includeVideoEvidenceAdd separate rows for individual TikTok videosfalse

The search-depth preset sets sensible limits automatically:

PresetNamed-book videosDiscovery videos per topicTotal video capBest for
quick1525First runs and low-cost checks
balanced310100Normal research
deep1025250Wider 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 threshold
  • emerging — a limited or early sample
  • rising — meaningful collected attention
  • strong — high reach or engagement in the sample
  • breakaway — 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:

  • matchConfidence
  • matchMethod
  • matchReasons
  • 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:

  • searchDepth for a Quick, Balanced, or Deep preset
  • fewer entries in targets
  • exact video and book limits in Advanced controls when needed
  • maxUpstreamChargeUsd for 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 os
from apify_client import ApifyClient
TOKEN = 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).items
for 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.