https://github.com/hyunchel/melon-chart-api
:melon: Melon Music Chart API
https://github.com/hyunchel/melon-chart-api
api chart javascript melon music
Last synced: about 2 months ago
JSON representation
:melon: Melon Music Chart API
- Host: GitHub
- URL: https://github.com/hyunchel/melon-chart-api
- Owner: hyunchel
- License: mit
- Created: 2017-04-21T04:03:41.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2023-11-12T04:40:37.000Z (over 2 years ago)
- Last Synced: 2025-10-02T21:38:10.126Z (8 months ago)
- Topics: api, chart, javascript, melon, music
- Language: JavaScript
- Homepage:
- Size: 351 KB
- Stars: 24
- Watchers: 4
- Forks: 7
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Melon Chart API
[](https://travis-ci.org/hyunchel/melon-chart-api)
Scrapes Melon Music chart data from Melon Music website.
## Install
```bash
$ npm install --save melon-chart-api
```
## Usage
```js
const Melon = require('melon-chart-api');
Melon('04/24/2017', { cutLine: 5 }).daily().then(chartData => {
console.log(chartData);
})
```
As of `04/24/2017`, the code above results in the following:
```
{
"data": [
{
"rank": "1",
"title": "팔레트 (Feat. G-DRAGON)",
"artist": "아이유",
"album": "Palette"
},
{
"rank": "2",
"title": "사랑이 잘 (With 오혁)",
"artist": "아이유",
"album": "사랑이 잘"
},
{
"rank": "3",
"title": "이런 엔딩",
"artist": "아이유",
"album": "Palette"
},
{
"rank": "4",
"title": "이 지금",
"artist": "아이유",
"album": "Palette"
},
{
"rank": "5",
"title": "잼잼",
"artist": "아이유",
"album": "Palette"
}
],
"dates": {
"start": "20170424",
"end": "20170424"
}
}
```
> feat. 갓이유
## API
### Melon(date, [options])
#### date
Type: `number`, `string`, `object`
Any object that can be parsed using `date-fns/parse` function.
#### options
##### cutLine
Type: `number`
Default: `5`
##### realtime
Type: `boolean`
Default: `false`
### methods
All methods return a promise that results to Melon chart rankings in JSON.
#### Melon.realtime()
Returns realtime chart.
This method will default to the latest "realtime" chart rankings.
With `realtime` flag, the given date will be treated as "realtime", and will expect "hour" to be populated in the date.
If "hour" is not populated, it defaults to midnight(`00`).
#### Melon.daily()
Returns daily chart.
This method will ignore the given date, as Melon Music does not provide previous daily charts.
Regardless of the date, this method will always return the most recent daily chart.
#### Melon.weekly()
Returns weekly chart for the given date.
The coresponding week will be computed and fetch the correct chart accordingly.
#### Melon.monthly()
Returns monthly chart for the given date.