API Documentation

The @Filter Signals API provides programmatic access to real-time content filtering intelligence. All endpoints require authentication via API key.

Authentication

Include your API key in the Authorization header:

curl -H "Authorization: Bearer YOUR_API_KEY" \
  https://atfilter.com/api/v1/signals/top-keywords?window=24h

API keys are issued when you subscribe. View plans or manage keys in your account.

Base URL

https://atfilter.com/api/v1/signals

Rate Limits

Requests are rate-limited based on your plan tier. Exceeding the limit returns 429 Too Many Requests.

Endpoints

GET/api/v1/signals/top-keywords

Returns the most suppressed keywords globally, ranked by total suppression count.

Parameters

windowTime window. Options: 1h, 6h, 12h, 24h, 7d, 30d (default: 24h)
limitMax results (1-500) (default: 50)

Response

{
  "window": "24h",
  "keywords": [
    {
      "keyword_raw": "trump",
      "suppressions": 14302,
      "users_est": 892,
      "rank": 1
    }
  ],
  "disclaimer": "Data reflects anonymous, aggregated user filtering behavior..."
}
GET/api/v1/signals/keyword-timeseries

Returns suppression counts for a specific keyword over time, bucketed by hour, day, or week.

Parameters

keywordrequiredThe keyword to query
windowTime window. Options: 24h, 7d, 30d, 90d (default: 7d)
bucketAggregation bucket. Options: hour, day, week (default: hour)

Response

{
  "keyword": "trump",
  "window": "7d",
  "bucket": "hour",
  "timeseries": [
    {
      "ts": "2026-02-15T00:00:00Z",
      "suppressions": 421,
      "users_est": 89,
      "events": 312
    }
  ],
  "disclaimer": "Data reflects anonymous, aggregated user filtering behavior..."
}
GET/api/v1/signals/geo-heat

Returns geographic distribution of all suppression activity, aggregated by country, region, county, or city.

Parameters

windowTime window. Options: 1h, 6h, 12h, 24h, 7d, 30d (default: 24h)
levelGeographic resolution. Options: country, region, county, city (default: country)

Response

{
  "window": "24h",
  "level": "country",
  "regions": [
    {
      "geo_key": "US",
      "label": "US",
      "suppressions": 52100,
      "unique_users": 3200,
      "keyword_count": 47
    }
  ],
  "disclaimer": "Data reflects anonymous, aggregated user filtering behavior..."
}
GET/api/v1/signals/domain-timeseries

Returns suppression activity for a specific domain over time.

Parameters

domainrequiredThe domain to query (e.g. cnn.com)
windowTime window. Options: 24h, 7d, 30d, 90d (default: 7d)
bucketAggregation bucket. Options: hour, day, week (default: hour)

Response

{
  "domain": "cnn.com",
  "window": "7d",
  "bucket": "day",
  "timeseries": [
    {
      "ts": "2026-02-15T00:00:00Z",
      "suppressions": 1832,
      "users_est": 412,
      "events": 1290
    }
  ],
  "disclaimer": "Data reflects anonymous, aggregated user filtering behavior..."
}

Error Responses

400Invalid or missing parameter
401Missing or invalid API key
429Rate limit exceeded
500Internal server error

Data Disclaimer

@Map data represents collective user behavior patterns with statistical noise applied for privacy protection. Numbers are approximate and should not be cited as exact figures. @Filter makes no claims about the accuracy, completeness, or meaning of aggregated patterns.

Data reflects anonymous, aggregated user filtering behavior and does not represent editorial claims, endorsements, or factual assertions by @Filter or @Map.

Use of this API is subject to the API Terms of Service.

Need institutional access or custom endpoints? Contact us