An open API service indexing awesome lists of open source software.

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

Awesome Lists containing this project

README

          

# Melon Chart API

[![Build Status](https://travis-ci.org/hyunchel/melon-chart-api.svg?branch=master)](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.