Developers

Build with LivePublicator

Publish a company's own news as a press release from your code or from an AI assistant. Each release gets its own dated, public page on livepublicator.com.

When to use it

Use LivePublicator when a company wants its own news published as a press release, usually the same day. The first release for a company costs $9. Each release after that costs $49.

Do not use it:

What the API and MCP server do

  1. Check and draft. Send the release. You get every problem back at once, or a draft with a private preview link. Free.
  2. Preview. The company looks at the preview and asks for changes.
  3. Publish. Only after the company says yes. It uses 1 credit. The release goes live within seconds, or a person checks it first (up to 24 hours). If we do not publish it, the credit comes back.

The REST API is for agencies and developers who publish for client companies from their own software. The MCP server is for AI assistants like Claude and ChatGPT, where a person writes the release in the chat.

Get access

MCP server

Connection address (Streamable HTTP):

https://livepublicator.com/api/mcp

preview_press_release works without signing in. The other tools need an account: get_account, create_release, update_release, add_image, publish_release, get_release_status, list_releases, fix_live_release. Server card: /.well-known/mcp/server-card.json. Full guide: MCP docs.

REST API

Base URL: https://livepublicator.com/api/v1. JSON over HTTPS. The OpenAPI 3.1 spec is at /openapi.json. Every endpoint, error and webhook, with curl and JavaScript examples, is in the API docs.

Test mode

Add "test": true when you create a release. A test release goes to a private sandbox company. It is never public, never listed and never posted on social media. Publishing it uses no credit: it moves to review, and about 30 seconds later to published, with the private preview as its link. Add "test_outcome": "rejected" to see how a rejection looks.

Save this as release.json:

{
  "test": true,
  "client_authorized": true,
  "company_name": "Example Bakery",
  "company_domain": "example.com",
  "headline": "Example Bakery Opens a Second Shop in Portland",
  "summary": "Example Bakery opens a second shop in Portland on 1 December, with fresh bread every morning and a small cafe.",
  "body": "Example Bakery today said it will open a second shop in Portland, Oregon, on 1 December. The new shop is on Main Street, ten minutes from the first one, and it will have a small cafe with twelve seats.\n\nThe bakery started five years ago as a stall at the Saturday market. It sells bread, pastries and cakes made by hand each morning with flour from local farms. Most of its customers live or work close to the first shop, and many asked for a second place on the other side of the city.\n\nThe new shop will open at 7 am, six days a week. It will sell the same bread and cakes as the first shop, plus soup and sandwiches at lunch. Customers can order birthday and wedding cakes in the shop or on the phone, and pick them up at either shop.\n\nExample Bakery will hire eight people for the new shop, including two bakers and a cafe manager. Training starts in November at the first shop, so the new team can learn the recipes before the opening day.\n\nOn the opening weekend, the first fifty customers each day get a free loaf of bread. The bakery will also give one percent of its sales in December to a local food bank that helps families in the area.\n\nThe new shop is part of a plan to make fresh bread easier to buy for people who work in the city center. The owners looked at several places this year and chose Main Street because it is close to offices, a school and a bus stop. The shop has a large kitchen, so the bakers can make bread there each morning instead of driving it across the city.\n\nRegular customers can sign up for a weekly bread box. They choose two loaves and a box of pastries, pay once a month, and pick the box up at the shop they like best. The bakery will also deliver larger orders to offices nearby on weekday mornings.\n\nBoth shops will keep the same prices. A loaf of bread costs five dollars and a slice of cake costs four dollars. The bakery will post its opening hours and the cafe menu on its website before the opening.",
  "body_format": "text",
  "key_facts": [
    "Second shop opens on 1 December in Portland",
    "Eight new jobs, including two bakers",
    "Cafe with twelve seats"
  ],
  "quote": "Our customers asked us for a shop on their side of the city, and we are happy to bring our bread closer to them.",
  "quote_name": "Sam Lee",
  "quote_title": "Founder",
  "contact_name": "Alex Kim",
  "contact_title": "Shop Manager",
  "contact_email": "press@example.com"
}

Then send it with your key in LIVEPUBLICATOR_API_KEY:

curl https://livepublicator.com/api/v1/releases \
  -H "Authorization: Bearer $LIVEPUBLICATOR_API_KEY" \
  -H "Content-Type: application/json" \
  -d @release.json

The answer (shortened):

HTTP/1.1 201 Created

{
  "id": "mvikdf8eJ9ImQdTsbuM2",
  "status": "draft",
  "stage": "received",
  "test": true,
  "headline": "Example Bakery Opens a Second Shop in Portland",
  "credit_used": false,
  "problems": [],
  "warnings": []
}

Then publish it with POST /releases/RELEASE_ID/publish and read it with GET /releases/RELEASE_ID, the same as a real release.