Network score API

For ad networks, publishers, ad-tech platforms and AI agent platforms.

Every website ClickedAds protects reports the ad fraud it catches. The API lets you check an IP address or an ad placement against that shared record before you serve, bid on or pay for it, and see how well AI agents' ad clicks convert compared with people.

Nothing comes from a single advertiser: an IP is only flagged when fraud from it was seen by two or more of our customers, and a placement is only rated when three or more have data. Advertisers are never named.

Plans

Free
$0

1,000 lookups a month. For trying it out.

Pro
$99 / month

100,000 lookups a month, then $1 per 1,000. Billed monthly, cancel any time.

Each IP or placement checked is one lookup; a batch of 50 IPs is 50. Create keys and upgrade in your ClickedAds account (a free account is all you need). Higher volumes: hello@clickedads.com.

Authentication

Send your key in the Authorization header. Keys start with cak_. Keep them on your servers; don't put them in web pages or apps.

curl https://clickedads.com/v1/network/ip/203.0.113.7 \
  -H "Authorization: Bearer cak_your_key"

Check an IP

GET /v1/network/ip/{ip}

{
  "ip": "203.0.113.7",
  "risk": "high",                 // high (score 70+), medium (40+), low, or unknown
  "score": 82,                    // 0-100
  "signals": ["network_fraud", "datacenter"],
  "network": {
    "flagged": true,              // fraud seen from this IP by 2+ ClickedAds customers
    "advertisers": "2-4",         // bucketed: 2-4, 5-9, 10+
    "lastSeen": "2026-10-11",
    "windowDays": 30
  },
  "datacenter": true,             // hosting / cloud address, not a home or phone network
  "agent": null                   // or the AI company whose published range this IP is in
}

If the IP belongs to an AI company's published agent range (for example ChatGPT's), agent says so and the signal is ai_agent_range. It isn't scored as fraud: that's a person's assistant, and whether you want it is your call.

Many IPs at once

POST /v1/network/ips with up to 100 addresses.

curl https://clickedads.com/v1/network/ips \
  -H "Authorization: Bearer cak_your_key" -H "Content-Type: application/json" \
  -d '{"ips": ["203.0.113.7", "198.51.100.20"]}'

{ "results": [ { "ip": "203.0.113.7", ... }, { "ip": "198.51.100.20", ... } ] }

Check a placement

GET /v1/network/placement?p={site or app}. Use a domain (example.com) or Google's app format (mobileapp::2-com.example.app).

{
  "placement": "flashlight-free.example",
  "known": true,                  // false until 3+ ClickedAds customers have data
  "risk": "high",
  "fraudRate": 0.8,               // share of ad clicks from it that scored as fraud
  "advertisers": "2-4",
  "clicks": "100-999",
  "windowDays": 30,
  "recommendExclude": true
}

AI agent conversion index

GET /v1/network/agents: for each AI agent, how often its ad clicks convert relative to people on the same websites, over 90 days (agents with data from 3+ customers and 200+ clicks).

{ "days": 90, "agents": [ { "agent": "ChatGPT", "accounts": 14, "clicks": 5120, "rate": 0.031, "ratio": 0.74 } ], "collecting": ["Claude"] }

Limits and errors

Fair use

Use the API to prevent ad fraud and to judge traffic quality: deciding whether to serve, bid on, pay for or exclude traffic. Don't use it to identify, profile or make decisions about individual people, and don't resell the data. The full terms are in our terms of service.