IRR Validator
NOC Operator Toolkit
Route objects, as-sets, aut-nums and maintainers across every routing registry we mirror, searched together. Free. No API key. No rate limits (be reasonable).
Look something up
A prefix, an AS number, an as-set, a route-set or a maintainer handle. It works out which you meant.
What is mirrored
Each registry’s published database dump, re-imported every four hours. A registry whose import fails keeps the objects it already had rather than disappearing.
API Documentation
No authentication required. CORS headers are included on all responses.
Look a prefix, AS number, as-set, route-set or maintainer handle up across every mirrored registry. The response’s kind field says which of those the input was taken to be, and the rest of the body depends on it.
| Parameter | Type | Description |
|---|---|---|
| irr | string | A prefix (193.0.0.0/21), a bare address, an AS number (AS3333), a set name (AS-RIPENCC, RS-EXAMPLE, AS3333:AS-CUSTOMERS) or a maintainer handle. |
The same lookup with a JSON body.
| Field | Description |
|---|---|
| kind | prefix, asn, set, mntner or text — how the input was read. |
| sources | The registries that contributed to this answer. |
| exact_objects | kind=prefix: route objects for exactly this prefix, each with its origin AS, registry, description and maintainers. |
| covering_objects | kind=prefix: route objects for less specifics that cover it. A prefix with none of its own may still be covered by one of these. |
| registered_origins | kind=prefix: the origin ASes registered for the exact prefix — what a filter built from the IRR would permit. |
| route_objects | kind=asn: every prefix registered with this AS as its origin. route_count is the true total when the list is truncated. |
| expanded_asns | kind=set: the flat list of AS numbers the set resolves to, following nested sets across every registry. |
| prefixes | kind=set: the prefix list a filter built from the set would hold, deduplicated across registries and split into ipv4 and ipv6. prefix_count gives the per-family totals and prefix_total the sum; prefixes_truncated says whether the cone ran past the response ceiling. |
| member_of | kind=set: the sets that name this one as a member. |
Common Questions
What is the IRR?
route and route6 for prefixes,
as-set for groups of ASes, aut-num for the ASes themselves, and
mntner for the handles that maintain them. Most of the prefix filters between networks
are still generated from this data, which is why a missing or wrong object shows up as
“my route isn’t propagating”.
Why is the same prefix registered twice?
What does expanding an as-set do?
bgpq4 produces, and the thing you actually need
when a customer hands you an as-set. Members are followed across registries, because a set defined
in RADB routinely names one that only exists in RIPE.
How does this relate to RPKI?
How current is the data?
Is there an API?
GET /?irr=193.0.0.0/21 returns JSON, and the
same endpoint takes an AS number, a set name or a maintainer handle. No key, no sign-up.