Skip to content
IPOK

Open data

Where seven IP reputation sources agree, and where they don't

Rolling aggregate counts from live IPOK lookups: per-source coverage, flag rate, pairwise disagreement, and leave-one-out agreement — each source measured against its peers rather than against a verdict that already contains its own vote. We report datacenter and residential IPs separately, because the consensus rule uses a different threshold for each. Counts only, no IPs, with JSON and CSV downloads.

Queries · last 30d
161,441
2026-09-14 → 2026-10-13
Queries · last 7d
55,259
7 day(s) with data
Datacenter / residential
63,139 / 98,302
split by the hosting flag
Collecting since
2026-09-08
UTC, rolling 60-day retention

Generated 2026-10-13T00:43:24.822Z · cached for 30 minutes · we hide a rate when its denominator is below 30.

Known gap · 2026-09-22 → 2026-09-28 (UTC)

Lookups on which IPHub or vpnapi.io returned a verdict were not recorded: a column constraint sized for eight sources rejected their signatures, and the write failed silently.

Rows in this range under-represent explicit lookups, datacenter IPs and suspicious IPs. IPHub and vpnapi.io read as zero coverage, and ipapi.is coverage, Scamalytics coverage and the suspicious share read lower than they really were. The dropped lookups cannot be recovered; exclude these dates when comparing windows.

Coverage, flag rate, agreement

Coverage is the share of queries in which a source returned a verdict. Flag rate is the share of its own verdicts that carried a risk flag. The last column asks something narrower: how often the source's flag pointed the same way as the score IPOK published (risk ≥ 50). That score is a blend that already contains the source's own vote, which is why the column is labelled self-referential — a source with near-total coverage is partly being scored on its agreement with itself.

The three columns before it remove that loop. For each source we take its peers on the same lookup — every other source that returned a verdict, minus ip-api, whose proxy booleans are derived rather than measured and never count as an independent vote here. Corroborated: of the lookups this source flagged, how many its peers also flagged (at least one of them). Caught by peers: of the lookups where at least 2 peers flagged and this source did rule, how many it flagged too. Leave-one-out agreement: of the lookups it ruled on, how often it matched the plain label "at least 2 peers flagged this". The source being measured is never part of its own reference. This does not make any of them accuracy scores — peers can be wrong together, and a source that is only called on part of our traffic gets a smaller, differently composed denominator.

Datacenter IPs n = 63,139
SourceEvidence tierCoverageFlag rateproxy/vpn rateCorroboratedCaught by peersLeave-one-out agreementAgrees with verdict (self-referential)Verdicts
ip-apiInferred98.4%37.9%37.9%87.2%56.5%67.7%66.9%62,158
IPQSdormant · no keyInferred0.0%——————0
ScamalyticsMeasured6.2%1.5%1.5%100.0%3.8%67.5%58.9%3,912
proxycheckMeasured98.9%65.3%65.3%65.9%94.1%51.1%72.7%62,471
AbuseIPDBMeasured98.9%8.1%0.0%96.2%15.6%62.3%55.8%62,452
ipapi.isMeasured68.0%40.6%0.0%85.1%43.7%53.5%70.7%42,947
StopForumSpamMeasured100.0%6.3%0.0%96.1%11.7%61.1%54.5%63,134
IPOK-DBMeasured88.7%5.8%5.2%89.2%7.8%57.5%51.1%55,987
IPHubMeasured40.4%0.2%0.1%100.0%0.2%30.2%23.0%25,518
vpnapi.ioMeasured47.5%59.7%59.7%91.7%62.9%50.7%73.4%29,983
Residential IPs n = 98,302
SourceEvidence tierCoverageFlag rateproxy/vpn rateCorroboratedCaught by peersLeave-one-out agreementAgrees with verdict (self-referential)Verdicts
ip-apiInferred98.3%2.9%2.9%37.0%36.3%96.9%86.8%96,678
IPQSdormant · no keyInferred0.0%——————0
ScamalyticsMeasured2.1%0.0%0.0%—0.0%97.4%82.4%2,110
proxycheckMeasured98.2%4.5%4.5%20.8%56.1%95.5%91.3%96,580
AbuseIPDBMeasured98.1%0.9%0.0%22.0%5.9%98.4%88.2%96,429
ipapi.isMeasured9.3%6.8%0.0%57.1%4.0%88.9%65.9%9,157
StopForumSpamMeasured100.0%0.2%0.0%36.0%3.5%98.9%87.5%98,283
IPOK-DBMeasured88.8%0.4%0.3%57.2%2.5%98.8%86.2%87,320
IPHubMeasured6.4%0.3%0.3%—2.8%90.1%51.0%6,303
vpnapi.ioMeasured6.9%4.9%4.9%86.0%7.3%89.7%57.3%6,822
Evidence tier
  • First-partyFirst-party self-declaration: a list of egress addresses published by the party that actually operates the network or service. For the question “does this address belong to them”, nobody is closer to the fact.
  • MeasuredMeasured or reported: somebody actually probed this address, or somebody actually reported it — individually probed open proxies, listings corroborated by several independent blocklists, community-submitted abuse reports, and the explicit proxy / VPN / Tor verdict fields of commercial sources. It can be stale or wrong, but it is a statement about this host.
  • InferredInferred: derived from the block, the ASN, or the usage class the address sits in — VPN tables painted across an entire provider, “non-residential” hosting / datacenter classifications, proxy booleans synthesized out of other fields. The block-level statement may well be true while the statement about this one address is not.

The tier says where a verdict comes from, not how accurate it is, and nothing in the scoring reads it. IPOK-DB is the awkward row: it is one line here but six tables underneath, spanning all three tiers — Tor's own exit list and Apple's own relay ranges at the top, X4BNet's provider-wide VPN ranges at the bottom. The per-table breakdown is on the methodology page.

Pairwise disagreement

For every pair of sources, this counts only the queries where both returned a verdict, then asks how often exactly one of them raised a flag. A high number means the two look at different evidence. It says nothing about which one is right, and it explains why a single-source score reads differently depending on which vendor a site uses.

Source ASource BDatacenterboth ruledResidentialboth ruled
proxycheckIPHub77.4%25,51042.9%6,303
proxycheckIPOK-DB60.7%55,3945.0%85,868
proxycheckStopForumSpam59.9%62,4664.6%96,562
proxycheckAbuseIPDB58.3%62,4415.0%96,417
StopForumSpamvpnapi.io57.9%29,9804.9%6,821
ipapi.isvpnapi.io57.6%29,89812.4%6,793
IPHubvpnapi.io57.5%25,5014.5%6,296
IPOK-DBvpnapi.io56.7%27,0225.7%6,691
AbuseIPDBvpnapi.io55.8%29,9786.5%6,822
Scamalyticsvpnapi.io53.9%2,6203.4%1,329
ip-apivpnapi.io51.1%29,49016.7%6,737
proxycheckipapi.is50.5%42,93232.9%9,157
ip-apiIPHub50.3%25,07915.0%6,226
ipapi.isIPOK-DB44.7%38,5738.2%8,994
ipapi.isIPHub43.7%25,4708.1%6,283
Scamalyticsproxycheck42.9%3,9116.4%2,110
ip-apiproxycheck42.6%61,4975.5%95,000
ipapi.isStopForumSpam38.4%42,9437.3%9,154
ip-apiIPOK-DB38.0%55,1363.2%85,819
ip-apiipapi.is37.2%42,34520.8%9,040
AbuseIPDBipapi.is36.7%42,9268.4%9,155
ip-apiStopForumSpam34.1%62,1532.9%96,659
ip-apiAbuseIPDB31.9%61,4783.3%94,855
proxycheckvpnapi.io31.4%29,97538.1%6,822
ip-apiScamalytics30.4%3,8676.9%2,078
Scamalyticsipapi.is24.1%3,8693.3%2,027
AbuseIPDBIPOK-DB12.5%55,3851.3%85,727
AbuseIPDBIPHub11.0%25,5152.1%6,303
StopForumSpamIPOK-DB10.3%55,9820.5%87,302
AbuseIPDBStopForumSpam9.8%62,4470.9%96,412
ScamalyticsAbuseIPDB7.5%3,9111.9%2,109
StopForumSpamIPHub7.2%25,5150.3%6,302
IPOK-DBIPHub5.7%25,5181.1%6,303
ScamalyticsStopForumSpam5.6%3,9110.9%2,108
ScamalyticsIPOK-DB4.4%3,8060.7%2,066
ScamalyticsIPHub2.8%2,5361.0%1,256
ip-apiIPQS—0—0
IPQSScamalytics—0—0
IPQSproxycheck—0—0
IPQSAbuseIPDB—0—0
IPQSipapi.is—0—0
IPQSStopForumSpam—0—0
IPQSIPOK-DB—0—0
IPQSIPHub—0—0
IPQSvpnapi.io—0—0

How many dedicated sources called it proxy or VPN

The consensus rule counts votes from dedicated sources only (everything except ip-api, whose booleans are derived rather than measured). A datacenter IP needs 2 such votes before IPOK treats it as a proxy; a residential IP needs 1. The bars below show the observed distribution of that vote count, so you can see how much of the traffic sits at the threshold instead of taking our word for it.

Datacenter IPs · consensus threshold: 2 votes
0 votes20,137 (31.9%)
1 vote25,278 (40.0%)
2 votes16,756 (26.5%)
3 votes955 (1.5%)
4 votes13 (0.0%)
Residential IPs · consensus threshold: 1 vote
0 votes93,801 (95.4%)
1 vote4,057 (4.1%)
2 votes423 (0.4%)
3 votes21 (0.0%)

Download

Both files carry the same numbers as this page. The CSV holds the raw daily signature counts rather than the computed rates, so you can recompute every percentage above without trusting our arithmetic.

Licensed CC BY 4.0. If you cite these numbers, please credit IPOK and link back to this page.

How to cite

The version number tracks the method, not the numbers. It moves when a state definition, a bucket rule or a reporting threshold changes — not when the figures shift, which they do every day as the window rolls. Two pulls carrying the same version are comparable; record the date you took yours.

APA
IPOK. (2026). IPOK IP Reputation Source Agreement Dataset (Version 1.3) [Data set]. Retrieved 2026-10-13, from https://ipok.io/en/data/sources
BibTeX
@misc{ipok-source-agreement,
  title   = {IPOK IP Reputation Source Agreement Dataset},
  author  = {{IPOK}},
  year    = {2026},
  version = {1.3},
  url     = {https://ipok.io/en/data/sources},
  urldate = {2026-10-13},
  note    = {Data set. Licensed CC BY 4.0}
}

How it is counted

The evidence tier column is annotation, not arithmetic. We mixed data of very different provenance into one table and let it all vote the same way: a list the operator of a network publishes about its own exits, a list built by probing addresses one at a time, and a list painted across a provider's whole ASN. On 2026-09-22 that cost us something concrete — all 105,727 iCloud Private Relay egress IPs Apple publishes turned out to sit inside X4BNet's VPN ranges, so every Safari user with Private Relay on was earning a dedicated VPN vote until we let Apple's own list override ours. Labelling the tiers is the first half of the fix; the second half would be letting them carry different weight, and we have not done that. Weights, hard-signal floors and the vote thresholds are byte-identical with and without this column. Whether a first-party statement should outweigh three inferred ones is a question for the calibration loop, and it needs readings we will not have before 2026-10-06.

The scoring rules these numbers describe are documented on the methodology page. For a hand-checked snapshot of specific, reproducible IPs rather than traffic aggregates, see the source-vote study.

What these numbers cannot tell you

Source names, in signature bit order: ip-api, IPQS, Scamalytics, proxycheck, AbuseIPDB, ipapi.is, StopForumSpam, IPOK-DB, IPHub, vpnapi.io.