node package manager
Don’t reinvent the wheel. Reuse code within your team. Create a free org »

vine-scrape-account-stats

Vine Scrape Account Stats

Build Status NPM version NPM license

A tool for scraping public data from Vine, without needing to get permission from Vine. It scrapes the following fields:

  • authoredPosts
  • description
  • followers
  • following
  • isExplicit
  • isPrivate
  • isVerified
  • name
  • posts
  • totalLikedPosts
  • totalLoops
  • userId
  • username

See lib/response.schema.json for further details.

Example

CLI

The CLI operates entirely over STDOUT, and will output the account stats as JSON.

$ vine-scrape-account-stats --id 969179904094908416
{"description":"","followers":3,"following":3,"isExplicit":false,"isPrivate":false,"isVerified":false,"name":"Sean Lang","totalLoops":30,"totalLikedPosts":14,"userId":"969179904094908416","username":"slang","authoredPosts":2,"posts":2}
$ vine-scrape-account-stats -u slang
{"description":"","followers":3,"following":3,"isExplicit":false,"isPrivate":false,"isVerified":false,"name":"Sean Lang","totalLoops":30,"totalLikedPosts":14,"userId":"969179904094908416","username":"slang","authoredPosts":2,"posts":2}

JavaScript Module

The following example is in CoffeeScript.

{getAccountStats} = require 'vine-scrape-account-stats'
 
getAccountStats(userId: '969179904094908416').then((account) ->
  console.log "#{account.username} has #{account.followers} followers."
)

The following example is the same as the last one, but in JavaScript.

var getAccountStats = require('vine-scrape-account-stats').getAccountStats;
 
getAccountStats(userId: '969179904094908416').then(function(account) {
  console.log(account.username + " has " + account.followers + " followers.");
});

Why?

Vine doesn't provide an open, structured, and machine readable API, so, we're forced to scrape their user-facing site.

Caveats

  • This is probably against the Vine TOS, so don't use it if that sort of thing worries you.
  • Whenever Vine updates certain parts of their front-end this scraper will need to be updated to support the new API.
  • You can't scrape protected accounts (cause it's not public duh).