--- sidebar_position: 2 --- import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; # K-Comebacks Database A database of the most important K-Pop Comebacks since 2017. It is updated once a day. :::warning The Comebacks are automatically scraped from the `r/kpop` Wiki comebacks-list and the [python script](https://github.com/JonasunderscoreJones/turbo-octo-potato/blob/main/rpopfetch.py) may produce errors and fetch some entries wrong. ::: :::note The timezone used for the entries is `KST UTC+09:00` ::: ## GET /v1/kcomebacks/last_update Get the date and time of the last update made to the comeback database :::tip[**Example** Response] ```json "2024-08-16 12:05:04 UTC" ``` ```json { "status": 500, "statusText": "Internal Server Error" } ``` | Parameter | Type | Description | | ---------- | ------ | ---------------------------- | | status | Number | The status code of the error | | statusText | String | The status text of the error | ```json API is down { "status": 503, "statusText": "Service Unavailable" } ``` | Parameter | Type | Description | | ---------- | ------ | ---------------------------- | | status | Number | The status code of the error | | statusText | String | The status text of the error | ::: ## GET /v1/kcomebacks/filter/id → /v1/kcomebacks/filterid?id=*id* Get the comeback entry with id = id :::note If the entry-count is fetched using [GET /v1/kcomebacks/filter/getinfo](#get-v1kcomebacksfiltergetinfo) the `id` of the last entry is `num_items - 1` ::: | Parameter | Type | Description | Example | Required | Default Value (if optional) | | --------- | ------------------- | ------------------------- | ------- | -------- | --------------------------- | | id | Number (*positive*) | id of the requested entry | 5 | Yes | - | :::tip[**Example** Response] ```json { "results": [ { "date": "2017-03-1", "time": "--:--", "artist": "Lim Heo Nil", "title": "Heart For Someone", "types": [ "single", "digital" ], "links": [ "https://play.spotify.com…m/7lIMFbUB5tV8vqJT0gH40W", "https://www.reddit.com/5wsn0p" ] } ], "count": 1 } ``` | Parameter | Type | Description | | --------- | ----------- | -------------------------------------------------------------------------- | | date | Date String | The date of the comeback in KST (UTC+09:00) | | time | Time String | The date of the comeback in KST (UTC+09:00) | | artist | String | The Artist name(s) | | title | String | The comeback name | | types | [String] | List of the types | | links | [String] | List of Links to Platforms like Spotify, Youtube and Reddit (if available) | | count | Number | Amount of matching comeback entries that were found | ```json { "status": 400, "statusText": "Bad Request" } ``` | Parameter | Type | Description | | ---------- | ------ | ---------------------------- | | status | Number | The status code of the error | | statusText | String | The status text of the error | ```json { "status": 500, "statusText": "Internal Server Error" } ``` | Parameter | Type | Description | | ---------- | ------ | ---------------------------- | | status | Number | The status code of the error | | statusText | String | The status text of the error | ```json API is down { "status": 503, "statusText": "Service Unavailable" } ``` | Parameter | Type | Description | | ---------- | ------ | ---------------------------- | | status | Number | The status code of the error | | statusText | String | The status text of the error | ::: ## GET /v1/kcomebacks/filter/getall → /v1/kcomebacks/filter/getall?limit=*limit*&offset=*offset* Get all the comeback entries limited by limit and offset | Parameter | Type | Description | Example | Required | Default Value (if optional) | | --------- | ------------------- | ----------------------------------- | ------- | -------- | --------------------------- | | limit | Number (0 ≤ n ≤ 50) | maximum amount of entries to select | 2 | Yes | - | | offset | Number (*posirive*) | offset from *id* `0` | 5 | Yes | - | :::tip[**Example** Response] ```json { "results": [ { "date": "2017-03-1", "time": "--:--", "artist": "Lim Heo Nil", "title": "Heart For Someone", "types": [ "single", "digital" ], "links": [ "https://play.spotify.com…m/7lIMFbUB5tV8vqJT0gH40W", "https://www.reddit.com/5wsn0p" ] }, { "date": "2017-03-1", "time": "--:--", "artist": "PENOMECO", "title": "FILM", "types": [ "single" ], "links": [ "https://play.spotify.com/album/2FwUxt5jYvcQc3ZgZRaeEL", "https://www.reddit.com/5wsn0p" ] }, ], "count": 2 } ``` | Parameter | Type | Description | | --------- | ----------- | -------------------------------------------------------------------------- | | date | Date String | The date of the comeback in KST (UTC+09:00) | | time | Time String | The date of the comeback in KST (UTC+09:00) | | artist | String | The Artist name(s) | | title | String | The comeback name | | types | [String] | List of the types | | links | [String] | List of Links to Platforms like Spotify, Youtube and Reddit (if available) | | count | Number | Amount of matching comeback entries that were found | ```json { "status": 400, "statusText": "Bad Request" } ``` | Parameter | Type | Description | | ---------- | ------ | ---------------------------- | | status | Number | The status code of the error | | statusText | String | The status text of the error | ```json { "status": 500, "statusText": "Internal Server Error" } ``` | Parameter | Type | Description | | ---------- | ------ | ---------------------------- | | status | Number | The status code of the error | | statusText | String | The status text of the error | ```json API is down { "status": 503, "statusText": "Service Unavailable" } ``` | Parameter | Type | Description | | ---------- | ------ | ---------------------------- | | status | Number | The status code of the error | | statusText | String | The status text of the error | ::: ## GET /v1/kcomebacks/filter/daterange → /v1/kcomebacks/filter/daterange?start=*start*&end=*end*&limit=*limit*&offset=*offset* Get all comeback entries within a given timeframe | Parameter | Type | Description | Example | Required | Default Value (if optional) | | --------- | ------------------- | ----------------------------------- | ---------- | -------- | --------------------------- | | start | Date (YYYY-MM-DD) | start date for date range | 2024-8-2 | Yes | - | | end | Date (YYYY-MM-DD) | end date for date range | 2024-10-22 | Yes | - | | limit | Number (0 ≤ n ≤ 50) | maximum amount of entries to select | 2 | Yes | - | | offset | Number (*posirive*) | offset from *id* `0` | 5 | Yes | - | :::tip[**Example** Response] ```json { "results": [ { "date": "2017-03-1", "time": "--:--", "artist": "Lim Heo Nil", "title": "Heart For Someone", "types": [ "single", "digital" ], "links": [ "https://play.spotify.com…m/7lIMFbUB5tV8vqJT0gH40W", "https://www.reddit.com/5wsn0p" ] }, { "date": "2017-03-1", "time": "--:--", "artist": "PENOMECO", "title": "FILM", "types": [ "single" ], "links": [ "https://play.spotify.com/album/2FwUxt5jYvcQc3ZgZRaeEL", "https://www.reddit.com/5wsn0p" ] }, ], "count": 2 } ``` | Parameter | Type | Description | | --------- | ----------- | -------------------------------------------------------------------------- | | date | Date String | The date of the comeback in KST (UTC+09:00) | | time | Time String | The date of the comeback in KST (UTC+09:00) | | artist | String | The Artist name(s) | | title | String | The comeback name | | types | [String] | List of the types | | links | [String] | List of Links to Platforms like Spotify, Youtube and Reddit (if available) | | count | Number | Amount of matching comeback entries that were found | ```json { "status": 400, "statusText": "Bad Request" } ``` | Parameter | Type | Description | | ---------- | ------ | ---------------------------- | | status | Number | The status code of the error | | statusText | String | The status text of the error | ```json { "status": 500, "statusText": "Internal Server Error" } ``` | Parameter | Type | Description | | ---------- | ------ | ---------------------------- | | status | Number | The status code of the error | | statusText | String | The status text of the error | ```json API is down { "status": 503, "statusText": "Service Unavailable" } ``` | Parameter | Type | Description | | ---------- | ------ | ---------------------------- | | status | Number | The status code of the error | | statusText | String | The status text of the error | ::: ## GET /v1/kcomebacks/filter/first Get the first (oldest) comeback entry :::tip[**Example** Response] ```json { "results": [ { "date": "2017-03-1", "time": "--:--", "artist": "Lim Heo Nil", "title": "Heart For Someone", "types": [ "single", "digital" ], "links": [ "https://play.spotify.com…m/7lIMFbUB5tV8vqJT0gH40W", "https://www.reddit.com/5wsn0p" ] } ], "count": 1 } ``` | Parameter | Type | Description | | --------- | ----------- | -------------------------------------------------------------------------- | | date | Date String | The date of the comeback in KST (UTC+09:00) | | time | Time String | The date of the comeback in KST (UTC+09:00) | | artist | String | The Artist name(s) | | title | String | The comeback name | | types | [String] | List of the types | | links | [String] | List of Links to Platforms like Spotify, Youtube and Reddit (if available) | | count | Number | Amount of matching comeback entries that were found | ```json { "status": 500, "statusText": "Internal Server Error" } ``` | Parameter | Type | Description | | ---------- | ------ | ---------------------------- | | status | Number | The status code of the error | | statusText | String | The status text of the error | ```json API is down { "status": 503, "statusText": "Service Unavailable" } ``` | Parameter | Type | Description | | ---------- | ------ | ---------------------------- | | status | Number | The status code of the error | | statusText | String | The status text of the error | ::: ## GET /v1/kcomebacks/filter/last Get the last (most recent) comeback entry :::tip[**Example** Response] ```json { "results": [ { "date": "2017-03-1", "time": "--:--", "artist": "Lim Heo Nil", "title": "Heart For Someone", "types": [ "single", "digital" ], "links": [ "https://play.spotify.com…m/7lIMFbUB5tV8vqJT0gH40W", "https://www.reddit.com/5wsn0p" ] } ], "count": 1 } ``` | Parameter | Type | Description | | --------- | ----------- | -------------------------------------------------------------------------- | | date | Date String | The date of the comeback in KST (UTC+09:00) | | time | Time String | The date of the comeback in KST (UTC+09:00) | | artist | String | The Artist name(s) | | title | String | The comeback name | | types | [String] | List of the types | | links | [String] | List of Links to Platforms like Spotify, Youtube and Reddit (if available) | | count | Number | Amount of matching comeback entries that were found | ```json { "status": 500, "statusText": "Internal Server Error" } ``` | Parameter | Type | Description | | ---------- | ------ | ---------------------------- | | status | Number | The status code of the error | | statusText | String | The status text of the error | ```json API is down { "status": 503, "statusText": "Service Unavailable" } ``` | Parameter | Type | Description | | ---------- | ------ | ---------------------------- | | status | Number | The status code of the error | | statusText | String | The status text of the error | ::: ## GET /v1/kcomebacks/filter/artist → /v1/kcomebacks/filter/artist?artist=*artist*&limit=*limit*&offset=*offset* Get all comeback entries where the provided artist string exists within an entry's artist name | Parameter | Type | Description | Example | Required | Default Value (if optional) | | --------- | ------------------- | ---------------------------------------------------- | ---------- | -------- | --------------------------- | | artist | String | Partial or full artist name (letter case irrelevant) | "Ateez" | Yes | - | | limit | Number (0 ≤ n ≤ 50) | maximum amount of entries to select | 2 | Yes | - | | offset | Number (*posirive*) | offset from *id* `0` | 5 | Yes | - | :::tip[**Example** Response] ```json { "results": [ { "date": "2017-03-1", "time": "--:--", "artist": "Lim Heo Nil", "title": "Heart For Someone", "types": [ "single", "digital" ], "links": [ "https://play.spotify.com…m/7lIMFbUB5tV8vqJT0gH40W", "https://www.reddit.com/5wsn0p" ] }, { "date": "2017-03-1", "time": "--:--", "artist": "PENOMECO", "title": "FILM", "types": [ "single" ], "links": [ "https://play.spotify.com/album/2FwUxt5jYvcQc3ZgZRaeEL", "https://www.reddit.com/5wsn0p" ] }, ], "count": 2 } ``` | Parameter | Type | Description | | --------- | ----------- | -------------------------------------------------------------------------- | | date | Date String | The date of the comeback in KST (UTC+09:00) | | time | Time String | The date of the comeback in KST (UTC+09:00) | | artist | String | The Artist name(s) | | title | String | The comeback name | | types | [String] | List of the types | | links | [String] | List of Links to Platforms like Spotify, Youtube and Reddit (if available) | | count | Number | Amount of matching comeback entries that were found | ```json { "status": 400, "statusText": "Bad Request" } ``` | Parameter | Type | Description | | ---------- | ------ | ---------------------------- | | status | Number | The status code of the error | | statusText | String | The status text of the error | ```json { "status": 500, "statusText": "Internal Server Error" } ``` | Parameter | Type | Description | | ---------- | ------ | ---------------------------- | | status | Number | The status code of the error | | statusText | String | The status text of the error | ```json API is down { "status": 503, "statusText": "Service Unavailable" } ``` | Parameter | Type | Description | | ---------- | ------ | ---------------------------- | | status | Number | The status code of the error | | statusText | String | The status text of the error | ::: ## GET /v1/kcomebacks/filter/title → /v1/kcomebacks/filter/title?title=*title*&limit=*limit*&offset=*offset* Get all comeback entries where the provided title string exists within an entry's song title | Parameter | Type | Description | Example | Required | Default Value (if optional) | | --------- | ------------------- | --------------------------------------------------- | ---------- | -------- | --------------------------- | | title | String | Partial or full song title (letter case irrelevant) | "Sneakers" | Yes | - | | limit | Number (0 ≤ n ≤ 50) | maximum amount of entries to select | 2 | Yes | - | | offset | Number (*posirive*) | offset from *id* `0` | 5 | Yes | - | :::tip[**Example** Response] ```json { "results": [ { "date": "2017-03-1", "time": "--:--", "artist": "Lim Heo Nil", "title": "Heart For Someone", "types": [ "single", "digital" ], "links": [ "https://play.spotify.com…m/7lIMFbUB5tV8vqJT0gH40W", "https://www.reddit.com/5wsn0p" ] }, { "date": "2017-03-1", "time": "--:--", "artist": "PENOMECO", "title": "FILM", "types": [ "single" ], "links": [ "https://play.spotify.com/album/2FwUxt5jYvcQc3ZgZRaeEL", "https://www.reddit.com/5wsn0p" ] }, ], "count": 2 } ``` | Parameter | Type | Description | | --------- | ----------- | -------------------------------------------------------------------------- | | date | Date String | The date of the comeback in KST (UTC+09:00) | | time | Time String | The date of the comeback in KST (UTC+09:00) | | artist | String | The Artist name(s) | | title | String | The comeback name | | types | [String] | List of the types | | links | [String] | List of Links to Platforms like Spotify, Youtube and Reddit (if available) | | count | Number | Amount of matching comeback entries that were found | ```json { "status": 400, "statusText": "Bad Request" } ``` | Parameter | Type | Description | | ---------- | ------ | ---------------------------- | | status | Number | The status code of the error | | statusText | String | The status text of the error | ```json { "status": 500, "statusText": "Internal Server Error" } ``` | Parameter | Type | Description | | ---------- | ------ | ---------------------------- | | status | Number | The status code of the error | | statusText | String | The status text of the error | ```json API is down { "status": 503, "statusText": "Service Unavailable" } ``` | Parameter | Type | Description | | ---------- | ------ | ---------------------------- | | status | Number | The status code of the error | | statusText | String | The status text of the error | ::: ## GET /v1/kcomebacks/filter/type → /v1/kcomebacks/filter/type?type=*type*&limit=*limit*&offset=*offset* Get all comeback entries where the provided type string matches an entry's type. All entry types can be fetched using [GET /v1/kcomebacks/filter/gettypes](#get-v1kcomebacksfiltergettypes) | Parameter | Type | Description | Example | Required | Default Value (if optional) | | --------- | ------------------- | --------------------------------------------------- | ---------- | -------- | --------------------------- | | type | String | Full comeback type (letter case **RELEVANT**) | "single" | Yes | - | | limit | Number (0 ≤ n ≤ 50) | maximum amount of entries to select | 2 | Yes | - | | offset | Number (*posirive*) | offset from *id* `0` | 5 | Yes | - | :::tip[**Example** Response] ```json { "results": [ { "date": "2017-03-1", "time": "--:--", "artist": "Lim Heo Nil", "title": "Heart For Someone", "types": [ "single", "digital" ], "links": [ "https://play.spotify.com…m/7lIMFbUB5tV8vqJT0gH40W", "https://www.reddit.com/5wsn0p" ] }, { "date": "2017-03-1", "time": "--:--", "artist": "PENOMECO", "title": "FILM", "types": [ "single" ], "links": [ "https://play.spotify.com/album/2FwUxt5jYvcQc3ZgZRaeEL", "https://www.reddit.com/5wsn0p" ] }, ], "count": 2 } ``` | Parameter | Type | Description | | --------- | ----------- | -------------------------------------------------------------------------- | | date | Date String | The date of the comeback in KST (UTC+09:00) | | time | Time String | The date of the comeback in KST (UTC+09:00) | | artist | String | The Artist name(s) | | title | String | The comeback name | | types | [String] | List of the types | | links | [String] | List of Links to Platforms like Spotify, Youtube and Reddit (if available) | | count | Number | Amount of matching comeback entries that were found | ```json { "status": 400, "statusText": "Bad Request" } ``` | Parameter | Type | Description | | ---------- | ------ | ---------------------------- | | status | Number | The status code of the error | | statusText | String | The status text of the error | ```json { "status": 500, "statusText": "Internal Server Error" } ``` | Parameter | Type | Description | | ---------- | ------ | ---------------------------- | | status | Number | The status code of the error | | statusText | String | The status text of the error | ```json API is down { "status": 503, "statusText": "Service Unavailable" } ``` | Parameter | Type | Description | | ---------- | ------ | ---------------------------- | | status | Number | The status code of the error | | statusText | String | The status text of the error | ::: ## GET /v1/kcomebacks/filter/gettypes Get a list of the different types of all comeback entries :::tip[**Example** Response] ```json { "results": [ "album", "signle", "digital", "japanese", "..." ], "total_results": 127 } ``` | Parameter | Type | Description | | ------------- | -------- | --------------------------------------------------- | | results | [String] | List of all the different types of comeback entries | | total_results | Number | Amount of different types of comeback entries | ```json { "status": 500, "statusText": "Internal Server Error" } ``` | Parameter | Type | Description | | ---------- | ------ | ---------------------------- | | status | Number | The status code of the error | | statusText | String | The status text of the error | ```json API is down { "status": 503, "statusText": "Service Unavailable" } ``` | Parameter | Type | Description | | ---------- | ------ | ---------------------------- | | status | Number | The status code of the error | | statusText | String | The status text of the error | ::: ## GET /v1/kcomebacks/filter/getinfo Get the entry-count, artist-count, start date and end date :::tip[**Example** Response] ```json { "num_items": 143, "num_artists": 127, "start_date": "2017-3-1", "end_date": "2024-8-30" } ``` | Parameter | Type | Description | | ----------- | ----------- | ------------------------------------------ | | num_items | Number | Amount of comeback entries | | num_artists | Number | Amount of different artists | | start_date | Date String | The date of the first (oldest) entry | | end_date | Date String | The date of the last (most recent) entry | ```json { "status": 500, "statusText": "Internal Server Error" } ``` | Parameter | Type | Description | | ---------- | ------ | ---------------------------- | | status | Number | The status code of the error | | statusText | String | The status text of the error | ```json API is down { "status": 503, "statusText": "Service Unavailable" } ``` | Parameter | Type | Description | | ---------- | ------ | ---------------------------- | | status | Number | The status code of the error | | statusText | String | The status text of the error | ::: ## GET /v1/kcomebacks/upcoming/today Get the upcoming or to be released comebacks of the current day :::note The timezone used for this query is `CEST UTC+02:00` while the timezone used for the entries is `KST UTC+09:00` ::: :::tip[**Example** Response] ```json { "results": [ { "date": "2017-03-1", "time": "--:--", "artist": "Lim Heo Nil", "title": "Heart For Someone", "types": [ "single", "digital" ], "links": [ "https://play.spotify.com…m/7lIMFbUB5tV8vqJT0gH40W", "https://www.reddit.com/5wsn0p" ] } ], "count": 1 } ``` | Parameter | Type | Description | | --------- | ----------- | -------------------------------------------------------------------------- | | date | Date String | The date of the comeback in KST (UTC+09:00) | | time | Time String | The date of the comeback in KST (UTC+09:00) | | artist | String | The Artist name(s) | | title | String | The comeback name | | types | [String] | List of the types | | links | [String] | List of Links to Platforms like Spotify, Youtube and Reddit (if available) | | count | Number | Amount of matching comeback entries that were found | ```json { "status": 500, "statusText": "Internal Server Error" } ``` | Parameter | Type | Description | | ---------- | ------ | ---------------------------- | | status | Number | The status code of the error | | statusText | String | The status text of the error | ```json API is down { "status": 503, "statusText": "Service Unavailable" } ``` | Parameter | Type | Description | | ---------- | ------ | ---------------------------- | | status | Number | The status code of the error | | statusText | String | The status text of the error | ::: ## GET /v1/kcomebacks/upcoming/week Get the upcoming or to be released comebacks of the next 7 days :::note The timezone used for this query is `CEST UTC+02:00` while the timezone used for the entries is `KST UTC+09:00` ::: :::tip[**Example** Response] ```json { "results": [ { "date": "2017-03-1", "time": "--:--", "artist": "Lim Heo Nil", "title": "Heart For Someone", "types": [ "single", "digital" ], "links": [ "https://play.spotify.com…m/7lIMFbUB5tV8vqJT0gH40W", "https://www.reddit.com/5wsn0p" ] } ], "count": 1 } ``` | Parameter | Type | Description | | --------- | ----------- | -------------------------------------------------------------------------- | | date | Date String | The date of the comeback in KST (UTC+09:00) | | time | Time String | The date of the comeback in KST (UTC+09:00) | | artist | String | The Artist name(s) | | title | String | The comeback name | | types | [String] | List of the types | | links | [String] | List of Links to Platforms like Spotify, Youtube and Reddit (if available) | | count | Number | Amount of matching comeback entries that were found | ```json { "status": 500, "statusText": "Internal Server Error" } ``` | Parameter | Type | Description | | ---------- | ------ | ---------------------------- | | status | Number | The status code of the error | | statusText | String | The status text of the error | ```json API is down { "status": 503, "statusText": "Service Unavailable" } ``` | Parameter | Type | Description | | ---------- | ------ | ---------------------------- | | status | Number | The status code of the error | | statusText | String | The status text of the error | ::: ## GET /v1/kcomebacks/upcoming/month Get the upcoming or to be released comebacks of the next 31 days :::note The timezone used for this query is `CEST UTC+02:00` while the timezone used for the entries is `KST UTC+09:00` ::: :::tip[**Example** Response] ```json { "results": [ { "date": "2017-03-1", "time": "--:--", "artist": "Lim Heo Nil", "title": "Heart For Someone", "types": [ "single", "digital" ], "links": [ "https://play.spotify.com…m/7lIMFbUB5tV8vqJT0gH40W", "https://www.reddit.com/5wsn0p" ] } ], "count": 1 } ``` | Parameter | Type | Description | | --------- | ----------- | -------------------------------------------------------------------------- | | date | Date String | The date of the comeback in KST (UTC+09:00) | | time | Time String | The date of the comeback in KST (UTC+09:00) | | artist | String | The Artist name(s) | | title | String | The comeback name | | types | [String] | List of the types | | links | [String] | List of Links to Platforms like Spotify, Youtube and Reddit (if available) | | count | Number | Amount of matching comeback entries that were found | ```json { "status": 500, "statusText": "Internal Server Error" } ``` | Parameter | Type | Description | | ---------- | ------ | ---------------------------- | | status | Number | The status code of the error | | statusText | String | The status text of the error | ```json API is down { "status": 503, "statusText": "Service Unavailable" } ``` | Parameter | Type | Description | | ---------- | ------ | ---------------------------- | | status | Number | The status code of the error | | statusText | String | The status text of the error | :::