HonestHook

Home · API · Quickstart

From nothing to real data, on this page.

Three steps, no card, no call, nothing to install. The command below comes with your key already substituted in — copy, paste, done.

  1. Get a key

    Free, no card, no sales call. One key per address — we keep the email to attach the key to it and to warn you if something breaks. See privacy.

  2. Then paste one command

    curl "https://honesthook.com/api/v1/trends/ai-agents?limite=3" \
      -H "Authorization: Bearer hk_live_…"

    The command above is what you will get, with your key already substituted in. Nothing to fill in by hand.

  3. What you should see

    {
      "nicho": "ai-agents",
      "desde": "2026-08-31T13:08:21Z",
      "ate":   "2026-09-07T13:08:21Z",
      "cobrado": 1,
      "fonte": "franquia",
      "franquia_usada": 1,
      "franquia_total": 1000,
      "saldo": 0,
      "pontos": 3,
      "truncado": true,
      "itens": [
        {
          "titulo": "44% on ARC-AGI-1 in 67 cents",
          "url": "https://mvakde.github.io/blog/44-on-arc-1/",
          "plataforma": "lobsters",
          "melhor_posicao": 1,
          "movimento": 0,
          "serie": [
            { "janela": "2026-09-07T13:00:00Z", "posicao": 1, "pontos": 13 }
          ]
        }
      ]
    }

    A real response from this endpoint, trimmed to one item. truncado: true here is the limite=3 doing its job, not a failure — drop the parameter and you get the whole window.

If it does not work

Every failure carries a stable erro code in the body. Branch on the code, never on the prose — the prose can change, the code will not.

You seeIt meansWhat to do
401 chave_invalidaThe key was not recognised, or was deactivated.Copy it again — a key cut by a line break is the usual cause. Keys are 56 characters and start with hk_live_. If it is definitely right, write to us.
401 chave_ausenteNo Authorization header arrived.Check the shell variable actually expanded — an empty one looks exactly like this. movers reports a missing header as chave_invalida instead; the check runs in the database, where an absent key looks like a wrong one.
402 sem_creditosThe monthly allowance is spent.Do not retry. 402 is not a rate limit — waiting only helps at the 1st, when the allowance renews. Before that, ask us for a top-up. A backoff loop here can never succeed.
400 intervalo_invalidodesde or ate is not ISO 8601.Use 2026-09-05T00:00:00Z, with the zone. Omit both and you get the last 7 days.
200, itens: []Not an error — and this is the one that costs you. Nothing validates the niche name, so a typo comes back as an empty success. On trends it still spends a call.Resolve the name at /api/v1/nichos before reading an empty list as a finding. This is the failure shape this project keeps catching in itself: no error, and an answer that looks plausible.
503 endpoint_indisponivelThat endpoint is switched off at the database.Nothing was charged. The status page publishes the last capture per source, including the broken ones.
409 ja_tem_chaveThat address already has an active key.Use the key you have. If you lost it, write to us and we rotate it by hand — we store only a hash, so we can replace it but never look it up.

The complete list, including the codes this page does not cover, is in the API documentation.

What to read next

/trends answers what was in the ranking. /movers answers what gained traction since yesterday — a question you can only ask of an archive that kept yesterday. Both are in the docs, with what the data does not support yet stated plainly.

API documentation · Archive status · Back to the front page · kauvpereira@gmail.com