staticdata.dev
Menu
Datasets About Contact

URI Schemes

Every URI scheme registered with the Internet Assigned Numbers Authority (IANA), covering all permanent schemes (such as http, https, ftp, mailto, and tel), provisional schemes awaiting full standardization, and historical schemes that have been deprecated or superseded. Each entry includes the scheme name, a human-readable description, its registration status, and the authoritative reference document or RFC.

v1.0.0 MIT 435 records Updated 2026-10-05 stable Source:  IANA Uniform Resource Identifier (URI) Schemes

Quick fetch

Stable URL. CORS-enabled. No auth.

bash
curl https://staticdata.dev/v1/uri-schemes.json

Or use as a typed import: import { uriSchemes } from "https://staticdata.dev/v1/uri-schemes.ts"

Formats

  • JSON 59.4 KB

    /v1/uri-schemes.json

    Open

    min: 46.6 KB · /v1/uri-schemes.min.json

  • CSV 24.2 KB

    /v1/uri-schemes.csv

    Open
  • TypeScript 59.6 KB

    /v1/uri-schemes.ts

    export const uriSchemes

    type UriScheme = (typeof uriSchemes)[number]

    Open

Schema

Each record in the dataset has the following shape.

Schema
Field Type Description Example
scheme string The URI scheme name (e.g. http, ftp, mailto) https
description string | null Human-readable description of the scheme's purpose Hypertext Transfer Protocol Secure
status string | null Registration status: permanent, provisional, or historical permanent
reference string | null Defining RFC or document reference from IANA [RFC9110, Section 4.2.2]

Preview

First 10 records.

Data preview
schemedescriptionstatusreference
aaaDiameter Protocolpermanent[RFC6733]
aaasDiameter Protocol with Secure Transportpermanent[RFC6733]
aboutaboutpermanent[RFC6694]
acapapplication configuration access protocolpermanent[RFC2244]
acctacctpermanent[RFC7565]
acdacdprovisional[Michael_Hedenus]
aceaceprovisional[Frank_Bryan]
acracrprovisional[OMA-OMNA]
adiumxtraadiumxtraprovisional[Dave_Thaler]
adtadtprovisional[SAP_SE]

Showing 10 of 435. View full data:  JSON · CSV

Fetch examples

Drop-in snippets in five languages.

curl
curl -sSL https://staticdata.dev/v1/uri-schemes.json | jq '.[0]'
JavaScript
import type { UriScheme } from "https://staticdata.dev/v1/uri-schemes.ts";

const res = await fetch("https://staticdata.dev/v1/uri-schemes.min.json");
if (!res.ok) throw new Error(`Fetch failed: ${res.status}`);
const uriSchemes: UriScheme[] = await res.json();
console.log(uriSchemes[0]);
Python
import urllib.request, json

with urllib.request.urlopen("https://staticdata.dev/v1/uri-schemes.min.json") as r:
    uriSchemes = json.load(r)

print(uriSchemes[0])
Go
package main

import (
	"encoding/json"
	"fmt"
	"net/http"
)

func main() {
	resp, err := http.Get("https://staticdata.dev/v1/uri-schemes.min.json")
	if err != nil { panic(err) }
	defer resp.Body.Close()

	var data []map[string]any
	if err := json.NewDecoder(resp.Body).Decode(&data); err != nil {
		panic(err)
	}
	fmt.Println(data[0])
}
Rust
use serde_json::Value;

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let body = ureq::get("https://staticdata.dev/v1/uri-schemes.min.json").call()?.into_string()?;
    let data: Vec<Value> = serde_json::from_str(&body)?;
    println!("{:?}", data.first());
    Ok(())
}

Sources and methodology

The dataset contains all 435 URI scheme entries in the IANA Uniform Resource Identifier (URI) Schemes registry as of October 2026, parsed directly from the official IANA CSV export. Schemes are sorted alphabetically. The three status values reflect the IANA registration track: permanent schemes have a stable, standardized specification; provisional schemes are registered but may not yet have a final specification; historical schemes have been deprecated, obsoleted, or superseded.

Well-known permanent schemes include http, https, ftp, mailto, tel, urn, file, and data. Provisional schemes span a wide range of application-specific protocols, including platform integrations (android, ms-excel), messaging systems (aim, irc, xmpp), and IoT or industry protocols. Several schemes reference individual registrants rather than RFCs, indicated by a person or organization identifier in the reference field.

Reference values are reproduced from the IANA registry (with RFC citations written without a space, e.g. [RFC3986], where IANA now writes [RFC 3986]) and may contain bracket-enclosed RFC numbers (e.g., [RFC3986]), named registrant identifiers (e.g., [Dave_Thaler]), or URLs to specification documents. A small number of entries carry null in the description field where the IANA registry provides no description text.

Versioning

URLs under /v1/ are stable: field names and types will not change in a way that breaks consumers. Values can be corrected or records added when the upstream source changes; schema-incompatible updates ship under a new version path. See the uri-schemes changelog for this dataset's history.

Related datasets

More Web datasets