# ICD-10 Codes API
> The ICD-10-CM diagnosis code system as an API — 71,000+ International Classification of Diseases (10th revision, Clinical Modification) codes used in healthcare, billing and insurance. Look up any code (e.g. E11.9 → Type 2 diabetes mellitus without complications), search the classification by condition, or browse every code in a 3-character category. Ideal for EHR/EMR systems, medical billing, claims and health-tech 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/icd10-api/..."
```

## Pricing
- **Free** (Free) — 2,000 calls/Mo, 2 req/s
- **Starter** ($12/Mo) — 40,000 calls/Mo, 8 req/s
- **Pro** ($39/Mo) — 250,000 calls/Mo, 20 req/s
- **Enterprise** ($120/Mo) — 1,500,000 calls/Mo, 50 req/s

## Endpoints

### ICD-10

#### `GET /v1/category` — All codes in a 3-character category

**Parameters:**
- `code` (query, required, string) — 3-character category, e.g. E11 Example: `E11`
- `limit` (query, optional, string) — Max codes (1-500, default 50) Example: `50`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/icd10-api/v1/category?code=E11&limit=50"
```

**Response:**
```json
{
    "data": {
        "codes": [
            {
                "code": "E11.00",
                "category": "E11",
                "description": "Type 2 diabetes mellitus with hyperosmolarity without nonketotic hyperglycemic-hyperosmolar coma (NKHHC)",
                "category_title": null
            },
            {
                "code": "E11.01",
                "category": "E11",
                "description": "Type 2 diabetes mellitus with hyperosmolarity with coma",
                "category_title": null
            },
            {
                "code": "E11.10",
                "category": "E11",
                "description": "Type 2 diabetes mellitus with ketoacidosis without coma",
                "category_title": null
            },
            {
                "code": "E11.11",
                "category": "E11",
                "description": "Type 2 diabetes mellitus with ketoacidosis with coma",
                "category_title": null
            },
            {
                "code": "E11.21",
                "category": "E11",
                "description": "Type 2 diabetes mellitus with diabetic nephropathy",
                "category_title": null
            },
            {
                "code": "E11.22",
                "category": "E11",
                "description": "Type 2 diabetes mellitus with diabetic chronic kidney disease",
                "category_title": null
            },
            {
                "code": "E11.29",
        
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/code` — A single ICD-10 code

**Parameters:**
- `code` (query, required, string) — ICD-10 code, e.g. E11.9 or E119 Example: `E11.9`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/icd10-api/v1/code?code=E11.9"
```

**Response:**
```json
{
    "data": {
        "code": "E11.9",
        "category": "E11",
        "description": "Type 2 diabetes mellitus without complications",
        "category_title": null
    },
    "meta": {
        "timestamp": "2026-05-31T03:01:29.933Z",
        "request_id": "93e59c6f-34c4-48b0-aa4c-6eccb771556f"
    },
    "status": "ok",
    "message": "ICD-10 code retrieved",
    "success": true
}
```

#### `GET /v1/search` — Search ICD-10 codes by condition

**Parameters:**
- `q` (query, required, string) — Condition / description text Example: `diabetes`
- `category` (query, optional, string) — Restrict to a 3-character category
- `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/icd10-api/v1/search?q=diabetes&limit=20&offset=0"
```

**Response:**
```json
{
    "data": {
        "count": 20,
        "limit": 20,
        "query": "diabetes",
        "total": 478,
        "offset": 0,
        "results": [
            {
                "code": "E08.00",
                "category": "E08",
                "description": "Diabetes mellitus due to underlying condition with hyperosmolarity without nonketotic hyperglycemic-hyperosmolar coma (NKHHC)",
                "category_title": null
            },
            {
                "code": "E08.01",
                "category": "E08",
                "description": "Diabetes mellitus due to underlying condition with hyperosmolarity with coma",
                "category_title": null
            },
            {
                "code": "E08.10",
                "category": "E08",
                "description": "Diabetes mellitus due to underlying condition with ketoacidosis without coma",
                "category_title": null
            },
            {
                "code": "E08.11",
                "category": "E08",
                "description": "Diabetes mellitus due to underlying condition with ketoacidosis with coma",
                "category_title": null
            },
            {
                "code": "E08.21",
                "category": "E08",
                "description": "Diabetes mellitus due to underlying condition with diabetic nephropathy",
                "category_title": null
            },
            {
                "code": "E08.22",
                "cat
…(truncated, see openapi.json for full schema)
```

### Meta

#### `GET /v1/meta` — Totals & source

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

**Response:**
```json
{
    "data": {
        "note": "Diagnosis codes; category = first 3 characters of the code.",
        "total": 71704,
        "fields": [
            "code",
            "description",
            "category",
            "category_title"
        ],
        "source": "ICD-10-CM (Clinical Modification)",
        "categories": 1910
    },
    "meta": {
        "timestamp": "2026-05-31T03:01:30.062Z",
        "request_id": "41d7369f-aa3f-4285-b4d9-ae48416f4430"
    },
    "status": "ok",
    "message": "Meta retrieved",
    "success": true
}
```


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