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:
|
| cache | - | "ignore" | - | Bypasses and refreshes the cache when set to "ignore". Note that this should only be used when the results of a data call are stale. |
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 with the identifier and an email address to reach you.
(If you include your project's purpose 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 or special characters.
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. | YES |
| endtime | ISO8601 or Unix timestamp | The end time for the query. | NO - if not set it falls back to "now" |
| 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 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), resources (the block), tags (various uses) |
| 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 | Shows how many times this neighbour with this type ("left"/"right") was seen in an ASN path. For compatibility reasons, this attribute has kept its name but will change with the next major release. |
| v4_peers/v6_peers | Shows the total number of (full-table) peers, grouped by IP version, seeing this neighbour/position combination. |
| 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.
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-start/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 - 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 | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 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 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-01T12:00
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 |
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.
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 the output of a direct BGP looking glass query for this IP from all the locations where a RIPE NCC Route Collector is present.
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 | prefix | States the prefix you want to get looking glass information for | YES |
Output
Data
| Key | Info |
|---|---|
| rrcs | One entry per RRC returning entries for the resource. |
| entries | Groups the entries of the looking glass query per RRC. |
| as_path | States the AS path for the looking glass request. |
| details | These are details that were returned together with the AS path. |
| no_data_rrcs | Contains the RRCs which are not returning any records for this IP. |
| location | Defines the location of the RRC |
| rrc | Defines the name of the RRC |
| resource | Defines the resource used for the query |
| query_time | Defines the timestamp used for the query |
Example
"data": {
"no_data_rrcs": [
{
"location": "Tokyo, Japan",
"rrc": "RRC06"
}
],
"query_time": "2012-04-04T13:37:31.266249",
"resource": "140.78.0.0/16",
"rrcs": {
"RRC00": {
"entries": [
{
"as_path": "7018 3356 1853 1205",
"details": [
" 12.0.1.63 from 12.0.1.63 (12.0.1.63)",
" Origin IGP, localpref 100, valid, external, best",
" Community: 7018:5000",
" Last update: Tue Apr 3 02:08:18 2012"
]
},
{
"as_path": "1836 13030 1853 1205",
"details": [
" 146.228.1.8 from 146.228.1.8 (146.228.1.8)",
" Origin IGP, localpref 100, valid, external",
" Community: 1836:110 1836:6000 1836:6041",
" Last update: Wed Apr 4 04:44:49 2012"
]
},
...
],
"location": "Amsterdam, Netherlands"
},
...
"RRC16": {
"entries": [
{
"as_path": "25152 23148 3356 1853 1205",
"details": [
" 198.32.124.146 from 198.32.124.146 (199.7.70.32)",
" Origin IGP, localpref 100, valid, external, best",
" Community: 25152:5",
" Last update: Tue Apr 3 03:06:20 2012"
]
}
],
"location": "Miami, Florida, US"
}
}
},
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.
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.
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.
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 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 |
| 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.
Registry Browser
This data call shows relationships between objects in the RIPE Database.
Note: this data call used to be called 'object-relationships'. That is now an alias.
https://stat.ripe.net/data/registry-browser/data.<format>?<parameters>![]()
e.g. https://stat.ripe.net/data/registry-browser/data.json?resource=193.0.20.0/24
e.g. https://stat.ripe.net/data/registry-browser/data.json?resource=organisation:ORG-NCC1-RIPE
Parameters
| Key | Value | Info | Required |
|---|---|---|---|
| resource | resource | The resource to query. This is a prefix (v4/v6), an AS number, or a string of the format "objtype:objkey" for looking up non-numeric database objects | yes |
| use_live_lookups | "true" or "false" | Whether to request near realtime information from the database. Defaults to "true". If "false", the information may be several hours old but the response time may be slightly quicker. | no |
Output
Data
| Key | Info |
|---|---|
| objects | A list of objects (see below) that exactly match the query. |
| backward_refs | A list of objects (see below) that reference the exact match object in one or more of their fields. This will be empty if the query is ambiguous. |
| forward_refs | A list of objects (see below) that are referenced by the exact match in one or more of its fields. This will be empty if the query is ambiguous. |
| time | The point in time that the returned data refers to. |
| versions | A list showing the first and last recorded versions of the 'exact' object. Each version has a start and an end datetime. |
| num_versions | The total number of versions that are recorded for the 'exact' object. This is the total known to the backend, and may be more than the number of objects in the 'versions' list. |
Sample object
{
"fields": [
/* Each field contains a key, a value, and the type of
* the objects it references, if appropriate.
*/
{
"key": "route",
"reference": "inetnum",
"value": "193.0.0.0/21"
},
{
"key": "descr",
"reference": null,
"value": "RIPE-NCC"
},
...
],
/* The primary key is the unique identifier for this object.
* If you combine it into a "key:value" string, it can be used in
* the 'resource' parameter of this data call.
*/
"primary": {
"key": "route",
"value": "193.0.0.0/21|AS3333"
},
/* Each related object contains a list of fields that relate this
* to the exact match object.
* This attribute doesn't exist for exact match objects.
*/
"relationships": [
"origin"
],
/* The title key/value forms the "friendly name" for an object, and
* is not necesarily unique.
*/
"title": {
"key": "route",
"value": "193.0.0.0/21"
}
},
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 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.
Additionally the result includes the output of a DNS-Check test, see http://dnscheck.ripe.net/?faq=1&test;=standard
for details.
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": [
{
"dnscheck": {
"status": "OK",
"time": "2014-01-31T08:01:56"
},
"domain": "0.0.193.in-addr.arpa",
"found": true,
"prefix": "193.0.0.0/24"
},
{
"dnscheck": {
"status": "OK",
"time": "2014-01-31T03:18:03"
},
"domain": "1.0.193.in-addr.arpa",
"found": true,
"prefix": "193.0.1.0/24"
},
{
"dnscheck": {
"status": "ERROR",
"time": "2014-01-31T03:18:04"
},
"domain": "2.0.193.in-addr.arpa",
"found": true,
"prefix": "193.0.2.0/24"
},
{
"dnscheck": {
"status": "OK",
"time": "2014-01-31T03:18:06"
},
"domain": "3.0.193.in-addr.arpa",
"found": true,
"prefix": "193.0.3.0/24"
},
{
"dnscheck": {
"status": "OK",
"time": "2014-02-01T06:28:51"
},
"domain": "4.0.193.in-addr.arpa",
"found": true,
"prefix": "193.0.4.0/24"
},
{
"dnscheck": {
"status": "OK",
"time": "2014-02-01T06:37:22"
},
"domain": "5.0.193.in-addr.arpa",
"found": true,
"prefix": "193.0.5.0/24"
},
{
"dnscheck": {
"status": "OK",
"time": "2014-02-01T06:28:55"
},
"domain": "6.0.193.in-addr.arpa",
"found": true,
"prefix": "193.0.6.0/24"
},
{
"dnscheck": {
"status": "OK",
"time": "2014-02-01T10:45:18"
},
"domain": "7.0.193.in-addr.arpa",
"found": true,
"prefix": "193.0.7.0/24"
}
]
},
"193.0.10.0/23": {
"complete": false,
"domains": [
{
"dnscheck": {
"status": "OK",
"time": "2014-02-01T06:28:59"
},
"domain": "10.0.193.in-addr.arpa",
"found": true,
"prefix": "193.0.10.0/24"
},
{
"dnscheck": null,
"domain": "11.0.193.in-addr.arpa",
"found": false,
"prefix": "193.0.11.0/24"
}
]
},
"193.0.12.0/23": {
"complete": true,
"domains": [
{
"dnscheck": {
"status": "OK",
"time": "2014-02-01T15:13:49"
},
"domain": "12.0.193.in-addr.arpa",
"found": true,
"prefix": "193.0.12.0/24"
},
{
"dnscheck": {
"status": "OK",
"time": "2014-02-01T15:13:50"
},
"domain": "13.0.193.in-addr.arpa",
"found": true,
"prefix": "193.0.13.0/24"
}
]
},
"193.0.18.0/23": {
"complete": true,
"domains": [
{
"dnscheck": {
"status": "OK",
"time": "2014-02-03T06:47:52"
},
"domain": "18.0.193.in-addr.arpa",
"found": true,
"prefix": "193.0.18.0/24"
},
{
"dnscheck": {
"status": "OK",
"time": "2014-02-03T06:47:52"
},
"domain": "19.0.193.in-addr.arpa",
"found": true,
"prefix": "193.0.19.0/24"
}
]
},
"193.0.20.0/23": {
"complete": true,
"domains": [
{
"dnscheck": {
"status": "OK",
"time": "2014-02-05T02:23:26"
},
"domain": "20.0.193.in-addr.arpa",
"found": true,
"prefix": "193.0.20.0/24"
},
{
"dnscheck": {
"status": "OK",
"time": "2014-02-06T08:29:21"
},
"domain": "21.0.193.in-addr.arpa",
"found": true,
"prefix": "193.0.21.0/24"
}
]
},
"193.0.22.0/23": {
"complete": true,
"domains": [
{
"dnscheck": {
"status": "OK",
"time": "2014-02-08T19:03:32"
},
"domain": "22.0.193.in-addr.arpa",
"found": true,
"prefix": "193.0.22.0/24"
},
{
"dnscheck": {
"status": "OK",
"time": "2014-02-07T01:15:24"
},
"domain": "23.0.193.in-addr.arpa",
"found": true,
"prefix": "193.0.23.0/24"
}
]
}
},
"ipv6": {
"2001:67c:2e8::/48": {
"complete": true,
"domains": [
{
"dnscheck": {
"status": "OK",
"time": "2014-02-08T05:36:19"
},
"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.
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.
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 |
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"
}
