API and MCP · Free

Buy press coverage from your AI chat.

Connect Prensalink to Claude, ChatGPT or your own tools. Browse the catalogue, set up orders, approve articles and download invoices without logging into the platform. No extra cost for customers with credit or a previous order.

✓ Scoped permissions. Every purchase is confirmed in the conversation.

MCP server

https://mcp.prensalink.com/mcp
AI assistant ● Prensalink connected
Find business newspapers in Spain with DA above 60 and under 350 €.
I’ve found 23 outlets that meet those criteria. The top three for authority versus price:
elconfidencialdigital.comDA 79 · 321 k visits199 €
economiadigital.esDA 69 · 410 k visits310 €
lanuevacronica.comDA 61 · 74 k visits189 €
Add the first one to the cart and prepare the quote.
Added. Here’s the full quote:
elconfidencialdigital.com · 1 article199.00 €
VAT (21%)41.79 €
Total240.79 €
Shall I confirm the order using your account credit?

What you can do

The whole process, outside the platform.

It’s not just browsing the catalogue: the connection covers the whole purchase, from finding an outlet to downloading the invoice.

Catalogue

  • ●Search outlets with filters and sorting
  • ●See the products for a specific URL
  • ●List countries, regions and topics
  • ●Check sensitive topics and their minimum price

Cart and quote

  • ●Add, change quantity or empty
  • ●Set up each unit: links, anchor, destination
  • ●Upload article images
  • ●Generate a quote with coupons and a note

Orders

  • ●Confirm with credit or bank transfer
  • ●List and filter by status
  • ●Check the set-up and publication URL
  • ●Approve the article or request changes

Account

  • ●Billing profiles and available credit
  • ●Active payment methods
  • ●List of invoices
  • ●Download each invoice as a PDF

Two ways to connect

MCP if you chat. API if you code.

Both use the same API key and the same permissions. You can have both active at once.

Recommended for most people

MCP server

You add Prensalink as a connector in your assistant and ask for things in plain language. Without writing a line of code.

Who it’s forAny user
Coding neededNo
Compatible clientsClaude, ChatGPT, Codex
AuthenticationOAuth + API key
Set-up timeA few minutes
For technical teams

REST API

Integrate the catalogue and orders into your own dashboard, your CRM or your internal processes. Public OpenAPI specification.

Who it’s forAgencies and developers
Coding neededYes
FormatJSON over HTTPS
AuthenticationBearer with API key
Batch operationsUp to 100 outlets

Getting started

Connecting the MCP takes four steps.

First create your API key in your account and save it: it’s only shown once.

Claude

From Claude on the web or the desktop app

  1. Open Settings → Connectors → Add custom connector.
  2. Enter Prensalink as the name and paste the MCP server URL. Use OAuth authentication and leave the client secrets and headers empty.
  3. Click Connect. If Claude asks, choose to use Claude’s published identity and continue to the Prensalink form.
  4. Paste your API key into the Prensalink form and click Connect. Go back to the assistant and turn on Prensalink in the conversation.
Official Claude connectors guide ↗︎

ChatGPT and Codex

From ChatGPT on the web or from Codex

  1. In Codex: Add-ons → MCP → Add and choose to connect a custom MCP. In ChatGPT on the web: Plugins → + → Add custom MCP server.
  2. Enter Prensalink and paste the server URL. In Codex select Streamable HTTP and leave the token and headers empty; in ChatGPT select OAuth.
  3. Save the connection and click Authenticate to open Prensalink’s secure page.
  4. Paste your API key into the Prensalink form and click Connect. Go back to the assistant and turn on Prensalink in the conversation.
Official ChatGPT and Codex guide ↗︎

You only ever enter your API key on Prensalink’s secure page, never in the chat. The assistant never sees it: what it receives is an access token. Connector availability depends on your plan in each tool and on your organisation’s permissions.

Security

An AI with access to your account, within limits.

Giving an assistant permission to spend money would make anyone nervous. That’s why you decide what it can do and every purchase is confirmed in the conversation.

  • Scoped permissionsEach API key carries its own permissions. You can grant just products:read to browse the catalogue, or add purchasing and orders. Without the required permission, the request is rejected.
  • Explicit confirmationBefore closing an order, the assistant shows the full quote —units, set-up, taxes and total— and waits for your yes.
  • The key never goes through the chatIt’s entered in the Prensalink form via OAuth. The assistant works with a token, not with your API key.
  • Quotes that expireEach quote lasts 15 minutes. If the price changes or it expires, a new one has to be generated and confirmed again.
  • No duplicate ordersCreating an order requires an idempotency key, so a retry doesn’t create a second purchase.
  • Rate limits60 requests per minute per credential, 5 order attempts per minute and 10 orders per hour per account.

Reference

The API, in one table.

Base URL https://shop.prensalink.com/api-external/v1, authentication Bearer and responses in JSON.

MethodEndpointWhat it doesScope
GET/meChecks the key and returns the account and permissionsproducts:read
GET/productsLists available outlets with filters and sortingproducts:read
GET/products/detailProducts available for a specific URLproducts:read
GET/customer/cartCart lines, quantities and totalscustomer.cart:write
POST/customer/cart/itemsAdds units of a productcustomer.cart:write
PATCH/customer/cart/items/configurationSets up a unit: links, anchor and destinationcustomer.cart:write
GET/customer/checkout/contextBilling profiles, credit and payment methodscustomer.checkout:read
POST/customer/checkout/quoteCreates a quote valid for 15 minutescustomer.checkout:read
POST/customer/ordersConfirms the quote and creates the ordercustomer.orders:write
GET/customer/orders/{orderNumber}Order details and publication URLcustomer.orders:read
POST/customer/orders/{n}/items/{i}/article/reviewApproves the article or requests changescustomer.orders:write
GET/customer/invoicesList of invoices, most recent firstcustomer.invoices:read
GET/catalog/countries · /regions · /topicsCatalogue countries, regions and topicsValid key
POST/provider/media/bulkCreates or updates up to 100 outletsprovider.media:write
See the full OpenAPI specification ↗︎ Version 1 · Pagination, typed errors and idempotency key documented in the specification.

If you’re a publisher

Update a hundred outlets at once.

The API isn’t just for buying. If you sell publications on Prensalink, you can add outlets, change rates and adjust conditions without touching the dashboard, one by one or in bulk.

  • ✓Adding outlets with their extra products, in a single call.
  • ✓Changing rates and conditions. Price increases go through approval, as in the dashboard.
  • ✓Pre-validation of up to 100 outlets without applying any changes, to check before running.
  • ✓Batch operations of up to 100 outlets, independent of each other: if one fails, the rest carry on.

Validate before applying

# Check 100 outlets without changing anything
curl -X POST "https://shop.prensalink.com/api-external/v1\
/provider/media/bulk/validate" \
  -H "Authorization: Bearer plk_live_…" \
  -H "Content-Type: application/json" \
  -d '{ "items": [ … ] }'

# Response
{
  "valid": 97,
  "invalid": 3,
  "errors": [ … ]
}

Frequently asked questions

About the connection.

Does it cost anything?

Nothing. The API and the MCP server are available to any registered user who has credit or has already placed an order, with no paid plan or fee. You only pay for the publications you buy, at the same price as on the platform.

Can I really buy from the chat?

Yes, as long as your API key has purchase permissions. The whole process works: finding outlets, adding them to the cart, setting up the links, generating the quote and confirming the order with credit or bank transfer.

You give the confirmation in the conversation, with the full quote in front of you. The assistant never closes a purchase on its own initiative.

Of the payment options available on Prensalink, this way you can only pay with credit or by bank transfer.

What if the assistant picks the wrong outlet or quantity?

That’s why the full quote is shown before you confirm: units, the set-up of each one, taxes and total. If something doesn’t add up, you fix it before saying yes.

If you want to remove the risk entirely, create an API key with read-only permission for the catalogue and keep purchasing inside the platform. Permissions are chosen when you create the key.

Do I need to know how to code?

Not for the MCP. It’s a matter of adding a connector in Claude or ChatGPT, pasting a URL and authenticating with your API key. From then on you use plain language.

The REST API does require development work, and it’s designed to be integrated into your own dashboard, CRM or internal processes.

What usage limits are there?

60 requests per minute per credential, 300 per minute per IP address, 5 order attempts per minute and 10 orders per hour per account. Batch operations and image uploads have their own caps.

If you go over them, the response is a 429 with Retry-After, saying when to try again.

Can I revoke access?

Yes, from your account, at any time. When you revoke the API key the connector stops working immediately, without you having to change anything in the assistant.

Create your API key and connect it in a few minutes. No extra cost or plan. You just need credit or a previous order in your account.

Create my API key