How NovaCamX Tracks Debuts — Methodology
NovaCamX Online is a tracking service, not a mirror. Every metric, ranking, and page on this site is computed from data we collect ourselves. This page documents exactly how — so you can evaluate the numbers you see, replicate them if you want, and hold us to account if we get them wrong.
Data source
Broadcaster data — usernames, tags, viewer counts, thumbnails, gender, location — comes from the public Chaturbate affiliate endpoint:
https://chaturbate.com/api/public/affiliates/onlinerooms/
This is the same feed available to any Chaturbate affiliate program participant. We do not scrape the site's HTML, do not access private data, and do not use undocumented endpoints. Only broadcasters who are actively online at the time of a poll are returned by this endpoint — that is a limitation of the source, not a choice on our part.
Polling schedule
We poll the endpoint every 15 minutes, paginating through all pages of results (batches of 500) until the feed is exhausted. A typical poll processes 8 000–12 000 concurrently online broadcasters and takes 15–40 seconds. The full poll history is stored in a cron_log table with start time, duration, and outcome.
How we detect a "debut"
A broadcaster is treated as a debut the first time their username appears in any poll response after the site's launch (2026-03-29). We do not attempt to backfill history from before that date, and we do not know whether a broadcaster streamed before then — we only know when we first saw them. Chaturbate's own is_new flag is preserved separately as a stronger confirmation signal.
Practical consequence: a broadcaster whose first cam session preceded 2026-03-29 will show up in our system with first_seen_at equal to their first poll after that date. They are not truly a "debut" but our data cannot distinguish them from one. To reduce noise, only broadcasters flagged is_new=true by Chaturbate are eligible for the strongest DEBUT badge; unflagged first-sightings receive the softer NEW badge instead.
Debut Score
Every broadcaster receives a numeric debut_score on every poll. Formula:
debut_score = viewers × log(tag_count + 1) × (1 + tag_rarity_score) × new_bonus
where new_bonus = 1.5 if Chaturbate flagged the broadcaster is_new
1.0 otherwise
Rationale for each factor:
viewers— raw popularity at the moment we spotted them. Chosen over followers because followers accumulate slowly and lag actual live interest.log(tag_count + 1)— rewards broadcasters who take the time to categorize themselves, but caps the effect. A broadcaster with 20 tags is not twice as valuable as one with 10; the log dampens gaming.1 + tag_rarity_score— a niche broadcaster (unusual tag combination) can score up to 2× a mainstream one at the same viewer count. This is what surfaces distinctive newcomers before the algorithm's usual "big is bigger" bias kicks in.new_bonus—is_newis Chaturbate's own signal, which we trust more than our first-sighting inference. Confirmed debuts rank above unflagged first-sightings at the same viewer count.
Tag Rarity Score
For every tag observed in a poll, we compute its frequency in that snapshot:
tag_rarity(t) = 1 - frequency(t) / max_frequency_this_snapshot
A tag used by 90 % of broadcasters gets rarity ≈ 0.1. A tag used by 1 % gets rarity ≈ 0.99. A broadcaster's overall tag_rarity_score is the average rarity across all their tags. Tag frequency is computed per snapshot — it reflects what is common right now, not historically. This means the rarity of "petite" or "18" fluctuates day to day as the online population shifts.
Growth Signal
growth_signal = viewers_now / max(1, viewers_at_debut)
Displayed as an "×" multiplier on model pages (e.g. 3.4×). Values above 1.5× we treat as meaningful; below we hide it. A high growth signal is the single strongest indicator of a broadcaster gaining real traction — most models plateau near their debut viewer count.
What we exclude from indexed pages
To prevent thin, low-quality pages from cluttering the site, a broadcaster is excluded from all index/model pages unless BOTH of the following hold:
- ≥ 3 tags — enough self-classification to be meaningfully described.
- peak viewers ≥ 5 across their entire tracked history — proof of real audience engagement at some point.
Broadcasters excluded from indexed pages are still counted in aggregate statistics on the home page ("Total Tracked", etc.).
Sitemap growth strategy
The sitemap.xml is dynamic. To avoid dumping tens of thousands of URLs in the site's first weeks — which search engines interpret as low-quality bulk publishing — we scale the debut-score threshold over time from launch date:
- Days 1–14: only broadcasters with
debut_score ≥ 500 - Days 15–30:
debut_score ≥ 200 - Days 31–60:
debut_score ≥ 50 - Day 61+: all broadcasters that pass the thin-page filter above
Retention
The daily_new table stores every debut we've detected, keyed by date. Records are not deleted — a broadcaster who debuted 6 months ago and is now offline still has their archive entry. This is why /new/{date} pages work indefinitely into the past.
Known limitations
- We can only see broadcasters who are online at the time of a poll. A broadcaster who streams for 10 minutes between polls will be missed entirely.
- "First seen" ≠ "first ever broadcast". See "How we detect a debut" above.
- Thumbnails are hotlinked from Chaturbate's CDN. If a broadcaster is offline or has deleted their account, the image URL we cached may return 404. We do not download or re-host imagery.
- Viewer counts reflect the moment of the poll, not the session peak. Peak viewers are tracked separately via the
peak_viewerscolumn, updated withGREATEST(peak_viewers, current)on every poll.
Corrections
If you believe a number on this site is wrong — a debut date, a growth calculation, a tag rarity — email [email protected] with the URL and the specific figure you're disputing. We publish corrections with an updated date at the bottom of the affected page.
Last updated: July 8, 2026