Your model already does
the other half of SEO.

It audits your site, finds the gaps, writes the brief and plans the links. Then it stops, because the next step is buying something and there was never anything to call. This is the thing to call.

443,692
placements it can search
7
tools over MCP
30 min
a quoted price is held
= 1 credit, exactly

connect

One command, then ask it to plan a campaign.

# Claude Code, Cursor, or any MCP host
claude mcp add --transport http placement-api \
  https://api.placementapi.com/mcp \
  --header "Authorization: Bearer $PLACEMENT_KEY"

# In Claude or ChatGPT:
#   Settings -> Connectors -> Add custom connector
#   URL     https://api.placementapi.com/mcp
#   Header  Authorization: Bearer <your key>

Hosted, not an npx package. Nothing to install, nothing to pin, and we can fix a bug for everyone at once.

the tools

Seven tools. Two of them can spend money.

A key you paste into an MCP config lives inside a chat session for as long as that session does. A key that can only search is a very different thing to leave there than one that can buy links, so ordering is a separate scope. On a read-only key the buying tools are not refused, they are never listed.

search_placementsreadEvery supplier at once, deduplicated by domain, at the price you will actually pay.
plan_linksreadA brief becomes a costed basket, spread across domains, at a price held for 30 minutes.
compare_domainreadEvery listing for one domain, cheapest first, with the spread.
check_balancereadCredits, spend caps, and what has cleared.
list_ordersreadDelivery state, and which orders can still be cancelled.
place_orderorderBuys a placement. Charges immediately.
cancel_orderorderFull refund until the order reaches a supplier.

the handbrake

Autonomy you can leave running.

An agent optimising for authority per dollar will happily buy fifty exact-match-anchor links to one page in a week. Every rail below is enforced server-side, because a markdown instruction is advice and a database constraint is a guarantee.

Caps it cannot argue past

Per-order and per-day limits are enforced in the same atomic statement as the charge. They are not in a prompt, so no amount of reasoning gets around them.

A retry never charges twice

Agents retry on any network hiccup, and a retry without a key is indistinguishable from a second purchase. We refuse it rather than double-charge you.

No fifty links on one anchor

Orders state an anchor mix and each placement draws from it, so the classic over-optimisation footprint is not something a model can create by being diligent.

Fakes are out by default

Plans exclude domains whose authority is not backed by search traffic unless you ask for them, so a model cannot quietly buy a campaign of them while hitting its DR target.

Quoted prices are held

A plan approved at 9am is charged at the price it was approved at. A quote binds for 30 minutes, so the catalogue moving underneath cannot turn a yes into a different invoice.

Cancel until the morning

Orders go to suppliers in one batch each day. Until then anything can be pulled back in full, which is the window where a mistake is still free.

Give your agent something to call.

Free key, read-only by default, 161,264 measured domains to search.

Get an API key