Introduction
The FeedHive Public API lets you work with FeedHive data programmatically using authenticated HTTPS requests.
Use an API key in the Authorization header for every authenticated request.
API endpoint
Public API requests are sent to:
https://api.feedhive.comBearer token
All authenticated public API routes require a valid bearer token in the Authorization request header. To create or copy an API key, follow the steps in Get started.
The examples below show the common authentication pattern used for public API requests.
curl --request GET \
--url https://api.feedhive.com/posts \
--header 'accept: application/json' \
--header 'Authorization: Bearer [YOUR_API_KEY]'If the token is missing or invalid, the request will not be authenticated.
Pagination
List endpoints use cursor-based pagination.
- Use
limitto control how many items are returned per request. The default is20, and the maximum is100. - Omit
cursoron the first request. - If the response returns
has_more: true, pass the returnednext_cursorvalue as thecursorparameter on the next request.
Items are ordered by created_at descending and then by id descending, so you can keep requesting the next page until has_more becomes false. If you send an invalid cursor, the API returns 400 Bad Request.
The examples below show the first page of a paginated request.
curl --request GET \
--url 'https://api.feedhive.com/posts?limit=2' \
--header 'accept: application/json' \
--header 'Authorization: Bearer [YOUR_API_KEY]'Example response:
{
"success": true,
"data": {
"items": [
{
"id": "57aa8c37-9a4b-4f5d-b6f1-8c4fe4d4af3f",
"status": "draft",
"text": "Launch checklist ready",
"created_at": "2026-04-09T08:00:00.000Z"
},
{
"id": "d3f9a2e1-6f7c-4a44-9d65-0f7a5d6e21b8",
"status": "scheduled",
"text": "Weekly recap",
"created_at": "2026-04-08T14:30:00.000Z"
}
],
"total": 42,
"has_more": true,
"next_cursor": "eyJjcmVhdGVkX2F0IjoiMjAyNi0w"
}
}To fetch the next page, send the same request again and pass the returned next_cursor value in the cursor query parameter.
Example request
curl --request GET \
--url 'https://api.feedhive.com/posts?limit=2&cursor=eyJjcmVhdGVkX2F0IjoiMjAyNi0w' \
--header 'accept: application/json' \
--header 'Authorization: Bearer [YOUR_API_KEY]'When there are no more results, the response returns has_more as false and next_cursor as null.
Response format
All responses are returned in JSON format.
Successful responses include a success field with the value true and a data field containing the response payload.
Example response:
{
"success": true,
"data": {
"...": "..."
}
}If a request fails, the success field is false and the response includes a message field describing the error.
Example response:
{
"success": false,
"message": "Reason for failure"
}