RIPEstat Data API
Overview
The RIPEstat Data API is the public data interface for RIPEstat. It is the only data source for the RIPEstat widgets.
URL
The basic URL for requesting data is:
https://stat.ripe.net/data/<name>/data.json?param1=value1¶m2=value2&...
and to get metadata for a data call, including its methodology:
https://stat.ripe.net/data/<name>/meta
Where:
- "name" is one of the data calls listed below.
Note: Data call URLs previously began with /plugin/. This will keep working for the forseable future, but /data/ should now be preferred.
Using data calls
Common Request Parameters
To support JSON-P all RIPEstat Data API calls support a "callback" parameter. This parameter can be set to the name of the Javascript function that will be called, with the output data as its argument.
| name | part of cache key? | acceptable values | default value? | description |
|---|---|---|---|---|
| callback | no | - | - | JSON-P callback |
| preferred_version | yes | version of the data call e.g. 0.1 | current stable version |
If the desired version is not available we try to return a version that is matching the major version (e.g. "0" for "0.3"). Use the meta information of a data call to retrieve all available versions, see "Getting metadata for a data call". Magic version tags supported:
|
|
|
- |
|
- |
Temporarily disabled! |
Rules of Usage
These are the rules for the usage of the data API:
- No limit on the amount of requests but please register if you plan to regularly do more than 1000 requests/day, see "Regular Usage" for details.
- The system limits the usage to 8 concurrent (at the same time) requests coming from one IP address.
- Please help to improve the data quality by reporting incorrect data to [email protected].
Regular Usage
If you are using the API on a regular basis you can use the "sourceapp" parameter to provide a unique identifier to every data call.
This identifier helps us to assist you when you encounter any problems with the system. The identifier can be your project name or your company's.
Please drop us a short mail to [email protected] with the identifier and an email address on which we can reach you. (If you include the purpose of the lookups, gold membership support is awaiting you :-)
https://stat.ripe.net/data/<datacallname>/data.json?resource=AS3333&sourceapp;=<YourId>
For the format please just use alphanumeric values with no whitespace and no special characters expect for hyphens and underscores.
E.g. sourceapp=ripestat-cybersecurity-research, sourceapp=my_ripestat_id, sourceapp=as3333RIPEstat, etc.
Output Data Structure
The resulting data has a key=>value structure. Each data call has its own output fields, which are detailed in the individual sections. The common fields that are provided by every call are:
| key | type | value |
|---|---|---|
| status | string | Indicates the status of the result of the data call. Possible values are "ok" for a successful query, "error" for unsuccessful query and "maintenance" in case the data call is undergoing maintenance. In case of an error see the messages field for details. |
| status_code | integer | Same as the HTTP status code. In case of server errors the HTTP status code will be set appropriately. |
| data_call_status | string |
Indicates the status of the data call. Possible values:
|
| version | string | major.minor version of the response layout for this particular data call. New minor versions are backwards compatible, new major versions are not. |
| cached | boolean | True/False |
| message | string | human readable message if there was an error during processing. |
| process_time | string | Time it took to process the request, in millisecons. If for some reason the time could not be determined then its value is "not available". |
| data |
The data itself. |
Data Overload Prevention
The data overload prevention is to protect users, especially widgets, from getting more data than they can handle. For this
reason some data calls already support a soft-limit check which returns a warning if the output looks to be more than usual.
This prevention mechanism should only kick in if the request stems from a browser (the referrer header set), but in case
it happens for a non-browser request, it can easily suppressed by the "soft_limit" parameter set to "ignore".
https://stat.ripe.net/data/<datacallname>/data.json?resource=AS3333&soft;_limit=ignore
Getting metadata for a data call
A meta request returns additional information about a data call. A simple request to
https://stat.ripe.net/data/<name>/meta
will return the list of currently supported meta calls, like:
- methodology
returns the methodology - versions
returns all available versions - availability
returns information on the availability of data. We provide this information to help you to identify which historical queries are possible. Hence this data is only available for data calls supporting time selection parameters.
The output structure is a list of timelines defined by "starttime" and "endtime" properties.
If the data call supports different resource types the output structure will change to a list of "available_timeslines" with an "id" property describing the related resource type.
{ "availability": [ { "available_timelines": [ { "endtime": "2013-12-01T00:00:00", "starttime": "2008-11-01T00:00:00" } ], "id": "v4" }, { "available_timelines": [ { "endtime": "2014-01-07T00:00:00", "starttime": "2003-10-09T00:00:00" } ], "id": "v6" } ] }The "description" property is optional and provides information if this timeline describes a data island.
{ "availability": { "available_timelines": [ { "endtime": "2014-01-08T09:30:00", "starttime": "2012-01-01T00:00:00" }, ... { "description": "Mediterranean Cable Cut", "endtime": "2008-02-10T23:59:59", "starttime": "2008-01-23T00:00:00" } ] } }
The availability information can also be retrieved as part of a data call - filtered by the given resource type - by providing the parameter "meta=availability":
https://stat.ripe.net/data/geoloc/data.json?resource=140.78/16&meta;=availability
As with a Data API call it's possible to wrap the result into an JSON-P request by appending the "callback" URL parameter, e.g. for methodology
https://stat.ripe.net/data/<name>/meta/methodology?callback=callOnSuccess
Note on SSL
Although it's still possible to use the RIPEstat Data API on a non-secure connection (ordinary HTTP) we strongly encourage using https. If there's a reason for you why you can't use HTTPS at all, please inform us since we will disable HTTP in the near future.
Data Calls
Abuse Contact Finder
The main purpose of this data call is to return abuse contact informations for a Internet number resource. Note that this information
is in many cases incorrect or not available.
Additional information:
- the resources RIR name (if available)
- whether the queries resource is related to a special purpose Internet number resource (if available)
- blacklist informations (if available)
- additional information about the matchin autnum or inet(6)num object in the RIPE DB (e.g. holder name)
- less and more specific IP prefixes/ranges for IP based queries
https://stat.ripe.net/data/abuse-contact-finder/data.<format>?<parameters>![]()
e.g. https://stat.ripe.net/data/abuse-contact-finder/data.json?resource=193/23
Parameters
| Key | Value | Info | Required |
|---|---|---|---|
| resource | prefix, single IP address or ASN | This is the resource the query is based on. | YES |
Output
Data
| Key | Info | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| authorities | List all RIRs that are responsible for the queried resource. | ||||||||
| blacklist_info | Lists the total amount of entries in one blacklist source. Every blacklist is given with the name as "list" and the number of entries in the field "entries". | ||||||||
| global_network_info | This contains information that are related to special purpose Internet number resources, e.g. private address space. | ||||||||
| anti_abuse_contacts |
These fields contain the anti-abuse contact informations (if available):
|
||||||||
| holder info |
This contains information found in the matching autnum or inet(6)num object in the RIPE DB.
|
||||||||
| less_specific / more_specific | Lists more or less specific IP prefixes/ranges found for the given input resource | ||||||||
| resource | holds the resource the query was based on | ||||||||
| query_time | holds the time the query was based on |
Example
"data": {
"anti_abuse_contacts": {
"emails": [
{
"description": "abuse-mailbox",
"email": "[email protected]",
"via_techc": "yes"
}
],
"extracted_emails": [],
"objects_with_remarks": []
},
"authorities": [
"ripe"
],
"blacklist_info": [],
"global_network_info": {
"description": "",
"name": "RIPE NCC PI Allocation"
},
"holder_info": {
"name": "RIPE-NCC",
"resource": "193.0.18.0 - 193.0.21.255"
},
"less_specifics": [
"193.0.18.0-193.0.21.255",
"193.0.0.0-193.0.23.255",
"193.0.0.0/16"
],
"more_specifics": [],
"query_time": "2013-03-06T11:25:00",
"resource": "193.0.20.50"
},
deprecated - 0.3
upcoming - n.a.
Address Space Hierarchy
This data call returns address space objects (inetnum, inet6num...) from the RIPE DB (whois) related (exact, more- and less-specific) to the queried resource.
https://stat.ripe.net/data/address-space-hierarchy/data.<format>?<parameters>![]()
e.g. https://stat.ripe.net/data/address-space-hierarchy/data.json?resource=193/21
Parameters
| Key | Value | Info | Required |
|---|---|---|---|
| resource | prefix or IP range | The prefix or IP range the address space hierarchy should be returned for. | YES |
| aggr_levels_below | integer between 1 and 64 | How many CIDR levels below the queried resource to display more specific resources before aggregating blocks together. | NO |
| max_more_specific | integer | The maximum number of blocks to return, after aggregation has taken place. | NO |
| rir | "ripe" or "apnic" | Which RIR to return blocks for. Defaults to "ripe". | NO |
Output
Data
| Key | Info |
|---|---|
| exact | A list containing exact matches for the queried resource. |
| more_specific | A list containing first level more specific blocks underneath the queried resource. Some of these may be aggregated according to the 'aggr_levels_below' query parameter. |
| total_more_specific | An integer representing the total number of first level more specific blocks, before aggregation. |
| less_specific | A list containing first level less specific (parent) blocks above the queried resource. |
| last_updated | A structure which describes when the exact-match and less-specific inetnum/inet6num objects were last updated in the database. The inet(6)num attribute's key is "ip_space" and the last updated date's key is "date". |
| org-names | A key-pair structure which links database ORG IDs to their organisation names as described in the respective ORG object. Only for IDs appearing in the exact-match and less-specific objects. |
| rir | Name of the RIR where the results are from |
| resource | Holds the resource the query was based on |
| query_time | Holds the time the query was based on |
Example
"data": {
"exact": [
{
"admin-c": "JDR-RIPE\nBRD-RIPE",
"country": "NL",
"descr": "RIPE Network Coordination Centre\nAmsterdam, Netherlands",
"inetnum": "193.0.0.0/21",
"mnt-by": "RIPE-NCC-MNT",
"mnt-lower": "RIPE-NCC-MNT",
"netname": "RIPE-NCC",
"remarks": "Used for RIPE NCC infrastructure.",
"source": "RIPE",
"status": "ASSIGNED PI",
"tech-c": "OPS4-RIPE"
}
],
"last_updated": [
{
"date": "2012-03-09T15:03:38",
"ip_space": "193.0.0.0-193.0.23.255"
},
{
"date": "2013-03-19T15:24:19",
"ip_space": "193.0.0.0/21"
}
],
"less_specific": [
{
"admin-c": "BRD-RIPE",
"country": "NL",
"descr": "Reseaux IP Europeens Network Coordination Centre (RIPE NCC)",
"inetnum": "193.0.0.0-193.0.23.255",
"mnt-by": "RIPE-NCC-HM-MNT",
"mnt-lower": "RIPE-NCC-MNT",
"mnt-routes": "RIPE-NCC-MNT",
"netname": "NL-RIPENCC-OPS-990305",
"org": "ORG-RIEN1-RIPE",
"remarks": "Amsterdam, Netherlands",
"source": "RIPE",
"status": "ALLOCATED PI",
"tech-c": "OPS4-RIPE"
}
],
"more_specific": [],
"org_names": {
"ORG-RIEN1-RIPE": "Reseaux IP Europeens Network Coordination Centre (RIPE NCC)"
},
"query_time": "2012-11-22T00:00:00",
"resource": "193.0.0.0/21",
"rir": "ripe",
"total_more_specific": 0
}
deprecated - n.a.
upcoming - n.a.
Address Space Usage
This data call shows the usage ratio of this prefix or IP range according to the objects currently present in the RIPE Whois database. The data is represented as assignments, allocations and statistic on the distribution of the IPs covered by the queried resource.
https://stat.ripe.net/data/address-space-usage/data.<format>?<parameters>![]()
e.g. https://stat.ripe.net/data/address-space-usage/data.json?resource=193/23
Parameters
| Key | Value | Info | Required |
|---|---|---|---|
| resource | prefix or IP range | States the prefix or IP range the address space usage should be returned for | YES |
Output
Data
| Key | Info | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| assignments |
A list of assignments related to the queried resource. Each assignment item has the following structure:
|
||||||||
| allocations |
A list of allocations related to the queried resource. Each allocation item has the following structure:
|
||||||||
| ip_stats |
An overview of the distribution of statuses of the covered address space. Each status item has the following structure:
|
||||||||
| resource | holds the resource the query was based on | ||||||||
| query_time | holds the time the query was based on |
Example
"data": {
"allocations": [
{
"allocation": "193.0.0.0-195.255.255.255",
"asn_name": "EU-ZZ-193-194-195",
"assignments": 0,
"status": "ALLOCATED UNSPECIFIED"
},
{
"allocation": "193.0.0.0/16",
"asn_name": "EU-ZZ-19930901",
"assignments": 0,
"status": "ALLOCATED PI"
},
{
"allocation": "193.0.0.0-193.0.23.255",
"asn_name": "NL-RIPENCC-OPS-990305",
"assignments": 1,
"status": "ALLOCATED PI"
}
],
"assignments": [
{
"address_range": "193.0.0.0/21",
"asn_name": "RIPE-NCC",
"parent_allocation": "193.0.0.0-193.0.23.255",
"status": "ASSIGNED PI"
}
],
"ip_stats": [
{
"ips": 0,
"status": "LIR Free"
},
{
"ips": 512,
"status": "ASSIGNED PI"
},
{
"ips": 0,
"status": "RIPE Unallocated"
}
],
"query_time": "2012-04-27T12:00:00",
"resource": "193.0.0.0/23"
}
Allocation History
This data call returns information supplied by IANA and RIRs for allocations and direct assignments of prefixes and AS numbers of time.
https://stat.ripe.net/data/allocation-history/data.<format>?<parameters>![]()
Parameters
| Key | Value | Info | Required |
|---|---|---|---|
| resource | prefix, IP range or ASN | YES | |
| starttime | ISO8601 or Unix timestamp | Defines the starttime for the query | YES |
| endtime | ISO8601 or Unix timestamp | Defines the endtime for the query | NO - if not set it falls back to "now" |
Output
Data
| Key | Info | ||||||
|---|---|---|---|---|---|---|---|
| results |
Contains information on allocations and direct assignments grouped by RIR or IANA. Each block has the following structure:
|
||||||
| query_starttime | Defines the starttime the query covers | ||||||
| query_endtime | Defines the endtime the query covers | ||||||
| resource | Defines the resource used for the query |
Example
"data": {
"query_endtime": "2012-04-13T08:00:00",
"query_starttime": "2011-12-12T12:00:00",
"resource": "140.78.0.0/16",
"results": {
"IANA": [
{
"resource": "140.0.0.0/8",
"status": "Administered by ARIN, LEGACY",
"timelines": [
{
"endtime": "2012-04-13T00:00:00",
"starttime": "2011-12-12T12:00:00"
}
]
}
],
"RIPENCC": [
{
"resource": "140.78.0.0-140.78.255.255",
"status": "ASSIGNED",
"timelines": [
{
"endtime": "2012-04-13T00:00:00",
"starttime": "2011-12-12T12:00:00"
}
]
}
]
}
}
deprecated - 0.1
upcoming - n.a.
Announced Prefixes
This data call returns all announced prefixes for a given ASN. The results can be restricted to a specific time period.
https://stat.ripe.net/data/announced-prefixes/data.<format>?<parameters>![]()
e.g. https://stat.ripe.net/data/announced-prefixes/data.json?resource=AS3333&starttime;=2011-12-12T12:00
Parameters
| Key | Value | Info | Required |
|---|---|---|---|
| resource | ASN | The Autonomous System Number for which to return prefixes. | YES |
| starttime | ISO8601 or Unix timestamp | The start time for the query. | NO - defaults to two weeks before current date and time |
| endtime | ISO8601 or Unix timestamp | The end time for the query. | NO - if not set it falls back to current date and time |
| min_peers_seeing | integer | Minimum number of RIS peers seeing the prefix for it to be included in the results. Excludes low-visibility/localized announcements. | NO (default: 3) |
Output
Data
| Key | Info |
|---|---|
| prefixes | A list of all announced prefixes + the timelines when they were visible. |
| prefix | The announced prefix. |
| timelines | All the timelines when the prefix was announced. |
| starttime | Start time of this period. |
| endtime | End time of this period. |
| query_starttime | The start of the time the query covers. |
| query_endtime | The end of the time the query covers. |
| latest_time & earliest_time | Holds the latest and the earliest time data is available for. |
| resource | The resource used for the query. |
Example
"data": {
"prefixes": [
{
"prefix": "193.0.0.0/21",
"timelines": [
{
"endtime": "2011-12-13T00:00:00",
"starttime": "2011-12-12T12:00:00"
},
{
"endtime": "2011-12-13T08:00:00",
"starttime": "2011-12-13T08:00:00"
},
{
"endtime": "2011-12-15T16:00:00",
"starttime": "2011-12-13T16:00:00"
},
{
"endtime": "2011-12-16T16:00:00",
"starttime": "2011-12-16T00:00:00"
},
{
"endtime": "2011-12-20T16:00:00",
"starttime": "2011-12-17T00:00:00"
},
...
{
"endtime": "2012-01-17T00:00:00",
"starttime": "2012-01-16T08:00:00"
}
]
},
{
"prefix": "2001:67c:2e8::/48",
"timelines": [
{
"endtime": "2011-12-13T00:00:00",
"starttime": "2011-12-12T12:00:00"
},
...
{
"endtime": "2012-01-17T00:00:00",
"starttime": "2012-01-17T00:00:00"
}
]
}
],
"query_endtime": "2012-01-18T13:21:51.305237",
"query_starttime": "2011-12-12T12:00:00",
"resource": "3333"
},
deprecated - 1.0
upcoming - n.a.
AS Overview
This data call shows general informations about an ASN like its announcement status and the name of its holder according to the WHOIS service.
https://stat.ripe.net/data/as-overview/data.<format>?<parameters>![]()
e.g. https://stat.ripe.net/data/as-overview/data.json?resource=AS3333
Parameters
| Key | Value | Info | Required |
|---|---|---|---|
| resource | as | states the as you want to get the resource info for | yes |
Output
Data
| Key | Info |
|---|---|
| announced |
"true" if the ASN is originating any prefixes which are visible by at least 3 RIS full-feed peers (see http://ris.ripe.net).
Note that a transit-only ASN would be reported with "false". We will revise this in a future version and change the field name. |
| holder | Descriptive name for the AS if AS is given, "null" otherwise |
| resource | Outputs the AS that query is based on |
| type | For this data call always "as" |
| block | This contains information about this ASN or the ASN block it belongs to. Keys: desc (a human readable description), name (a human readable name) and the referencing resource/resources |
| resource | holds the resource this query based on |
| query_starttime/query_endtime | The time period the query covers. In version 1.1 the result is based on a snapshot instead of a time period. For compatibility reasons "query_starttime" and "query_endtime" will be kept in version 1.x but will hold the same value. |
Examples
AS announced:
"data": {
"announced": true,
"holder": "RIPE-NCC-AS RIPE Network Coordination Centre",
"resource": "AS3333",
"type": "as",
"block": {
"desc": "This block contains all 16-bit ASNs, which are allocated
to the RIRs according to
http://www.iana.org/assignments/as-numbers/as-numbers.xml. See RFC
1930\n",
"name": "the 16-bit ASN Block",
"resources": "AS1 - AS65535",
"tags": ""
}
}
AS NOT announced:
"data": {
"announced": false,
"holder": null,
"resource": "2930333",
"type": "as"
}
deprecated - n.a.
upcoming - 2.0
AS Path Length
This data call returns AS-path metrics (e.g. shortest or longest AS-path to other ASNs we are peering with) for the queried ASN.
https://stat.ripe.net/data/as-path-length/data.<format><?<parameters>![]()
e.g. https://stat.ripe.net/data/as-path-length/data.json?resource=AS3333
Parameters
| Key | Value | Info | Required |
|---|---|---|---|
| resource | AS | AS number to query | YES |
| sort_by | "number" (default), "count", "location", "geo" | Sort by the given field. In the case of "geo", sort by approximating a world map on to a circle. | NO |
Output
Data
| Key | Info |
|---|---|
| stats |
List of RIS peers that have seen routes to the given AS.
Each record has the following format:
count: number of data points collected,
location: human readable description of the RIS peer,
number: unique RIS peer id,
stripped: { // stats that exclude AS path prepending
avg: mean number of path entries, excluding the RIS peer itself,
max: maximum number of path entries, excluding the RIS peer,
min: minimum number of path entries, excluding the peer,
sum: total number of path entries across all data points,
},
unstripped: { // stats that include AS path prepending
... // same as for 'stripped',
}
|
| query_starttime/query_endtime |
Holds the time period the query covers. In version 1.1 the result is based on a snapshot instead of a time period. For compatibility reasons "query_starttime" and "query_endtime" will be kept in version 1.x but will hold the same value. |
| resource | Defines the resource used for the query |
Example
"data": {
"query_endtime": "2012-04-04T12:03:00",
"query_starttime": "2012-04-20T12:03:00",
"resource": "3333",
"stats": [
{
"count": 231,
"location": "RIPE-NCC Multihop, Amsterdam",
"number": 0,
"stripped": {
"avg": 4.796536796536796,
"max": 7,
"min": 3,
"sum": 1108
},
"unstripped": {
"avg": 6.004329004329004,
"max": 9,
"min": 4,
"sum": 1387
}
},
...
]
deprecated - 1.0
upcoming - 2.0
AS Routing Consistency
This data call shows the difference between routing and registration state of a ASN.
https://stat.ripe.net/data/as-routing-consistency/data.<format>?<parameters>![]()
e.g. https://stat.ripe.net/data/prefix-routing-consistency/data.json?resource=AS3333
Parameters
| Key | Value | Info | Required |
|---|---|---|---|
| resource | asn | The ASN to query | yes |
Output
Data
| Key | Info |
|---|---|
| in_bgp | "True" if the route has been seen by RIS, "False" otherwise |
| in_whois | "True" if the route exists in IRR or whois, "False" otherwise. For prefixes it is meant to be a Internet Routing Registry, for peers it is meant to be the whois registration of the authoritative Internet registry. |
| prefix | (For prefix routes) the prefix in CIDR notation |
| peer | (For peer exports/imports) the AS number of the peer |
| query_starttime/query_endtime |
For routing data: holds the start and end time the query covers For registration data: query_starttime defines the query time In version 1.1 the result is based on a snapshot instead of a time period. For compatibility reasons "query_starttime" and "query_endtime" will be kept in version 1.x but will hold the same value. |
| resource | Defines the resource used for the query |
| authority | Holds the authoritative Internet registry for the input resource (e.g. RIPE, APNIC, ARIN...) |
Example
"data": {
"authority": "ripe",
"exports": [
{
"in_bgp": false,
"in_whois": true,
"peer": 20481
},
{
"in_bgp": false,
"in_whois": true,
"peer": 8196
},
...
{
"in_bgp": true,
"in_whois": true,
"peer": 4637
}
],
"imports": [
{
"in_bgp": false,
"in_whois": true,
"peer": 20481
},
{
"in_bgp": true,
"in_whois": false,
"peer": 40962
},
...
{
"in_bgp": true,
"in_whois": false,
"peer": 559
}
],
"prefixes": [
{
"in_bgp": true,
"in_whois": true,
"irr_sources": [
"RIPE"
],
"prefix": "193.138.29.0/24"
},
...
{
"in_bgp": true,
"in_whois": false,
"irr_sources": "-",
"prefix": "193.230.234.0/24"
}
],
"query_endtime": "2012-11-15T10:34:00",
"query_starttime": "2012-11-15T10:34:00",
"resource": "AS6830"
},
deprecated - 1.0
upcoming - 2.0
ASN Neighbours
This data call shows information on the network neighbours for a given ASN. This includes statistical information as well as the list of observed ASN neighbours.
https://stat.ripe.net/data/asn-neighbours/data.<format>?<parameters>![]()
e.g. https://stat.ripe.net/data/asn-neighbours/data.json?resource=AS1205&starttime=2011-12-01T12:00:00
Parameters
| Key | Value | Info | Required |
|---|---|---|---|
| resource | ASN for this query | The data call will return all neighbours found for this ASN | YES |
| starttime | ISO8601 or Unix timestamp |
Defines the query time for the query.
In this version of the data call, the semantics of the query parameters have been changed to the previous 3.0 version in the way that the end time is no longer taken into account. The returned results are for a specific point in time rather than a time period, which makes it more precise. If not set, the start time will be set to the latest available data point. |
NO |
Output
Data
| Key | Info |
|---|---|
| neighbour_counts | Shows total counts for the neighbours, including the total number of "left", "right" and "unique" neighbours found. Neighbours that have been seen as left neighbours, but only as direct peers of one of our route collectors (RIS collectors), are flagged "uncertain" because our own peering with this ASN could artifically include it as neigbour. ASNs that have been seen as a left neighbour and not as a direct peer with RIS are not flagged as "uncertain". |
| neighbours | Contains all neighbours that were seen at the defined timestamp. |
| asn | Defines the neighbouring ASN. |
| type | Shows information about the neighbour's position ("left" or "right"). The type "uncertain" is explained in the "neighbour_counts" section. |
| power | This represents the number of AS paths ("path count") containing this combination of ASN neighbours with the stated type ("left"/"right"). For compatibility reasons, this attribute has kept its name but will change with the next major release. |
| v4_peers/v6_peers |
|
| query_startime/query_endtime | For reasons explained in the input parameter section, the query_starttime and query_endtime refer to the same point in time that the result is valid for. |
| resource | Defines the resource used for the query. |
Example
data: {
neighbour_counts: {
left: 1,
right: 0,
uncertain: 1,
unique: 2
},
neighbours: [
{
asn: 1853,
power: 79,
type: "left",
v4_peers: 267,
v6_peers: 7
},
{
asn: 35369,
power: 1,
type: "uncertain",
v4_peers: 8,
v6_peers: 0
}
],
query_endtime: "2013-11-05T00:00:00",
query_starttime: "2013-11-05T00:00:00",
resource: "1205"
},
deprecated - 3.0
This data call returns information about the ASNs that neigbour the queried ASN.
https://stat.ripe.net/data/asn-neighbours/data.<format>?<parameters>![]()
Parameters
| Key | Value | Info | Required |
|---|---|---|---|
| resource | ASN for this query | The data call will return all neighbours found for this ASN. | YES |
| start-/endtime | ISO8601 or Unix timestamp | Defines the start and end time for the query. | NO |
Output
Data
| Key | Info |
|---|---|
| neighbour_counts | Shows total counts for the neighbours, including the total number of left, right and unique neighbours found. |
| neighbours | Contains all neighbours that were seen at the defined timestamp. |
| asn | Defines the neighbouring ASN. |
| type | Shows information about the neighbour's position ("left" or "right"). |
| power | Shows how many times this neighbour with this type ("left"/"right") was seen in the routing data. |
| query_startime/query_endtime | The start and end time the query results are valid for. |
| resource | Defines the resource used for the query. |
Example
"data": {
"neighbour_counts": {
"left": 2,
"right": 0,
"unique": 2
},
"neighbours": [
{
"asn": 35369,
"power": 8,
"type": "left"
},
{
"asn": 1853,
"power": 270,
"type": "left"
}
],
"resource": "1205",
"query_starttime": "2012-02-15T11:30:05",
"query_endtime": "2012-02-15T11:30:05"
},
upcoming - 4.0
This data call shows information on the network neighbours for a given ASN. This includes statistical information, the list of observed ASN neighbours and, depending on the level of detail, the ASN paths that this data is based on.
https://stat.ripe.net/data/asn-neighbours/data.<format>?<parameters>![]()
e.g. https://stat.ripe.net/data/asn-neighbours/data.json?resource=AS1205&query_time=2011-12-01T12:00:00
Parameters
| Key | Value | Info | Required |
|---|---|---|---|
| resource | ASN for this query | The data call will return all neighbours found for this ASN. | YES |
| lod | 0 or 1 | Defines how many details are returned in the result. See the output section for further explanation. | NO |
| query_time | ISO8601 or Unix timestamp |
Defines the query time for the query.
If not set, the start time will be set to the latest available data point. |
NO |
Output
Data
| Key | Info | ||||||
|---|---|---|---|---|---|---|---|
| neighbour_counts | Shows total counts for the neighbours, including the total number of "left", "right" and "unique" neighbours found. Neighbours that have been seen as left neighbours, but only as direct peers of one of our route collectors (RIS collectors), are flagged "uncertain" because our own peering with this ASN could artifically include it as neigbour. ASNs that have been seen as a left neighbour and not as a direct peer with RIS are not flagged as "uncertain". | ||||||
| neighbours |
Contains all neighbours that were seen at the defined point in time. Details are only returned if the level of detail ("lod") is 1:
|
||||||
| asn | Defines the neighbour ASN. | ||||||
| position | Shows information about the neighbour's position ("left" or "right"). The type "uncertain" is explained in the "neighbour_counts" section. | ||||||
| path_count | Shows how many times this neighbour with this position ("left"/"right" or "uncertain") was seen in an ASN path. | ||||||
| peer_count | Shows the total number of (full-table) peers, grouped by IP version, seeing this neighbour/position combination. | ||||||
| query_time | Reflects the time the data is valid for. | ||||||
| resource | Defines the resource used for the query. |
Example
data: {
latest_time: "2013-11-05T00:00:00",
lod: "1",
neighbour_counts: {
left: 1,
right: 0,
uncertain: 1,
unique: 2
},
neighbours: [
{
asn: 1853,
details: {},
position: "left"
},
{
asn: 35369,
details: {
path_count: 1,
paths: [
{
locations: {
v4: [
{
location: "rrc05",
peer_count: 8
}
],
v6: [ ]
},
path: "35369 1205"
}
],
peer_count: {
v4: 8,
v6: 0
}
},
position: "uncertain"
}
],
query_time: "2013-11-05T00:00:00",
resource: "1205"
},
ASN Neighbours History
This data call returns information about neigbouring ASNs of a queried ASN extended with history.
https://stat.ripe.net/data/asn-neighbours-history/data.<format>?<parameters>![]()
e.g. https://stat.ripe.net/data/asn-neighbours-history/data.json?resource=AS1205
Parameters
| Key | Value | Info | Required |
|---|---|---|---|
| resource | ASN for this query | This is the ASN the neighbours are shown for. | YES |
| starttime | ISO8601 or Unix timestamp | Defines the query starttime for the query | NO - if not set it falls back to "now" |
| endtime | ISO8601 or Unix timestamp | Defines the query endtime | NO - if not set it falls back to "now - 60 days" |
| max_rows | integer | Defines the limit of neighbours to be included in the result, e.g. max_rows=50 means the result will be truncated to 50 neighbours. Has not effect if there are less neighbours anyway. | NO - default: 1800 |
Output
Data
| Key | Info | ||||
|---|---|---|---|---|---|
| neighbours |
Contains neighbours included in the result with the additional timelines when they were valid
|
||||
| query_starttime/query_endtime | Holds the start and endtime for this query | ||||
| latest_time | Holds the time until which data is available | ||||
| resource | Defines the resource used for the query |
Example
"data": {
latest_time: "2012-09-20T08:00:00",
"neighbours": [
{
"neighbour": 42,
"timelines": [
{
"endtime": "2012-07-23T08:00:24",
"starttime": "2012-07-22T08:00:00"
},
{
"endtime": "2012-07-31T16:00:11",
"starttime": "2012-07-23T20:00:02"
},
{
"endtime": "2012-08-31T16:00:12",
"starttime": "2012-08-01T08:00:03"
},
{
"endtime": "2012-09-20T08:00:00",
"starttime": "2012-09-01T08:00:03"
}
]
},
...
],
"query_endtime": "2012-09-20T08:00:00",
"query_starttime": "2012-07-22T08:00:00",
"resource": "3333"
},
deprecated - 0.4
upcoming - n.a.
Atlas Probe Deployment
This data call provides information on the number of RIPE Atlas probes in a region, a country or network (ASN). It supports history, with a general start in 2014.
The information is based on data from the RIPE Atlas probe archive, ftp://ftp.ripe.net/ripe/atlas/probes/archive/, which is processed
once a day.
https://stat.ripe.net/data/atlas-probe-deployment/data.<format>?<parameters>![]()
e.g. https://stat.ripe.net/data/atlas-probe-deployment/data.json?resource=cc_nl
Parameters
| Key | Value | Info | Required |
|---|---|---|---|
| resource |
region, country, network (ASN) or mixed |
Due to the ambigious nature of abbreviated identifiers for regions and countries (e.g. me for Middle East and Montenegro)
region and country resources should be prefixes with "region_" or "cc_". Looking up a network can be specified on the IP version by using the prefix "asn4_" for IP v4 networks and "asn6_" for IP v6 networks. For mixed results the resources just need to be comma separated. |
Yes |
| starttime/endtime | ISO8601 or Unix timestamp | Can be used to set the time range of the lookup and the output. | No - by default starttime is beginning of 2014. |
Output
Probe deployment
https://stat.ripe.net/data/atlas-probe-deployment/data.json?resource=nl
Returns the number of deployed probes in the Netherlands.
Example
"data": {
"merge": false,
"resource": [
"cc_nl"
],
"query_date": "2016-08-10T11:00:00",
"starttime": "2014-01-01T00:00:00",
"endtime": "2016-08-09T00:00:00",
"deployments": [
{
"resource": "cc_nl",
"deployment": [
{
"date": "2016-08-09",
"statuses": {
"neverseen": 36,
"connected": 529,
"disconnected": 113,
"abandoned": 268
}
},
{
"date": "2016-08-08",
"statuses": {
"neverseen": 36,
"connected": 531,
"disconnected": 111,
"abandoned": 268
}
},
...
]
}
]
}
deprecated - n.a.
upcoming - n.a.
Atlas Probes
This data call provides information on the RIPE Atlas probes in an network (ASN), a prefix or a country.
The information is based on data coming from the RIPE Atlas REST API, https://atlas.ripe.net/docs/api/v2/manual/.
https://stat.ripe.net/data/atlas-probes/data.<format>?<parameters>![]()
e.g. https://stat.ripe.net/data/atlas-probes/data.json?resource=at
Parameters
| Key | Value | Info | Required |
|---|---|---|---|
| resource |
prefix, network (ASN) or country |
Yes |
Output
Probes in a country
https://stat.ripe.net/data/atlas-probes/data.json?resource=at
Returns the information on probes in Austria.
Example
"data": {
"resource": "at",
"stats": {
"total": 268
},
"probes": [
{
"prefix_v4": "80.108.0.0/16",
"status": 1,
"prefix_v6": "2001:470::/32",
"is_anchor": false,
"last_connected": 1475659073,
"status_name": "Connected",
"type": "Probe",
"id": 33,
"tags": [
"cable",
"home",
"nat",
"upc",
"system-v1",
"system-resolves-a-correctly",
"system-resolves-aaaa-correctly",
"system-ipv4-works",
"system-ipv6-works",
"system-ipv4-capable",
"system-ipv6-capable",
"system-ipv4-rfc1918"
],
"address_v6": "2001:470:6f:82c:220:4aff:fec8:22c2",
"longitude": 16.3085,
"address_v4": "80.108.254.227",
"country_code": "AT",
"asn_v4": 6830,
"latitude": 48.1985,
"status_since": 1475610769,
"asn_v6": 6939,
"is_public": true,
"first_connected": 1289846035,
"total_uptime": 167736540
},
...
]
}
deprecated - n.a.
upcoming - n.a.
Atlas Targets
This data call provides information on the RIPE Atlas measurements that target an network (ASN), a prefix or a hostname.
The information is based on data coming from the RIPE Atlas REST API, https://atlas.ripe.net/docs/api/v2/manual/.
https://stat.ripe.net/data/atlas-targets/data.<format>?<parameters>![]()
e.g. https://stat.ripe.net/data/atlas-targets/data.json?resource=140.78/16
Parameters
| Key | Value | Info | Required |
|---|---|---|---|
| resource |
prefix, network (ASN) or hostname |
Yes |
Output
Probes in a country
https://stat.ripe.net/data/atlas-targets/data.json?resource=140.78/16
Returns the information on probes in the prefix 140.78/16.
Example
"data": {
"resource": "140.78.0.0/16",
"authenticated": false,
"measurements": [
{
"status": {
"id": 4,
"name": "Stopped"
},
"result": "https://atlas.ripe.net/api/v2/measurements/1895745/results",
"msm_id": 1895745,
"participant_count": 100,
"af": 4,
"start_time": 1426438841,
"creation_time": 1426438841,
"dst_name": "140.78.1.1",
"dst_asn": 1205,
"dst_addr": "140.78.1.1",
"is_public": true,
"size": null,
"type": {
"name": "ping"
},
"stop_time": 1426439403,
"description": "Quick Look IPv4 Ping to 140.78.1.1."
},
...
],
"stats": {
"total": 44
}
}
deprecated - n.a.
upcoming - n.a.
BGPlay
This data call represents the scenario of what occurred to the BGP routes of a resource over a period of time.
It includes data that defines the initial BGP state at the start time of the query, and all the BGP updates observed from then until the end time, as well as a description of all the AS nodes, and RIS BGP peers involved in the result.
https://stat.ripe.net/data/bgplay/data.<format>?<parameters>![]()
Parameters
| Key | Value | Info | Required |
|---|---|---|---|
| resource | Prefix, IP address, AS or a list of valid comma-separated resources | Defines the resource that the query is performed for. If a list of resources is supplied, the results will be combined for all of them. | YES |
| starttime | ISO8601 or Unix timestamp | Defines the starttime for the query | NO - default: (endtime - 8h) |
| endtime | ISO8601 or Unix timestamp | Defines the endtime for the query | NO - default: latest time there is BGP data available |
| rrcs | Single-value or comma-separated values of RRC numbers (4 or 0,4,12,15) | The list of Route Collectors (RRCs) to get the results from. | NO - default behaviour: all RRCs |
| unix_timestamps | TRUE or FALSE | If TRUE, will format the timestamps in the result as Unix timestamp. | NO - default: FALSE |
Output
Data
| Key | Info | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| initial_state | The state of the BGP routes for this resource at the starttime. Formatted as defined in the "bgp_state" section of bgp-state. | ||||||||
| events | The BGP updates observed for this resource during the query time interval. Formatted as defined in the "updates" section of bgp-updates. | ||||||||
| nodes |
Descriptive information of all the ASes present in the AS paths of the BGP routes/updates.
|
||||||||
| targets | List of all the unique target prefixes present in the results. | ||||||||
| sources |
Descriptive information of all the RIS collectors neighbouring peers through which the BGP routes/updates were observed.
|
||||||||
| query_starttime | Defines the start of the time interval covered in the query. | ||||||||
| query_endtime | Defines the end of the time interval covered in the query. | ||||||||
| resource | Defines the resource used in the query. |
Example
"data": {
"events": [
{
"attrs": {
"source_id": "13-193.232.244.15",
"target_prefix": "140.78.0.0/16"
},
"timestamp": "2012-12-21T07:27:56",
"type": "W"
},
{
"attrs": {
"community": [
"9002:9002",
"9002:64605"
],
"path": [
39821,
9002,
1853,
1205
],
"source_id": "13-193.232.244.15",
"target_prefix": "140.78.0.0/16"
},
"timestamp": "2012-12-21T07:28:46",
"type": "A"
},
(...)
],
"initial_state": [
{
"community": [
"174:1001",
"174:21000",
"174:22013",
"45896:1001"
],
"path": [
45896,
174,
3356,
1853,
1205
],
"source_id": "00-111.91.233.1",
"target_prefix": "140.78.0.0/16"
},
(...)
],
"nodes": [
{
"as_number": 174,
"owner": "COGENT Cogent/PSI"
},
{
"as_number": 286,
"owner": "KPN KPN Internet Backbone"
},
(...)
],
"query_endtime": "2012-12-21T12:00:00",
"query_starttime": "2012-12-21T07:00:00",
"resource": "140.78.0.0/16",
"sources": [
{
"as_number": 45896,
"id": "00-111.91.233.1",
"ip": "111.91.233.1",
"rrc": "00"
},
(...)
],
"targets": [
{
"prefix": "140.78.0.0/16"
}
]
}
BGP State
This data call returns the state of BGP routes for a resource at a certain point in time, as observed by all the RIS collectors.
This is derived by applying a computation of state to the RIB dump (granularity=8h) that occurred exactly before that time, using the BGP updates observed between the RIB time and the query time.
https://stat.ripe.net/data/bgp-state/data.<format>?<parameters>![]()
e.g. https://stat.ripe.net/data/bgp-state/data.json?resource=140.78/16×tamp=2012-12-21T12:00
Parameters
| Key | Value | Info | Required |
|---|---|---|---|
| resource | Prefix, IP address, AS or a list of valid comma-separated resources | Defines the resource that the query is performed for. If a list of resources is supplied, the results will be combined for all of them. | YES |
| timestamp | ISO8601 or Unix timestamp | Defines the time for when to perform the query. | NO - default: latest time there is BGP data available |
| rrcs | Single-value or comma-separated values of RRC numbers (4 or 0,4,12,15) | The list of Route Collectors (RRCs) to get the results from. | NO - default behaviour: all RRCs |
| unix_timestamps | TRUE or FALSE | If TRUE, will format the timestamps in the result as Unix timestamp. | NO - default: FALSE |
Output
Data
| Key | Info | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| bgp_state |
List of BGP routes.
|
||||||||
| nr_routes | The number of BGP routes observed at that time. | ||||||||
| query_time | Defines the time of the query. | ||||||||
| resource | Defines the resource used in the query. |
Example
"data": {
"bgp_state": [
{
"community": [
"174:1001",
"174:21000",
"174:22013",
"45896:1001"
],
"path": [
45896,
174,
3356,
1853,
1205
],
"source_id": "00-111.91.233.1",
"target_prefix": "140.78.0.0/16"
},
(...)
{
"community": [ ],
"path": [
13237,
1853,
1205
],
"source_id": "12-80.81.192.74",
"target_prefix": "140.78.0.0/16"
},
(...)
],
"nr_routes": 106,
"query_time": "2012-12-21T12:00:00",
"resource": "140.78.0.0/16"
}
BGP Updates
This data call returns the BGP updates observed for a resource over a certain period of time.
https://stat.ripe.net/data/bgp-updates/data.<format>?<parameters>![]()
e.g. https://stat.ripe.net/data/bgp-updates/data.json?resource=140.78/16&endtime;=2012-12-21T12:00
Parameters
| Key | Value | Info | Required |
|---|---|---|---|
| resource | Prefix, IP address, AS or a list of valid comma-separated resources | Defines the resource that the query is performed for. If a list of resources is supplied, the results will be combined for all of them. | YES |
| starttime | ISO8601 or Unix timestamp | Defines the starttime for the query | NO - default: (endtime - 48h) |
| endtime | ISO8601 or Unix timestamp | Defines the endtime for the query | NO - default: latest time there is BGP data available |
| rrcs | Single-value or comma-separated values of RRC numbers (4 or 0,4,12,15) | The list of Route Collectors (RRCs) to get the results from. | NO - default behaviour: all RRCs |
| unix_timestamps | TRUE or FALSE | If TRUE, will format the timestamps in the result as Unix timestamp. | NO - default: FALSE |
Output
Data
| Key | Info | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| updates |
List of observed BGP updates, in chronological order of occurrence.
|
||||||||||||||
| nr_updates | The number of BGP updates observed in this time period. | ||||||||||||||
| query_starttime | Defines the start of the time interval covered in the query. | ||||||||||||||
| query_endtime | Defines the end of the time interval covered in the query. | ||||||||||||||
| resource | Defines the resource used in the query. |
Example
"data": {
"nr_updates": 13,
"query_endtime": "2012-12-21T12:00:00",
"query_starttime": "2012-12-21T04:00:00",
"resource": "140.78.0.0/16",
"updates": [
{
"community": [
"14840:20",
"14840:7110"
],
"attrs": {
"path": [
14840,
18881,
3549,
3356,
1853,
1205
],
"source_id": "15-187.16.216.219",
"target_prefix": "140.78.0.0/16"
},
"timestamp": "2012-12-21T04:40:06",
"type": "A"
},
(...)
{
"attrs": {
"source_id": "13-193.232.244.15",
"target_prefix": "140.78.0.0/16"
},
"timestamp": "2012-12-21T07:27:56",
"type": "W"
},
(...)
]
}
BGP Update Activity
This data call returns the number of BGP updates seen over time.
https://stat.ripe.net/data/bgp-update-activity/data.<format>?<parameters>![]()
Parameters
| Key | Value | Info | Required |
|---|---|---|---|
| resource | prefix, IP range or AS | defines the resource the query is carried out on | YES |
| starttime | ISO8601 or Unix timestamp | Defines the starttime for the query | NO - will be calculated from 'endtime' and 'num_hours' (see below). |
| endtime | ISO8601 or Unix timestamp | Defines the endtime for the query | NO - if not set it falls back to "now" |
| max_samples | Positive integer, or 0 to disable | BGP events are aggregated in to at most this number of sampling periods | NO - defaults to 50 |
| min_sampling_period | Positive number of seconds | The smallest possible time period for each data point. It will be automatically increased to satisfy 'max_points' | NO - defaults to 1 minute |
| num_hours | number | If 'starttime' is not given then this parameter will be used to calculate it from the 'endtime' (which defaults to now). | NO - defaults to 14 * 24 hours |
| hide_empty_samples | boolean | If true (default) then samples with 0 updates will not be returned - they are simply implied by the returned query_startendtime/query_endtime. | NO - defaults to true (may be changed in a later release) |
Output
Data
| Key | Info |
|---|---|
| samples | Holds the list of BGP update activities |
| starttime | This defines the beginning of each sample |
| announcements | The number of announcements during this sample |
| withdrawals |
The number of withdrawals during this sample Note: this is currently always 'null' when querying an ASN |
| sampling_period | The duration in seconds of each stated sampling period |
| sampling_period_human | A human-readable version of the sampling period. |
| query_endtime | Defines the endtime the query covers |
| resource | Defines the resource used for the query |
| resource_type | The detected type of the queried resource ("asn", 4 or 6) |
Example
"data": {
"query_endtime": "2012-04-10T15:00:00",
"query_starttime": "2012-04-02T12:00:00",
"resource": "140.78.0.0/16",
"resource_type": 4,
"samples": [
{
"announcements": 2,
"starttime": "2012-04-02T13:06:00",
"withdrawals": 0
},
{
"announcements": 1,
"starttime": "2012-04-02T13:07:00",
"withdrawals": 0
},
...
{
"announcements": 1,
"starttime": "2012-04-10T04:57:00",
"withdrawals": 0
},
{
"announcements": 1,
"starttime": "2012-04-10T06:20:00",
"withdrawals": 0
},
{
"announcements": 1,
"starttime": "2012-04-10T06:46:00",
"withdrawals": 0
},
{
"announcements": 1,
"starttime": "2012-04-10T07:01:00",
"withdrawals": 0
}
]
},
Blacklist
This data call returns blacklist related data for a queried resource.
https://stat.ripe.net/data/blacklist/data.<format>?<parameters>![]()
e.g. https://stat.ripe.net/data/blacklist/data.json?resource=193/23
Parameters
| Key | Value | Info | Required |
|---|---|---|---|
| resource | prefix or IP range | States the prefix or IP range you want to get blacklist information for | YES |
| starttime | ISO8601 or Unix timestamp | Defines the starttime for the query | YES |
| endtime | ISO8601 or Unix timestamp | Defines the endtime for the query | NO - if not set it falls back to now |
Output
Data
| Key | Info |
|---|---|
| source | Each different data source gets one entry, containing blacklist information for this source. |
| prefix | Holds the prefix of the entry in the blacklist data source. |
| details | If available this holds additional informations about the entry. |
| timelines | Holds time information for the periods the entry appeared in the blacklist data source. |
| query_starttime | Defines the starttime the query covers |
| query_endtime | Defines the endtime the query covers |
| resource | Defines the resource used for the query |
Example
"data": {
"query_endtime": "2012-03-28T10:00:00",
"query_starttime": "2012-01-01T12:00:00",
"resource": "127.0.0.0-127.255.255.255",
"sources": {
"uceprotect-level1": [
{
"details": "Test Record. UCEPROTECT.NET LEVEL 1 List is active.",
"prefix": "127.0.0.2/32",
"timelines": [
{
"endtime": "2012-03-01T08:10:00",
"starttime": "2012-01-01T12:00:00"
},
{
"endtime": "2012-03-26T08:10:00",
"starttime": "2012-03-04T08:10:00"
}
]
}
],
"uceprotect-level2": [
{
"details": "Test Record. UCEPROTECT.NET LEVEL 2 List is active",
"prefix": "127.0.0.2/32",
"timelines": [
{
"endtime": "2012-03-26T08:10:00",
"starttime": "2012-01-01T12:00:00"
}
]
}
],
"uceprotect-level3": [
{
"details": "Test Record. UCEPROTECT.NET LEVEL 3 List is active",
"prefix": "127.0.0.2/32",
"timelines": [
{
"endtime": "2012-03-26T08:10:00",
"starttime": "2012-01-01T12:00:00"
}
]
}
]
}
},
Country ASNs
This data call provides information on a country's registered and routed ASNs. Registered ASNs are based on registration information
made public by the Regional Internet Registries. The routing information is based on the data collected with the RIPE NCC's RIS
system, https://ris.ripe.net.
The data call supports history, with data points being aligned to times dumps are created in RIS (00:00, 08:00 and 16:00 UTC).
By default, the data call returns just the number of registered and routed ASNs. This is mainly to prevent returning
thousands of ASNs. See parameter settings below to further tailor the output to your needs.
https://stat.ripe.net/data/country-asns/data.<format>?<parameters>![]()
e.g. https://stat.ripe.net/data/country-asns/data.json?resource=nl
Parameters
| Key | Value | Info | Required |
|---|---|---|---|
| resource | country | The country has to be provided as an ISO-3166-1 alpha-2 country code. See https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 for details. | Yes |
| query_time | ISO8601 or Unix timestamp | Defines the time of the lookup. This value needs to be or will be aligned to the RIS dump times! | No - by default it will return the latest available data point (either 00:00, 08:00 or 16:00 UTC) |
| "lod" | integer |
Defines the level of detail in which the data is being returned. Levels are:
|
NO - default: 0 |
Output
Counts of ASNs registered and routed (default)
https://stat.ripe.net/data/country-asns/data.json?resource=nl
The data call returns the counts of registered and routed ASNs for the given country and for the latest time that data is available for.
Example
"data": {
"resource": [
"nl"
],
"query_time": "2016-08-24T08:00:00",
"latest_time": "2016-08-24T08:00:00",
"lod": [
"0"
],
"countries": [
{
"resource": "nl",
"stats": {
"registered": 988,
"routed": 714
}
}
]
}
Listing ASNs
https://stat.ripe.net/data/country-asns/data.json?resource=nl&lod;=1
In this example, the output returns all ASNs that have been aggregated in the first example.
Example
"data": {
"resource": [
"nl"
],
"query_time": "2016-08-24T08:00:00",
"latest_time": "2016-08-24T08:00:00",
"lod": [
"1"
],
"countries": [
{
"resource": "nl",
"routed": [
"30720",
"59393",
"38915",
"60358",
"47112",
"24586",
"24587",
...
"202746",
"2043"
],
"stats": {
"registered": 988,
"routed": 714
},
"non_routed": [
"196613",
"38919",
"198316",
"20492",
"8209",
"47125",
"203958",
....
"34734",
"202779",
"200650",
"45009",
"203769",
"200699",
"61428",
"203092"
]
}
]
}
deprecated - n.a.
upcoming - n.a.
Country Resource Stats
This data call returns statistics on Internet resources for a country - this includes:
- number of ASNs seen in routing data and registration data
- number of prefixes in routing data and registration data (split into IPv4 and IPv6)
- amount of IPv4 space seen in routing data as well as registration data
Please find details in the methodology of the data call.
https://stat.ripe.net/data/country-resource-stats/data.<format>?<parameters>![]()
Parameters
| Key | Value | Info | Required |
|---|---|---|---|
| resource | 2-digit ISO-3166 country code (e.g. "at","de"...) | Defines the country that the stats are returned for | YES |
| starttime | ISO8601 or Unix timestamp | The start time for the query. See "Default Values for Time Parameters" for details. | NO |
| endtime | ISO8601 or Unix timestamp | The end time for the query. See "Default Values for Time Parameters" for details. | NO |
| resolution | string representation for the resolution |
Possible values:
|
NO |
Default Values for Time Parameters
| Starttime | Endtime | Defaults |
|---|---|---|
| set | not set | endtime falls back to the lastest time data is available for |
| not set | not set | endtime falls back to "now", starttime defaults to beginning of 2004 |
Output
Data
| Key | Info | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| stats |
Encaplulates the statistics valid for the times seen in the "timeline" field.
|
||||||||||||||||||||
| query_starttime | The start of the time the query covers. | ||||||||||||||||||||
| query_endtime | The end of the time the query covers. | ||||||||||||||||||||
| latest_time & earliest_time | Holds the latest and the earliest time data is available for. | ||||||||||||||||||||
| hd_latest_time | Holds the latest (most recent) time data is available for at the highest resolution (high definition) | ||||||||||||||||||||
| resource | The resource used for the query. |
Example
"data": {
"query_endtime": "2013-01-21T00:00:00",
"query_starttime": "2012-12-01T12:00:00",
"resolution": "1w",
"resource": "at",
"stats": [
{
"asns_ris": 365,
"asns_stats": 439,
"stats_date": "2012-12-01T00:00:00",
"timeline": [
{
"endtime": "2012-12-03T00:00:00",
"starttime": "2012-12-03T00:00:00"
}
],
"v4_prefixes_ris": 1373,
"v4_prefixes_stats": 1284,
"v6_prefixes_ris": 172,
"v6_prefixes_stats": 198
},
{
"asns_ris": 367,
"asns_stats": 440,
"stats_date": "2012-12-07T00:00:00",
"timeline": [
{
"endtime": "2012-12-10T00:00:00",
"starttime": "2012-12-10T00:00:00"
}
],
"v4_prefixes_ris": 1375,
"v4_prefixes_stats": 1285,
"v6_prefixes_ris": 171,
"v6_prefixes_stats": 200
},
...
{
"asns_ris": 367,
"asns_stats": 444,
"stats_date": "2013-01-18T00:00:00",
"timeline": [
{
"endtime": "2013-01-21T00:00:00",
"starttime": "2013-01-21T00:00:00"
}
],
"v4_prefixes_ris": 1401,
"v4_prefixes_stats": 1290,
"v6_prefixes_ris": 177,
"v6_prefixes_stats": 205
}
]
},
Country Resource List
This data call lists the Internet resources associated with a country, including ASNs, IPv4 ranges and IPv4/6 CIDR prefixes.
This data is derived from the RIR Statistics files maintained by the various RIRs.
https://stat.ripe.net/data/country-resource-list/data.<format>?<parameters>![]()
e.g. https://stat.ripe.net/data/country-resource-list/data.json?resource=at&time;=2012-12-01
Parameters
| Key | Value | Info | Required |
|---|---|---|---|
| resource | 2-digit ISO-3166 country code (e.g. "at","de"...) | The country to find IP prefixes and AS numbers for. | YES |
| time | ISO8601 or Unix timestamp | The time to query. By default, returns the latest available data. | NO |
| v4_format |
format parameter; possible values: "" or "prefix". "prefix" will return each entry in prefix notation, meaning that ranges are converted to CIDR prefixes. |
Describes the formatting for the output of IPv4 space. | NO. Defaults to "" |
Output
Data
| Key | Info | ||||||
|---|---|---|---|---|---|---|---|
| resources |
Lists of resources that are associated with the queried country
according to the RIR stats files.
|
||||||
| query_time | The time covered by the query. | ||||||
| resource | The resource used for the query. |
DNS Chain
This data call returns the recursive chain of DNS forward (A/AAAA/CNAME) and reverse (PTR) records starting form either a hostname or an IP address.
https://stat.ripe.net/data/dns-chain/data.<format>?<parameters>![]()
e.g. https://stat.ripe.net/data/bgp-start/data.json?resource=www.ripe.net
Parameters
| Key | Value | Info | Required |
|---|---|---|---|
| resource | Hostname or IP address (Ipv4 or IPv6) | Defines the resource that the query is performed for. | YES |
Output
Data
| Key | Info |
|---|---|
| forward_nodes | A key-value list in which the key is a hostname and the value is the list of IP addresses/hostnames to which it has A/AAAA/CNAME records pointing to. |
| reverse_nodes | A key-value list in which the key is an IP address and the value is the list of hostnames to which it has PTR records pointing to. |
| nameservers | The list of IP addresses of the DNS resolvers used to do perform the DNS queries. |
| authoritative_nameservers | The list of the authoritative nameservers for the returned DNS records. |
| query_time | Defines the time of the query. |
| resource | Defines the resource used in the query. |
Example
"data": {
"authoritative_nameservers": [
"pri.authdns.ripe.net.",
"ns3.nic.fr.",
"sns-pb.isc.org.",
"sec3.apnic.net.",
"sec1.apnic.net.",
"tinnie.arin.net."
],
"forward_nodes": {
"www.ipv6.ripe.net": [
"2001:67c:2e8:22::c100:68b"
],
"www.ripe.net": [
"193.0.6.139",
"2001:67c:2e8:22::c100:68b"
]
},
"nameservers": [
"193.0.19.101",
"193.0.19.102",
"193.0.19.6"
],
"query_time": "2013-02-19T12:09:00",
"resource": "www.ripe.net",
"reverse_nodes": {
"193.0.6.139": [
"www.ripe.net"
],
"2001:67c:2e8:22::c100:68b": [
"www.ipv6.ripe.net"
]
}
}
Example Resources
This data call returns sample resources for ASN, IPv4 and IPv6 resources. All are taken from routing data.
https://stat.ripe.net/data/example-resources/data.<format>![]()
e.g. https://stat.ripe.net/data/example-resources/data.json
Parameters
| Key | Value | Info | Required |
|---|---|---|---|
| - | - | - | - |
Output
Data
| Key | Info |
|---|---|
| "asn" | Example AS number |
| "ipv4" | Example IPv4 address |
| "ipv6" | Example IPv6 address |
| "range4" | Example IPv4 address range |
Example
data: {
asn: "1",
ipv4: "127.0.0.0/16",
ipv6: "::1/64",
range4: "127.0.0.0-127.0.255.255"
}
Geolocation
This data call returns geolocation information for the given IP space, or for announced IP prefixes in the case of ASNs.
IPv4 information is based on GeoLite data created by MaxMind, which is Copyright 2008 MaxMind, Inc. All Rights Reserved. Please consult MaxMind's license before using this data for non-internal usage. For details on the accuracy of this data, please visit MaxMind's product website.
https://stat.ripe.net/data/geoloc/data.<format>?<parameters>![]()
e.g. https://stat.ripe.net/data/geoloc/data.json?resource=193/23
Parameters
| Key | Value | Info | Required |
|---|---|---|---|
| resource | prefix, IP range, ASN or hostname | States the prefix, IP range, ASN or hostname you want to get the geographic information for | YES |
| timestamp | ISO8601 or Unix timestamp | Defines the times for the query | NO - default is time with the lastest available geoloc data |
Output
Data
| Key | Info | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| locations |
Contains the geographical locations for the resource is used (Note that the interpretation for ASNs is different than for prefixes and IP ranges). Each location item has the following structure:
|
||||||||||
| unknown_percentage | holds the percentage of address space no geographic information could be found for | ||||||||||
| other_prefixes | (Only for ASNs, hostnames and IP ranges in version >= 2.2) the list of prefixes which were queried, but which don't have any geolocation information | ||||||||||
| resource | holds the resource the query was based on | ||||||||||
| query_time | holds the time the query was based on (interesting in case no query_time input argument is given) |
Example
"data": {
"locations": [
{
"city": "",
"country": "NL",
"covered_percentage": 100.0,
"latitude": 52.5,
"longitude": 5.75,
"prefixes": [
"193.0.0.0/21",
"193.0.10.0/23",
"193.0.12.0/23",
"193.0.18.0/23",
"193.0.20.0/23",
"193.0.22.0/23"
]
}
],
"query_time": "2012-03-01T00:00:00",
"resource": "3333",
"unknown_percentage": 0.0,
"other_prefixes": []
}
deprecated - 1.1
upcoming - n.a.
Geolocation History
This data call returns information on the changes in geolocation for the given IP space, or for announced IP prefixes in the case of ASNs.
IPv4 information is based on GeoLite data created by MaxMind, which is Copyright 2008 MaxMind, Inc. All Rights Reserved. Please consult MaxMind's license before using this data for non-internal usage. For details on the accuracy of this data, please visit MaxMind's product website.
https://stat.ripe.net/data/geoloc-history/data.<format>?<parameters>![]()
e.g. https://stat.ripe.net/data/geoloc-history/data.json?resource=193/23
Parameters
| Key | Value | Info | Required |
|---|---|---|---|
| resource | prefix, IP range, ASN or hostname | States the prefix, IP range, ASN or hostname you want to get the geographic information for | YES |
| starttime | ISO8601 or Unix timestamp | Defines the starttime for the query | YES |
| endtime | ISO8601 or Unix timestamp | Defines the endtime for the query | NO - if not set it falls back to the previous month |
Output
Data
| Key | Info |
|---|---|
| months | Contains for each month of the covered range the geographical distribution. |
| month | Holds the month for which the data in the "distributions" is valid for. |
| city | Holds the name of the city (empty if the city is not available). |
| country | Holds the name of the country. |
| percentage | Holds the percentage value of the address space that is used in this city/country. |
| query_starttime | Defines the starttime the query covers |
| query_endtime | Defines the endtime the query covers |
| resource | Defines the resource used for the query |
Example
"data": {
"months": [
{
"distributions": [
{
"city": "Linz",
"country": "AT",
"percentage": 100.0
}
],
"month": "2010-02-15T00:00:00"
},
{
"distributions": [
{
"city": "Linz",
"country": "AT",
"percentage": 100.0
}
],
"month": "2010-03-15T00:00:00"
},
{
"distributions": [
{
"city": "Linz",
"country": "AT",
"percentage": 100.0
}
],
"month": "2010-04-15T00:00:00"
},
...
{
"distributions": [
{
"city": "Linz",
"country": "AT",
"percentage": 100.0
}
],
"month": "2011-12-15T00:00:00"
},
{
"distributions": [
{
"city": "Linz",
"country": "AT",
"percentage": 100.0
}
],
"month": "2012-01-15T00:00:00"
},
{
"distributions": [],
"month": "2012-02-15T00:00:00"
}
],
"query_endtime": "2012-02-28T00:00:00",
"query_starttime": "2010-02-01T00:00:00",
"resource": "140.78.0.0/16"
}
deprecated - 0.6
upcoming - n.a.
Historical Whois
This data call provides information on objects that are stored in the RIPE DB. The result is aligned to a specific object, which is identified by an object type
and an object key, which is similar to the Whois data call. In contrast to the Whois data call, this data call puts a focus on historical changes of an object and its
related objects.
Historical changes are given in the form of versions, one version - by default the latest version - is presented with details.
Related objects are separated into referencing and referenced objects. Referencing objects are objects that have a reference to the object in focus and
referenced objects are referenced from the object in focus.
https://stat.ripe.net/data/historical-whois/data.<format>?<parameters>![]()
e.g. https://stat.ripe.net/data/historical-whois/data.json?resource=193.0.20.0/24
e.g. https://stat.ripe.net/data/historical-whois/data.json?resource=organisation:ORG-NCC1-RIPE
Parameters
| Key | Value | Info | Required |
|---|---|---|---|
| resource | The resource to query. | This is a prefix (v4/v6), an AS number, or a string of the format "object-type:object-key" for looking up generic database objects. | yes |
| version | Defines the version to load details for. Can be provided as numerical value (e.g. version=4) or as time-based value (ISO8601 or Unix timestamp). |
Given as a numerical value, the value must match exactly the historical version number. Given as a time-based value, the version that was valid at the given time will be returned. |
no |
Output
Data
| Key | Info |
|---|---|
| num_versions | Number of total version for the selected object. |
| resource, type and version | Shows which resource, object type and version is returned. |
| database | Defines from which RIR database the data is fetched. Currently only the RIPE DB is supported. |
| suggestions | In cases the lookup does not match exactly, suggestions are provided. |
| versions | Contains a list of historical changes represented as version. |
| terms_and_conditions | Terms and conditions of the RIPE DB and for using this data. |
| objects | Details for the object in the selected version. |
| referencing | All objects that contains references to the object in focus. |
| referenced_by | All objects that are referenced by the object in focus. |
Sample object
"data": {
"num_versions": 11,
"resource": "2001:67c:2e8::/48",
"version": "2018-03-12T13:59:00",
"database": "RIPE",
"suggestions": [],
"versions": [
{
"version": 11,
"from_time": "2017-12-04T14:38:44",
"to_time": "2018-03-12T13:59:00"
},
{
"version": 10,
"from_time": "2016-06-02T08:54:32",
"to_time": "2017-12-04T14:38:44"
},
{
"version": 9,
"from_time": "2016-04-14T08:40:13",
"to_time": "2016-06-02T08:54:32"
},
{
"version": 8,
"from_time": "2016-04-12T01:03:36",
"to_time": "2016-04-14T08:40:13"
},
{
"version": 7,
"from_time": "2015-06-02T13:50:05",
"to_time": "2016-04-12T01:03:36"
},
{
"version": 6,
"from_time": "2015-05-05T02:45:49",
"to_time": "2015-06-02T13:50:05"
},
{
"version": 5,
"from_time": "2012-03-12T08:53:46",
"to_time": "2015-05-05T02:45:49"
},
{
"version": 4,
"from_time": "2012-03-12T08:52:34",
"to_time": "2012-03-12T08:53:46"
},
{
"version": 3,
"from_time": "2011-03-29T14:49:03",
"to_time": "2012-03-12T08:52:34"
},
{
"version": 2,
"from_time": "2011-02-23T12:34:11",
"to_time": "2011-03-29T14:49:03"
},
{
"version": 1,
"from_time": "2010-09-17T13:18:51",
"to_time": "2011-02-23T12:34:11"
}
],
"terms_and_conditions": "http://www.ripe.net/db/support/db-terms-conditions.pdf",
"access": "standard",
"objects": [
{
"deleted": false,
"version": 11,
"key": "2001:67c:2e8::/48",
"attributes": [
{
"attribute": "inet6num",
"value": "2001:67c:2e8::/48"
},
{
"attribute": "netname",
"value": "RIPE-NCC-NET"
},
{
"attribute": "org",
"value": "ORG-RIEN1-RIPE"
},
{
"attribute": "country",
"value": "NL"
},
{
"attribute": "admin-c",
"value": "BRD-RIPE"
},
{
"attribute": "tech-c",
"value": "OPS4-RIPE"
},
{
"attribute": "status",
"value": "ASSIGNED PI"
},
{
"attribute": "mnt-by",
"value": "RIPE-NCC-END-MNT"
},
{
"attribute": "mnt-by",
"value": "RIPE-NCC-MNT"
},
{
"attribute": "mnt-routes",
"value": "RIPE-NCC-MNT"
},
{
"attribute": "mnt-domains",
"value": "RIPE-NCC-MNT"
},
{
"attribute": "created",
"value": "2010-09-17T13:18:51Z"
},
{
"attribute": "last-modified",
"value": "2017-12-04T14:38:44Z"
},
{
"attribute": "source",
"value": "RIPE"
}
],
"type": "inet6num",
"from_time": "2017-12-04T14:38:44",
"latest": true
}
],
"latest_time": "2018-03-12T13:59:00",
"referencing": [
[
{
"version": 8,
"type": "mntner",
"from_time": "2016-06-24T08:28:44",
"key": "RIPE-NCC-END-MNT",
"latest": true
}
],
[
{
"version": 60,
"type": "mntner",
"from_time": "2017-11-06T13:12:57",
"key": "RIPE-NCC-MNT",
"latest": true
}
],
[
{
"version": 4,
"type": "person",
"from_time": "2017-08-15T12:31:30",
"key": "BRD-RIPE",
"latest": true
}
],
[
{
"version": 26,
"type": "organisation",
"from_time": "2016-05-20T10:49:28",
"key": "ORG-RIEN1-RIPE",
"latest": true
}
],
[
{
"version": 40,
"type": "role",
"from_time": "2017-12-04T14:50:50",
"key": "OPS4-RIPE",
"latest": true
}
]
],
"type": "inet6num",
"referenced_by": [
[
{
"version": 1,
"type": "route6",
"from_time": "2010-09-27T12:14:23",
"key": "2001:67c:2e8::/48|AS3333",
"latest": true
}
]
]
}
IANA Registry Info
This data call gives access to various data sources maintained by IANA. These include:
- IANA 16-bit Autonomous System (AS) Numbers Registry (http://www.iana.org/assignments/as-numbers/as-numbers-1.csv)
- IANA 32-bit Autonomous System (AS) Numbers Registry (http://www.iana.org/assignments/as-numbers/as-numbers-2.csv)
- Etc. - the detailed list of data sources included can be seen in the methodology information of the data call. Note: Output format for the methodology information is JSON!
The data call supports a "resource" parameter which filters all results
down to entries that are topologically related to the given resource.
The data is refreshed once a day to guarantee up-to-date information.
https://stat.ripe.net/data/iana-registry-info/data.<format>?<parameters>![]()
e.g. https://stat.ripe.net/data/iana-registry-info/data.json?resource=193/23
Parameters
| Key | Value | Info | Required |
|---|---|---|---|
| resource | IP address, prefix or ASN | States the resource the data is being filtered on. | NO - if this parameter is not given the entire information is returned. |
| best_match_only | true/false | If a resource is given and this parameter is set, only the best match (which is the closest topologically) is returned. | NO - by default it is set to false. |
Output
Data
| Key | Info |
|---|---|
| load_time | Shows when the data was loaded from IANA. |
| resource | Mirrors the resource (if given) for this lookup. |
| returned | Number of entries in the result. |
| resources | Holds all the results that the lookup matches - if not filtered it will return all results from IANA. The details vary between data sources but all have in common the "description", "source" and "source_url" fields. "Description" is an added field, which tries to create a more human readable summary of the parsed data. |
Example
data: {
load_time: "2015-02-26T02:09:00",
resource: "151.252.120.0-151.252.120.49",
returned: 1,
resources: [
{
resource: "151.0.0.0/8",
description: "Administered by RIPE NCC",
source_url: "http://www.iana.org/assignments/ipv4-address-space/ipv4-address-space.csv",
source: "IANA IPv4 Address Space Registry",
details: {
Note: "",
Date: "1993-05",
Whois: "whois.ripe.net",
Designation: "Administered by RIPE NCC",
Status [1]: "LEGACY"
},
type_properties: [
"ip",
"v4",
"prefix"
]
}
]
}
Looking Glass
This data call returns information commonly coming from a Looking Glass. The data is based on a data feed from
the RIPE NCC's network of BGP route collectors (RIS, see https://www.ripe.net/data-tools/stats/ris for more information).
The data processing usually happens with a small delay and can be considered near real-time.
The output is structured by collector node (RRC) accompanied by the location and the BGP peers which
provide the routing information.
https://stat.ripe.net/data/looking-glass/data.<format>?<parameters>![]()
e.g. https://stat.ripe.net/data/looking-glass/data.json?resource=140.78.0.0/16
Parameters
| Key | Value | Info | Required |
|---|---|---|---|
| resource | A prefix or an IP address. | Prefixes need to match exactly a prefix found in the routing data. If given as IP address, the data call will try to find the encompassing prefix for the IP address. | YES |
Output
Data
| Key | Info |
|---|---|
| rrcs |
There is one entry for each collector node (RRC) that provides data for the given input resource. Each RRC entry holds
the location and the ID of the RRC together with the list of BGP peer information. The BGP peer information contains:
|
| latest_time | Provides info on how recent the data is. Currently this value is not exact but an estimate! |
Example
{
"status": "ok",
"server_id": "DEV",
"status_code": 200,
"version": "2.0",
"cached": false,
"see_also": [],
"time": "2018-03-14T09:32:11.605413",
"messages": [],
"data_call_status": "supported",
"process_time": 142,
"build_version": "unknown-local-dev",
"query_id": "20180314093211-24fdf86e-e548-46ed-bf33-37641eeb529b",
"data": {
"rrcs": [
{
"peers": [
{
"origin": "IGP",
"last_updated": "2018-03-08T10:10:23",
"as_path": "2497 1257 3333",
"community": "",
"asn_origin": 3333,
"prefix": "2001:67c:2e8:0:0:0:0:0/48",
"next_hop": "2001:504:1:0:0:a500:2497:1",
"peer": "2001:504:1:0:0:a500:2497:1"
},
{
"origin": "IGP",
"last_updated": "2018-03-08T10:10:39",
"as_path": "6939 3333",
"community": "",
"asn_origin": 3333,
"prefix": "2001:67c:2e8:0:0:0:0:0/48",
"next_hop": "2001:504:1:0:0:a500:6939:1",
"peer": "2001:504:1:0:0:a500:6939:1"
},
{
"origin": "IGP",
"last_updated": "2018-03-08T10:10:27",
"as_path": "9002 3333",
"community": "",
"asn_origin": 3333,
"prefix": "2001:67c:2e8:0:0:0:0:0/48",
"next_hop": "2001:504:1:0:0:a500:9002:1",
"peer": "2001:504:1:0:0:a500:9002:1"
},
{
"origin": "IGP",
"last_updated": "2018-03-08T10:10:30",
"as_path": "9304 6939 3333",
"community": "",
"asn_origin": 3333,
"prefix": "2001:67c:2e8:0:0:0:0:0/48",
"next_hop": "2001:504:1:0:0:a500:9304:1",
"peer": "2001:504:1:0:0:a500:9304:1"
},
{
"origin": "IGP",
"last_updated": "2018-03-08T10:11:10",
"as_path": "13030 1103 3333",
"community": "13030:61 13030:1611",
"asn_origin": 3333,
"prefix": "2001:67c:2e8:0:0:0:0:0/48",
"next_hop": "2001:504:1:0:0:a501:3030:1",
"peer": "2001:504:1:0:0:a501:3030:1"
},
{
"origin": "IGP",
"last_updated": "2018-03-08T10:11:04",
"as_path": "15547 6939 3333",
"community": "",
"asn_origin": 3333,
"prefix": "2001:67c:2e8:0:0:0:0:0/48",
"next_hop": "2001:504:1:0:0:a501:5547:1",
"peer": "2001:504:1:0:0:a501:5547:1"
},
{
"origin": "IGP",
"last_updated": "2018-03-13T04:16:44",
"as_path": "19151 2603 1103 3333",
"community": "1103:101 19151:1000 19151:61003 19151:65040",
"asn_origin": 3333,
"prefix": "2001:67c:2e8:0:0:0:0:0/48",
"next_hop": "2001:504:1:0:0:a501:9151:1",
"peer": "2001:504:1:0:0:a501:9151:1"
},
{
"origin": "IGP",
"last_updated": "2018-03-13T04:16:34",
"as_path": "24482 2603 1103 3333",
"community": "1103:101 24482:2 24482:13020 24482:13021 24482:65302",
"asn_origin": 3333,
"prefix": "2001:67c:2e8:0:0:0:0:0/48",
"next_hop": "2001:504:1:0:0:a502:4482:1",
"peer": "2001:504:1:0:0:a502:4482:1"
},
{
"origin": "IGP",
"last_updated": "2018-03-08T10:10:29",
"as_path": "62567 6939 3333",
"community": "14061:2000 14061:2002 14061:3000 14061:3008",
"asn_origin": 3333,
"prefix": "2001:67c:2e8:0:0:0:0:0/48",
"next_hop": "2001:504:1:0:0:a500:6939:1",
"peer": "2001:504:1:0:0:a506:2567:2"
}
],
"rrc": "RRC11",
"location": "New York City, New York, US"
},
...
{
"peers": [
{
"origin": "IGP",
"last_updated": "2018-03-07T15:10:11",
"as_path": "1280 6939 3333",
"community": "",
"asn_origin": 3333,
"prefix": "2001:67c:2e8:0:0:0:0:0/48",
"next_hop": "2001:504:d:0:0:0:0:1",
"peer": "2001:504:d:0:0:0:0:1"
},
{
"origin": "IGP",
"last_updated": "2018-03-08T02:06:07",
"as_path": "2497 1257 3333",
"community": "",
"asn_origin": 3333,
"prefix": "2001:67c:2e8:0:0:0:0:0/48",
"next_hop": "2001:504:d:0:0:0:0:2",
"peer": "2001:504:d:0:0:0:0:2"
},
{
"origin": "IGP",
"last_updated": "2018-03-09T13:11:57",
"as_path": "2914 3333",
"community": "2914:420 2914:1206 2914:2203 2914:3200",
"asn_origin": 3333,
"prefix": "2001:67c:2e8:0:0:0:0:0/48",
"next_hop": "2001:504:d:0:0:0:0:6",
"peer": "2001:504:d:0:0:0:0:6"
},
{
"origin": "IGP",
"last_updated": "2018-02-06T11:28:25",
"as_path": "6939 3333",
"community": "",
"asn_origin": 3333,
"prefix": "2001:67c:2e8:0:0:0:0:0/48",
"next_hop": "2001:504:d:0:0:0:0:10",
"peer": "2001:504:d:0:0:0:0:10"
},
{
"origin": "IGP",
"last_updated": "2018-03-13T06:52:50",
"as_path": "6762 3333",
"community": "6762:30 6762:13100",
"asn_origin": 3333,
"prefix": "2001:67c:2e8:0:0:0:0:0/48",
"next_hop": "2001:504:d:0:0:0:0:46",
"peer": "2001:504:d:0:0:0:0:46"
},
{
"origin": "IGP",
"last_updated": "2018-02-21T18:39:06",
"as_path": "7575 22388 11537 1103 3333",
"community": "7575:1001 7575:2023 7575:2519 7575:6003",
"asn_origin": 3333,
"prefix": "2001:67c:2e8:0:0:0:0:0/48",
"next_hop": "2001:504:d:0:0:0:0:b1",
"peer": "2001:504:d:0:0:0:0:b1"
},
{
"origin": "IGP",
"last_updated": "2018-02-25T11:26:03",
"as_path": "19151 286 1103 3333",
"community": "286:286 286:3031 286:4516 286:4990 1103:101 19151:3000 19151:63002 19151:65040",
"asn_origin": 3333,
"prefix": "2001:67c:2e8:0:0:0:0:0/48",
"next_hop": "2001:504:d:0:0:0:9151:1",
"peer": "2001:504:d:0:0:0:9151:1"
},
{
"origin": "IGP",
"last_updated": "2018-02-06T11:28:12",
"as_path": "14061 6939 3333",
"community": "14061:2000 14061:2004 14061:3000 14061:3002",
"asn_origin": 3333,
"prefix": "2001:67c:2e8:0:0:0:0:0/48",
"next_hop": "2001:504:d:0:0:0:0:10",
"peer": "2001:504:d:0:0:1:4061:1"
}
],
"rrc": "RRC14",
"location": "Palo Alto, California, US"
}
],
"latest_time": "2018-03-14T09:27:00",
"query_time": "2018-03-14T09:32:11",
"parameters": {
"resource": "2001:67c:2e8::/48"
}
}
}
deprecated - n.a.
upcoming - n.a.
M-lab Activity Count
This data call returns a count of all the hosts within a certain resource for which any network tests occurred.
The data is based on active host measurements collected by the Measurement Lab platform (M-Lab).
The measurements are commonly ran using the M-Lab Network Detection Tool (NDT), available as a stand-alone network speed test application, and also included in a popular BitTorrent client.
Note that due to the nature the data is processed data can be delayed for around two days at the beginning of each month!
The results published, including host details are covered by the M-Lab acceptable use policy.
https://stat.ripe.net/data/mlab-activity-count/data.<format>?<parameters>![]()
Parameters
| Key | Value | Info | Required |
|---|---|---|---|
| resource | IPv4 Prefix, IPv4 address or 2-digit ISO-3166 country code (e.g. "at","de"...) | Defines the resource that the query is performed for. | YES |
| starttime | ISO8601 or Unix timestamp | Defines the starttime for the query | NO - default: (endtime - 7d) |
| endtime | ISO8601 or Unix timestamp | Defines the endtime for the query | NO - default: latest time there is M-Lab data available |
Output
Data
| Key | Info |
|---|---|
| nr_ips | Total number of hosts for which activity was observed. |
| perc_coverage | (Only applicable for prefixes). The amount of address space coverage of the hosts. Equals to nr_clients/number of IPs in the prefix. |
| query_starttime | Defines the start of the time interval covered in the query. |
| query_endtime | Defines the end of the time interval covered in the query. |
| resource | Defines the resource used in the query. |
Example
"data": {
"nr_ips": 6,
"perc_coverage": 0.0091552734375,
"query_endtime": "2013-08-29T23:59:59",
"query_starttime": "2013-08-21T07:00:00",
"resource": "193.0.0.0/16"
}
M-lab Bandwidth
This data call returns a set of all the measured network bandwidths for a certain resource.
The data is based on active host measurements collected by the Measurement Lab platform (M-Lab).
The bandwidth of a host is determined as the maximum network throughput value for all the tests/measurements performed by that host during the specified time period.
The value of the measurement throughput is computed as the number of octets transmitted between the host and the chosen M-Lab server, divided by their transfer time.
The measurements are commonly ran using the M-Lab Network Detection Tool (NDT), available as a stand-alone network speed test application, and also included in a popular BitTorrent client.
Note that due to the nature the data is processed data can be delayed for around two days at the beginning of each month!
The results published, including host details are covered by the M-Lab acceptable use policy.
https://stat.ripe.net/data/mlab-bandwidth/data.<format>?<parameters>![]()
Parameters
| Key | Value | Info | Required |
|---|---|---|---|
| resource | IPv4 Prefix, IPv4 address or 2-digit ISO-3166 country code (e.g. "at","de"...) | Defines the resource that the query is performed for. | YES |
| starttime | ISO8601 or Unix timestamp | Defines the starttime for the query | NO - default: (endtime - 7d) |
| endtime | ISO8601 or Unix timestamp | Defines the endtime for the query | NO - default: latest time there is M-Lab data available |
Output
Data
| Key | Info |
|---|---|
| bandwidths | List of observed bandwidths in Mbps units. One value per host. |
| query_starttime | Defines the start of the time interval covered in the query. |
| query_endtime | Defines the end of the time interval covered in the query. |
| resource | Defines the resource used in the query. |
Example
"data": {
"bandwidths": [
2.484,
5.704,
5.157,
5.912,
2.904,
3.907,
3.843,
3.895,
1.642,
3.985,
[...]
],
"query_endtime": "2013-08-29T23:59:59",
"query_starttime": "2013-08-21T07:00:00",
"resource": "cy"
}
M-lab Clients
This data call returns a set of all the hosts within a certain resource for which any network tests occurred.
The data is based on active host measurements collected by the Measurement Lab platform (M-Lab).
The measurements are commonly ran using the M-Lab Network Detection Tool (NDT), available as a stand-alone network speed test application, and also included in a popular BitTorrent client.
Note that due to the nature the data is processed data can be delayed for around two days at the beginning of each month!
The results published, including host details are covered by the M-Lab acceptable use policy.
https://stat.ripe.net/data/mlab-clients/data.<format>?<parameters>![]()
Parameters
| Key | Value | Info | Required |
|---|---|---|---|
| resource | IPv4 Prefix, IPv4 address or 2-digit ISO-3166 country code (e.g. "at","de"...) | Defines the resource that the query is performed for. | YES |
| starttime | ISO8601 or Unix timestamp | Defines the starttime for the query | NO - default: (endtime - 7d) |
| endtime | ISO8601 or Unix timestamp | Defines the endtime for the query | NO - default: latest time there is M-Lab data available |
Output
Data
| Key | Info | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| clients |
A key-value list of hosts with network activity, indexed by the host IP address. Each record has the following format.
|
||||||||||
| nr_clients | Total number of hosts in the result. | ||||||||||
| perc_coverage | (Only applicable for prefixes). The amount of address space coverage of the hosts. Equals to nr_clients/number of IPs in the prefix. | ||||||||||
| query_starttime | Defines the start of the time interval covered in the query. | ||||||||||
| query_endtime | Defines the end of the time interval covered in the query. | ||||||||||
| resource | Defines the resource used in the query. |
Example
"data": {
"clients": {
"193.0.166.77": {
"city": "",
"country": "DE",
"latitude": 51.0,
"longitude": 9.0,
"num_tests": 6
},
"193.0.167.169": {
"city": "",
"country": "DE",
"latitude": 51.0,
"longitude": 9.0,
"num_tests": 3
},
"193.0.200.27": {
"city": "",
"country": "RU",
"latitude": 60.0,
"longitude": 100.0,
"num_tests": 6
},
[...]
},
"nr_clients": 6,
"perc_coverage": 0.0091552734375,
"query_endtime": "2013-08-29T23:59:59",
"query_starttime": "2013-08-21T07:00:00",
"resource": "193.0.0.0/16"
}
Network Info
This data call returns the containing prefix and announcing ASN of a given IP address.
https://stat.ripe.net/data/network-info/data.<format>?<parameters>![]()
e.g. https://stat.ripe.net/data/network-info/data.json?resource=140.78.90.50
Parameters
| Key | Value | Info | Required |
|---|---|---|---|
| resource | IP address | Any IP address one wants to get network info for | YES |
Output
Data
| Key | Info |
|---|---|
| asns | ASNs the prefix is announced from |
| prefix | prefix the requested IP address is in |
Example
{
"asns": [
"5511",
"6453"
],
"prefix": "41.138.32.0/20"
}
Prefix Count
This data call shows the number of prefixes announced by a given ASN over time.
https://stat.ripe.net/data/prefix-count/data.<format>?<parameters>![]()
e.g. https://stat.ripe.net/data/prefix-count/data.json?resource=AS3333&starttime;=2008-01-01T00:00:00
Parameters
| Key | Value | Info | Required |
|---|---|---|---|
| resource | AS for the query | - | YES |
| starttime | ISO8601 or Unix timestamp | default: Jan 1st 2000 | NO |
| endtime | ISO8601 or Unix timestamp | default: now | NO |
| min_peers_seeing | integer | Minimum number of RIS peers seeing the prefix for it to be included in the results. Excludes low-visibility/localized announcements. | NO (default: 3) |
| resolution | "8h" (8 hours),"2d" (2 days) or "12d" (12 days) | Defines the resolution/aggregation for the returned data, e.g. "2d" means that changes in the data must persist for longer than 2 days to be visible at this resolution. | NO (default: "12d") |
Output
Data
| Key | Info |
|---|---|
| ipv4 | Contains a series of incremental changes per timestamp on the IPv4 prefixes announced by the AS |
| ipv6 | Contains a series of incremental changes per timestamp on the IPv6 prefixes announced by the AS |
| timestamp | Time of the data point |
| prefixes | Number of prefixes announced by the AS at that point in time |
| address-space | Amount of address space, in terms of /24 (for IPv4) or /48 (for IPv6) subnets, anounced by the AS at that point in time |
| resource | holds the resource this query based on |
| query_starttime | the beginning of the time period the query covers |
| query_endtime | the end of the time period the query covers |
| resolution | states the resolution of the returned data |
Example
"data": {
"ipv4": [
{
"address-space": 0,
"prefixes": 0,
"timestamp": "2000-01-01T00:00:00"
},
{
"address-space": 4,
"prefixes": 1,
"timestamp": "2000-08-20T00:00:00"
},
{
"address-space": 0,
"prefixes": 0,
"timestamp": "2000-09-08T00:00:00"
},
{
"address-space": 12,
"prefixes": 2,
"timestamp": "2000-09-09T00:00:00"
},
[...]
],
"ipv6": [
{
"address-space": 0,
"prefixes": 0,
"timestamp": "2000-01-01T00:00:00"
},
{
"address-space": 64,
"prefixes": 1,
"timestamp": "2003-03-26T16:00:00"
},
{
"address-space": 0,
"prefixes": 0,
"timestamp": "2004-03-20T16:00:00"
},
[...]
],
"query_endtime": "2012-05-02T12:37:38",
"query_starttime": "2000-01-01T00:00:00",
"resource": "3333",
"resolution": "8h"
}
deprecated - 1.0
n.a.
Prefix Overview
This data call gives a summary of the given prefix, including whether and by whom it is announced.
https://stat.ripe.net/data/prefix-overview/data.<format>?<parameters>![]()
e.g. https://stat.ripe.net/data/prefix-overview/data.json?resource=193/23
Parameters
| Key | Value | Info | Required |
|---|---|---|---|
| resource | prefix | States the prefix you want to get the resource info for | YES |
| min_peers_seeing | integer | Minimum number of (RIS) peers necessary to see a resource to be included in the result | NO - if not provided a default is choosen by the server. An info message is added if any resource got filtered. |
| max_related | integer | Limits the number of related prefixes - if there are any - included in the result | NO - if not provided a default is choosen by the server. An info message is added if truncation happens. |
| query_time | ISO8601 or Unix timestamp | Defines the query time for the lookup | NO - default: latest time data available is available for |
Output
Data
| Key | Info |
|---|---|
| block | This contains information about this ASN or the ASN block it belongs to. Keys: desc (a human readable description), name (a human readable name) and the referencing resource/resources |
| announced | "True" if the prefix is announced, "False" otherwise |
| asns | A list of ("asn"/"holder") objects representing the originating ASNs. For multi-origin prefixes it's more than one ASN. |
| holder | Descriptive name for the AS if AS is given, "null" otherwise |
| resource | Outputs the prefix that the query is based on |
| type | For this data call always "prefix" |
| related_prefixes | List of related prefixes |
| actual_num_related | Total number of (returned and truncated) related prefixes. |
| num_filtered_out | Number of prefixes (exact or related) filtered by low-visibility filter. This can be controlled by the parameter "min_peers_seeing". |
| is_less_specific | True if the information in the response is for a larger block than the one requested. |
| resource | holds the resource this query based on |
| query_time | defines the query time the result is based on |
Examples
"data": {
"actual_num_related": 4072,
"announced": false,
"asns": [],
"block": {
"desc": "This block is allocated to APNIC by IANA.",
"name": "APNIC IPv4 Address Space",
"resources": "103.0.0.0/8",
"tags": ""
},
"is_less_specific": false,
"num_filtered_out": 83,
"query_time": "2014-03-03T08:00:00",
"related_prefixes": [
"103.0.0.0/16",
"103.1.0.0/22",
"103.1.4.0/24",
...
"103.1.7.0/24",
"103.1.98.0/24",
"103.1.99.0/24",
"103.1.100.0/24"
],
"resource": "103.0.0.0/9",
"type": "prefix"
},
deprecated - 1.0
This data call gives a summary of the given prefix, including whether and by whom it is announced.
https://stat.ripe.net/data/prefix-overview/data.<format>?<parameters>![]()
e.g. https://stat.ripe.net/data/prefix-overview/data.json?resource=193/23
Parameters
| Key | Value | Info | Required |
|---|---|---|---|
| resource | prefix | States the prefix you want to get the resource info for | YES |
Output
Data
| Key | Info |
|---|---|
| block | This contains information about this Prefix or the Network Block it belongs to. Keys: desc (a human readable description), name (a human readable name), resources (the block), tags (various uses) |
| announced | "True" if the prefix is announced, "False" otherwise |
| asns | A list of ("asn"/"holder") objects representing the originating ASNs. For multi-origin prefixes it's more than one ASN. |
| holder | Descriptive name for the AS if AS is given, "null" otherwise |
| resource | Outputs the prefix that the query is based on |
| type | For this data call always "prefix" |
| related_prefixes | List of related prefixes |
| is_less_specific | True if the information in the response is for a larger block than the one requested. |
| resource | holds the resource this query based on |
| query_time | defines the query time the result is based on |
Examples
prefix announced:
"data": {
"actual_num_related": 0,
"announced": true,
"asns": [
{
"asn": "1205",
"holder": "Johannes Kepler University"
}
],
"block": {
"desc": null,
"name": "Legacy space, administered by ARIN",
"resources": "140.0.0.0/8",
"tags": ""
},
"is_less_specific": false,
"query_time": "2012-12-10T00:00:00",
"related_prefixes": [],
"resource": "140.78.0.0/16",
"type": "prefix"
},
prefix NOT announced:
"data": {
"actual_num_related": 50,
"announced": false,
"asns": [],
"block": {
"desc": null,
"name": "Legacy space, administered by ARIN",
"resources": "140.0.0.0/8",
"tags": ""
},
"is_less_specific": false,
"query_time": "2012-12-10T00:00:00",
"related_prefixes": [
"140.45.2.0/24",
"140.45.5.0/24",
"140.45.7.0/24",
"140.45.10.0/24",
...
"140.242.210.0/24",
"140.242.212.0/24",
"140.242.225.0/24",
"140.242.249.0/24",
"140.251.0.0/16"
],
"resource": "140.0.0.0/8",
"type": "prefix"
},
upcoming - n.a.
Prefix Routing Consistency
This data call compares the given routes (prefix originating from an ASN) between Routing Registries and actual routing behaviour as seen by the RIPE NCC route collectors (RIS).
https://stat.ripe.net/data/prefix-routing-consistency/data.<format>?<parameters>![]()
e.g. https://stat.ripe.net/data/prefix-routing-consistency/data.json?resource=193.0.20.0/24
Parameters
| Key | Value | Info | Required |
|---|---|---|---|
| resource | prefix | The prefix to query | yes |
Output
Data
| Key | Info |
|---|---|
| in_bgp | "True" if the route has been seen by RIS, "False" otherwise |
| in_whois | "True" if the route exists in whois, "False" otherwise |
| origin | AS number (integer) of the route |
| asn_name | The name of this AS's holder |
| prefix | Prefix (CIDR string) of the route (more or less specific to the input resource) |
| irr_sources | IRR source this route was found in e.g. "RADB", "RIPE", "LEVEL3"... |
| query_starttime/query_endtime |
For registration data: query_starttime defines the query time For routing data: holds the start and end time the query covers From version 0.6 on the result is based on a snapshot instead of a time period. For compatibility reasons "query_starttime" and "query_endtime" will be kept in version 0.x but will hold the same value. |
| resource | Defines the resource used for the query |
Example
"data": {
"query_endtime": "2012-11-14T05:19:00",
"query_starttime": "2012-11-14T05:19:00",
"resource": "193.0.20.0/23",
"routes": [
{
"asn_name": "RIPE-NCC-AS - Reseaux IP Europeens Network Coordination Centre (RIPE NCC)",
"in_bgp": true,
"in_whois": true,
"irr_sources": [
"RIPE"
],
"origin": 3333,
"prefix": "193.0.20.0/23"
}
]
}
deprecated - 0.5
upcoming - 1.0
Prefix Size Distribution
This data call returns the total amount of prefixes announced by a given ASN per subnet size and IP version.
https://stat.ripe.net/data/prefix-size-distribution/data.<format>?<parameters>![]()
Parameters
| Key | Value | Info | Required |
|---|---|---|---|
| resource | AS for the query | - | YES |
| timestamp | ISO8601 or Unix timestamp | default: now - 2 days | NO |
| min_peers_seeing | integer | Minimum number of RIS peers seeing the prefix for it to be included in the results. Excludes low-visibility/localized announcements. | NO (default: 3) |
Output
Data
| Key | Info |
|---|---|
| ipv4 | contains prefix sizes of all IPv4 prefixes of the queried ASN |
| ipv6 | contains prefix sizes of all IPv6 prefixes of the queried ASN |
| count | total number of prefixes with the prefix size denoted by size |
| size | Prefix size |
| resource | holds the AS number the result is based on |
| query_time | holds the time of the snapshot the result is based on |
Example
"data": {
"ipv4": [
{
"count": 1,
"size": 21
},
{
"count": 5,
"size": 23
}
],
"ipv6": [
{
"count": 1,
"size": 42
},
{
"count": 1,
"size": 48
}
],
"resource": "3333",
"query_time": "2011-12-05T12:00:00"
}
deprecated - 2.0
upcoming - n.a.
RIR
This data call shows which RIR(s) allocated/assigned a resource. Depending on the level of detail ("lod" parameter) this can include additional information like registration status or country of registration. The data is based on RIR stats files, see ftp://ftp.ripe.net/pub/stats/.
https://stat.ripe.net/data/rir/data.<format>?<parameters>![]()
e.g. https://stat.ripe.net/data/rir/data.json?resource=193.0.0.0/16
Parameters
| Key | Value | Info | Required |
|---|---|---|---|
| resource | IP resource / ASN | Defines the resource to be queried. The result contains resources that are more or less specific to the queried resource. | YES |
| "starttime"/"endtime" | ISO8601 or Unix timestamp | Defines the time start and end time for the query. | NO - default: latest time data is available for. The RIRs are not synchronised on the release of the RIR stats, so the latest time can vary between RIRs. |
| "lod" | integer |
Defines the level of detail in which the data is being returned. Levels are:
|
NO - default: 1 |
Output
Level of detail: 0
With this level, the output contains just the authoritative RIR of the resource being queried. For a non-historical query, this usually returns the currently authoritative RIR. For a historical query, all the RIRs that have ever been authoritative for the resource will be returned.
Example
"data": {
"query_starttime": "2015-06-23T00:00:00",
"resource": "193.0.20.0/23",
"lod": 0,
"query_endtime": "2015-06-23T00:00:00",
"rirs": [
{
"rir": "RIPE NCC"
}
],
"latest": "2015-06-23T00:00:00"
}
Level of detail: 1
With this level, the information given for level 0 is complemented by timeline information, which makes it possible to tell exactly when an RIR was authoritative for the resource.
Example
"data": {
"query_starttime": "2015-06-23T00:00:00",
"resource": "193.0.20.0/23",
"lod": 1,
"query_endtime": "2015-06-23T00:00:00",
"rirs": [
{
"first_time": "2015-06-23T00:00:00",
"rir": "RIPE NCC",
"last_time": "2015-06-23T00:00:00"
}
],
"latest": "2015-06-23T00:00:00"
}
Level of detail: 2
With this level, the information given for level 1 is complemented by:
- Registration status
- Registration date
- Country of registration
- Registered resource related to this record
Example
"data": {
"query_starttime": "2015-06-23T00:00:00",
"resource": "193.0.20.0/23",
"lod": 2,
"query_endtime": "2015-06-23T00:00:00",
"rirs": [
{
"status": "ALLOCATED",
"first_time": "2015-06-23T00:00:00",
"country": "NL",
"rir": "RIPE NCC",
"registration": "1993-09-01T00:00:00",
"last_time": "2015-06-23T00:00:00"
},
{
"status": "AVAILABLE",
"first_time": "2015-06-23T00:00:00",
"country": null,
"rir": "RIPE NCC",
"registration": "",
"last_time": "2015-06-23T00:00:00"
}
],
"latest": "2015-06-23T00:00:00"
}
deprecated - n.a.
upcoming - n.a.
RIR Prefix Size Distribution
This data call returns the number of allocations and assignments (below the queried resource) according to registration data provided by Regional Internet Registries.
https://stat.ripe.net/data/rir-prefix-size-distribution/data.<format>?<parameters>![]()
e.g. https://stat.ripe.net/data/rir-prefix-size-distribution/data.json?resource=140.0.0.0/8
Parameters
| Key | Value | Info | Required |
|---|---|---|---|
| resource | Prefix to query for | - | YES |
| query_time | ISO8601 or Unix timestamp; note that every query_time passed will be normalized to midnight | Defines the query time | NO |
Output
Data
| Key | Info | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| rirs |
A list of prefix size distributions grouped by RIR. Each item has the following structure:
|
||||||||
| resource | holds the resource this query based on | ||||||||
| query_starttime/query_endtime | defines the time period the query covers |
Example
"data": {
"query_time": "2012-07-19T00:00:00",
"resource": "140.0.0.0/8",
"rirs": [
{
"distribution": [
{
"count": 0,
"prefix_size": 8
},
...
{
"count": 0,
"prefix_size": 32
}
],
"rir": "LACNIC"
},
{
"distribution": [
{
"count": 0,
"prefix_size": 8
},
{
"count": 0,
"prefix_size": 9
},
{
...
{
"count": 0,
"prefix_size": 32
}
],
"rir": "APNIC"
},
{
"distribution": [
{
"count": 0,
"prefix_size": 8
},
{
"count": 0,
"prefix_size": 9
},
...
{
"count": 0,
"prefix_size": 32
}
],
"rir": "AFRINIC"
},
{
"distribution": [
{
"count": 0,
"prefix_size": 8
},
{
"count": 0,
"prefix_size": 9
},
...
{
"count": 0,
"prefix_size": 32
}
],
"rir": "ARIN"
},
{
"distribution": [
{
"count": 0,
"prefix_size": 8
},
{
"count": 0,
"prefix_size": 9
},
...
{
"count": 0,
"prefix_size": 32
}
],
"rir": "RIPE NCC"
}
]
},
RIS Asns
This data call provides high-level information on ASNs in RIS, including:
- total number of ASNs
- listing of all ASNs
By default, the data call returns the total number of ASNs; more details can be obtained using parameters.
Note the term "transit" related to this data call means any ASN that is seen in the AS paths, collected by RIS, that is not the origin of a route.
This data call is in development status until the end of October. Due to the development status, the data starts only from 2015-07-01. Furhter data will be available as soon as the status changes to "supported".
https://stat.ripe.net/data/ris-asns/data.<format>?<parameters>![]()
e.g. https://stat.ripe.net/data/ris-asns/data.json
Parameters
| Key | Value | Info | Required |
|---|---|---|---|
| query_time | ISO8601 or Unix timestamp | Defines the time of the lookup. This value needs to be aligned to the RIS dump times! | No - by default, it will return the latest available data point (either 00:00, 08:00 or 16:00 UTC) |
| list_asns | boolean ("true"/"false") | If true, the data call will return a list of all ASNs. This might be further separated into "originating" and "transitting". | No - default is "false" |
| asn_types | "o","t" or "o,t" | "o" stands for originating and will show originating ASNs separately. "t" does the same for transitting ASNs (keep in mind the definition of a transit in this case). | No - by default, if ASNs are listed, they are shown indiscriminately, with no separation between originating or transitting. |
Output
Total number of ASNs seen in RIS (default)
https://stat.ripe.net/data/ris-asns/data.json?query_time=2015-09-23T08:00
The data call simply returns the total number of observed ASNs in RIS at the time given in the "query_time" parameter.
Example
"data": {
"counts": {
"total": 52360
},
"list_asns": false,
"query_time": "2015-09-23T08:00:00"
}
ASNs are listed with no distinction between originating and transitting
https://stat.ripe.net/data/ris-asns/data.json?list_asns=true
The data call returns the list (which is shortened in the docuemtation) of all ASNs seen in RIS at the time given in the "query_time" parameter.
Example
"data": {
"counts": {
"total": 52360
},
"query_time": "2015-09-23T08:00:00",
"asns": [
1,
2,
3,
4,
5,
...
4294902000,
4294967295
],
"list_asns": true
}
ASNs are listed with distinction between originating and transitting
https://stat.ripe.net/data/ris-asns/data.json?list_asns=true&asn;_types=t,o
The data call returns the two lists (which are shortened in the docuemtation) of all originating and transiting ASNs seen in RIS at the time given in the "query_time" parameter.
Example
"data": {
"asn_types": [
"t",
"o"
],
"counts": {
"originating": 52102,
"transitting": 8404
},
"query_time": "2015-09-23T08:00:00",
"asns": {
"originating": [
1,
2,
3,
4,
5,
6,
...
4294901860,
4294901862,
4294902000
],
"transitting": [
1,
2,
3,
4,
8,
...
3202632026,
4200000055,
4294967295
]
},
"list_asns": true
deprecated - n.a.
upcoming - n.a.
RIS First-Last-Seen
This data call provides information on when a prefix or ASN was first and last seen in RIS data.
The data generally goes back to 2000. For the recency of the data you can check
the parameter "latest_time", which usually is not more than 8 hours behind real-time.
The "low_visibility" flag, which can be optionally included, shows if the data point was seen by a low or high number of
peers.
https://stat.ripe.net/data/ris-first-last-seen/data.<format>?<parameters>![]()
e.g. https://stat.ripe.net/data/ris-first-last-seen/data.json?resource=193.0.20.0/23
Parameters
| Key | Value | Info | Required |
|---|---|---|---|
| resource | Prefix, ASN |
A prefix or ASN to be looked up. The output for ASNs distinguishes between how an ASN has been seen in RIS. This can be as either originating or not. Originating has the type set to "o". |
Yes |
| include | more_specific, low_visibility_flag |
This parameter defines additional data to be included. "more_specific" includes more specific IP ranges, which only works for prefix lookups. By default "more_specific" is not set as it makes the lookup slower. "low_visibility_flag" includes the flag to indicate low visibility. By default it is not included. |
No |
Output
First and last seen in RIS for a prefix
This prefix was first seen at 2008-03-27 and last seen very recently 2016-08-08. In both cases it was seen by enough peers to be considered "globally" routed.
Example
"data": {
"latest_time": "2016-08-11T08:00:12",
"resource": "193.0.20.0/23",
"include": [
"low_visibility_flag"
],
"stats": {
"count": 1
},
"resources": [
{
"resource": "193.0.20.0/23",
"last": {
"time": "2016-08-08T08:00:00",
"low_visibility": false
},
"first": {
"time": "2008-03-27T00:00:00",
"low_visibility": false
}
}
]
}
First and last seen in RIS for an ASN
This network first appeared on the Internet in August 2000.
Example
"data": {
"latest_time": "2016-08-11T08:00:12",
"resource": "3333",
"include": [
"low_visibility_flag"
],
"stats": {
"count": 2
},
"resources": [
{
"last": {
"low_visibility": false,
"time": "2016-08-11T08:00:00"
},
"type": "o",
"resource": "3333",
"first": {
"low_visibility": false,
"time": "2000-08-18T08:00:00"
}
},
{
"last": {
"low_visibility": false,
"time": "2016-08-11T08:00:00"
},
"type": "t",
"resource": "3333",
"first": {
"low_visibility": false,
"time": "2000-08-18T08:00:00"
}
}
]
}
deprecated - n.a.
upcoming - n.a.
RIS Prefixes
This data call provides information on prefixes related to an ASN. The data call distinguishes prefixes in the originated and transitted ASN.
Note that this distinction is purely based on the perspective of the RIPE NCC's RIS system and does NOT imply the underlying (business) relationships between networks!
The data call supports history, with each data point being aligned to times a dump is created in RIS (00:00, 08:00 and 16:00 UTC).
By default, the data call returns just the count of prefixes related to the looked up ASN. This is mainly to prevent returning thousands of prefixes. See parameter settings below to further tailor the output to your needs.
https://stat.ripe.net/data/ris-prefixes/data.<format>?<parameters>![]()
e.g. https://stat.ripe.net/data/ris-prefixes/data.json?resource=3333
Parameters
| Key | Value | Info | Required |
|---|---|---|---|
| resource | ASN | The ASN to be looked up. | Yes |
| query_time | ISO8601 or Unix timestamp | Defines the time of the lookup. This value needs to be aligned to the RIS dump times! | No - by default it will return the latest available data point (either 00:00, 08:00 or 16:00 UTC) |
| list_prefixes | boolean ("true"/"false") | If true, the data call will return all prefixes and not only the total counts. This might be further separated into "originating" and "transitting". | No - default is "false" |
| types | "o","t" or "o,t" | "o" will show originating prefixes and "t" transitting. The combination shows both, which is the default. | No - by default originating and transitting are included. |
| af | "v4","v6" or "v4,v6" | This parameter lets you filter the address family: "v4" shows only IPv4 and "v6" only IPv6. | No - by default, IP version 4 and 6 are included. |
| noise | "keep" or "filter" | Noise refers to routed prefixes that are either coming from private IP space, single IP addresses or the entire IP space (/0). "filter" will remove these prefixes from the output, "keep" will not remove any prefixes. | No - by default "keep" is enabled. |
Output
Counts of prefixes classified by address family and ASN relation (default)
https://stat.ripe.net/data/ris-prefixes/data.json?resource=3333
The data call returns the counts of prefixes for the given ASN and for the latest time that data is available for.
Example
"data": {
"query_time": "2015-09-24T08:00:00",
"resource": "3333",
noise: [
"keep"
],
"af": [
"v4",
"v6"
],
"counts": {
"v4": {
"originating": 6,
"transitting": 11
},
"v6": {
"originating": 1,
"transitting": 3
}
},
"list_prefixes": false,
"types": [
"o",
"t"
]
}
Listing prefixes
https://stat.ripe.net/data/ris-prefixes/data.json?resource=3333&list;_prefixes=true
In this example, the output shows the prefixes that have been aggregated in the first example.
Example
"data": {
"prefixes": {
"v4": {
"originating": [
"193.0.18/23",
"193.0.22/23",
"193.0.20/23",
"193.0.10/23",
"193.0.0/21",
"193.0.12/23"
],
"transitting": [
"93.175.146/24",
"84.205.83/24",
"23.128.125.0/25",
"23.128.24/24",
"193.0.24/21",
"23.128.25.240/28",
"84.205.66/24",
"23.128.25.0/25",
"23.128.125.240/28",
"93.175.147/24",
"23.128.124/24"
]
},
"v6": {
"originating": [
"2001:67c:2e8::/48"
],
"transitting": [
"2001:67c:64::/48",
"2001:7fb:fd02::/48",
"2001:7fb:fd03::/48"
]
}
},
"query_time": "2015-09-24T08:00:00",
"resource": "3333",
"af": [
"v4",
"v6"
],
"counts": {
"v4": {
"originating": 6,
"transitting": 11
},
"v6": {
"originating": 1,
"transitting": 3
}
},
"list_prefixes": true,
"types": [
"o",
"t"
]
}
deprecated - n.a.
upcoming - n.a.
RIS Peerings
This data call returns routes for advertisements of a given IP resource, or that are originated from a given ASN, as seen by the RIPE NCC route collectors.
https://stat.ripe.net/data/ris-peerings/data.<format>?<parameters>![]()
e.g. https://stat.ripe.net/data/ris-peerings/data.json?resource=140.78.0.0/16
Parameters
| Key | Value | Info | Required |
|---|---|---|---|
| resource | Prefix | - | YES |
| query_time | ISO8601 or Unix timestamp | Defines the time for the query | NO - default: latest time there is BGP data available |
Output
Data
| Key | Info | ||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| peerings |
A list of ASNs grouped by the RIPE NCC Routing Information Service probe they were seen by. Each group item has the following structure:
|
||||||||||||||||||||||||||
| resource | The resource this query based on. | ||||||||||||||||||||||||||
| query_starttime/query_endtime | The time period the query covers. In the upcoming version 2 this will change to just "query_time". |
Example
"data": {
"peerings": [
{
"peers": [
{
"asn": 50300,
"ip": "176.12.110.8",
"ip_version": "4",
"prefix_count": 432971,
"routes": [
{
"as_path": [
50300,
5580,
2852,
1853,
1205
]
}
]
},
...
{
"asn": 29049,
"ip": "2a01:6480::1",
"ip_version": "6",
"prefix_count": 9930,
"routes": []
}
],
"probe": {
"city": "Amsterdam",
"country": "Netherlands",
"ipv4_peer_count": 22,
"ipv6_peer_count": 10,
"ixp": "RIPE-NCC Multihop",
"latitude": 55.656500000000001,
"longitude": 5.0095299999999998,
"name": "RRC00"
}
},
...
{
"peers": [
{
"asn": 16735,
"ip": "187.16.216.24",
"ip_version": "4",
"prefix_count": 420776,
"routes": [
{
"as_path": [
16735,
1239,
3356,
1853,
1205
]
}
]
},
...
{
"asn": 0,
"ip": "187.16.216.75",
"ip_version": "4",
"prefix_count": 1,
"routes": []
}
],
"probe": {
"city": "Sao Paulo",
"country": "Brazil",
"ipv4_peer_count": 13,
"ipv6_peer_count": 8,
"ixp": "PTTMetro",
"latitude": -23.600200000000001,
"longitude": -46.694699999999997,
"name": "RRC15"
}
}
],
"query_endtime": "2012-08-09T08:09:00",
"query_starttime": "2012-08-07T08:09:00",
"resource": "140.78.0.0/16"
},
deprecated - 0.4
upcoming - 2.0
RIS Peer Count
This data call provides information on the number of peers as seen by the RIS system. The data call supports history and each data point is aligned to the RIS RIB dump times (every 8 hours starting from midnight each day). Additionally the data shows the number of full-table peers with paramters to change the threshold (per address family).
https://stat.ripe.net/data/ris-peer-count/data.<format>?<parameters>![]()
e.g. https://stat.ripe.net/data/ris-peer-count/data.json
Parameters
| Key | Value | Info | Required |
|---|---|---|---|
| starttime/endtime | ISO8601 or Unix timestamp | Defines the start and end time for the query window | No - by default it will return the latest available data point (either 00:00, 08:00 or 16:00 UTC) |
| v4_full_prefix_threshold/ v6_full_prefix_threshold | digit | Defines the thresholds (IPv4 and IPv6) used to calculate the number of full-table peers. | NO - default are returned in the output. |
Output
Data
| Key | Info | ||||||
|---|---|---|---|---|---|---|---|
| peer_count |
Groups the address families. Each group item ("v4" or "v6") has the following structure:
|
||||||
| v4_full_prefix_threshold/ v6_full_prefix_threshold | Reflects the thresholds that are used for the calculations of the full-table peers. Both (IPv4 and IPv6) are the number of prefixes a peer needs to send before it is considered a full-table peer. | ||||||
| starttime / endtime | Reflects the start and end time for the query window of the result. |
Example
"peer_count": {
"v4": {
"total": [
{
"count": 349,
"timestamp": "2014-12-09T08:00:00"
}
],
"full_feed": [
{
"count": 105,
"timestamp": "2014-12-09T08:00:00"
}
]
},
"v6": {
"total": [
{
"count": 168,
"timestamp": "2014-12-09T08:00:00"
}
],
"full_feed": [
{
"count": 95,
"timestamp": "2014-12-09T08:00:00"
}
]
}
},
"start_time": "2014-12-09T08:00:00",
"v6_full_prefix_threshold": 5000,
"end_time": "2014-12-09T08:00:00",
"v4_full_prefix_threshold": 150000
}
deprecated - 1.0
upcoming - n.a.
Related Prefixes
This data call returns prefixes that overlap or are adjacent to the specified IP resource.
https://stat.ripe.net/data/related-prefixes/data.<format>?<parameters>![]()
e.g. https://stat.ripe.net/data/related-prefixes/data.json?resource=140.78.0.0/16
Parameters
| Key | Value | Info | Required |
|---|---|---|---|
| resource | Prefix or IP range to query for | - | YES |
Output
Data
| Key | Info |
|---|---|
| prefixes | contains the related prefixes in a list |
| prefix | contains a single related prefix |
| origin_asn | contains the origin ASN of this related prefix |
| asn_origin | contains the name of the originating ASN |
| relationship | contains the type of relationship (e.g. More Specific, Adjacency - Left) |
| query_time | holds the time when the query was carried out |
| resource | holds the resource the data is based on |
Example
"data": {
"prefixes": [
{
"asn_name": "FR-LYRES Lyon Recherche et Enseignement Sup\ufffdeur (LyRES)",
"origin_asn": "AS1945",
"prefix": "140.77.0.0/16",
"relationship": "Adjacency - Left"
},
{
"asn_name": "CSIRO Commonwealth Scientific and Industrial",
"origin_asn": "AS6262",
"prefix": "140.79.0.0/17",
"relationship": "Adjacency - Right"
}
],
"query_time": "2012-05-02T12:06:00",
"resource": "140.78.0.0/16"
},
Reverse DNS
This data call returns details of reverse DNS delegations for IP prefixes in the RIPE region.
https://stat.ripe.net/data/reverse-dns/data.<format>?<parameters>![]()
e.g. https://stat.ripe.net/data/reverse-dns/data.json?resource=193.0.0.0/21
Parameters
| Key | Value | Info | Required |
|---|---|---|---|
| resource | Prefix for the query | - | YES |
Output
Data
| Key | Info |
|---|---|
| delegations | contains domain objects found in the RIPE Whois database related to this prefix (either exact match, more or less-specific) representing reverse delegated zones. Each line is described as "key" and "value" pair. |
| query_time | Holds the time the query was carried out |
| resource | Defines the resource used for the query |
Example
"data": {
"delegations": [
[
{
"key": "domain",
"value": "46.213.in-addr.arpa"
},
{
"key": "descr",
"value": "Reverse delegation for Reverse delegation for UPC.nl"
},
{
"key": "admin-c",
"value": "CBHM-RIPE"
},
{
"key": "tech-c",
"value": "CBHM-RIPE"
},
{
"key": "zone-c",
"value": "CBHM-RIPE"
},
{
"key": "nserver",
"value": "ns3.chello.at"
},
{
"key": "nserver",
"value": "ns01.chello.com"
},
{
"key": "nserver",
"value": "ns02.chello.com"
},
{
"key": "nserver",
"value": "ns.ripe.net"
},
{
"key": "mnt-by",
"value": "UPCNL-MNT"
},
{
"key": "source",
"value": "RIPE"
}
]
],
"query_time": "2012-06-01T15:05:00",
"resource": "213.46.32.0/20"
}
Reverse DNS IP
This is just a simple lookup for the reverse DNS info against a single IP address.
https://stat.ripe.net/data/reverse-dns-ip/data.<format>?<parameters>![]()
e.g. https://stat.ripe.net/data/reverse-dns/data.json?resource=193.0.6.139
Parameters
| Key | Value | Info | Required |
|---|---|---|---|
| resource | IP address for the query | - | YES |
Output
Data
| Key | Info |
|---|---|
| result | A single domain name. |
| error | If not empty explains an error that occurred (e.g. "Domain does not exists (NXDOMAIN)", "Timeout"...) |
Example
"data": {
"query_time": "2013-02-04T15:06:00",
"resource": "193.0.6.139",
"result": "www.ripe.net.",
"error": ""
}
Reverse DNS Consistency
This data call returns details on the reverse DNS delegations and its consistency with routed and registered IP space.
The input can be a single prefix or an ASN, in which case all routed and registered prefixes for this ASN are used as an input.
https://stat.ripe.net/data/reverse-dns-consistency/data.<format>?<parameters>![]()
e.g. https://stat.ripe.net/data/reverse-dns-consistency/data.json?resource=193.0.0.0/21
Parameters
| Key | Value | Info | Required |
|---|---|---|---|
| resource | Prefix for the query | - | YES |
| ipv4/ipv6 | Filter option on IP version | e.g. &ipv4;=false or &ipv4;=0 | NO - by default both versions are displayed |
Output
Data
| Key | Info | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| prefixes |
Holds the results separated in "v4" and "v6" results. Results per IP version are grouped by
prefixes.
|
||||||||||
| query_time | Holds the time the query was carried out | ||||||||||
| resource | Defines the resource used for the query | ||||||||||
| ipv4/ipv6 | Reflects the filter options on IP versions. |
Example
"data": {
"prefixes": {
"ipv4": {
"193.0.0.0/21": {
"complete": true,
"domains": [
{
"domain": "0.0.193.in-addr.arpa",
"found": true,
"prefix": "193.0.0.0/24"
},
{
"domain": "1.0.193.in-addr.arpa",
"found": true,
"prefix": "193.0.1.0/24"
},
{
"domain": "2.0.193.in-addr.arpa",
"found": true,
"prefix": "193.0.2.0/24"
},
{
"domain": "3.0.193.in-addr.arpa",
"found": true,
"prefix": "193.0.3.0/24"
},
{
"domain": "4.0.193.in-addr.arpa",
"found": true,
"prefix": "193.0.4.0/24"
},
{
"domain": "5.0.193.in-addr.arpa",
"found": true,
"prefix": "193.0.5.0/24"
},
{
"domain": "6.0.193.in-addr.arpa",
"found": true,
"prefix": "193.0.6.0/24"
},
{
"domain": "7.0.193.in-addr.arpa",
"found": true,
"prefix": "193.0.7.0/24"
}
]
},
"193.0.10.0/23": {
"complete": false,
"domains": [
{
"domain": "10.0.193.in-addr.arpa",
"found": true,
"prefix": "193.0.10.0/24"
},
{
"domain": "11.0.193.in-addr.arpa",
"found": false,
"prefix": "193.0.11.0/24"
}
]
},
"193.0.12.0/23": {
"complete": true,
"domains": [
{
"domain": "12.0.193.in-addr.arpa",
"found": true,
"prefix": "193.0.12.0/24"
},
{
"domain": "13.0.193.in-addr.arpa",
"found": true,
"prefix": "193.0.13.0/24"
}
]
},
"193.0.18.0/23": {
"complete": true,
"domains": [
{
"domain": "18.0.193.in-addr.arpa",
"found": true,
"prefix": "193.0.18.0/24"
},
{
"domain": "19.0.193.in-addr.arpa",
"found": true,
"prefix": "193.0.19.0/24"
}
]
},
"193.0.20.0/23": {
"complete": true,
"domains": [
{
"domain": "20.0.193.in-addr.arpa",
"found": true,
"prefix": "193.0.20.0/24"
},
{
"domain": "21.0.193.in-addr.arpa",
"found": true,
"prefix": "193.0.21.0/24"
}
]
},
"193.0.22.0/23": {
"complete": true,
"domains": [
{
"domain": "22.0.193.in-addr.arpa",
"found": true,
"prefix": "193.0.22.0/24"
},
{
"domain": "23.0.193.in-addr.arpa",
"found": true,
"prefix": "193.0.23.0/24"
}
]
}
},
"ipv6": {
"2001:67c:2e8::/48": {
"complete": true,
"domains": [
{
"domain": "8.e.2.0.c.7.6.0.1.0.0.2.ip6.arpa",
"found": true,
"prefix": "2001:67c:2e8::/48"
}
]
}
}
},
"query_time": "2014-04-29T10:28:55.723330",
"resource": "3333",
"source": "routes",
"ipv4": true,
"ipv6": true
},
Routing History
This data call shows the history of announcements for prefixes, including the origin ASN and the first hop.
The data comes from the RIS route collectors.
https://stat.ripe.net/data/routing-history/data.<format>?<parameters>![]()
e.g. https://stat.ripe.net/data/routing-history/data.json?resource=AS3333
e.g. https://stat.ripe.net/data/routing-history/data.json?resource=193.0.0.0/21
Parameters
| Key | Value | Info | Required |
|---|---|---|---|
| resource | prefix or ASN | The resource to query. This is a prefix (v4/v6), IP address or AS number. | yes |
| max_rows | integer | The maximum number of routes to return. This is a soft limit: all recorded routes for each origin ASN are returned, but when the row limit is reached no more origins will be returned. | no (default: 3000) |
| include_first_hop | boolean | Include the first hop ASN in the route, instead of just the origin ASN. | no (default: false) |
| normalise_visibility | boolean | Add a visibility field to each timeline indicating the visibility of the route (according to RIS) at that point in time. The visibility is computed as the peers_seeing divided by the number of RIS full table peers at the time. | no (default: false) |
| min_peers | integer | Minimum number of full-feed RIS peers seeing the route for the segment to be included in the results. Excludes low-visibility/localized announcements. | no (default: 3) |
| starttime | ISO8601 or Unix timestamp | Defines the starttime for the query | no (default: 2004-01-01) |
| endtime | ISO8601 or Unix timestamp | Defines the endtime for the query | no (default: latest time there is BGP data available) |
Output
Data
| Key | Info | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| by_origin |
A list containing routes grouped by origin.
|
||||||||||||||||
| query_endtime | The time for which the data is valid. | ||||||||||||||||
| query_starttime | The time for which the data is valid. |
Example
"data": {
{
"by_origin": [
{
"origin": "AS3333",
"prefixes": [
{
"prefix": "193.0.0.0/21",
"timelines": [
{
"endtime": "2004-08-31T16:00:00",
"full_peers_seeing": 62.43,
"starttime": "2004-01-01T00:00:00"
},
"..."
]
},
"..."
]
},
"..."
],
"resource": "3333",
"query_endtime": "2013-11-25T00:00:00",
"query_starttime": "2004-01-01T00:00:00"
}
}
deprecated - 1.3
upcoming - n.a.
Routing Status
This data call returns a summary of the current BGP routing state of a given IP prefix or ASN, as observed by the RIS route collectors.
https://stat.ripe.net/data/routing-status/data.<format>?<parameters>![]()
e.g. https://stat.ripe.net/data/routing-status/data.json?resource=AS3333
e.g. https://stat.ripe.net/data/routing-status/data.json?resource=193.0.0.0/21
Parameters
| Key | Value | Info | Required |
|---|---|---|---|
| resource | resource | The resource to query. This is a prefix (v4/v6), IP address or AS number | yes |
| timestamp | ISO8601 or Unix timestamp | Defines the time for which to perform the query | no |
| min_peers_seeing | boolean | Minimum number of peers seeing the route for it to be included in the results. Excludes low-visibility/localized announcements. | no (default: 3) |
Output
Data
| Key | Info | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| first_seen/last_seen |
Information on when and how the resource was first and last seen in BGP. The following structure is present only if the resource was ever seen in BGP.
|
||||||||||||
| visibility |
The BGP visibility of the resource, in terms of RIS peers seeing the resource versus total peers, separated over IPv4 and IPv6.
|
||||||||||||
|
announced space
(only for resources of type: AS) |
Indicates the amount of address space currently announced by that AS number.
|
||||||||||||
|
observed_neighbours
(only for resources of type: AS) |
The amount of unique ASes which are observed to be BGP neighbours of the queried AS at this point in time. Note that the AS might have more neighbours than is specified here, but they are not observed by the RIS collectors. | ||||||||||||
|
origins
(only for resources of type: prefix) |
The list of origin ASes which currently announce this exact match prefix. Each item has the following structure:
|
||||||||||||
|
less_specifics/more_specifics
(only for resources of type: prefix) |
The list of less specific and more specific prefixes related to the queries prefix currently announced in BGP. Each list is limited to a maximum of 50 items. Each item has the following structure:
|
||||||||||||
| resource | The resource this query is based on. | ||||||||||||
| query_time | The time for which the data is valid. |
Example
"data": {
"announced_space": {
"v4": {
"ips": 4608,
"prefixes": 6
},
"v6": {
"48s": 1,
"prefixes": 1
}
},
"first_seen": {
"origin": 3333,
"prefix": "193.0.0.0/22",
"time": "2000-08-20T00:00:00"
},
"last_seen": {
"origin": 3333,
"prefix": "193.0.0.0/21",
"time": "2012-10-25T00:00:00"
},
"observed_neighbours": 161,
"query_time": "2012-10-25T00:00:00",
"resource": "3333",
"visibility": {
"v4": {
"ris_peers_seeing": 90,
"total_ris_peers": 90
},
"v6": {
"ris_peers_seeing": 83,
"total_ris_peers": 83
}
}
}
deprecated - 2.2
upcoming - n.a.
RPKI Validation Status
This data call returns the RPKI validity state for a combination of prefix and Autonomous System. This combination will be used to perform the lookup against the RIPE NCC's RPKI Validator, and then return its RPKI validity state. More specifically, according to its documentation:
When you supply a combination of Autonomous System (AS) and prefix, they will be matched against all the Validated ROA Prefixes (VRPs) that are in the cache of the RPKI Validator
https://stat.ripe.net/data/rpki-validation/data.json?resource=3333&prefix;=193.0.0.0/21![]()
e.g. https://stat.ripe.net/data/rpki-validation/data.json?resource=3333&prefix;=193.0.0.0/21
Parameters
| Key | Value | Info | Required |
|---|---|---|---|
| resource | ASN | The ASN used to perform the RPKI validity state lookup. | YES |
| prefix | prefix | The prefix to perform the RPKI validity state lookup. Note the prefix's length is also taken from this field. | YES |
Output
Data
| Key | Info |
|---|---|
| status | The RPKI validity state, according to RIPE NCC's RPKI validator. Possible states are: NotFound, Valid, or Invalid. |
| description | The description that ended in the returned status. |
| prefix | The prefix this query is based on. |
| resource | The resource (ASN) this query is based on. |
Example
"data": {
"status": "Valid",
"prefix": "193.0.0.0/21",
"resource": "3333"
}
deprecated - n.a.
upcoming - n.a.
Searchcomplete
This data call returns example resource that are directly or indirectly related to the given input.
https://stat.ripe.net/data/searchcomplete/data.<format>?<parameters>![]()
e.g. https://stat.ripe.net/data/searchcomplete/data.json?resource=RIPE
Parameters
| Key | Value | Info | Required |
|---|---|---|---|
| resource | term that should tried to be matched against resources | - | YES |
| limit | number | Defines how many suggestions are returned per category | NO - default: 6 |
Output
Data
| Key | Info |
|---|---|
| categories | This contains a list of objects each with a "category" and a "suggestions" property, which contains the suggestions and defines the category they are belonging to. |
| resource | Reflects the query term that the suggestions are based on. |
| limit | The maximum number of suggestions per category. |
Example
"data": {
"categories": [
{
"category": "ASNs",
"suggestions": [
{
"description": "RIPE-MEETING-AS Reseaux IP Europeens Network Coordination Centre (RIPE NCC)",
"label": "AS2121",
"value": "AS2121"
},
{
"description": "RIPE-NCC-AS Reseaux IP Europeens Network Coordination Centre (RIPE NCC)",
"label": "AS3333",
"value": "AS3333"
},
{
"description": "RIPE-NCC-RIS-AS Reseaux IP Europeens Network Coordination Centre (RIPE NCC)",
"label": "AS12654",
"value": "AS12654"
}
]
},
{
"category": "Domains",
"suggestions": [
{
"description": "ripe.net ranks #11414 on Alexa.com",
"label": "ripe.net",
"value": "ripe.net"
},
{
"description": "riper.am ranks #26348 on Alexa.com",
"label": "riper.am",
"value": "riper.am"
}
]
},
...
{
"category": "Special",
"suggestions": [
{
"description": "Go to the RIPE Atlas Measurement Targets widget",
"label": "RIPE Atlas Measurement Targets",
"link": "/widget/atlas-targets",
"value": "Go to RIPE Atlas Measurement Targets"
},
{
"description": "Go to the RIPE Atlas Probes widget",
"label": "RIPE Atlas Probes",
"link": "/widget/atlas-probes",
"value": "Go to RIPE Atlas Probes"
}
]
}
],
"limit": 3,
"query_term": "RIPE",
"query_time": "2014-01-09T12:57:00"
},
deprecated - n.a.
upcoming - n.a.
Speedchecker Bandwidth Measurements
This data call provides bandwidth measurement results collected on the Speedchecker platform. The bandwith is measured
with HTML5 clients (e.g. https://www.broadbandspeedchecker.co.uk) as well as with Speedchecker's mobile applications. The unit of measurement is kilobits per second (Kbps).
Since 2018-05-28 data is synchronized live between Speedchecker and RIPEstat, which means that every measurement done on the Speedchecker platform will show up in this data call
after a few seconds.
https://stat.ripe.net/data/speedchecker-bandwidth-measurements/data.<format>?<parameters>![]()
e.g. https://stat.ripe.net/data/speedchecker-bandwidth-measurements/data.json?resource=140.78/16
Parameters
| Key | Value | Info | Required |
|---|---|---|---|
| resource |
prefix |
At this moment the data call only supports prefixes but aggregations for ASNs and countries is planned. | Yes |
| starttime/endtime | ISO8601 or Unix timestamp | The start/end time defining the upper and lower boundry of the lookup. | No - by default the data call returns the last month starting from the most recent data. The query window is limited to 180 days! |
Output
Bandwith Measurements within a prefix
https://stat.ripe.net/data/speedchecker-bandwidth-measurements/data.json?resource=140.78/16
Returns bandwidth measurements within the prefix 140.78/16.
Example
"data": {
"statistics": {
"measurements": 3
},
"measurements": [
{
"date": "2016-06-13T11:13:57.560000",
"down": 70520,
"prefix": "140.78.142.0/24",
"up": 93552
},
{
"date": "2016-08-25T11:41:18.557000",
"down": 6860,
"prefix": "140.78.181.0/24",
"up": 3461
},
{
"date": "2016-09-22T15:26:57.250000",
"down": 11182,
"prefix": "140.78.183.0/24",
"up": 2816
}
],
"resource": "140.78.0.0/16",
"starttime": "2016-04-03T00:00:00",
"endtime": "2016-09-30T00:00:00",
"earliest_time": "2011-01-01T00:00:00",
"latest_time": "2018-04-01T00:00:00"
}
deprecated - n.a.
upcoming - n.a.
Visibility
This data call shows how often a particular IP resource has been seen by RIPE NCC route collectors.
https://stat.ripe.net/data/visibility/data.<format>?<parameters>![]()
e.g. https://stat.ripe.net/data/visibility/data.json?resource=140.78.0.0/16
Parameters
| Key | Value | Info | Required |
|---|---|---|---|
| resource | Prefix or IP range to query for | - | YES |
| starttime | ISO8601 or Unix timestamp | Defines the starttime for the query | NO - default: latest time there is BGP data available |
| endtime | ISO8601 or Unix timestamp | Defines the endtime for the query | NO - default: latest time there is BGP data available |
| include | peers_seeing |
This parameter defines additional data to be included. "peers_seeing" includes details on peers that are seeing a resource as only the peers that are not seeing a resource. By default it is not set because the output become significantly bigger. |
No |
Output
Data
| Key | Info | ||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| visibilities |
A list of RIPE NCC Routing Information Service probes with visibility information. Each probe item has the following structure:
|
||||||||||||||||||||||
| resource | The resource this query is based on. | ||||||||||||||||||||||
| query_starttime/query_endtime | The time period the query covers. In version 3.1 the result is based on a snapshot instead of a time period. For compatibility reasons "query_starttime" and "query_endtime" will be kept in version 3.x but will hold the same value. |
Example
"data": {
"query_endtime": "2012-06-28T10:21:00",
"query_starttime": "2012-06-28T10:21:00",
"resource": "140.78.0.0/16",
"visibilities": [
{
"ipv4_full_table_peer_count": 19,
"ipv4_full_table_peers_not_seeing": [],
"ipv6_full_table_peer_count": 0,
"ipv6_full_table_peers_not_seeing": [],
"probe": {
"city": "Amsterdam",
"country": "Netherlands",
"ipv4_peer_count": 22,
"ipv6_peer_count": 8,
"ixp": "RIPE-NCC Multihop",
"latitude": 55.656500000000001,
"longitude": 5.0095299999999998,
"name": "RRC00"
}
},
{
"ipv4_full_table_peer_count": 11,
"ipv4_full_table_peers_not_seeing": [
{
"asn": 30844,
"ip": "195.66.224.68",
"prefix_count": 437602
}
],
"ipv6_full_table_peer_count": 0,
"ipv6_full_table_peers_not_seeing": [],
"probe": {
"city": "London",
"country": "United Kingdom",
"ipv4_peer_count": 71,
"ipv6_peer_count": 14,
"ixp": "LINX",
"latitude": 51.496899999999997,
"longitude": -0.01915,
"name": "RRC01"
}
},
...
{
"ipv4_full_table_peer_count": 9,
"ipv4_full_table_peers_not_seeing": [],
"ipv6_full_table_peer_count": 0,
"ipv6_full_table_peers_not_seeing": [],
"probe": {
"city": "Sao Paulo",
"country": "Brazil",
"ipv4_peer_count": 13,
"ipv6_peer_count": 8,
"ixp": "PTTMetro",
"latitude": -23.600200000000001,
"longitude": -46.694699999999997,
"name": "RRC15"
}
}
]
},
deprecated - 3.0
upcoming - 4.0
Whats My Ip
This data call returns the IP address of the requestor.
https://stat.ripe.net/data/whats-my-ip/data.<format>![]()
e.g. https://stat.ripe.net/data/whats-my-ip/data.json
Parameters
| Key | Value | Info | Required |
|---|---|---|---|
| - | - | - |
Output
Data
| Key | Info |
|---|---|
| ip | contains the requester's IP address |
Example
"data": {
"ip": "127.0.0.1"
}
Whois
This data call returns whois information from the relevant Regional Internet Registry and Routing Registry.
https://stat.ripe.net/data/whois/data.<format>?<parameters>![]()
e.g. https://stat.ripe.net/data/whois/data.json?resource=192.0.20/23
Parameters
| Key | Value | Info | Required |
|---|---|---|---|
| resource | ASN/IPv4/IPv6 | - | YES |
Output
Data
| Key | Info | ||||||
|---|---|---|---|---|---|---|---|
| authorities | holds the authorities that were involved in the query (e.g. "ripe", "afrinic", "apnic", "lacnic", "arin", "iana") | ||||||
| records |
A list of whois records returned for this resource (authorities are combined); each record is an array of entries with the following structure:
|
||||||
| irr_records |
A list of records returned for Routing Registries (RIPE, RADB...); each record is an array of entries with the following structure:
|
||||||
| resource | holds the resource the query was based on | ||||||
| query_time | holds the time the query was based on |
Example
"data": {
"authorities": [
"ripe"
],
"irr_records": [
[
{
"details_link": "https://stat.ripe.net/193.0.20.0/23",
"key": "route",
"value": "193.0.20.0/23"
},
{
"details_link": null,
"key": "descr",
"value": "RIPE-NCC"
},
{
"details_link": "https://stat.ripe.net/AS3333",
"key": "origin",
"value": "AS3333"
},
{
"details_link": "https://rest.db.ripe.net/ripe/mntner/RIPE-NCC-MNT",
"key": "mnt-by",
"value": "RIPE-NCC-MNT"
},
{
"details_link": null,
"key": "source",
"value": "RIPE"
}
]
],
"query_time": "2012-11-21T11:05:00",
"records": [
[
{
"details_link": "https://stat.ripe.net/193.0.18.0-193.0.21.255",
"key": "inetnum",
"value": "193.0.18.0-193.0.21.255"
},
{
"details_link": null,
"key": "netname",
"value": "RIPE-NCC"
},
{
"details_link": null,
"key": "descr",
"value": "RIPE Network Coordination Centre"
},
{
"details_link": null,
"key": "descr",
"value": "Amsterdam, Netherlands"
},
{
"details_link": null,
"key": "remarks",
"value": "Used for RIPE NCC infrastructure."
},
{
"details_link": null,
"key": "country",
"value": "NL"
},
{
"details_link": "https://rest.db.ripe.net/ripe/person-role/JDR-RIPE",
"key": "admin-c",
"value": "JDR-RIPE"
},
{
"details_link": "https://rest.db.ripe.net/ripe/person-role/BRD-RIPE",
"key": "admin-c",
"value": "BRD-RIPE"
},
{
"details_link": "https://rest.db.ripe.net/ripe/person-role/OPS4-RIPE",
"key": "tech-c",
"value": "OPS4-RIPE"
},
{
"details_link": null,
"key": "status",
"value": "ASSIGNED PI"
},
{
"details_link": "https://rest.db.ripe.net/ripe/mntner/RIPE-NCC-MNT",
"key": "mnt-by",
"value": "RIPE-NCC-MNT"
},
{
"details_link": "https://rest.db.ripe.net/ripe/mntner/RIPE-NCC-MNT",
"key": "mnt-lower",
"value": "RIPE-NCC-MNT"
},
{
"details_link": null,
"key": "source",
"value": "RIPE"
}
]
],
"resource": "193.0.20/23"
},
deprecated - not available
upcoming - not available
Whois Object Last Updated
This data call returns information of when a certain object was last updated in the whois database.
https://stat.ripe.net/data/whois-object-last-updated/data.<format>?<parameters>![]()
Parameters
| Key | Value | Info | Required |
|---|---|---|---|
| object | Object name | The exact object to query for | YES |
| type | Object type | Examples: aut-num, inetnum, person, etc | YES |
| source | Database source | RIPE or APNIC | YES |
| timestamp | ISO8601 or Unix timestamp | Defines the time for which to perform the query | NO |
| compare_with_live | true or false | When True (default), the version at the last changed time will be compared with the current live object and indicate if it's different. This will indicate whether there has been at least one modification between "query_time" and "now". | NO |
Output
Data
| Key | Info |
|---|---|
| last_updated | holds the time the object was last updated (before the query_time) in the specified Whois database |
| object | holds the object name the query was based on |
| query_time | holds the time the query was based on |
| same_as_live | indicates whether the object at "query_time" is identical to the current live object. Only applicable for RIPE DB objects. Possible values: "yes", "no" or null. null indicates there has been no comparison with the live object and it is therefore unknown. This can be because the mechanism is switched off ("compare_with_live" query option), or it's an object outside the RIPE database. |
Example
"data": {
"last_updated": "2012-04-17T10:12:15",
"object": "AS3333",
"query_time": "2012-04-21T00:00:00",
"same_as_live": "yes"
}
Zonemaster
The main purpose for this data call is to power the DNS Check widget [1] but it can also be used to programmatically retrieve the test results of DNS checks run by Zonemaster.
The data call has two modes, one to get an overview of available tests ("resource" parameter is hostname) and one to get the test details ("resource" parameter is test ID and "method" parameter is "details").
[1] https://stat.ripe.net/widget/zonemaster
Please note that this data call is in development and features/availability can change.
https://stat.ripe.net/data/zonemaster/data.<format>?<parameters>![]()
e.g. https://stat.ripe.net/data/zonemaster/data.json?resource=0.0.193.in-addr.arpa
Parameters
| Key | Value | Info | Required |
|---|---|---|---|
| resource |
hostname or ID of a DNS test |
The hostname the DNS checks are based on or the ID of the test result | Yes |
| method | "details" | This is necessary when retrieving test details and when the "resource" parameter is a test ID | No - not when "resource" parameter is a hostname |
Output
Get overview of available tests
https://stat.ripe.net/data/zonemaster/data.json?resource=stat.ripe.net
Example
"data": {
"result": [
{
"advanced_options": null,
"creation_time": "2017-12-07 10:58:52",
"id": "8b9b9a1ab9200ed9",
"overall_result": "critical"
},
{
"advanced_options": null,
"creation_time": "2017-07-31 08:59:01",
"id": "408470530366d5bf",
"overall_result": "critical"
}
],
"parameters": {
"resource": "stat.ripe.net",
"method": "overview"
}
}
Get test details
https://stat.ripe.net/data/zonemaster/data.json?resource=8b9b9a1ab9200ed9&method;=details
Example
"data": {
"result": {
"creation_time": "2017-12-07 10:58:52",
"results": [
{
"message": "Using version v1.1.0 of the Zonemaster engine.\n",
"module": "SYSTEM",
"level": "INFO"
},
{
"message": "Configuration was read from DEFAULT CONFIGURATION\n",
"module": "SYSTEM",
"level": "INFO"
},
{
"message": "Policy was read from DEFAULT POLICY\n",
"module": "SYSTEM",
"level": "INFO"
},
{
"message": "Nameserver for zone ripe.net replies when trying to fetch glue.\n",
"module": "BASIC",
"level": "INFO"
},
{
"message": "Nameservers for \"ripe.net\" provided no NS records for tested zone. RCODE given was NOERROR.\n",
"module": "BASIC",
"level": "CRITICAL"
},
{
"message": "stat.ripe.net is not a zone.\n",
"module": "BASIC",
"level": "CRITICAL"
},
{
"message": "No NS records for tested zone from parent. NS tests aborted.\n",
"module": "BASIC",
"level": "INFO"
},
{
"message": "Not enough data about stat.ripe.net was found to be able to run tests.\n",
"module": "SYSTEM",
"level": "CRITICAL"
}
],
"params": {
"user_ip": "127.0.0.1",
"domain": "stat.ripe.net",
"client_version": "1.0.7",
"client_id": "Zonemaster Dancer Frontend"
},
"id": 801081,
"hash_id": "8b9b9a1ab9200ed9"
},
"parameters": {
"resource": "8b9b9a1ab9200ed9",
"method": "details"
}
}
