Back to the catalog

Placement API

Buy SEO link placements across every marketplace: verified domains, held prices, one invoice.

Open source Repository Open in the app JSON README (API)

About

Buy SEO link placements across every marketplace: verified domains, held prices, one invoice.

Details

Kind
MCP servers
Topic
Finance & crypto
Publisher
futurebets
Origin
official
Category
ferramentas
Transport
http
Version
1.0.0
Last push
2026-09-07T23:02:37Z
Repository state
ativo
Language
TypeScript
License
MIT
Added
2026-09-07 23:04:22
Updated
2026-09-07 23:04:22
Origin id
io.github.futurebets/placement-api

README

# Placement API

**Buy SEO link placements across every marketplace from one API or MCP server.**
Named, inspectable domains with live prices, independent verification, a survival record for every publisher we have bought from, and one invoice — paid with prepaid credits.

- Website: https://placementapi.com · For agents: https://placementapi.com/agents · API reference: https://placementapi.com/api
- MCP endpoint: `https://api.placementapi.com/mcp` (streamable HTTP, Bearer API key)
- OpenAPI: https://api.placementapi.com/openapi.json · Field semantics: https://api.placementapi.com/v1/schema
- Live market data: https://placementapi.com/data · Prices by type, DR and topic: https://placementapi.com/pricing

This repository holds the **TypeScript client** (`sdk/`, published to npm as [`placementapi`](https://www.npmjs.com/package/placementapi)) and the MCP registry manifest (`server.json`). The service itself is not open source.

## Connect the MCP server

```bash
# Claude Code
claude mcp add --transport http placement-api https://api.placementapi.com/mcp \
  --header "Authorization: Bearer $PLACEMENT_KEY"
```

```json
// Cursor / Windsurf / any host that takes a JSON config
{ "mcpServers": { "placement_api": { "url": "https://api.placementapi.com/mcp",
  "headers": { "Authorization": "Bearer pk_live_…" } } } }
```

Claude.ai / ChatGPT: Settings → Connectors → add custom connector with the URL above and the `Authorization` header.

Get a key at https://app.placementapi.com/dashboard. A **read** key can search, plan and compare; an **order** key can spend credits.

### Tools

| Tool | What it does |
|---|---|
| `search_placements` | Search ~550k priced placements deduplicated by domain, with verification, score and price plausibility on every row |
| `plan_links` | A brief in (links, topic, DR, budget, strategy) → a costed plan of named domains, each with `why`, held at price for four hours |
| `compare_domain` | Everything about one publisher: listings and spread, verification, web-graph, survival, outcomes, Placement Score, market reference |
| `target_profile` / `gap_map` | Your page's backlink profile and the competitor links you can reproducibly buy, priced |
| `keyword_winners` | What the sites that rank for a keyword look like, and what they buy |
| `place_order` · `submit_content` · `write_it_for_me` | Order at the held price; supply the article, let the publisher write it, or have it written |
| `list_orders` · `campaign_status` · `order_outcome` | Fulfilment, live checks and observed rank movement (observed, never attributed) |
| `standing_orders` · `create_standing_order` | Recurring plans; auto-placement can only be enabled from the dashboard |
| `check_balance` · `cancel_order` | |

## Use the SDK

```bash
npm i placementapi
```

```ts
import { PlacementApi } from "placementapi";

const api = new PlacementApi({ apiKey: process.env.PLACEMENT_KEY! });
const quote = await api.quote({ links: 5, topic: "finance", dr_min: 50, strategy: "safest" });
for (const l of quote.lines) console.log(l.domain, l.price_credits, l.verification, l.why.join(" · "));
```

See [`sdk/README.md`](sdk/README.md).

## Things worth knowing

- **Credits are US cents.** Prices on a quote are held for four hours; order with the `quote_id` to pay the held price.
- **`verification`** says whether a domain's authority is real: `ok`, `suspect` (high link authority with no organic footprint — what a link farm looks like) or `unverified`. `quality_reasons` names which of five tests fired. Method: https://placementapi.com/research/quality-methodology
- **Suppliers are never identified.** You see counts and spreads, never who. That is a product rule, not a gap.
- **`why[]`** on every line is the factual basis for the pick, in sentences an agent can repeat.

Support: hello@placementapi.com · Terms: https://placementapi.com/terms

More