MCP + REST API

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_KEY

Then just ask: “Schedule a post to my Instagram and X tomorrow at 9am: …” — your agent calls the tools below.

list_accounts

List connected accounts.

schedule_post

Schedule or publish a post to one or more accounts.

list_posts

List your posts.

get_post

Get a post by id.

delete_post

Delete a post.

get_analytics

Engagement summary + trend.

3. Or use the REST API

Base URL https://postjay.com/api/v1. Authenticate with Authorization: Bearer pj_live_….

MethodEndpointDescription
GET/api/v1/accountsList your connected social accounts + their ids.
GET/api/v1/postsList your posts (drafts, scheduled, published).
POST/api/v1/postsCreate + schedule (or publish now) a post.
GET/api/v1/posts/:idFetch one post + its per-platform status.
DELETE/api/v1/posts/:idDelete a post.
GET/api/v1/analyticsEngagement summary, top posts, 30-day trend.
List your accounts
curl https://postjay.com/api/v1/accounts \
  -H "Authorization: Bearer pj_live_YOUR_KEY"
Schedule a post
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