Methodology — our tracking method
Baby Xo 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
A broadcaster needs at least one tag to get a page of their own. Tags are what a profile page is built from — without any, there is nothing to describe beyond a username and a viewer count, and such a page would be genuinely thin.
Everything else we track is kept regardless. Broadcasters without tags still appear in aggregate statistics on the home page ("Total Tracked", etc.) and in the daily debut counts, they simply have no standalone page until they categorize themselves.
How the sitemap is built
The sitemap.xml is dynamic and served as a sitemap index: the URL you submit to a search console lists a handful of child files rather than every URL at once. Each child holds up to 10 000 URLs; crawlers fetch them independently and in whatever order they prefer.
- The first child carries the home page, the legal and methodology pages, the last 90 daily archives, and the tag and country hubs.
- Remaining children carry broadcaster pages, ordered by
debut_scoredescending, up to 50 000 in total. lastmodon a broadcaster page reflects when we last saw them live, so a crawler re-fetches a page only when the underlying data actually moved.- Generated XML is cached on disk for an hour. A crawler hitting all children back-to-back does not re-run the queries for each one.
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.
Version current as of August 17, 2026.