Back to APIs list

Hacker News API examples & templates

Use these vals as a playground to view and fork Hacker News API examples and templates on Val Town. Run any example below or find templates that can be used as a pre-built solution.
roramigator avatar
valTopicGen
@roramigator
HTTP
// This val creates a weekly topic generator for Val Town developers to focus their creativity.
djfeld01 avatar
webScrapeDiamondLeague
@djfeld01
Script
Forked from pranjaldotdev/scraper
elsif_maj avatar
nameTopHNThreadUsingSomeonesVal
@elsif_maj
Script
Forked from elsif_maj/nameTopHNThread
maas avatar
forwarder
@maas
Script
Unlimited Anonymous Emails All code can be triggered via email ( docs ), i.e. maas.forwarder@valtown.email . You can generate as many emails as you want to avoid giving away your personal email address and reduce spam. Getting started Log in to Val Town Fork this Val Publish the Val via 🔒 > Unlisted Copy the email endpoint via ⋮ > Endpoints > Copy email address Sign up for newsletters or services using this email ( maas.forwarder@valtown.email ). To remove their ability to email you, simply delete the val (or send it to /dev/null ).
andreterron avatar
TV_SHOW_NEW_EPISODE_NOTIFIER
@andreterron
Script
An interactive, runnable TypeScript val by andreterron
stevekrouse avatar
cnnEx
@stevekrouse
Script
An interactive, runnable TypeScript val by stevekrouse
dvsj avatar
subscribeToNewsletter
@dvsj
HTTP (deprecated)
Add an email entry option to your static website/blog. Easy peasy. 🚀 PoV: You just hacked together a portfolio website or launched a blog as a static website. Some people who visit might be interested in hearing more from you. ❤️ But you don't want to get lost building your backend, API, DB or fancy apps like SubstandardStack or MailMachineGun for people to sign up to your newsletter. 😩 All you want is a simple input box on your website - when someone types their email , username or social link in and submits it, you want to be notified. psst...do you want another one that uses the DB instead of email so you can look up all entries at once? Let me know and I'll get cooking! Quickstart Call the val URL with data in the query param userContact . That's it! // Format `https://<val_url>?userContact=<mandatory_primary_contact>` // Examples `https://dvsj-subscribeToNewsletter.web.val.run?userContact=dav.is@zohomail.in` `https://dvsj-subscribeToNewsletter.web.val.run?userContact=CatalanCabbage` Bonus Have extra data apart from email? Pass any encoded data in the queryParam userData , will be included in the email. It's optional. // Format `https://<val_url>?userContact=<mandatory_primary_contact>&userData=<optional_any_data>` //Examples `https://dvsj-subscribeToNewsletter.web.val.run?userContact=dav.is@zohomail.in&userData={"time": "2/2/1969", "twitter": "https://twitter.com/dvsj_in"}` // Note: All values should be URL encoded. Example: let userData = {"time": "2/2/1969", "twitter": "https://twitter.com/dvsj_in"} let encodedUserData = encodeURIComponent(userData) //This should go in the query param Want bot protection? Add a simple question to your website, like "okay, so what's one minus one?" . In the val, set isBotProtectionOn = true and botProtectionAnswer="0" . When you call the val, include the encoded user's answer to the bot question as botProtection query param. Answer will be compared with botProtectionAnswer ; if the answer is wrong, the request is rejected. // Format `https://<val_url>?userContact=<mandatory_primary_contact>&userData=<optional_any_data>&botProtection=<answer>` //Examples `https://dvsj-subscribeToNewsletter.web.val.run?userContact=dav.is@zohomail.in&botProtection=123` Add it to your website Want to add it to your site but get a headstart coding it? Use this ChatGPT prompt to get code for your website! I'm building a simple form submission component. It should a submit button and these 2 input boxes: 1. "userContact" to get the user's email (mandatory) 2. "userData" to get a custom message from the user (optional) On clicking the submit button: 1. Both input values should be encoded using "encodeURIComponent" 2. A GET URL should be built in this format with query params. Include userData query param only if input is not null or empty. `https://dvsj-subscribeToNewsletter.web.val.run?userContact=<encodedUserContact>&userData=<encodedUserData>` 3. The GET URL should be called and result printed in the console. I'm using React, so make it a react component.
vawogbemi avatar
whoIsHiringHome
@vawogbemi
Script
@jsxImportSource https://esm.sh/react
vladimyr avatar
podcastBadge
@vladimyr
HTTP (deprecated)
Console DevTools devtools.fm
yawnxyz avatar
newsly
@yawnxyz
Email
Newsly inspired by https://kill-the-newsletter.com/ copy your email into a newsletter like substack read the newsletter here / store them into valtown you can set it so you can chat with it or send you alerts or whatever idk
ejfox avatar
weeksummary
@ejfox
HTTP
@jsxImportSource https://esm.sh/react
tvalincic avatar
njuskaloCrawl
@tvalincic
Cron
Forked from kajgod/njuskaloCrawl
ashryanio avatar
routineTrackerApp
@ashryanio
HTTP
Routine Tracker This is a little React component to make our 7yo's after school routine self-serve so she can be a bit more independent after school. To change the items in the list, modify the routineTasks array of objects: [ {name: "item", timed: false}, {name: "item 2", timed: true, duration: 2 * 60 } {name: "item 3", timed: false, requiresParent: true} ] You can set the parent password on this line: const PARENT_PASSWORD_HASH = simpleHash("1234"); Todos Make the parent password modal touch friendly Track dates/times of list completions Show a tracker of how many completions this week
injoon5 avatar
staticChess
@injoon5
HTTP (deprecated)
Forked from maxm/staticChess
rasputinkaiser avatar
linkInBioTemplate
@rasputinkaiser
HTTP (deprecated)
Forked from stevekrouse/linkInBioTemplate
tmcw avatar
staticChess
@tmcw
HTTP (deprecated)
Forked from maxm/staticChess