PostEverywhere Quick Start Guide
Get up and running with the PostEverywhere API in under 5 minutes. Create your first cross-platform social media post.
Get your first cross-platform post scheduled in under 5 minutes.
Prefer the terminal?
The CLI does this whole flow end-to-end:
posteverywhere login,posteverywhere connect <platform>, thenposteverywhere post. Install:npm install -g @posteverywhere/cli.
What you need before starting
- A PostEverywhere account (7-day free trial)
- At least one connected social media account (connect via the dashboard)
- An API key (create one on the Developers page of your dashboard)
Step 1: Create your API key
Open the Developers page in your PostEverywhere dashboard, go to the API Keys tab and click Create a key.
Your key starts with pe_live_. Keep it secret.
export POSTEVERYWHERE_API_KEY="pe_live_abc123..."
Step 2: List your connected accounts
curl https://app.posteverywhere.ai/api/v1/accounts \
-H "Authorization: Bearer $POSTEVERYWHERE_API_KEY"
Response:
{
"data": {
"accounts": [
{
"id": 2280,
"platform": "instagram",
"account_name": "mybrand",
"avatar_url": "https://...",
"is_active": true
}
]
}
}
Note the id values (integers): you'll use these in account_ids when creating posts.
Step 3: Publish your first post
curl -X POST https://app.posteverywhere.ai/api/v1/posts \
-H "Authorization: Bearer $POSTEVERYWHERE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"content": "Exciting news! We just launched our API.",
"account_ids": [2280, 2281],
"scheduled_for": "2026-04-01T10:00:00Z"
}'
Response:
{
"data": {
"post_id": "d3e859bf-8b9e-4cd8-99e5-7f019ab95709",
"content": "Exciting news! We just launched our API.",
"status": "scheduled",
"scheduled_for": "2026-04-01T10:00:00Z",
"account_ids": [2280, 2281],
"destinations": [
{
"platform": "instagram",
"account_id": 2280,
"account_name": "mybrand",
"destination_status": "queued"
},
{
"platform": "linkedin",
"account_id": 2281,
"account_name": "My Brand Inc.",
"destination_status": "queued"
}
]
},
"error": null,
"meta": {
"request_id": "a1b2c3d4",
"timestamp": "2026-04-01T09:55:12.341Z"
}
}
Notice that every field name in your request (content, account_ids, scheduled_for) also appears in the response with the same name and same meaning: this is the round-trip principle. You can take the response and POST its top-level fields straight back to create a clone.
Save it as a draft instead
Add
"draft": trueto save the post as a draft rather than scheduling it (account_idsis optional for drafts). Review it later, then schedule it withPOST /v1/posts/{id}/schedule, sendingscheduled_fororpublish_now: true. This "draft → review → schedule" flow is ideal for AI agents that should get human approval before anything publishes. See Building AI Agents.
Step 4: Confirm the post published
After the scheduled time, check how your post performed:
# $POST_ID is the UUID post_id returned in Step 3 (non-UUID ids return 400 invalid_id)
curl https://app.posteverywhere.ai/api/v1/posts/$POST_ID/results \
-H "Authorization: Bearer $POSTEVERYWHERE_API_KEY"
Each platform in the response has its status, the link to the live post, any error, and a warnings array. A post can publish and still carry a warning (for example, text cut to fit or a setting the platform did not apply), so show warnings to the user too. See Published, but with a warning.
Two things that trip up first integrations: scheduled_for without an offset is read as UTC (timezone is only a display label), and a caption over a platform's real limit is refused with 400 content_too_long instead of failing later. See the limits.
Where to go after your first post
- CLI: log in, connect accounts, and publish from your terminal
- Authentication: API key scopes and security
- Platform Guides: Platform-specific features and requirements
- API Reference: Full endpoint documentation
- Rate Limits: Usage limits and best practices
Next: the full Create Post reference, schedule a draft, or connect more platforms.
Related: test your integration safely · get notified when a post publishes · create up to 50 posts in one call · page through your posts · every error code the API returns · what changed in the API · how to get social media API access