Authentication and errors
API keys
Send your key in the Authorization header on every request:
Authorization: Bearer fm_live_...
A key belongs to your organization and can do everything the console can. Create and revoke keys in the console under API keys. We store only a hash of each key, so a lost key cannot be shown again: create a new one and revoke the old one.
The base URL is https://usefeeds.com. The machine-readable description of the API is at /v1/openapi.json.
Rate limit
Each organization can make 120 requests per minute. Responses carry x-ratelimit-remaining. Past the limit, the API answers 429 with a retry-after header in seconds.
Errors
Errors are JSON with an error message:
{ "error": "cadenceMinutes must be an integer from 5 to 43200 for twitter" }
| Status | Meaning |
|---|---|
400 |
The request is not valid. The message says which field. |
401 |
The key is missing, unknown, or revoked. |
402 |
Not enough credits, or the account is on hold because of a disputed payment. The body has required and balance when credits are short. |
404 |
The object does not exist in your organization, or the social account does not exist. |
409 |
Conflict: for example, you already track this account. |
429 |
Rate limit; wait for retry-after seconds. |
502 |
The data provider failed. Nothing was charged; retry later. |
Credits
Every operation that costs credits is recorded in your ledger:
curl https://usefeeds.com/v1/balance -H "Authorization: Bearer $FEEDS_API_KEY"
curl https://usefeeds.com/v1/ledger -H "Authorization: Bearer $FEEDS_API_KEY"
Each ledger entry names the operation (twitter.check, linkedin.post, …), the quantity, and the credits. Failed provider calls are never charged.