All Projects → karan → Hnify

karan / Hnify

Licence: mit
Hacker News REST API using Flask on Heroku using memcached.

Programming Languages

python
139335 projects - #7 most used programming language

HNify

HNify

Unofficial REST API for Hacker News. Built using HackerNewsAPI.

Now uses memcached for increased performace!

Start

$ brew install memcached            # install memcached
$ pip install -r requirements.txt   # install dependencies
$ memcached -vv                     # start memcached server
$ python app.py                     # start the api

Deploy to Heroku

$ pip install -r requirements.txt   # install dependencies
$ heroku create
$ heroku addons:add memcachedcloud
$ heroku addons:add newrelic
$ (git add, git commit)
$ git push heroku master

If you get an error on the memcached line, see the following help article.

Usage

Base URL: http://hnify.herokuapp.com

Output: JSON

Get stories from top page

GET /get/top

Parameters:

Name Type Description
limit integer Return only at most these many stories, at least 30

Get stories from newest page

GET /get/newest

Parameters:

Name Type Description
limit integer Return only at most these many stories, at least 30

Get stories from best page

GET /get/best

Parameters:

Name Type Description
limit integer Return only at most these many stories, at least 30

Currently trending topics on HN

GET /get/trends

Get comments from story id

GET /get/comments/<story_id>/


Example

karan:$ curl -i http://hnify.herokuapp.com/get/newest
HTTP/1.1 200 OK
Content-Type: application/json
Date: Tue, 29 Oct 2013 06:23:39 GMT
Server: gunicorn/18.0
Content-Length: 16562
Connection: keep-alive

{
  "stories": [
    {
      "comments_link": "http://news.ycombinator.com/item?id=6632337", 
      "domain": "independent.co.uk", 
      "is_self": false, 
      "link": "http://www.independent.co.uk/news/science/lifi-breakthrough-internet-connections-using-light-bulbs-are-250-times-faster-than-broadband-8909320.html", 
      "num_comments": 0, 
      "points": 1, 
      "published_time": "1 minute ago", 
      "rank": 1, 
      "story_id": 6632337, 
      "submitter": "yapcguy", 
      "submitter_profile": "http://news.ycombinator.com/user?id=yapcguy", 
      "title": "Li-Fi: Internet connections using light bulbs are 250 x faster than broadband"
    }, 
    {
      "comments_link": "http://news.ycombinator.com/item?id=6632335", 
      "domain": "github.com", 
      "is_self": false, 
      "link": "https://github.com/postmodern/chruby", 
      "num_comments": 0, 
      "points": 2, 
      "published_time": "1 minute ago", 
      "rank": 2, 
      "story_id": 6632335, 
      "submitter": "michaelrkn", 
      "submitter_profile": "http://news.ycombinator.com/user?id=michaelrkn", 
      "title": "Chruby: a lightweight, elegant RVM alternative"
    }, 
    <-- snip -->
    ]
}

Donations

If HNify has helped you in any way, and you'd like to help the developer, please consider donating.

- BTC: 19dLDL4ax7xRmMiGDAbkizh6WA6Yei2zP5

- Gittip: https://www.gittip.com/karan/

- Flattr: https://flattr.com/profile/thekarangoel

Contribute

If you want to add any new features, or improve existing ones, feel free to send a pull request!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].