# Network Ports API
> The official IANA Service Name and Transport Protocol Port Number registry as an API — 12,500+ TCP, UDP, SCTP and DCCP port assignments. Look up what service runs on a port (e.g. 443 → https), find which port(s) a named service uses (e.g. ssh → 22), and search the registry by service or description. A handy reference for networking, DevOps, security and firewall tooling.

## Authentication
All requests require your oanor API key in the `x-oanor-key` header. Get one at https://www.oanor.com/developer/keys.

```bash
curl -H "x-oanor-key: oanor_live_…" "https://api.oanor.com/netports-api/..."
```

## Pricing
- **Free** (Free) — 3,000 calls/Mo, 3 req/s
- **Starter** ($5/Mo) — 50,000 calls/Mo, 10 req/s
- **Pro** ($12/Mo) — 300,000 calls/Mo, 25 req/s
- **Mega** ($32/Mo) — 1,500,000 calls/Mo, 50 req/s

## Endpoints

### Ports

#### `GET /v1/port` — Service assignments on a port number

**Parameters:**
- `number` (query, required, string) — Port number (0-65535) Example: `443`
- `protocol` (query, optional, string) — Filter by transport: tcp, udp, sctp, dccp

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/netports-api/v1/port?number=443"
```

**Response:**
```json
{
    "data": {
        "port": 443,
        "count": 3,
        "protocol": null,
        "assignments": [
            {
                "port": 443,
                "service": "https",
                "assignee": "[IESG]",
                "protocol": "tcp",
                "description": "http protocol over TLS/SSL"
            },
            {
                "port": 443,
                "service": "https",
                "assignee": "[IESG]",
                "protocol": "udp",
                "description": "http protocol over TLS/SSL"
            },
            {
                "port": 443,
                "service": "https",
                "assignee": "[Randall_Stewart]",
                "protocol": "sctp",
                "description": "HTTPS"
            }
        ]
    },
    "meta": {
        "timestamp": "2026-05-31T01:53:36.615Z",
        "request_id": "c5e69ff0-0eed-4b5e-9d18-f2bcea19d02b"
    },
    "status": "ok",
    "message": "Port retrieved",
    "success": true
}
```

#### `GET /v1/search` — Search assignments by service or description

**Parameters:**
- `q` (query, required, string) — Search text Example: `mysql`
- `protocol` (query, optional, string) — Filter by transport protocol
- `limit` (query, optional, string) — Results per page (1-100, default 20) Example: `20`
- `offset` (query, optional, string) — Pagination offset Example: `0`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/netports-api/v1/search?q=mysql&limit=20&offset=0"
```

**Response:**
```json
{
    "data": {
        "count": 12,
        "limit": 20,
        "query": "mysql",
        "total": 12,
        "offset": 0,
        "results": [
            {
                "port": 1186,
                "service": "mysql-cluster",
                "assignee": "[Arjen_Lentz]",
                "protocol": "tcp",
                "description": "MySQL Cluster Manager"
            },
            {
                "port": 1186,
                "service": "mysql-cluster",
                "assignee": "[Arjen_Lentz]",
                "protocol": "udp",
                "description": "MySQL Cluster Manager"
            },
            {
                "port": 1862,
                "service": "mysql-cm-agent",
                "assignee": "[Andrew_Morgan]",
                "protocol": "tcp",
                "description": "MySQL Cluster Manager Agent"
            },
            {
                "port": 1862,
                "service": "mysql-cm-agent",
                "assignee": "[Andrew_Morgan]",
                "protocol": "udp",
                "description": "MySQL Cluster Manager Agent"
            },
            {
                "port": 2273,
                "service": "mysql-im",
                "assignee": "[Petr_Chardin]",
                "protocol": "tcp",
                "description": "MySQL Instance Manager"
            },
            {
                "port": 2273,
                "service": "mysql-im",
                "assignee": "[Petr_Chardin]",
                "pr
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/service` — Which port(s) a named service uses

**Parameters:**
- `name` (query, required, string) — Service name, e.g. ssh Example: `ssh`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/netports-api/v1/service?name=ssh"
```

**Response:**
```json
{
    "data": {
        "count": 3,
        "service": "ssh",
        "assignments": [
            {
                "port": 22,
                "service": "ssh",
                "assignee": null,
                "protocol": "tcp",
                "description": "The Secure Shell (SSH) Protocol"
            },
            {
                "port": 22,
                "service": "ssh",
                "assignee": null,
                "protocol": "udp",
                "description": "The Secure Shell (SSH) Protocol"
            },
            {
                "port": 22,
                "service": "ssh",
                "assignee": "[Randall_Stewart]",
                "protocol": "sctp",
                "description": "SSH"
            }
        ]
    },
    "meta": {
        "timestamp": "2026-05-31T01:53:36.738Z",
        "request_id": "5cb8ae93-9e2d-4231-9c23-530e66ffb46c"
    },
    "status": "ok",
    "message": "Service retrieved",
    "success": true
}
```

### Meta

#### `GET /v1/meta` — Totals, protocols & port ranges

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/netports-api/v1/meta"
```

**Response:**
```json
{
    "data": {
        "total": 12571,
        "fields": [
            "port",
            "protocol",
            "service",
            "description",
            "assignee"
        ],
        "source": "IANA Service Name and Transport Protocol Port Number Registry",
        "dynamic": "49152-65535",
        "protocols": [
            "dccp",
            "sctp",
            "tcp",
            "udp"
        ],
        "registered": "1024-49151",
        "well_known": "0-1023",
        "unique_ports": 6137
    },
    "meta": {
        "timestamp": "2026-05-31T01:53:36.810Z",
        "request_id": "a62f34a0-8f2b-47b8-a09e-4a783f09cf9e"
    },
    "status": "ok",
    "message": "Meta retrieved",
    "success": true
}
```


---
Marketplace page: https://www.oanor.com/api/netports-api
OpenAPI spec: https://www.oanor.com/api/netports-api/openapi.json
