Data sources¶
- class netloss.models.ACLEDEvents(*args, **kwargs)¶
Data on violent conflict and protest events
- Source:
- Source measurement frequency:
Unknown
- Pulse collection frequency:
Manual as needed to update the NetLoss data
- class infrastructure.models.ActiveNetworks(*args, **kwargs)¶
Active Networks (routed ASNs)
- Source:
RIPEStat (https://stat.ripe.net/)
- Source measurement frequency:
Daily
- Pulse collection frequency:
Monthly, at the beginning of the month
- class demographics.models.Affordability(*args, **kwargs)¶
Affordability of Internet access per country
- Source:
ITU (https://datahub.itu.int)
- Source measurement frequency:
Yearly, unknown when new data becomes available
- Pulse collection frequency:
manual, as new data is identified
- class demographics.models.AgeDependency(*args, **kwargs)¶
Age dependency
- Source:
World Bank (https://data.worldbank.org/indicator/ [SP.POP.DPND])
- Source measurement frequency:
Yearly, unknown when new data becomes available
- Pulse collection frequency:
Monthly (3rd of the month), to pick up new datapoints and old datapoints that have been revised
- class infrastructure.models.ASNames(*args, **kwargs)¶
AS Names, Classes and Country Codes
- Source:
BGP Tools(https://bgp.tools/kb/api)
- Source measurement frequency:
24 hours
- Pulse collection frequency:
Weekly?
- class rpki.models.ASNROASummary(*args, **kwargs)¶
ROA statistics per AS Number
- Source:
MANRS
- Source measurement frequency:
Daily
- Pulse collection frequency:
Monthly
- class infrastructure.models.ASRelationships(*args, **kwargs)¶
AS relationships
- Source:
CAIDA (https://publicdata.caida.org/datasets/as-relationships/serial-1/)
- Source measurement frequency:
Monthly
- Pulse collection frequency:
Monthly
- class demographics.models.BasicEducation(*args, **kwargs)¶
Basic education rates
- Source:
World Bank (https://data.worldbank.org/indicator/ [SL.TLF.BASC.ZS])
- Source measurement frequency:
Yearly, unknown when new data becomes available
- Pulse collection frequency:
Monthly (3rd of the month), to pick up new datapoints and old datapoints that have been revised
- class infrastructure.models.BroadbandCoverage(*args, **kwargs)¶
Broadband coverage rate per 100 inhabitants per country
- Source:
OECD (https://data-explorer.oecd.org/ [OECD.STI.DEP])
- Source measurement frequency:
Yearly, unknown when new data becomes available
- Pulse collection frequency:
Monthly (3rd of the month), to pick up new datapoints and old datapoints that have been revised
- class demographics.models.Cities(*args, **kwargs)¶
Cities with a population of at least 300000
- Source:
GeoNames (https://www.geonames.org/) via https://public.opendatasoft.com
- Source measurement frequency:
Varies, but doesn’t look like it’s updated regularly
- Pulse collection frequency:
Monthly
- class resilience.models.CybergreenDDoS(*args, **kwargs)¶
DDOS Potential
- Source:
Cybergreen Stats API (https://stats.cybergreen.net/api/v1/count_by_country)
- Source measurement frequency:
Weekly, ending on Sunday
- Pulse collection frequency:
Weekly, on Tuesday
- class resilience.models.CybersecurityIndex(*args, **kwargs)¶
Global Cybersecurity Index
- Source:
ITU (https://www.itu.int/en/ITU-D/Cybersecurity/Pages/global-cybersecurity-index.aspx)
- Source measurement frequency:
custom, every few years
- Pulse collection frequency:
manual, as required
- class infrastructure.models.DataCenters(*args, **kwargs)¶
Data centers per country
- Source:
PeeringDb (https://www.peeringdb.com/)
- Source measurement frequency:
Frequent, as data is updated manually
- Pulse collection frequency:
Monthly, at the beginning of the month
- class dns_all.models.DNSSECAdoption(*args, **kwargs)¶
Ratio of DNSSEC-capable to Total count of ccTLDs
- Source:
Global DNS
- Source measurement frequency:
n/a, the DNS system is updated constantly
- Pulse collection frequency:
daily, a snapshot of the current state of DNSSEC adoption by ccTLDs
- class dns_all.models.DNSSECAdoptionDomainsPerccTLD(*args, **kwargs)¶
Counts of signed and unsigned domains per TLD
- Source:
- Source measurement frequency:
daily
- Pulse collection frequency:
monthly
- class dns_all.models.DNSSECAdoptionPerccTLD(*args, **kwargs)¶
ccTLD DNSSEC capability
- Source:
Global DNS
- Source measurement frequency:
n/a, the DNS system is updated constantly
- Pulse collection frequency:
daily, a snapshot of the current state of DNSSEC adoption by ccTLDs
- class dns_all.models.DNSSECValidationPerCountry(*args, **kwargs)¶
DNSSEC validation rate over 30 days for each country
- Source:
- Source measurement frequency:
daily, though not every day it seems
- Pulse collection frequency:
weekly
- class dns_all.models.DNSSECValidationPerRegion(*args, **kwargs)¶
DNSSEC validation rate over 30 days for the world, regions and sub-regions
- Source:
- Source measurement frequency:
daily, though not every day it seems
- Pulse collection frequency:
weekly
- class dns_all.models.DomainsPerccTLD(*args, **kwargs)¶
Counts of domains per TLD
- Source:
- Source measurement frequency:
unclear (daily?)
- Pulse collection frequency:
monthly (quarterly up to 2025Q4 only)
- class resilience.models.EGDI(*args, **kwargs)¶
E-Government Development Index
- Source:
UN (https://publicadministration.un.org/egovkb/en-us/About/Overview/-E-Government-Development-Index)
- Source measurement frequency:
every two years
- Pulse collection frequency:
manual, as required
- class netloss.models.Elections(*args, **kwargs)¶
Data on whether there were any elections in a month in a particular country
- Source:
CLEA (https://electiondataarchive.org/data-and-documentation/clea-lower-chamber-elections-archive/)
- Source measurement frequency:
Unknown
- Pulse collection frequency:
Manual as needed to update the NetLoss data
- class netloss.models.ElectionsIPU(*args, **kwargs)¶
Data on whether there were any elections in a month in a particular country
- Source:
- Source measurement frequency:
Unknown
- Pulse collection frequency:
Manual as needed to update the NetLoss data
- class demographics.models.FDIInflow(*args, **kwargs)¶
FDI Inflow (GDP)
- Source:
World Bank (https://data.worldbank.org/indicator/ [BX.KLT.DINV.WD.GD.ZS])
- Source measurement frequency:
Yearly, unknown when new data becomes available
- Pulse collection frequency:
Monthly (3rd of the month), to pick up new datapoints and old datapoints that have been revised
- class demographics.models.GDP(PPP)¶
- Source:
World Bank (https://data.worldbank.org/indicator/ [NY.GDP.MKTP.PP.CD])
- Source measurement frequency:
Yearly, unknown when new data becomes available
- Pulse collection frequency:
Monthly (3rd of the month), to pick up new datapoints and old datapoints that have been revised
- class demographics.models.GDPPerCapita(*args, **kwargs)¶
GDP per Capita
- Source:
Generated locally from World Bank GDP and Population data
- Source measurement frequency:
Yearly, unknown when new data becomes available
- Pulse collection frequency:
Monthly (3rd of the month), to pick up new datapoints and old datapoints that have been revised
- class http_all.models.HTTP3GlobalAdoption(*args, **kwargs)¶
Global http/3 adoption
- Source:
Mozilla (https://glam.telemetry.mozilla.org/)
- Source measurement frequency:
Daily
- Pulse collection frequency:
Daily
- class http_all.models.HTTP3TopsitesAdoption(*args, **kwargs)¶
http/3 adoption among top 1000 websites
- Source:
top 1000 websites as per Google CrUX (https://developer.chrome.com/docs/crux)
- Source measurement frequency:
Monthly, unknown when new data becomes available
- Pulse collection frequency:
Monthly, previous month’s top 1000 websites retrieved on 15th of the month , http/3 measurements taken on 16th of month
- class http_all.models.HTTPSGlobalAdoption(*args, **kwargs)¶
Global https adoption
- Source:
Mozilla (https://glam.telemetry.mozilla.org/)
- Source measurement frequency:
Daily
- Pulse collection frequency:
Daily
- class http_all.models.HTTPSPerCountryAdoption(*args, **kwargs)¶
Per-country https adoption
- Source:
Mozilla (https://telemetry.mozilla.org/)
- Source measurement frequency:
Daily
- Pulse collection frequency:
Daily
- class http_all.models.HTTPSTopsitesAdoption(*args, **kwargs)¶
https adoption among top 1000 websites
- Source:
top 1000 websites as per Google CrUX (https://developer.chrome.com/docs/crux)
- Source measurement frequency:
Monthly, unknown when new data becomes available
- Pulse collection frequency:
Monthly, previous month’s top 1000 websites retrieved on 15th of the month , https measurements taken on 16th of month
- class http_all.models.HTTPVersionsAdoption(*args, **kwargs)¶
Global http versions adoption
- Source:
Mozilla (https://glam.telemetry.mozilla.org/)
- Source measurement frequency:
Daily
- Pulse collection frequency:
Daily
- class demographics.models.Inflation¶
- Source:
World Bank (https://data.worldbank.org/indicator/ [NY.GDP.DEFL.KD.ZG.AD])
- Source measurement frequency:
Yearly, unknown when new data becomes available
- Pulse collection frequency:
Monthly (3rd of the month), to pick up new datapoints and old datapoints that have been revised
- class demographics.models.InternetUserPopulation(*args, **kwargs)¶
Internet user population per country. Derived by combining Internet use data from ITU and population data from World Bank.
- Source:
World Bank (https://data.worldbank.org/indicator/ [SP.POP.TOTL]) combined with Internet use data from ITU
- Source measurement frequency:
Yearly, unknown when new data becomes available
- Pulse collection frequency:
Recalculated whenever source data changes (source data is collected monthly)
- class ipv6.models.IPv6PerCountryAdoption(*args, **kwargs)¶
IPv6 deployment per country and global (with code ‘XA’)
- Source:
Akamai, APNIC, Cloudflare, Facebook, Google
- Source measurement frequency:
Varies
- Pulse collection frequency:
Monthly averaged across all sources with outliers removed
- class ipv6.models.IPv6PerNetworkAdoption(*args, **kwargs)¶
IPv6 deployment per network
- Source:
Akamai, APNIC, Facebook
- Source measurement frequency:
Varies
- Pulse collection frequency:
Monthly averaged across all sources with outliers removed
- class ipv6.models.IPv6TopsitesAdoption(*args, **kwargs)¶
IPv6 adoption among top 1000 websites
- Source:
top 1000 websites as per Google CrUX (https://developer.chrome.com/docs/crux)
- Source measurement frequency:
Monthly, unknown when new data becomes available
- Pulse collection frequency:
Monthly, previous month’s top 1000 websites retrieved on 15th of the month , IPv6 measurements taken on 16th of month
- class demographics.models.LabourForceTotal(*args, **kwargs)¶
Total labour force
- Source:
World Bank (https://data.worldbank.org/indicator/ [SL.TLF.TOTL.IN])
- Source measurement frequency:
Yearly, unknown when new data becomes available
- Pulse collection frequency:
Monthly (3rd of the month), to pick up new datapoints and old datapoints that have been revised
- class lcc.models.LCCResults(*args, **kwargs)¶
Locally Cached Content per country (was Keeping Traffic Local)
- Source:
Internet Society Pulse
- Source measurement frequency:
Internet Society Pulse is the source for this data
- Pulse collection frequency:
Monthly, new data is available towards the end of each month
- class infrastructure.models.MANRSReadinessScores(*args, **kwargs)¶
MANRS readiness scores per country
- Source:
MANRS (https://docs.manrs.org/api/#tag/aggregates/GET/countries/scores/{country})
- Source measurement frequency:
Monthly
- Pulse collection frequency:
Monthly, at the beginning of the month for the previous month
- class infrastructure.models.MobileNetworkCoverage(*args, **kwargs)¶
Mobile network coverage
- Source:
GSMA (https://www.mobileconnectivityindex.com/index.html#year=2023&dataSet=indicator)
- Source measurement frequency:
Yearly, unknown when new data becomes available
- Pulse collection frequency:
Manually
- class demographics.models.Population(*args, **kwargs)¶
Total human population per country. Total population is based on the de facto definition of population, which counts all residents regardless of legal status or citizenship. Values are midyear estimates.
- Source:
World Bank (https://data.worldbank.org/indicator/ [SP.POP.TOTL])
- Source measurement frequency:
Yearly, unknown when new data becomes available
- Pulse collection frequency:
Monthly (3rd of the month), to pick up new datapoints and old datapoints that have been revised
- class demographics.models.PopulationWeight(*args, **kwargs)¶
Global, Regional and Sub-regional weights for population per country.
- Source:
Generated locally from World Bank Population data (https://data.worldbank.org/indicator/ [SP.POP.TOTL])
- Source measurement frequency:
Yearly, unknown when new data becomes available
- Pulse collection frequency:
Monthly (3rd of the month), to pick up new datapoints and old datapoints that have been revised
- class rpki.models.ROAAdoption(*args, **kwargs)¶
Per-country and global ROA adoption
Percentage of IPv4 and IPv6 addresses with a valid ROA
- Source:
- Source measurement frequency:
Daily
- Pulse collection frequency:
Weekly
- class infrastructure.models.RoutingIncidents(*args, **kwargs)¶
Routing incidents per country
- Source:
MANRS (https://docs.manrs.org/api/#tag/aggregates/GET/countries/scores/{country})
- Source measurement frequency:
Monthly
- Pulse collection frequency:
Monthly, at the beginning of the month for the previous month
- class rpki.models.ROVAdoptionAPNIC(*args, **kwargs)¶
Global and per-country ROV adoption
- Source:
- Source measurement frequency:
Daily
- Pulse collection frequency:
Weekly
- class rpki.models.ROVAdoptionRovista(*args, **kwargs)¶
Global ROV adoption
- Source:
RoVista (https://rovista.netsecurelab.org/)
- Source measurement frequency:
Daily, though with some gaps
- Pulse collection frequency:
Weekly
- class demographics.models.SecureInternetServers(*args, **kwargs)¶
Secure Internet Servers
- Source:
World Bank (https://data.worldbank.org/indicator/ [IT.NET.SECR.P6])
- Source measurement frequency:
Yearly, unknown when new data becomes available
- Pulse collection frequency:
Monthly (3rd of the month), to pick up new datapoints and old datapoints that have been revised
- class netloss.models.Shutdowns(*args, **kwargs)¶
Data on Internet shutdowns
- Source:
- Source measurement frequency:
Manual
- Pulse collection frequency:
Manual as needed to update the NetLoss data
- class resilience.models.SpeedTestCloudflare(*args, **kwargs)¶
Cloudflare SpeedTest measurement data :source: Cloudflare Radar (https://radar.cloudflare.com) :source measurement frequency: Daily? :pulse collection frequency: Monthly
- class resilience.models.SpeedTestOokla(*args, **kwargs)¶
Ookla SpeedTest measurement data :source: Ookla (https://www.speedtest.net/global-index) :source measurement frequency: Unknown, data updated monthly :pulse collection frequency: Monthly
- class tls.models.TLS13TopsitesAdoption(*args, **kwargs)¶
TLSv1.3 adoption among top 1000 websites
- Source:
top 1000 websites as per Google CrUX (https://developer.chrome.com/docs/crux)
- Source measurement frequency:
Monthly, unknown when new data becomes available
- Pulse collection frequency:
Monthly, previous month’s top 1000 websites retrieved on 15th of the month , TLSv1.3 measurements taken on 16th of month
- class tls.models.TLSVersionsAdoption(*args, **kwargs)¶
Global TLS versions adoption
- Source:
Mozilla (https://glam.telemetry.mozilla.org/)
- Source measurement frequency:
Daily
- Pulse collection frequency:
Daily
- class infrastructure.models.TopServiceProviders(*args, **kwargs)¶
Top Internet service providers per country
- Source:
APNIC (https://stats.labs.apnic.net/aspop?cc=&aa=0&ww=60&rr=1&ff=3&xx=t) (60-day window)
- Source measurement frequency:
Unknown, the data comes with a measurement date which seems to change every 5-10 days
- Pulse collection frequency:
Daily, only saving data that’s more recent than the latest we have
- class infrastructure.models.TopServiceProvidersAggregated(*args, **kwargs)¶
Top Internet service providers per country, aggregated by AS2OrgPlus groupings
- Source:
APNIC (https://stats.labs.apnic.net/cgi-bin/aspop?f=j), WHOIS, PeeringDB, CAIDA
- Source measurement frequency:
Unknown, APNIC data comes with a measurement date which seems to change every 5-10 days
- Pulse collection frequency:
Weekly
- class demographics.models.Unemployment¶
- Source:
World Bank (https://data.worldbank.org/indicator/ [SL.UEM.TOTL.ZS])
- Source measurement frequency:
Yearly, unknown when new data becomes available
- Pulse collection frequency:
Monthly (3rd of the month), to pick up new datapoints and old datapoints that have been revised
- class infrastructure.models.UpstreamRedundancy(*args, **kwargs)¶
Upstream redundancy
- Source:
CAIDA AS relationship data (https://publicdata.caida.org/datasets/as-relationships/serial-1/)
- Source:
NRO assignment reports (https://www.nro.net/about/rirs/statistics/)
- Source:
RIPEStat Country ASNs (https://stat.ripe.net/docs/data-api/api-endpoints/country-asns)
- Source measurement frequency:
Monthly
- Pulse collection frequency:
Monthly
- class demographics.models.UrbanPopulation(*args, **kwargs)¶
Urban population
- Source:
World Bank (https://data.worldbank.org/indicator/ [SP.URB.TOTL.IN.ZS])
- Source measurement frequency:
Yearly, unknown when new data becomes available
- Pulse collection frequency:
Monthly (3rd of the month), to pick up new datapoints and old datapoints that have been revised