Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Hacker News REST API using Flask on Heroku using memcached.

branch: master

donate links

latest commit bfd58321be
Karan Goel authored
Octocat-spinner-32 templates donate links March 01, 2014
Octocat-spinner-32 .gitignore update memcached usage December 23, 2013
Octocat-spinner-32 LICENSE Initial commit October 28, 2013
Octocat-spinner-32 Procfile install newrelic December 22, 2013
Octocat-spinner-32 README.md donate links March 01, 2014
Octocat-spinner-32 app.py fixed most of get comments January 31, 2014
Octocat-spinner-32 requirements.txt fixed most of get comments January 31, 2014
README.md

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!

Something went wrong with that request. Please try again.