Docs

Pagination

Lists return data and nextCursor. Pass the cursor back for the next page.

Diese Seite gibt es noch nicht auf Deutsch, deshalb siehst du sie auf Englisch.

Every list endpoint answers the same shape:

{
    "data": [ { "id": "…" } ],
    "nextCursor": "eyJ2IjoiMjAyNi0xMS0wNFQxMDowMDowMC4wMDBaIiwiaWQiOiIwMTk1…"
}

nextCursor is null on the last page. To get the next page, send it back as cursor, with the same filters:

cURL
curl "https://feedhorizon.com/api/v1/posts?limit=50&cursor=eyJ2IjoiMjAyNi0x…" \
  -H "Authorization: Bearer fh_YOUR_API_KEY"
  • limit is 1 to 100, default 20.
  • Cursors are opaque. Do not build or change them; a changed cursor is refused with invalid_cursor.
  • Pages stay stable while posts are added or removed, unlike page numbers.
  • Small lists (profiles, accounts, webhooks, API keys, invites) return everything at once with nextCursor: null.
Node.js
async function* allPosts(apiKey) {
    let cursor = null;
    do {
        const url = new URL('https://feedhorizon.com/api/v1/posts');
        url.searchParams.set('limit', '100');
        if (cursor) url.searchParams.set('cursor', cursor);
        const res = await fetch(url, { headers: { Authorization: `Bearer ${apiKey}` } });
        const page = await res.json();
        yield* page.data;
        cursor = page.nextCursor;
    } while (cursor);
}