WebsiteCategorizationAPI
Home
Demo Tools - Categorization
Website Categorization Text Classification URL Database Taxonomy Mapper
Demo Tools - Website Intel
Technology Detector Quality Score Competitor Finder
Demo Tools - Brand Safety
Brand Safety Checker Brand Suitability Quality Checker
Demo Tools - Content
Sentiment Analyzer Context Aware Ads
Resources
API Documentation Pricing Login
Try Categorization

News Aggregation: Route the Signal, Drop the Farm

An aggregation pipeline lives or dies on three decisions per article: which feed it belongs in, whether the source is a real publisher or a content farm, and how high it deserves to rank. One classification layer answers all three — real-time IAB categorization for topic routing, MFA and quality scoring for source hygiene, and sentiment for tonality tagging.

Real time
per-URL classification inside the ingestion path
0–100
MFA score to gate content-farm sources
102M
domains, with a dedicated news & media slice
Multi-lang
language returned with every classification
Try the MFA Demo Request a Sample API Documentation

The problem: the firehose got bigger and worse

News apps, RSS platforms and media-monitoring services ingest tens of thousands of items an hour from sources they mostly did not choose. Publisher-supplied metadata is inconsistent when it exists at all, and generative AI has collapsed the cost of standing up a plausible-looking "news" site — so the firehose now carries an increasing share of machine-written filler engineered to be aggregated, monetized and syndicated.

Source metadata can't be trusted

RSS categories are freeform, self-declared and gamed. Routing on them yields crypto spam in the finance feed and press releases in world news.

AI content farms flood ingestion

A 200-article "local news" site now costs a weekend of LLM generation. Volume and plausible-looking text are no longer evidence of an editorial operation.

Ranking treats all sources alike

Without a credibility signal, an aggregated rewrite outranks the original reporting it copied — punishing exactly the publishers your product depends on.

Manual curation doesn't scale

Editors can police a hundred sources, not fifty thousand. Every onboarding queue backed by humans alone becomes the bottleneck — or the hole in the fence.

The solution: classify, score, then rank

Three decisions, three machine signals — each available per URL in real time and per domain in batch.

Topic routing on IAB categories

Real-time categorization classifies each incoming article URL into the IAB taxonomy with confidence scores and detected language — a standard, advertiser-compatible topic label your feeds, push-notification rules and personalization models can all share.

MFA gate for content farms

MFA detection scores a source 0–100 for made-for-advertising behavior — ad-stack forensics, DOM structure, LLM content-authenticity judgment and public MFA research. Gate source onboarding on it, and the AI farm never enters the index.

Quality-weighted ranking

Quality scores grade clickbait, trustworthiness and originality per page. Feed them into ranking so original reporting beats the rewrite, and tag tonality with the sentiment analyzer for monitoring dashboards.

A vetted source universe

The news & media slice of the 102M-domain database gives you the publisher population pre-classified — expand coverage from a curated list instead of waiting for junk to arrive, with the offline database handling zero-latency domain lookups in the hot path.

The ingestion path, in code

Classify the article, gate new sources on MFA score, route to the feed. Both endpoints sit behind the same key; docs at /api.php.

Classify and route an incoming article (Python)
import requests

API = "https://www.websitecategorizationapi.com"

def ingest(article_url):
    r = requests.post(f"{API}/api/iab/iab_web_content_filtering.php",
        data={"query": article_url, "api_key": KEY,
              "data_type": "url"}, timeout=30).json()

    top = r["classification"][0]
    if top["confidence"] < 0.6:
        return review_queue.put(article_url)

    feeds.route(
        url=article_url,
        topic=top["category"],        # "News > Business News"
        language=r["language"],       # "en"
    )
Response
{
  "classification": [
    {"category": "News > Business News", "confidence": 0.93},
    {"category": "Business > Finance", "confidence": 0.77}
  ],
  "language": "en",
  "status": 200
}
Gate new sources on MFA score
def onboard_source(domain):
    r = requests.post(f"{API}/api/mfa/score.php",
        data={"query": f"https://{domain}",
              "api_key": KEY}, timeout=180).json()

    if r["mfa_score"] >= 66:          # HIGH / VERY HIGH
        return sources.reject(domain, r["signals"])
    if r["mfa_score"] >= 46:          # MODERATE
        return editors.review(domain, r["signals"])
    sources.accept(domain, tier=r["mfa_risk"])

The score decomposes into named signals — content_originality, ad_to_content_ratio, publicly_flagged_mfa — so a rejected publisher gets an evidence trail, not a verdict. Rejections become defensible, and appeals become two-minute reviews.

One decision table for the whole pipeline

How the signals combine in practice (thresholds are yours to tune).

StageSignalRule of thumbAction
Source onboardingMFA score66+ reject, 46–65 reviewKeep farms out of the index
Article ingestionIAB category + confidenceRoute at ≥ 0.6, else reviewFeed assignment, notification rules
RankingQuality scoresWeight originality and trustOriginal reporting ranks first
DisplaySentimentTag positive / neutral / negativeTonality filters, monitoring alerts
Periodic hygieneRe-scored source listRe-check MODERATE monthlyCatch sources that turn

Who builds on this

News apps & aggregators

Consistent topic feeds across thousands of sources and languages, with farm content filtered before it can dilute engagement metrics.

RSS & reader platforms

Auto-categorize user-added feeds on subscription — classification replaces the taxonomy users were never going to maintain by hand.

Media monitoring & PR

Category, sentiment and source-quality tags per mention, so a client alert distinguishes a national daily from a syndication farm echoing it.

ML & recommendation teams

Clean topic labels and quality features for training data — and a farm filter that keeps synthetic text from poisoning the corpus.

Frequently asked

Can the classification keep up with ingestion volume?

Use both shapes: the real-time endpoint for the per-article hot path, and the offline database for domain-level lookups at memory speed. Most pipelines resolve the source domain locally and only call the API for article-level classification.

How does the MFA gate handle borderline publishers?

The 0–100 score has five tiers, and everything MODERATE routes to human review with the full signal breakdown attached. Legitimate ad-heavy publishers are protected by long-form dampening and editorial profiling — see MFA detection for the benchmark details.

We aggregate in six languages. Does this work outside English?

Yes — classification is multilingual and every response includes the detected language, which many teams use as a routing dimension in itself. The news & media database slice spans international publishers, so coverage expansion is not English-first by accident.

Related resources

Test it on your own firehose

Send us a day's worth of article URLs and source domains; we return them classified, MFA-scored and quality-graded — so you can measure routing accuracy and farm catch-rate before integrating.

Try the MFA Demo Request a Sample Read the API Docs
Stay in the loop

You are on the list!

We will send you updates that matter — no spam.