API Reference
Integrate AlgoMuse into your applications with our REST API. Create, schedule and publish posts, and read analytics programmatically.
Getting Started#
The AlgoMuse API lets you create, schedule and publish posts, run bulk operations, read analytics and talk to the AI assistant from your own code. The full list of endpoints is in the API reference.
Info
Authentication#
AlgoMuse uses API keys for authentication. All requests must include your API key in the Authorization header.
Getting Your API Key
Open the Developers page
Go to Developers → API Keys in your dashboard.
Create a New Key
Click "Create API Key", give it a descriptive name (e.g. "Production App"), and pick the scopes it needs: posts:read, posts:write, posts:publish, analytics:read, conversations:read, conversations:write, workspace:read, templates:read, templates:write, calendar:read, calendar:write, crisis:read, crisis:write, listening:read, listening:write, competitors:read, competitors:write, linkinbio:read, linkinbio:write, influencers:read, influencers:write, search:read, uploads:read, uploads:write, media:read.
Copy and Store Safely
Copy your API key immediately - it will only be shown once. Store it securely and never commit it to version control.
Using Your API Key
Include the API key in the Authorization header of all requests:
curl -X GET "https://api.algomuse.io/api/v1/posts" \ -H "Authorization: Bearer am_live_YOUR_API_KEY"Keep Your Key Secret
Base URL#
All API requests should be made to:
https://api.algomuse.io/api/v1The API uses JSON for request and response bodies. Set the Content-Type: application/json header when you send one.
Rate Limits#
Each key allows 60 requests a minute and 10,000 a day unless you set other limits when you create it (up to 1,000 a minute and 100,000 a day). All API traffic is also held to 100 requests a minute per key. Limit state is included in the response headers:
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 58
X-RateLimit-Reset: 2026-09-25T10:01:00.000ZGoing over a limit returns 429 with a Retry-After header.
Core Endpoints#
Posts
/postsList posts, optionally filtered by status (draft, scheduled, published, failed), with limit and offset for paging.
curl -X GET "https://api.algomuse.io/api/v1/posts?status=scheduled&limit=10" \ -H "Authorization: Bearer am_live_YOUR_API_KEY"/postsCreate a post. With scheduledAt it is queued to your connected accounts on the listed platforms; without it, it is saved as a draft. Needs posts:write. Media cannot be attached through the API yet: a request with mediaUrls is refused, so add images and video in the app.
curl -X POST "https://api.algomuse.io/api/v1/posts" \ -H "Authorization: Bearer am_live_YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "content": "Excited to share our latest update! #SocialMedia", "platforms": ["twitter", "linkedin"], "scheduledAt": "2026-10-15T10:00:00Z" }'/posts/{postId}Retrieve a post by ID.
/posts/{postId}Update a post's content or scheduledAt.
/posts/{postId}/publishPublish a post now. Needs posts:publish.
/posts/{postId}Delete a post.
AI Assistant
/ai/chatSend a message to the AI assistant, which answers with your brand context. Pass a conversationId to continue a conversation. Needs conversations:write.
curl -X POST "https://api.algomuse.io/api/v1/ai/chat" \ -H "Authorization: Bearer am_live_YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "message": "Draft three LinkedIn post ideas about our new feature" }'Analytics
/analytics/overviewAggregated analytics for the workspace over a period of 7d, 30d or 90d.
curl -X GET "https://api.algomuse.io/api/v1/analytics/overview?period=30d" \ -H "Authorization: Bearer am_live_YOUR_API_KEY"/analytics/postsPer-post performance.
/analytics/audienceAudience insights.
Bulk operations, RSS feeds and auto-reply rules are listed in the full endpoint list.
Webhooks#
You can register webhook endpoints under Developers → Webhooks and send them a test event. Delivery of post, account and analytics events is not live yet; until it is, poll the endpoints above.
Each delivery carries an X-AlgoMuse-Signature header formatted t=<unix time>,v1=<hex>. Verify it by computing an HMAC-SHA256 of <t>.<raw body> with your endpoint's signing secret.
{ "id": "5f0c6f8e-2b1d-4c1e-9a53-0f3e7d1c2b4a", "type": "test.ping", "created_at": "2026-09-25T14:30:00.000Z", "data": {}}Error Handling#
The API uses standard HTTP status codes and returns a JSON error:
{ "success": false, "error": { "code": "resource_not_found", "message": "Post not found" }}Common Error Codes
| Code | Status | Description |
|---|---|---|
| invalid_api_key | 401 | Missing, invalid, revoked or expired key. |
| insufficient_scope | 403 | The key does not have the scope this endpoint needs. |
| resource_not_found | 404 | The resource does not exist. |
| validation_error | 422 | The request failed validation. |
| rate_limit_exceeded | 429 | Too many requests — see the Retry-After header. |
| internal_error | 500 | Something went wrong on our end. |