Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hackergrrl/latest-tweets
:bird: Get a JSON array of a Twitter user's latest tweets -- no Twitter API required!
https://github.com/hackergrrl/latest-tweets
Last synced: 24 days ago
JSON representation
:bird: Get a JSON array of a Twitter user's latest tweets -- no Twitter API required!
- Host: GitHub
- URL: https://github.com/hackergrrl/latest-tweets
- Owner: hackergrrl
- License: mit
- Created: 2015-10-25T22:44:49.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2022-12-08T06:34:32.000Z (almost 2 years ago)
- Last Synced: 2024-10-22T01:56:38.208Z (29 days ago)
- Language: JavaScript
- Homepage:
- Size: 135 KB
- Stars: 16
- Watchers: 3
- Forks: 5
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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](http://perlmonks.org/?node_id=1039382) by
[ciderpunx](http://perlmonks.org/?node_id=373188).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](https://github.com/substack/node-browserify).## usage
```js
var latestTweets = require('latest-tweets')latestTweets('noffle', true, function (err, tweets) {
console.log(tweets)
})
```This will output an array of objects:
```js
[ { 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
```js
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
```sh
$ 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