# Can I Use API
> Browser-feature compatibility data as an API — the "Can I Use" support tables for over 550 web platform features across 19 browsers (Chrome, Edge, Firefox, Safari, iOS Safari, Samsung Internet, Opera, IE and more). Look up any feature (flexbox, css-grid, webp, fetch, websockets, …) for its full support matrix: per-browser current support, the first version that shipped full support, partial/prefixed/disabled flags and notes, the spec status, categories, keywords, global usage share and reference links. Ask a single feature×browser question, list or filter features by category, search features by keyword, and get the browser/agent list with version histories and the category/status legend. Backed by the public caniuse-db dataset (refreshed every 12 hours); query results are computed live. 7 endpoints. Built for build tooling, polyfill decisions, compatibility dashboards, linters and documentation. No upstream key.

## 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/caniuse-api/..."
```

## Pricing
- **Free** (Free) — 2,150 calls/Mo, 2 req/s
- **Starter** ($9/Mo) — 47,000 calls/Mo, 8 req/s
- **Pro** ($27/Mo) — 238,000 calls/Mo, 20 req/s
- **Mega** ($62/Mo) — 1,190,000 calls/Mo, 50 req/s

## Endpoints

### Features

#### `GET /v1/feature` — Feature compatibility matrix

**Parameters:**
- `id` (query, required, string) — Feature id Example: `flexbox`
- `full` (query, optional, string) — true → per-version matrix

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/caniuse-api/v1/feature?id=flexbox"
```

**Response:**
```json
{
    "data": {
        "id": "flexbox",
        "spec": "https://www.w3.org/TR/css3-flexbox/",
        "links": [
            {
                "url": "https://bennettfeely.com/flexplorer/",
                "title": "Flexbox CSS generator"
            },
            {
                "url": "https://www.adobe.com/devnet/html5/articles/working-with-flexbox-the-new-spec.html",
                "title": "Article on using the latest spec"
            },
            {
                "url": "https://dev.opera.com/articles/view/advanced-cross-browser-flexbox/",
                "title": "Tutorial on cross-browser support"
            },
            {
                "url": "https://philipwalton.github.io/solved-by-flexbox/",
                "title": "Examples on how to solve common layout problems with flexbox"
            },
            {
                "url": "https://css-tricks.com/snippets/css/a-guide-to-flexbox/",
                "title": "A Complete Guide to Flexbox"
            },
            {
                "url": "https://the-echoplex.net/flexyboxes/",
                "title": "Flexbox playground and code generator"
            },
            {
                "url": "https://github.com/philipwalton/flexbugs",
                "title": "Flexbugs: Repo for flexbox bugs"
            },
            {
                "url": "https://github.com/10up/flexibility/",
                "title": "10up Open Sources IE 8 and 9 Support for Flexbox"
            },
            {
         
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/features` — List features

**Parameters:**
- `category` (query, optional, string) — CSS|HTML5|JS|JS API|Other

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

**Response:**
```json
{
    "data": {
        "count": 554,
        "category": null,
        "features": [
            {
                "id": "audio",
                "title": "Audio element",
                "status": "ls",
                "categories": [
                    "HTML5"
                ],
                "usage_total": 96.28
            },
            {
                "id": "css-page-break",
                "title": "CSS page-break properties",
                "status": "rec",
                "categories": [
                    "CSS"
                ],
                "usage_total": 96.28
            },
            {
                "id": "getboundingclientrect",
                "title": "Element.getBoundingClientRect()",
                "status": "wd",
                "categories": [
                    "JS API"
                ],
                "usage_total": 96.28
            },
            {
                "id": "mp3",
                "title": "MP3 audio format",
                "status": "other",
                "categories": [
                    "Other"
                ],
                "usage_total": 96.28
            },
            {
                "id": "online-status",
                "title": "Online/offline status",
                "status": "ls",
                "categories": [
                    "JS API"
                ],
                "usage_total": 96.28
            },
            {
                "id": "svg-css",
                "title": "SVG in CSS back
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/search` — Search features

**Parameters:**
- `q` (query, required, string) — Keyword Example: `grid`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/caniuse-api/v1/search?q=grid"
```

**Response:**
```json
{
    "data": {
        "count": 5,
        "query": "grid",
        "features": [
            {
                "id": "css-grid",
                "title": "CSS Grid Layout (level 1)",
                "status": "cr",
                "usage_total": 95.61
            },
            {
                "id": "justify-content-space-evenly",
                "title": "CSS justify-content: space-evenly",
                "status": "wd",
                "usage_total": 95.47
            },
            {
                "id": "css-display-contents",
                "title": "CSS display: contents",
                "status": "cr",
                "usage_total": 95.09
            },
            {
                "id": "css-subgrid",
                "title": "CSS Subgrid",
                "status": "cr",
                "usage_total": 89.76
            },
            {
                "id": "css-grid-lanes",
                "title": "CSS Grid Lanes",
                "status": "wd",
                "usage_total": 2.03
            }
        ]
    },
    "meta": {
        "timestamp": "2026-06-02T16:52:09.335Z",
        "request_id": "d0c62b03-03fd-4223-9f3d-aa6769778efc"
    },
    "status": "ok",
    "message": "Search features",
    "success": true
}
```

#### `GET /v1/support` — Feature × browser support

**Parameters:**
- `feature` (query, required, string) — Feature id Example: `flexbox`
- `browser` (query, required, string) — Browser id Example: `chrome`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/caniuse-api/v1/support?feature=flexbox&browser=chrome"
```

**Response:**
```json
{
    "data": {
        "title": "CSS Flexible Box Layout Module",
        "browser": "Chrome",
        "current": "supported",
        "feature": "flexbox",
        "current_flag": "y",
        "since_version": "21"
    },
    "meta": {
        "timestamp": "2026-06-02T16:52:09.441Z",
        "request_id": "fce7915a-cdde-4f6e-a92f-a2b7ae6299bb"
    },
    "status": "ok",
    "message": "Feature x browser support",
    "success": true
}
```

### Reference

#### `GET /v1/browsers` — Browser / agent list

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

**Response:**
```json
{
    "data": {
        "count": 19,
        "browsers": [
            {
                "id": "ie",
                "type": "desktop",
                "prefix": "ms",
                "browser": "IE",
                "versions": [
                    "5.5",
                    "6",
                    "7",
                    "8",
                    "9",
                    "10",
                    "11"
                ],
                "usage_global": 0.27372,
                "current_version": "11"
            },
            {
                "id": "edge",
                "type": "desktop",
                "prefix": "webkit",
                "browser": "Edge",
                "versions": [
                    "12",
                    "13",
                    "14",
                    "15",
                    "16",
                    "17",
                    "18",
                    "79",
                    "80",
                    "81",
                    "83",
                    "84",
                    "85",
                    "86",
                    "87",
                    "88",
                    "89",
                    "90",
                    "91",
                    "92",
                    "93",
                    "94",
                    "95",
                    "96",
                    "97",
                    "98",
                    "99",
                    "100",
                    "101",
                    "102",
             
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/categories` — Categories + status legend

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

**Response:**
```json
{
    "data": {
        "updated": 1779860541,
        "statuses": {
            "cr": "W3C Candidate Recommendation",
            "ls": "WHATWG Living Standard",
            "pr": "W3C Proposed Recommendation",
            "wd": "W3C Working Draft",
            "rec": "W3C Recommendation",
            "other": "Other",
            "unoff": "Unofficial / Note"
        },
        "categories": {
            "JS": [
                "JS"
            ],
            "CSS": [
                "CSS3",
                "CSS",
                "CSS2"
            ],
            "SVG": [
                "SVG"
            ],
            "HTML5": [
                "Canvas",
                "HTML5"
            ],
            "Other": [
                "PNG",
                "Other",
                "DOM"
            ],
            "JS API": [
                "JS API"
            ],
            "Security": [
                "Security"
            ]
        }
    },
    "meta": {
        "timestamp": "2026-06-02T16:52:09.627Z",
        "request_id": "a117ae06-c346-449d-9f7d-ed2c76dc54de"
    },
    "status": "ok",
    "message": "Categories + statuses",
    "success": true
}
```

### Meta

#### `GET /v1/meta` — Spec

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

**Response:**
```json
{
    "data": {
        "auth": "none upstream; this gateway requires x-api-key",
        "name": "Can I Use API",
        "note": "Browser-feature compatibility for 550+ web features across 19 browsers. /v1/feature?id=flexbox for the full support matrix (?full=true for per-version), /v1/support?feature=&browser= for a single answer, /v1/features (+?category=), /v1/search?q=, /v1/browsers, /v1/categories. Support flags: y=supported, a=partial, n=no, p=polyfill, u=unknown (+prefix/disabled). Dataset refreshed every 12h.",
        "source": "caniuse-db (Fyrd/caniuse) via jsDelivr — public dataset, no key",
        "endpoints": 7
    },
    "meta": {
        "timestamp": "2026-06-02T16:52:09.706Z",
        "request_id": "5d34cc9e-4487-4079-8f18-2818e3eb7dde"
    },
    "status": "ok",
    "message": "Meta",
    "success": true
}
```


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