Skip to content
SellHax

Developers

Let your agents buy PR.

Everything in the SellHax app is available over a REST API and an MCP server, so Claude, ChatGPT or your own tools can search verified publications, plan a campaign and place orders, with your approval rules.

1. Get a key

Settings → API keys. A key acts for one workspace. Keys are read-and-plan only unless you tick Can place orders; only those keys can spend balance or release payments. Limit: 120 requests a minute.

2. Connect an AI agent (MCP)

Add SellHax as a remote MCP server. Tools: get-balance, search-outlets, get-outlet, plan-campaign, place-orders, list-orders, get-order, submit-content, approve-placement.

{
  "mcpServers": {
    "sellhax": {
      "type": "http",
      "url": "https://sellhax.com/mcp",
      "headers": { "Authorization": "Bearer shx_your_key" }
    }
  }
}

The server tells agents to confirm with you before anything that spends money.

3. Or call the REST API

curl https://sellhax.com/api/v1/outlets?topic=Finance&country=IN \
  -H "Authorization: Bearer shx_your_key"

curl -X POST https://sellhax.com/api/v1/orders \
  -H "Authorization: Bearer shx_your_key" \
  -H "Idempotency-Key: launch-2026-10" \
  -H "Content-Type: application/json" \
  -d '{"offer_ids": [12, 31], "target_url": "https://yourbrand.com/launch", "brief": "We launched…"}'
GET /api/v1/me Your workspace, balance, brand kits, and what the key may do.
GET /api/v1/outlets Search publications. Filters: q, type, format, country, topic, max_price_usd, verified_traffic, per_page.
GET /api/v1/outlets/{id} One publication with every offer, price (fees included), Google-verified traffic and track record.
POST /api/v1/plan Media plan for a goal: goal, budget_usd, audience, countries[], formats[], project_id. Buys nothing.
POST /api/v1/orders Buy: offer_ids[], target_url, anchor_text, brief, content, content_title, project_id. Needs a spending key. Send an Idempotency-Key header.
GET /api/v1/orders Your orders. Filters: status, your_turn, per_page.
GET /api/v1/orders/{id} Status, whose turn it is, deadlines, live link and the latest content with its checks.
POST /api/v1/orders/{id}/content Send the final article (title, body in Markdown) when an order needs your content.
POST /api/v1/orders/{id}/approve-draft Approve the publisher's draft.
POST /api/v1/orders/{id}/approve Approve the live placement and pay the publisher. Needs a spending key.
POST /api/v1/orders/{id}/messages Message the publisher (body).
  • Amounts are integers in US cents and already include SellHax fees; formatted strings use your workspace currency.
  • Errors: 401 bad key, 402 balance too low (with the amount needed), 403 key can't spend, 404 not yours, 409 the order moved on, 422 invalid input, 429 slow down.
  • Every response is JSON with the result under data; lists are paginated with links and meta.