Full programmatic access to your workspace. Same surface as the cloud dashboard, scriptable. Read links and revenue, trigger scans, apply fixes. Workspace-scoped API keys.
Generate a workspace API key in your workspace settings. Pass it as a Bearer token. The key is scoped to your workspace and can be rotated anytime.
curl https://api.linkpulse.dev/v2/sites \
-H "Authorization: Bearer lp_workspace_YOUR_KEY"GET /v2/sites returns every site in your workspace with link counts, scan dates, and connector type.
GET /v2/sites/:id/links?status=broken returns dead links with HTTP status, last-seen-working date, and detected affiliate network.
GET /v2/sites/:id/revenue returns revenue per article, per network, per link. Cross-joined with link health when WeCanTrack is connected.
POST /v2/sites/:id/scan kicks off an on-demand link health scan. Returns a job id you can poll.
POST /v2/sites/:id/links/replace updates a broken link to a working alternative on your post content (via the WP plugin or JS connector).
POST /v2/replacements/find runs the same web-search-powered alternative product finder the AI assistant uses.
A small script that finds your top 5 broken links by revenue impact and replaces them automatically:
const KEY = process.env.LP_API_KEY;
const headers = { Authorization: `Bearer ${KEY}` };
// 1. Get sites
const sites = await fetch('https://api.linkpulse.dev/v2/sites', { headers })
.then(r => r.json());
// 2. For each site, get top broken links by revenue impact
for (const site of sites.data) {
const broken = await fetch(
`https://api.linkpulse.dev/v2/sites/${site.id}/links?status=broken&sort=revenue&limit=5`,
{ headers }
).then(r => r.json());
// 3. Replace each one
for (const link of broken.data) {
await fetch(
`https://api.linkpulse.dev/v2/sites/${site.id}/links/replace`,
{
method: 'POST',
headers: { ...headers, 'Content-Type': 'application/json' },
body: JSON.stringify({ link_id: link.id, mode: 'auto' }),
}
);
}
}If the cloud dashboard can do it, the API can do it. Build custom reports, ship internal tools, plug LinkPulse into your existing pipelines.
Get started for free