Post from any AI agent
Hand PostJay to your agent. Connect Claude, ChatGPT, Cursor and more over MCP, or drive it from your own scripts with the REST API — schedule to all 9 platforms, programmatically.
1. Get an API key
Create a key in Settings → API & Agents. It looks like pj_live_… and is shown once. Use it as a Bearer token below.
2. Connect over MCP
Point your agent at https://postjay.com/api/mcp with your key. Replace pj_live_YOUR_KEY.
✨ One-click connect — no API key needed
In ChatGPT or Claude Desktop, just add the connector URL https://postjay.com/api/mcp and click Connect. You'll be sent to PostJay to sign in and authorize — no key to copy or paste. PostJay uses standard OAuth 2.0 (PKCE), and you can revoke access anytime under Settings → API & Agents → Connected apps.
Prefer an API key? Use the per-client setup below — ideal for Claude Code, Cursor, CLIs and scripts.
Claude Code
Run in your terminal.claude mcp add --transport http postjay https://postjay.com/api/mcp \
--header "Authorization: Bearer pj_live_YOUR_KEY"Cursor
Add to .cursor/mcp.json in your project.{
"mcpServers": {
"postjay": {
"url": "https://postjay.com/api/mcp",
"headers": {
"Authorization": "Bearer pj_live_YOUR_KEY"
}
}
}
}VS Code / Copilot
Add to .vscode/mcp.json in your project.{
"servers": {
"postjay": {
"type": "http",
"url": "https://postjay.com/api/mcp",
"headers": {
"Authorization": "Bearer pj_live_YOUR_KEY"
}
}
}
}Windsurf
Add to ~/.codeium/windsurf/mcp_config.json{
"mcpServers": {
"postjay": {
"serverUrl": "https://postjay.com/api/mcp",
"headers": {
"Authorization": "Bearer pj_live_YOUR_KEY"
}
}
}
}ChatGPT
Requires a plan with custom connectors / developer mode.Settings → Connectors → Add custom connector
MCP Server URL: https://postjay.com/api/mcp
Authorization: Bearer pj_live_YOUR_KEYThen just ask: “Schedule a post to my Instagram and X tomorrow at 9am: …” — your agent calls the tools below.
list_accountsList connected accounts.
schedule_postSchedule or publish a post to one or more accounts.
list_postsList your posts.
get_postGet a post by id.
delete_postDelete a post.
get_analyticsEngagement summary + trend.
3. Or use the REST API
Base URL https://postjay.com/api/v1. Authenticate with Authorization: Bearer pj_live_….
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/v1/accounts | List your connected social accounts + their ids. |
| GET | /api/v1/posts | List your posts (drafts, scheduled, published). |
| POST | /api/v1/posts | Create + schedule (or publish now) a post. |
| GET | /api/v1/posts/:id | Fetch one post + its per-platform status. |
| DELETE | /api/v1/posts/:id | Delete a post. |
| GET | /api/v1/analytics | Engagement summary, top posts, 30-day trend. |
curl https://postjay.com/api/v1/accounts \
-H "Authorization: Bearer pj_live_YOUR_KEY"curl -X POST https://postjay.com/api/v1/posts \
-H "Authorization: Bearer pj_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"text": "Big news 🚀",
"accountIds": ["<account-id-from-/accounts>"],
"scheduledAt": "2026-02-01T09:00:00Z",
"mediaUrls": ["https://example.com/image.jpg"]
}'Omit scheduledAt (or use a past time) to publish immediately. Rate limit: 120 requests/minute per key.
Ready to automate your posting?
Create a free account, connect your channels, and generate an API key.
Get started free