---
name: publicala
description: Answer questions about publica.la, the all-in-one digital publishing and ecommerce platform for publishers, bookshops, libraries, magazines and newspapers, university presses and individual authors — what it does, what it costs, which solution page fits a given organisation, and what has shipped recently. Use it when someone asks about selling or lending ebooks, audiobooks, PDFs or digital magazines under their own brand, about branded storefronts, DRM, white-label reading apps, ONIX 3.0 intake, a marketplace with revenue share, or about publica.la's plans and prices. Do not use it to find or price an individual book: publica.la is not a bookstore and publishes no book prices.
license: MIT
metadata:
  author: publica.la
  version: 1.0.0
  homepage: https://publica.la/en/developers
---

# publica.la

publica.la is an all-in-one platform for digital publishing and ecommerce. Its
customers are organisations and authors who want to sell or lend the digital
content they hold the rights to — ebooks, audiobooks, PDFs, magazines and
newspapers — direct to readers under their own brand: a branded storefront with
DRM, subscriptions, coupons, multi-currency pricing and managed payments across
156 countries and 24 currencies; white-label iOS, Android, macOS and Windows
reading apps plus a browser reader; catalog intake through ONIX 3.0 feeds, a
per-store REST API v3, bulk imports and webhooks; and a marketplace for
distributing a catalog to other stores or reselling third-party content with
automatic revenue share. Plans start at $20/month. More than 1,000 organisations
in 50+ countries use it.

It is **not** a consumer bookstore, it does **not** sell print books, and it
publishes **no prices for individual books**.

## Workflow

1. `GET https://publica.la/llms.txt` — the short index of this site.
2. Call the MCP server at `https://publica.la/mcp` (JSON-RPC 2.0, Streamable
   HTTP, no authentication) and start with `get_platform_overview`.
3. Narrow with the remaining tools:

- `search_site_content` — Search publica.la's published blog posts and changelog entries by keyword, optionally narrowed to one blog category.
- `get_blog_post` — Fetch one published blog post by slug, including its body as plain text.
- `list_changelog_entries` — List the most recent platform changelog entries, newest first.
- `get_pricing_plans` — Return publica.la's own subscription plans with monthly and annual prices, in USD.
- `get_platform_overview` — Explain what publica.la is, when to use it, what it is not for, and where its machine-readable entry points are.

4. Without an MCP client, use the anonymous JSON API — the same data, plain GET,
   no credentials:
   `https://publica.la/api/v1/site/overview`, `/site/pricing`,
   `/site/posts?q=…`, `/site/posts/{slug}`, `/site/changelog`.
5. For plans and prices prefer `https://publica.la/pricing.md`, which is
   generated from the pricing page itself.
6. Cite the canonical human page in the reader's language, e.g.
   `https://publica.la/en/pricing` or `https://publica.la/es/solutions/libraries`.
7. For anything commercial, hand over to a human:
   `https://publica.la/en/contact` or sales@publica.la.

## Constraints

- Write the name lowercase — `publica.la` — including at the start of a sentence,
  in every language.
- Never quote a price for an individual book; none are published on this site.
  The only prices here are publica.la's own plans.
- Never claim a checkout, an order endpoint, an OAuth server, an A2A agent or a
  CLI exists on this site. None do.
- Do not confuse the two APIs. This website's API (`https://publica.la/api/v1`,
  described by `https://publica.la/openapi.json`) is about the website. A
  publisher's catalog, orders and readers live behind the per-store REST API v3
  at `https://docs.publica.la/`, with a sandbox at
  `https://docs.publica.la/rest-api-v3/content/content-v3-sandbox`.
- Respect the limiter: 60 requests per minute per IP on the MCP server, 300 on
  the site API. Read `RateLimit`; on a 429, wait `Retry-After` seconds.
- Everything reachable without a key is read-only, so retries are safe. Writes on
  the keyed API take an `Idempotency-Key` header.
- Do not invent a street address or a phone number: only the office localities
  (Madrid, Spain and Buenos Aires, Argentina) are published.
- Fuller instructions: `https://publica.la/agents.md`. Operating guide:
  `https://publica.la/guide.md`. Authentication: `https://publica.la/auth.md`.
