Skip to content

Returns pricing data for all available Spotify countries

Notifications You must be signed in to change notification settings

atytsky/spotify-crawler

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

spotify-crawler Build Status Dependency Status Gitter

Returns pricing data for all available Spotify countries

Crawls the list of countries where Spotify is available. Fetches the listed premium price for each country and finally converts the price into USD.

Thanks to restcoutries.eu and Open Exchange Rates.

Installation

$ npm install spotify-crawler

Usage

Methods:

  • fetch - returns array with all the countries.
  • getCatalogSize - takes the two-letter country code, returns number of total tracks.
Example:
var spotify = require('spotify-crawler');

spotify.fetch()
  .then(saveCountries)
  .catch(console.log);

function saveCountries(countries){
  console.log('Inserting {0} countries in DB'.format(countries.length));

  var save = Country.create(countries);
}
Output

The country object consists of:

  • link - Spotify href
  • title - the country title, localized version(Österreich)
  • originalRel - the rel directly from Spotify
  • rel - stripped the originalRel of the language(be-fr)
  • currency - the currency code from restcoutries.eu, but corrected for the countries that doesn't display price in their own currency on the website.
  • originalCurrency - the raw currency code from restcoutries.eu.
  • countryCode - the alpha3Code from restcoutries.eu.
  • internationalName - the international name from restcoutries.eu.
  • region - the region from restcoutries.eu.
  • subRegion - the subregion from restcoutries.eu.
  • demonym - the demonym from restcoutries.eu.
  • originalPrice - the whole text from the HTML element
  • price - strip all text from originalPrice
  • convertedPrice - local price converted into USD with rate from Open Exchange Rates
  • catalogSize - amount of tracks available in the country

Output data example for a single country:

{
    "link": "/au/",
    "title": "Australia",
    "originalRel": "au",
    "rel": "au",
    "currency": "AUD",
    "originalCurrency": "AUD",
    "countryCode": "AUS",
    "internationalName": "Australia",
    "region": "Oceania",
    "subRegion": "Australia and New Zealand",
    "demonym": "Australian",
    "originalPrice": "$11.99 per month",
    "price": "11.99",
    "convertedPrice": 11.25280616267109,
    "catalogSize": 30695608
}

todo

  • Multiple methods
    • getCountries
    • getRawPrices
    • getCatalogSize
    • etc.
  • Split up index.js into modules
  • Tests
  • CLI support
  • Supply own app_id for Open Exchange Rates

About

Returns pricing data for all available Spotify countries

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%