webfilteringdatabase.com
Home Find Your Solution
Features
Domain Categorization API Real-Time Classification 59 Filtering Categories Offline Database (120M) Managed DNS Filter ML Classification Content Classification
Industries
K-12 Schools Corporate Healthcare Government ISPs
Tools
Domain Lookup Bulk Categorization Category Explorer
Resources
Pricing API Documentation Login / Sign Up

Website Categories for Screen Time Apps

People do not want a list of 400 domains they visited. They want to hear "you spent six hours on social sites this week" and to set a limit on that one thing.

That sentence only works if every domain has a dependable category. This page explains what screen time and digital wellbeing apps need from category data and how to build it in.

Example: weekly time by category

Social
6h 10m
Video
4h 52m
Games
2h 51m
Work tools
2h 30m
News
1h 24m
Shopping
0h 50m

Illustration only. Each bar is built by mapping visited domains to categories and summing time.

What a screen time product needs from category data

A filter only needs to know whether to block. A screen time app needs more: it labels every visit, sums it, shows it, and sometimes stops it. Each of those jobs puts its own demand on the data.

Labels for every visit

An "Other" bucket that holds a third of the week makes a report useless. Coverage of 120 million domains, with the 20 million most visited covering 99.99% of web traffic, keeps "Other" small.

Category limits

"One hour of video a day" needs every video site in one group, including small ones. Users notice fast when a site slips through a limit.

Focus and bedtime modes

Focus modes block distracting groups and keep work tools open. That needs a clean split between Social Networking, Streaming Media and Web-based Applications.

A main label plus extras

Each domain can carry several categories ranked by how much of the site they describe. The top one drives the time report; the rest help with limits and focus rules.

Privacy by design

Browsing history is sensitive. Files that run inside your own systems let you categorize on the device and avoid sending visits to a third party.

Steady names over time

Users compare this week to last month. A stable set of 59 categories keeps those comparisons honest when the data updates.

Turning 59 categories into report buckets

Few apps show all 59 categories to users. Most group them into eight to twelve buckets with friendly names. Here is one grouping that works well; adjust it to your audience. The full set is on the web filtering categories page.

Social

Feeds, chat communities and forums.

Social NetworkingCommunity SitesForums / Message Boards

Video and music

Long sessions, the biggest time sink for most users.

Streaming MediaPodcastsArts & Entertainment

Games

Browser games, game stores and game communities.

Gaming

News

Reading time many users want to track, not block.

News/MediaPoliticalBlogs/Personal Sites

Shopping

Stores, marketplaces and deal sites.

ShoppingMarketplaces / Classifieds / Auctions

Work tools

Time users are usually happy to see grow.

Web-based ApplicationsBusinessDeveloper Tools / Code HostingEmail and Messaging

Learning

Courses, reference and research.

Education/ReferenceWebinars/E-learningScience

AI tools

A fast-growing bucket users increasingly ask about.

AI / LLM Tools
For finer views, such as "which kind of video", the same file includes the IAB Content Taxonomy (703 categories in version 3). Use it under the bucket, not instead of it. See the taxonomy overview.

Which categories matter for limits, focus and blocking

Time reports use every category. Limits and blocks use a smaller set. The matrix below shows how screen time apps usually treat the categories users ask about most.

CategoryTime reportDaily limitFocus modeFamily block
Social NetworkingYesCommonBlockedParent choice
Streaming MediaYesCommonBlockedParent choice
GamingYesCommonBlockedTime limited
News/MediaYesSome usersOptionalRare
ShoppingYesSome usersBlockedRare
AI / LLM ToolsYesGrowingUsually openParent choice
Web-based ApplicationsYesRareKept openRare
GamblingYesSelf-limitBlockedBlocked
AdultHidden labelNoBlockedBlocked
VPN / Proxy / AnonymizersFlagNoOptionalBlocked
Think about how sensitive labels show up in a report. Many apps show Adult or Gambling time only to the account owner, or fold it into a neutral "Restricted" line on shared family dashboards.

Limits versus blocks: two different data jobs

A block is binary and acts once. A limit counts time, so every miss adds up across the day. That changes what you should test and how you treat unknown domains.

Blocking

  • Decision at the first request
  • An unknown domain needs a default rule
  • Misses are visible and annoying
  • Security categories are always on
  • Fits DNS or network level enforcement
vs

Time limits

  • Decision at every minute of use
  • Unknown domains quietly escape the count
  • Misses show up as wrong totals
  • Users expect fair treatment of small sites
  • Needs foreground app or tab tracking
  • Count unknown domains in a visible "Uncategorized" line, and resolve them in the background so the total corrects itself.
  • Apply a limit to the whole registered domain, so a video site's subdomains share the same clock.
  • Let users move one domain to another bucket. A personal override builds trust faster than any data change.

Offline database, API, or both for screen time apps

Screen time apps see every domain a user opens, so where categorization happens is mainly a privacy decision. Speed matters too: the report must load instantly.

Offline database

A compact index of the most visited domains ships with the app and categorizes visits on the device.

Best for: privacy-first apps, offline use, fast reports. Trade-off: rare domains need a fallback.

Lookup API

Your backend asks the included lookup API for each new domain and caches the answer.

Best for: early prototypes and web dashboards. Trade-off: visits leave the device unless you hash or batch them.

Both

Local index first, then a domain-only request to your backend for misses, which holds the full file.

Best for: most production apps. Trade-off: one more pipeline to run, fed by the same delta files.
A lookup API is included with licences. See the API docs and the guide to real-time URL classification for latency considerations.

Update cadence with regular refreshes

Time totals are only as good as yesterday's data. Here is how category updates flow and when to push them to devices.

Daily

About 300,000 newly registered domains are categorized each day and delivered as delta files. Push them to your backend daily and to device indexes in small patches.

One week after a domain appears

New domains are checked again, because many sites add content after launch. A domain that started as a holding page may now be a video or game site.

One month after a domain appears

A second recheck catches sites that changed purpose. Updated labels arrive in the regular deltas.

Monthly

All other domains are refreshed. Rebuild your device index from the refreshed file and ship it through your in-app data update channel.

Should old reports change when a domain's category changes? Most apps keep past weeks as they were shown and apply new labels going forward. Users dislike history that moves.

Integration steps

From a licensed file to working reports and limits, the work usually splits into eight steps.

Step 1

Define your buckets

Map the 59 categories into user-facing buckets. Keep the map in a config file so product teams can tune it without a release.

Step 2

Load the file in your backend

Import the CSV, Parquet or JSON file, index by domain, and store the ranked category list per row.

Step 3

Build a device index

Select the most visited domains, keep the top two or three labels, compress, sign, and publish through your update channel.

Step 4

Normalize visits

Reduce each URL to its host, then to its registered domain. Look up the host first and fall back to the registered domain.

Step 5

Attribute time

Count foreground time against the top-ranked category. Store the domain too, so a later relabel or user override can be applied.

Step 6

Enforce limits

Check category totals against limits and block the whole bucket when time runs out, including domains that share the bucket.

Step 7

Handle misses

Send unknown domains, domain only, to your backend. Cache answers on the device for repeat visits.

Step 8

Wire the delta job

Apply daily deltas to the backend and generate device patches. Monitor that each day's file arrived.

If you also enforce limits at the router or DNS level, export formats for licensed customers include hosts files, DNS RPZ and AdGuard/Pi-hole style lists. See blocklist formats and DNS filtering integration.

Before launch: a short readiness checklist

  • Run a week of real, consented test browsing through the pipeline and check the share of minutes that land in "Uncategorized". Aim to keep it small and falling.
  • Open the twenty sites your target users visit most and confirm each lands in the bucket users would expect.
  • Set a one-minute limit on each bucket and confirm the block covers the main site, its subdomains and a known mirror.
  • Turn off the network and confirm reports still build from the device index, with misses resolved once the device reconnects.
  • Apply a test delta file and confirm devices pick up the patch without a new app release.
  • Check that no request from the device carries a full URL, path or search term to your backend, only the domain.

Report design tips that depend on the data

Good category data still needs careful presentation. These tips come from common questions screen time teams raise during integration.

  • Show the top three domains inside each bucket. Users trust a "Social: 6 hours" line more when they can see which sites made it up.
  • Treat video platforms that also host learning content with care. Use the second-ranked label or IAB detail to split "learning video" from "entertainment video" where you can.
  • Keep search engines in their own bucket. Search is a starting point, and folding it into "Other" hides a large share of time.
  • Separate AI tools from general work tools. Users and parents now ask about AI time specifically, and a separate bucket answers that directly.
  • Do not label time spent on banking, health or government sites in shared family reports unless the account owner chooses to.
  • Use one category set across web and apps where you can, so a social app and its website count toward the same limit.

Common data problems and how to avoid them

Most complaints about screen time reports trace back to a handful of data problems. Each one has a straightforward fix in how you use the categories.

The "Other" bucket grows

Usually a sign the device index is too small or the miss path is broken. Track the share of uncategorized minutes per day and alert when it rises.

Infrastructure counts as browsing

Background calls to content delivery and ad hosts inflate totals. Exclude CDN / Hosting / Infrastructure and Advertising/Marketing domains from time tracking.

Short links hide the real site

A tap on a short link briefly shows the shortener before the target loads. Do not count time against URL Shorteners; count it against the destination.

Mirrors escape limits

Copies of video and game sites appear on fresh domains. Daily delta files for newly registered domains keep those mirrors inside the right bucket.

Same service, two labels

A platform's main site and its login or upload subdomain may carry different labels. Decide whether limits follow the host or the registered domain and apply it consistently.

Parked pages in reports

Typos land users on parked domains. Hide Parked / For-Sale Domains from reports, or show them as a single neutral line.

One category set for web and app usage

Screen time products track native apps as well as websites. Users expect a social app and its website to share one limit. Map each app to the domains it uses, then reuse the same website categories.

Source of usageHow to get a categoryWatch out for
Browser tabNormalize the URL to its host and look it up locally, then in your backend.Private tabs and background tabs that are open but not used.
Native appLink the app to its main website domain and inherit that domain's category.Apps with several purposes, such as messaging plus video.
In-app browserTreat it as a browser tab and categorize by host.Time that should count against the website, not the host app.
Router or DNS viewCategorize the queried domain. Useful for whole-home reports.Background traffic: filter infrastructure categories out first.
Smart TV or consoleUsually DNS level only. Count sessions rather than exact minutes.Many shared domains across apps on the same device.
For family-focused features on top of screen time, such as blocking for younger children, see parental controls filtering.

Licensing website categories for a screen time app

Category data inside a consumer app is an embedded use, so it falls under an OEM licence. Read how it works on the OEM licensing page.

OEM licence for your app

The data runs inside your app and backend and powers reports, limits and focus modes. Users see buckets and decisions, never the raw file.

Group-wide licence

For companies that run a screen time app plus a family filter or a workplace productivity tool. One licence can cover all of them.

No raw data resale

Resale or publication of the raw data is not allowed, so do not expose a downloadable domain list inside the app.

Pricing

Starter database tiers from $999; enterprise and OEM licences are quoted per deployment. See pricing.

Screen time category data FAQ

Why does a screen time app need website categories?

Users want to know where their time went and to set limits by type of site, such as social or video. A category for every domain turns raw browsing time into readable reports and category limits.

Which categories should a time report show?

Most apps group the 59 categories into eight to twelve report buckets, such as social, video and streaming, games, news, shopping, work tools, learning and other. The finer IAB Content Taxonomy can sit underneath for detail views.

Can the data run on the device for privacy?

Yes. The data is delivered as files that run inside your own systems, so you can ship a compact on-device index of the most visited domains and only ask your backend for rare domains.

How fresh is the category data?

About 300,000 newly registered domains are categorized every day as daily delta files, rechecked after a week and a month, and all other domains get regular monthly refreshes.

What happens when a domain has several categories?

Each domain can carry several categories ranked by how much of the site they describe. Screen time apps usually count time against the top-ranked category and use the others for limits and focus rules.

How is the data licensed for a consumer app?

Apps that embed the data use an OEM licence. The data powers your features, while resale or publication of the raw data is not allowed.

Make every minute in your reports land in the right place

Tell us about your app, your platforms and your privacy model. We will suggest a data layout and the licence that fits.