BYTETOOLS

Hacker News Search (Algolia) API

Free Algolia-powered Hacker News search API with no key: full-text search across all stories and comments with filtering by points, date and author. Tested.

No API key requiredCORS enabledHTTPSFree tier

Endpoint tested and returned HTTP 200 on 20 Aug 2026

What is the Hacker News Search (Algolia) API?

The Hacker News Search API, powered by Algolia, is a free key-free API providing full-text search across every Hacker News story and comment, with filtering by points, comment count, date range and author.

The official Hacker News Firebase API can fetch items by id but cannot search at all. This Algolia-backed API fills that gap with genuine full-text search across the entire history of stories and comments.

The numeric filters are what make it powerful: `numericFilters=points>100,created_at_i>1700000000` narrows to high-scoring recent items in one request. That is how you build a useful topic monitor rather than a firehose.

Quick facts

Base URL
https://hn.algolia.com/api/v1
Authentication
No API key required.
Rate limit
10,000 requests per hour per IP.
Pricing
Free, provided by Algolia.
CORS
Enabled — callable directly from browser JavaScript
Official docs
Read the docs

How to use the Hacker News Search (Algolia) API

Every request below was executed against the live API on 20 Aug 2026, and the response shown is the real body it returned — not an illustration.

1. Search Hacker News stories

GET https://hn.algolia.com/api/v1/search?query=typescript&hitsPerPage=1

curl
curl 'https://hn.algolia.com/api/v1/search?query=typescript&hitsPerPage=1'
JavaScript (fetch)
const res = await fetch("https://hn.algolia.com/api/v1/search?query=typescript&hitsPerPage=1");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);
Python (requests)
import requests

res = requests.get("https://hn.algolia.com/api/v1/search?query=typescript&hitsPerPage=1", timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200 (truncated)
{
  "exhaustive": {
    "nbHits": false,
    "typo": false
  },
  "exhaustiveNbHits": false,
  "exhaustiveTypo": false,
  "hits": [
    {
      "_highlightResult": {
        "author": {
          "matchLevel": "none",
          "matchedWords": [],
          "value": "DanRosenwasser"
        },
        "title": {
          "fullyHighlighted": false,
          "matchLevel": "full",
          "matchedWords": [
            "typescript"
          ],
          "value": "A 10x Faster <em>TypeScript</em>"
        },
        "url": {
          "fullyHighlighted": false,
          "matchLevel": "full",
          "matchedWords": [
            "typescript"
          ],
          "value": "https://devblogs.microsoft.com/<em>typescript</em>/<em>typescript</em>-native-port/"
        }
      },
      "_tags": [
        "story",
        "author_DanRosenwasser",
        "story_43332830"
      ],
      "author": "DanRosenwasser",
      "children": [
        43332890,
        43332903,
        43332959,
        43332974,
        43332979,
        43333009,
        43333016,
        43333040,
        43333047,
        43333053,
        43333067,
        43333080,
        43333085,
        43333093,
        43333095,
        43333117,
        43333156,
        43333238,
        43333254,
        43333261,
        43333321,
        43333408,
        43333461,
        43333479,
        43333483,
        43333498,
        43333518,
        43333533,
        43333605,
        43333606,
        43333838,
        43333851,
        43333906,
        43333914,
        43333984,
        43334009,

Parameters

ParameterTypeRequiredDescription
querystringOptionalFull-text search term. typescript
tagsstringOptionalstory, comment, poll, show_hn, ask_hn or author_x. story
numericFiltersstringOptionalFilters such as points>100 or created_at_i>timestamp. points>100
hitsPerPageintegerOptionalResults per page, max 1000. 20
search_by_datepathOptionalUse /search_by_date for chronological rather than relevance order. search_by_date

Response fields

nbHitsinteger
Total matching items.
hits[].titlestring
Story title, or null for comments.
hits[].urlstring
Linked URL, null for text posts.
hits[].pointsinteger
Score at index time.
hits[].authorstring
Username of the submitter.
hits[].created_at_iinteger
Unix timestamp, used for numeric date filtering.
hits[].objectIDstring
HN item id — use it with the official Firebase API for live data.

What you can build with the Hacker News Search (Algolia) API

  • Monitor Hacker News for mentions of a product or topic
  • Build a search interface over HN history
  • Find the highest-scoring discussions on a subject
  • Analyse trends in what the HN community discusses

Common errors and how to fix them

Stale points and comment counts

Values are from index time, not live.

Fix: Use objectID with the official Firebase API when you need current scores.

Comments returned when you wanted stories

No tags filter was applied.

Fix: Pass tags=story to restrict results.

429

Exceeded 10,000 requests per hour.

Fix: Cache searches; results for historical queries do not change.

Hacker News Search (Algolia) API — frequently asked questions

Is the Hacker News search API free?

Yes, free with no API key, at 10,000 requests per hour. It is provided by Algolia.

Why can't I search with the official HN API?

The official Firebase API only fetches items by id — it has no search capability at all. This Algolia API exists specifically to provide search.

How do I find only high-scoring stories?

Use numericFilters, for example numericFilters=points>100, combined with tags=story. You can add date filters with created_at_i.

Are the point counts current?

No, they reflect the value when the item was indexed. For live scores, take the objectID and query the official Firebase API.

Tools that pair with this API

Alternatives to Hacker News Search (Algolia) API

If Hacker News Search (Algolia) does not fit, these news & open data apis cover similar ground. Every one was called before publishing, and each links to its own reference page with a working curl command and the response it returned.

APIWhat it doesAuthCORSLast verified
Hacker NewsOfficial Hacker News API with no key: top stories, comments, users and live item feeds via Firebase. Extremely stable. Tested curl example and live JSON.No keyYes19 Aug 2026
disease.shFree open disease and health statistics API with no key: global and per-country case data, historical time series and vaccination figures. Tested example.No keyYes19 Aug 2026
Spaceflight NewsFree spaceflight news API with no key: articles, blogs and reports from major space outlets, with search, filtering and pagination. Tested curl example.No keyYes19 Aug 2026
LobstersFree Lobsters API with no key: hottest and newest technology stories with tags, scores, comments and submitter data as plain JSON. No signup. Tested.No keyNo20 Aug 2026
NoozraFree news headlines API with no key: articles from 200+ curated sources with headline, source, category, image URL and its pixel dimensions. Tested example included.No keyYes21 Aug 2026
RSS to JSONFree RSS to JSON API with no key: convert any RSS or Atom feed into clean JSON, with feed metadata, items, thumbnails and publication dates. Tested example.No keyYes20 Aug 2026
All News & Open Data APIs

Hacker News Search (Algolia) is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 20 Aug 2026; always check the official documentation before relying on this API in production, as terms and limits can change.