# Danbooru API
> Live post, tag and ranking data from Danbooru, the large community anime-art imageboard, via its public API. Danbooru is built around a deep tag taxonomy — every image is tagged by artist, character, copyright (the source series) and general descriptors. Search images by tag and get each post's score, favourite count, rating, dimensions and its split tag sets. Read a single post in full. Search the tag database itself, returning each tag's post count and category — the metadata that powers booru search. Get the most-favourited posts of a given day, the site's trending art. Live, no key, nothing stored; to keep results work-safe, only general- and sensitive-rated posts are returned. Distinct from 4chan and other imageboard APIs — this is Danbooru's tagged-art database and its rankings. Perfect for art-discovery, tagging and community apps.

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

## Pricing
- **Free** (Free) — 13,000 calls/Mo, 3 req/s
- **Starter** ($8/Mo) — 176,000 calls/Mo, 8 req/s
- **Pro** ($19/Mo) — 945,000 calls/Mo, 18 req/s
- **Business** ($48/Mo) — 5,450,000 calls/Mo, 40 req/s

## Endpoints

### Posts

#### `GET /v1/popular` — Most-favourited posts of a day

**Parameters:**
- `date` (query, optional, string) — YYYY-MM-DD (default latest)
- `scale` (query, optional, string) — day (default), week or month Example: `day`
- `limit` (query, optional, string) — Max results (1-100) Example: `20`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/danbooru-api/v1/popular?scale=day&limit=20"
```

**Response:**
```json
{
    "data": {
        "date": "2026-06-01",
        "count": 10,
        "posts": [
            {
                "id": 11500732,
                "score": 331,
                "artist": [
                    "vitaminechan"
                ],
                "rating": "s",
                "file_url": "https://cdn.donmai.us/original/33/4e/334e19279933437764c2864a2e7cc903.jpg",
                "copyright": [
                    "genshin_impact"
                ],
                "fav_count": 307,
                "characters": [
                    "sandrone_(genshin_impact)"
                ],
                "created_at": "2026-06-01T15:59:21.690-04:00",
                "image_width": 1797,
                "image_height": 4006
            },
            {
                "id": 11496847,
                "score": 327,
                "artist": [
                    "meekohopanes"
                ],
                "rating": "s",
                "file_url": "https://cdn.donmai.us/original/db/46/db46b315a721756a514e488def4fc40c.jpg",
                "copyright": [
                    "no_game_no_life"
                ],
                "fav_count": 303,
                "characters": [
                    "shiro_(no_game_no_life)"
                ],
                "created_at": "2026-06-01T03:25:17.562-04:00",
                "image_width": 3162,
                "image_height": 2093
            },
            {
                "id": 11496472,
                "score": 245,
       
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/post` — A single post in full

**Parameters:**
- `id` (query, required, string) — Numeric post id Example: `11556356`

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

**Response:**
```json
{
    "data": {
        "id": 11556356,
        "score": 0,
        "artist": [
            "mofinngram"
        ],
        "rating": "g",
        "source": "Danbooru",
        "file_url": "https://cdn.donmai.us/original/ac/e2/ace21bcd9b493c815fb9d8c2431d4a7c.jpg",
        "up_score": 0,
        "copyright": [
            "pokemon"
        ],
        "fav_count": 0,
        "characters": [
            "conkeldurr",
            "gurdurr",
            "timburr"
        ],
        "created_at": "2026-06-10T04:31:01.852-04:00",
        "down_score": 0,
        "image_width": 1440,
        "general_tags": [
            "alternate_color",
            "black_eyes",
            "bright_pupils",
            "carrying",
            "closed_mouth",
            "evolutionary_line",
            "holding",
            "muscular",
            "open_mouth",
            "pokemon_(creature)",
            "pokemon_focus",
            "red_nose",
            "shiny_and_normal",
            "shiny_pokemon",
            "steel_beam",
            "veins",
            "white_pupils",
            "wooden_beam"
        ],
        "image_height": 1800
    },
    "meta": {
        "timestamp": "2026-06-10T14:02:17.312Z",
        "request_id": "e9b94dd9-34a9-46f1-a06f-a793603f8a12"
    },
    "status": "ok",
    "message": "Post retrieved successfully",
    "success": true
}
```

#### `GET /v1/posts` — Search anime-art posts by tag

**Parameters:**
- `tags` (query, optional, string) — Up to 2 tags Example: `cat_girl`
- `limit` (query, optional, string) — Max results (1-100) Example: `20`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/danbooru-api/v1/posts?tags=cat_girl&limit=20"
```

**Response:**
```json
{
    "data": {
        "tags": "cat_girl",
        "count": 20,
        "posts": [
            {
                "id": 11557814,
                "score": 0,
                "artist": [
                    "tatsuyoshi_(zawahomura)"
                ],
                "rating": "g",
                "file_url": "https://cdn.donmai.us/original/4c/96/4c964833d4e2b6e2f15a7172f931005c.jpg",
                "copyright": [
                    "indie_virtual_youtuber"
                ],
                "fav_count": 0,
                "characters": [
                    "yuuki_sakuna"
                ],
                "created_at": "2026-06-10T09:34:39.797-04:00",
                "image_width": 1473,
                "image_height": 2069
            },
            {
                "id": 11557789,
                "score": 0,
                "artist": [
                    "luxjii"
                ],
                "rating": "g",
                "file_url": "https://cdn.donmai.us/original/34/e0/34e02d5c5b799b90944ea924a46bec95.jpg",
                "copyright": [
                    "night_in_the_woods"
                ],
                "fav_count": 0,
                "characters": [
                    "mae_borowski"
                ],
                "created_at": "2026-06-10T09:30:46.140-04:00",
                "image_width": 1247,
                "image_height": 1962
            },
            {
                "id": 11557746,
                "score": 1,
                "artist": [
…(truncated, see openapi.json for full schema)
```

### Tags

#### `GET /v1/tags` — Search the tag database with post counts

**Parameters:**
- `q` (query, required, string) — Tag name prefix Example: `cat_girl`
- `limit` (query, optional, string) — Max results (1-100) Example: `20`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/danbooru-api/v1/tags?q=cat_girl&limit=20"
```

**Response:**
```json
{
    "data": {
        "tags": [
            {
                "name": "cat_ears",
                "category": "general",
                "post_count": 388263
            },
            {
                "name": "cat_tail",
                "category": "general",
                "post_count": 212534
            },
            {
                "name": "cat_girl",
                "category": "general",
                "post_count": 150241
            },
            {
                "name": "cat",
                "category": "general",
                "post_count": 112702
            },
            {
                "name": "cat_boy",
                "category": "general",
                "post_count": 17758
            },
            {
                "name": "cat_ear_headphones",
                "category": "general",
                "post_count": 11067
            },
            {
                "name": "cat_hair_ornament",
                "category": "general",
                "post_count": 9324
            },
            {
                "name": "cat_paws",
                "category": "general",
                "post_count": 7508
            },
            {
                "name": "cat_hood",
                "category": "general",
                "post_count": 7473
            },
            {
                "name": "cat_cutout",
                "category": "general",
                "post_count": 7359
            },
            {
                "name": "cat_lingerie
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/wiki` — The wiki page that defines a tag

**Parameters:**
- `title` (query, required, string) — Tag title Example: `cat_girl`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/danbooru-api/v1/wiki?title=cat_girl"
```

**Response:**
```json
{
    "data": {
        "body": "A girl with real [[cat]]-like features, such as [[cat ears]] or a [[cat tail]].\r\n\r\nDo not use for characters wearing [[fake animal ears]] or a [[fake tail]].\r\n\r\nh4. Examples \r\n\r\n* !post #9092056\r\n* !post #10285031\r\n* !post #9290747\r\n\r\nh4. See also\r\n\r\n* [[cat boy]]\r\n* [[dog girl]]\r\n* [[fox girl]]\r\n* [[wolf girl]]\r\n* [[rabbit girl]]\r\n* [[reindeer girl]]",
        "title": "cat_girl",
        "source": "Danbooru",
        "is_locked": false,
        "created_at": "2014-08-09T20:14:50.477-04:00",
        "updated_at": "2026-02-16T08:00:47.036-05:00",
        "other_names": [
            "猫娘",
            "キャットガール",
            "猫系女子",
            "猫耳娘",
            "貓人",
            "猫人",
            "貓娘",
            "ねこ娘",
            "ネコ娘"
        ]
    },
    "meta": {
        "timestamp": "2026-06-13T14:04:41.942Z",
        "request_id": "4f464371-158e-46ba-90ac-db2c3fc66dd0"
    },
    "status": "ok",
    "message": "Wiki retrieved successfully",
    "success": true
}
```

### Meta

#### `GET /v1/meta` — Service metadata

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

**Response:**
```json
{
    "data": {
        "source": "Danbooru public API (live, safe ratings only)",
        "service": "danbooru-api",
        "endpoints": {
            "GET /v1/meta": "This document.",
            "GET /v1/pool": "Search curated post collections by name (q=touhou).",
            "GET /v1/post": "A single post in full (id=11556356).",
            "GET /v1/tags": "Search the tag database with post counts (q=cat_girl, limit).",
            "GET /v1/wiki": "The wiki page that defines a tag (title=cat_girl).",
            "GET /v1/posts": "Search anime-art posts by tag (tags=cat_girl, max 2 tags, limit).",
            "GET /v1/artist": "An artist's profile and off-site links (name=wlop).",
            "GET /v1/popular": "Most-favourited posts of a day (date=YYYY-MM-DD, scale=day|week|month)."
        },
        "description": "Live post, tag and ranking data from Danbooru, the large community anime-art imageboard, via its public API. Danbooru is built around a deep tag taxonomy (artist, character, copyright/source, general). The posts endpoint searches images by tag and returns each post's score, favourite count, rating, dimensions and split tag sets; the post endpoint returns a single post in full; the tags endpoint searches the tag database, returning each tag's post count and category; the popular endpoint returns the most-favourited posts of a given day. Live, no key, nothing stored; to keep results work-safe only general- and sensitive-rated posts are returned. Distinct fro
…(truncated, see openapi.json for full schema)
```

### Artists

#### `GET /v1/artist` — An artist's profile and off-site links

**Parameters:**
- `name` (query, required, string) — Artist tag/name Example: `wlop`

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

**Response:**
```json
{
    "data": {
        "id": 87521,
        "name": "wlop",
        "urls": [
            "https://azz.net/wlop",
            "https://www.weibo.com/u/1804342520",
            "https://wlopwangling.tumblr.com",
            "https://www.artstation.com/wlop",
            "https://wlop9.lofter.com",
            "https://wlopwl.lofter.com",
            "http://drawcrowd.com/zydnq5010f7f7",
            "https://www.deviantart.com/wlop",
            "https://www.pixiv.net/stacc/wlop",
            "https://www.youtube.com/channel/UCPa7bvOg_r54NaQb7GJA9Eg",
            "https://pawoo.net/@wlop",
            "https://www.facebook.com/wlopart",
            "https://pawoo.net/web/accounts/479386",
            "https://vimeo.com/wlop",
            "https://tapastic.com/series/GhostBlade",
            "https://wlop.gumroad.com",
            "https://foundation.app/@wlop",
            "https://www.patreon.com/wlop",
            "https://sketch.pixiv.net/@wlop",
            "https://www.weibo.com/wlop",
            "https://www.pixiv.net/users/2188232",
            "https://space.bilibili.com/26633150",
            "https://www.patreon.com/user?u=470718",
            "https://7412416394628.gumroad.com",
            "https://www.lofter.com/mentionredirect.do?blogId=486764471"
        ],
        "source": "Danbooru",
        "is_banned": false,
        "created_at": "2012-11-09T00:55:56.560-05:00",
        "group_name": null,
        "other_names": [
            "wang_ling",
            "wlo
…(truncated, see openapi.json for full schema)
```

### Pools

#### `GET /v1/pool` — Search curated post collections by name

**Parameters:**
- `q` (query, required, string) — Pool name query Example: `touhou`
- `limit` (query, optional, string) — Max results (1-50) Example: `10`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/danbooru-api/v1/pool?q=touhou&limit=10"
```

**Response:**
```json
{
    "data": {
        "count": 10,
        "pools": [
            {
                "id": 26125,
                "name": "Touhou_-_Character_variant_sets_(dairi)",
                "category": "series",
                "post_ids": [
                    2982627,
                    9486019,
                    9486020,
                    9486023,
                    9486024,
                    9486026,
                    9486027,
                    9486028,
                    9486029,
                    9486030,
                    9486032,
                    9486033,
                    9486034,
                    9486037,
                    9486038,
                    9486039,
                    9486040,
                    9486042,
                    9486044,
                    9486046,
                    9486049,
                    9486052,
                    9486053,
                    9485613,
                    9485615,
                    9485617,
                    9485620,
                    9485622,
                    9485625,
                    9485630,
                    9485634,
                    9485635,
                    9485636,
                    9485638,
                    9485640,
                    9485645,
                    9485649,
                    9485650,
                    9485651,
                    9485653,
                    9485655,
                    9485656,
                    9485657,
                   
…(truncated, see openapi.json for full schema)
```


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