API

One HTTP API

There is one public HTTP API for every platform: GET /api/v1/search. Filter with PLATFORM: or &platform=. There is no per-network API.

Metered from Pro. Create a bearer key in Settings. The raw key is shown once; we store a hash. Same 64 platform checkboxes as the app — one endpoint, not one client per network.

Endpoint

GET /api/v1/search?q={query}&platform={optional}&sort=newest

Authorization: Bearer fth_live_…
Accept: application/json

Query parameters

Example

curl -s -H "Authorization: Bearer $SCRAPELY_KEY" \
  "/api/v1/search?q=openai&platform=hn"

Response shape

{
  "query": "openai",
  "platform": "hn",
  "tookMs": 420,
  "total": 20,
  "live": true,
  "results": [
    {
      "id": "pst_…",
      "platform": "hn",
      "handle": "pg",
      "content": "…",
      "postedAt": "2026-09-05T00:00:00.000Z",
      "likes": 12,
      "sourceUrl": "https://news.ycombinator.com/item?id=…",
      "provider": "hn"
    }
  ]
}

Status codes

What this API is not

Create a key in Settings · Setup · FAQ