Developers
API & MCP reference
Everything a human can do in the dashboard, an agent can do over the wire. Authenticate with an API key from your dashboard, then call REST directly or connect the MCP server to any compatible client.
Authentication
Every request carries a bearer token. Create keys under Dashboard → API keys. Keys are shown once and stored hashed.
Authorization: Bearer apw_live_xxxxxxxxxxxxxxxxCreate a release (REST)
curl https://agentpresswire.com/api/v1/releases \
-H "Authorization: Bearer apw_live_xxx" \
-H "Content-Type: application/json" \
-d '{
"title": "Acme raises $20M Series A",
"dateline": "SAN FRANCISCO, CA",
"body": "Acme Inc. today announced ...",
"contactEmail": "press@acme.com"
}'Review & distribute
Distribution spends one credit and publishes to your public newsroom plus the channels you name.
# 1. review, then 2. distribute
curl -X POST https://agentpresswire.com/api/v1/releases/42/review \
-H "Authorization: Bearer apw_live_xxx"
curl -X POST https://agentpresswire.com/api/v1/releases/42/distribute \
-H "Authorization: Bearer apw_live_xxx" \
-d '{ "channels": ["national-wire", "tech-trade", "newsroom-rss"] }'
# channel ids: national-wire, tech-trade, finance, regional, newsroom-rss, webhook
# add "provider": "webhook" to deliver to your own endpoint insteadEndpoints
/api/v1/releasesCreate a draft press release.
/api/v1/releasesList your releases (newest first).
/api/v1/channelsDiscover valid distribution channel ids and their reach.
/api/v1/providersDiscover provider configuration, live status, and supported channels.
/api/v1/releases/{id}Retrieve a single release with its review + distributions.
/api/v1/releases/{id}/reviewRun the AI editorial review. Returns a score (0-100) and flagged issues.
/api/v1/releases/{id}/distributePublish and distribute through a selected provider. Simulated delivery spends 1 credit; PRNow is dry-run unless explicitly enabled.
/api/v1/distributionsList distribution events and delivery reports.
/api/v1/accountReturn your credit balance and organization profile.
Distribution providers
Pass provider when distributing. Call GET /providers to see live availability — each reports whether it is ready, needs credentials, or requires a partner agreement.
simulatedReadySafe demo delivery. No external submission and no spend beyond one credit.
webhookReadySigned JSON POST to an HTTPS endpoint you own. Bridges to any vendor, or to Zapier, Make, and n8n.
prnowNeeds credentialsLive PRNow submissions once PRNOW_API_KEY and PRNOW_LIVE_SUBMISSIONS are set. Dry-run until then.
businesswirePartner requiredScaffolded only. Business Wire has no self-serve API; distribution needs an authorized-sender agreement.
cisionPartner requiredScaffolded only. PR Newswire distribution requires Cision partner-program credentials.
Webhook delivery
The webhook provider POSTs a signed JSON payload to an HTTPS endpoint you configure in newsroom settings. Verify the signature before trusting a request — compare in constant time and reject timestamps older than five minutes to prevent replay.
import { createHmac, timingSafeEqual } from "node:crypto"
export function verify(req, rawBody, secret) {
const ts = req.headers["x-agentpresswire-timestamp"]
const sig = req.headers["x-agentpresswire-signature"] // "sha256=<hex>"
// Reject replays.
if (Math.abs(Date.now() / 1000 - Number(ts)) > 300) return false
const expected = createHmac("sha256", secret)
.update(`${ts}.${rawBody}`)
.digest("hex")
const a = Buffer.from(expected)
const b = Buffer.from(String(sig).replace(/^sha256=/, ""))
return a.length === b.length && timingSafeEqual(a, b)
}Newsroom feeds
Every newsroom publishes machine-readable feeds at no cost. These make releases discoverable to search engines, aggregators, and AI assistants without any wire spend.
/newsroom/{org}/rss.xmlRSS 2.0 feed of published releases.
/newsroom/{org}/atom.xmlAtom 1.0 feed with full content and precise timestamps.
/newsroom/{org}/index.jsonJSON index of the newsroom and its releases. No auth required.
/newsroom/{org}/llms.txtPlain-text index for AI assistants and LLM crawlers.
/newsroom/{org}/news-sitemap.xmlGoogle News sitemap. Includes releases published in the last 48 hours.
Model Context Protocol (MCP)
Point any MCP client at the streamable HTTP endpoint below. The server exposes the same operations as tools, so agents can draft, review, and distribute autonomously.
{
"mcpServers": {
"agentpresswire": {
"url": "https://agentpresswire.com/api/mcp",
"headers": { "Authorization": "Bearer apw_live_xxx" }
}
}
}