{"id":18780450,"url":"https://github.com/karan/hook","last_synced_at":"2026-03-06T12:04:04.244Z","repository":{"id":17855809,"uuid":"20778696","full_name":"karan/Hook","owner":"karan","description":"ProductHunt REST API (Unofficial) - DISCONTINUED","archived":false,"fork":false,"pushed_at":"2014-10-07T15:26:29.000Z","size":444,"stargazers_count":90,"open_issues_count":0,"forks_count":8,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-12-02T14:20:57.044Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/karan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-06-12T18:41:00.000Z","updated_at":"2025-10-15T00:21:08.000Z","dependencies_parsed_at":"2022-09-24T19:12:42.441Z","dependency_job_id":null,"html_url":"https://github.com/karan/Hook","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/karan/Hook","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karan%2FHook","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karan%2FHook/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karan%2FHook/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karan%2FHook/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/karan","download_url":"https://codeload.github.com/karan/Hook/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karan%2FHook/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30175914,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-06T11:48:51.886Z","status":"ssl_error","status_checked_at":"2026-03-06T11:48:51.460Z","response_time":250,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-07T20:26:25.186Z","updated_at":"2026-03-06T12:03:59.231Z","avatar_url":"https://github.com/karan.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/karan/Hook/master/logo.png\"\u003e\u003c/p\u003e\n\nHook\n====\n\nProductHunt API for retrieving today's hunts and comments for any post. \n\nDiscussion on [Product Hunt](http://www.producthunt.com/posts/hook-producthunt-api).\n\n**Since official @ProductHunt API is in private beta, I'm discontinuing support for Hook. I highly recommend switching to the official API.**\n\n*Note: This is an unofficial API and __not__ supported or controlled by ProductHunt itself. Any questions, comments, feedback or feature requests should be directed to [karan](http://github.com/karan) or via an [issue](https://github.com/karan/Hook/issues) in this repo.*\n\nUsage\n=====\n\n**Base URL:** [http://hook-api.herokuapp.com/](http://hook-api.herokuapp.com/)\n\n**Output:** JSON\n\n### Get today's products\n\nPosts are cached for 60 minutes.\n\n#### `GET /today`\n\nExample Query:\n\n```\nhttp://hook-api.herokuapp.com/today\n```\n\nResponse:\n\n```json\n{\n  \"status\": \"success\",\n  \"hunts\": [\n    {\n      \"url\": \"http://bit.ly/1oShrzl\",\n      \"permalink\": \"/posts/the-news-ios\",\n      \"comments\": 20,\n      \"tagline\": \"Designer News + Hacker News, now on iOS\",\n      \"rank\": 2,\n      \"user\": {\n        \"name\": \"Tosin Afolabi\",\n        \"username\": \"TosinAF\"\n      },\n      \"votes\": 48,\n      \"title\": \"The News (iOS)\"\n    },\n    ...\n    ...\n```\n\n### Get comments for any post\n\nComments are cached for 120 minutes.\n\n#### `GET /:permalink`\n\nExample Query:\n\n```\nhttp://hook-api.herokuapp.com/posts/hook-producthunt-api\n```\n\nResponse:\n\n```json\n\n{\n  \"status\": \"success\",\n  \"post\": {\n    \"url\": \"https://github.com/karan/Hook\",\n    \"permalink\": \"/posts/hook-producthunt-api\",\n    \"comment_count\": \"10\",\n    \"tagline\": \"ProductHunt API for retrieving today's hunts\",\n    \"rank\": 1,\n    \"user\": {\n      \"name\": \"Karan Goel\",\n      \"username\": \"karangoel\"\n    },\n    \"votes\": 46,\n    \"title\": \"Hook - ProductHunt API\"\n  },\n  \"comments\": [\n    {\n      \"comment_html\": \"\\n          \\n          Yo guys. I have been toying with a scraper for PH for some time now, and was really motivated after seeing \u003ca href=\\\"https://twitter.com/TosinAF\\\"\u003e@TosinAF\u003c/a\u003e 's \u003ca href=\\\"http://www.producthunt.com/posts/the-news-ios\\\"\u003ethread\u003c/a\u003e and packaged all I had in a neat API.\u003cbr\u003e\u003cbr\u003e\u003ca href=\\\"http://hook-api.herokuapp.com/today\\\"\u003eTry it here\u003c/a\u003e\u003cbr\u003e\u003cbr\u003eCurrently it gets today's posts, and has a cache of 1 hour. I hope to see people make a ton of good stuff with it. :)\u003cbr\u003e\u003cbr\u003ePS: I make a lot of cool stuff, and people love it. \u003ca href=\\\"http://www.goel.im/#subscribe\\\"\u003eLeave your e-mail here\u003c/a\u003e and stay tuned about my projects.\\n        \",\n      \"comment\": \"\\n          \\n          Yo guys. I have been toying with a scraper for PH for some time now, and was really motivated after seeing @TosinAF 's thread and packaged all I had in a neat API.Try it hereCurrently it gets today's posts, and has a cache of 1 hour. I hope to see people make a ton of good stuff with it. :)PS: I make a lot of cool stuff, and people love it. Leave your e-mail here and stay tuned about my projects.\\n        \",\n      \"timestamp\": \"7h ago\",\n      \"user\": {\n        \"name\": \"Karan Goel\",\n        \"username\": \"karangoel\"\n      },\n      \"index\": 1\n    },\n    ...\n    ...\n```\n\nExpo\n=======\n\nSome apps built using this API:\n\n| Name | Description | URL |\n| ---- | ---- | ---- |\n| alfred-producthunt-workflow | Product Hunt Workflow for Alfred 2.0 | https://github.com/loris/alfred-producthunt-workflow |\n| PH | Product Hunt Android App | https://github.com/yelinaung/PH |\n| TheNews (iOS) | PH, DN, Hn, now on iOS | https://appsto.re/us/PpnV0.i |\n| ProductHuntExtn | Today View Extension for Product Hunt (Yosemite) | https://github.com/zameericle/ProductHuntExtn |\n| ProductHunt (iOS) | iOS App for producthunt.co | https://github.com/sapanbhuta/ProductHunt |\n| Spear | Product Hunt for Hackers - a CLI to Product Hunt. | https://github.com/karan/Spear |\n\n*If you are using Hook, please let me know and I'll showcase your app here.*\n\nStart\n=====\n\n```bash\n$ npm install            # install dependencies\n$ node app               # start the server\n```\n\nDeploy to Heroku\n=====\n\n```bash\n$ npm install            # install dependencies\n$ heroku create\n$ heroku addons:add mongolab\n$ (git add, git commit)\n$ git push heroku master\n```\n\nDonation\n=======\n\nDonations to my open source work are greatly appreciated and help me dedicate more time and energy into making cool things. If you want to help me produce this work as well as more like it, please take a moment to contribute.\n\n- Bitcoin: 1GZqi6qUGSKGQvjd4CvVBJ9FYpsQvU2P7h\n- Gratipay: https://www.gratipay.com/karan/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkaran%2Fhook","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkaran%2Fhook","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkaran%2Fhook/lists"}