/latest-tweets

:bird: Get a JSON array of a Twitter user's latest tweets -- no Twitter API required!

Primary LanguageJavaScriptMIT LicenseMIT

latest-tweets

get a JSON array of a Twitter user's latest tweets -- no Twitter API required!

unmaintained

I'm no longer actively maintaining this module. The approach this module uses (parsing the raw HTML) is prone to break often, as Twitter changes their website layout somewhat frequently. I'm happy to merge PRs or give away the module to someone interested in maintaining it, but won't be providing ongoing support.

background

Based on the Perl implementation by ciderpunx.

This was written to be used in Node, but it embeds a CORS proxy url so you can use it without any configuration in the browser using e.g. browserify.

usage

var latestTweets = require('latest-tweets')

latestTweets('noffle', true, function (err, tweets) {
  console.log(tweets)
})

This will output an array of objects:

[ { url: 'https://twitter.com/noffle/status/700514938750521344',
    content: 'We worry about what others think of us when we don\'t know what we think of ourselves.',
    date: 'Fri Feb 19 2016 02:59:10 GMT+0100 (CET)' },
    username: '@noffle',
    fullname: 'Stephen Whitmore',
    image: 'https://imageurl.com/image_id_1',
    mentions: [ '@twitteruser1', '@twitteruser2' ],
    hashtags: [ '#hastag1', '#hashtag2' ],
    links: [ 'http://a-link.com' ]
  { url: 'https://twitter.com/noffle/status/727096493543317504',
    content: 'API tokens are awful and don\'t let anybody tell you otherwise.',
    date: 'Mon May 02 2016 11:24:47 GMT+0200 (CEST)' },
    username: '@noffle',
    fullname: 'Stephen Whitmore',
    image: 'https://imageurl.com/image_id_2',
    mentions: [],
    hashtags: [],
    links: []
  ...

api

var latestTweets = require('latest-tweets')

latestTweets(username, skipPinnedTweets, cb(err, tweets))

Specify a username of the timeline you want and whether or not you want to skip pinned tweets. The callback cb will contain an optional error as its first parameter, and an array with the user's latest tweets as its second parameter.

installation

$ npm i latest-tweets

ever-shifting ground

Scraping HTML is a foundation upon ever-shifting ground. As Twitter changes [what is essentially an unofficial API], things will break. If you notice that latest-tweets isn't working, please file an issue. Better yet, file a fixing pull request.

license

MIT