Developers · Agents
Call PeopleAnalyst from your agent
Two layers. The free feeds describe our products, arguments, and evidence — so an AI assistant can find and cite us accurately. The paid data API answers compensation and compliance questions with effective-dated, citation-backed data your product can bill against.
Free feeds — discoverability
CORS-open, no API key. Spec at /openapi.json. Or add the MCP server below and your agent gets these as tools.
/api/marketing/product-descriptionVersioned, CORS-open descriptions of every product in the portfolio — name, category, oneLiner, problemFrames, capabilities, beachheads, whenNotToUse (honest disqualifiers), canonicalUrls, relatedProducts. Assembled from canon. Pass ?product to filter.
Params: product
https://peopleanalyst.com/api/marketing/product-description?product=performix
/api/marketing/registryCross-site marketing-asset cards built from the portfolio's brandscripts and proofs, plus the persona set. ?product filters to one product; ?status filters by lifecycle.
Params: product · status
https://peopleanalyst.com/api/marketing/registry?product=performix
/api/brandscriptsThe persona-level argument layer (SB7-shaped): the major problem solved for a persona and what the solution looks like. ?product / ?persona filter; ?status opts into drafts.
Params: product · persona · status
https://peopleanalyst.com/api/brandscripts?product=performix
/api/storiesComplete data stories: the SB7 argument, the acts and beats that carry it, the branches it forks down, the decision it produces, and the data required to test it. Candidates only — nothing here asserts a story is true of any organisation; that is decided against data. ?persona / ?problem / ?metric / ?slug filter.
Params: persona · problem · metric · slug
https://peopleanalyst.com/api/stories?persona=chro-cpo
/api/scenesThe cards a story is told with. Each declares truth conditions the data can falsify, so a claim survives on evidence rather than assertion. Persona relevance is derived from focus (a stated heuristic). Drafts excluded unless ?status=all.
Params: persona · focus · form · shape · tier · archetype · id · status
https://peopleanalyst.com/api/scenes?persona=chro-cpo&focus=regretted-loss
/api/forms7 data shapes and the 33 canonical forms they resolve to. The form is why one engine reads compensation, attrition, funnels and survey data without a per-domain rewrite: the domain is in the metric tag, the structure is here. 'oftenMeans' is a labelled heuristic, never a conclusion.
Params: shape
https://peopleanalyst.com/api/forms?shape=series
/api/warrantFor a construct pair mined from the book corpus: how many distinct works discuss the link, and which ones, with each work's stated rationale. ⚠ This is DISCOURSE, not evidence — book frequency is confounded by publication incentives, fashion and citation cascades, so it is reported as 'discussed in N works' and never as corroboration, confidence, or a score. Single-work claims are returned, labelled as such; corroboration is not a gate. No query returns corpus-level stats including a counting discrepancy we state openly.
Params: from · to · construct · focus
https://peopleanalyst.com/api/warrant?from=employee_engagement&to=employee_turnover
/api/library/idsBatch export of library_id rows (id, title, author, year, property tags) for the works that home on peopleanalyst.com. Ids are content-addressed (SHA-256 of normalized title|authors|year) and stable across repos, so a consumer can join to this catalog without string matching. Scoped to works homed here — titles whose canonical home is another property are excluded, matching /library.
Params: tag · limit
https://peopleanalyst.com/api/library/ids?tag=principia&limit=50
/api/segmentationDeterministic segmentation over caller-supplied numeric vectors: cluster subjects, discover roles from behaviour + relationship edges, detect emergent roles, or match against exemplars. Structured non-biometric signals only — no audio, video, or affect inference. The caller supplies all data; nothing is retained. Capped at 5,000 rows per request.
Params: mode
https://peopleanalyst.com/api/segmentation?mode=segment
/api/diagnoseThe acquisition planner. Given which data-stories are still candidates, returns the single most efficient next question, the full ranked list, and the minimum set of asks that makes every live story testable — split into what can be sent today versus what needs legal review. Ranked by information-per-friction: how evenly an answer splits the live hypothesis set (computed by entropy from the discrimination matrix, never hand-asserted) divided by a cost in which GOVERNANCE outweighs effort. Absent priors all live stories weigh equally, so results reflect structure, not likelihood. GET accepts ?live=, ?have=, ?lack= as comma lists.
Params: live · have · lack
https://peopleanalyst.com/api/diagnose?live=quiet-exodus,comp-review&lack=pay_and_levels
/api/insight-cardsServes a named pitch as an ordered InsightCard[] (the cross-site insight-player contract). ?pitch selects the pitch; ?awareness optionally reshapes the sequence for the buyer's awareness state.
Params: pitch (required) · awareness
https://peopleanalyst.com/api/insight-cards?pitch=performix-binding-constraint
/api/situationsThe proof layer paired with brandscripts: concrete situations a product resolves. ?product filters; ?status opts into drafts.
Params: product · status
https://peopleanalyst.com/api/situations?product=performix
/api/toolsMachine-readable catalog of every corpus-grounded acting tool — name, category, what it does, inputs/outputs, concrete use cases, the profile URL, and how to run it (auth-gated REST + MCP). Discovery is open (find + cite the tools); execution is API-key gated. ?category filters by family; ?slug returns one tool.
Params: category · slug
https://peopleanalyst.com/api/tools?category=Marketing
MCP server
Expose the free feeds to any MCP client as tools (list_peopleanalyst_feeds, get_product_description, …). Add to your MCP config:
{
"mcpServers": {
"peopleanalyst": {
"command": "npx",
"args": ["-y", "tsx", "scripts/mcp/discovery.ts"]
}
}
}Paid data API
LivePosted, metered, volume-scaled — no quotes. You pay for decisions (lookups, rows, queries), and the free tier proves value before you ever need a card.
OpenAPI 3.1 spec at https://compensationtoolbox.com/api/v1/openapi.json. Base URL: https://compensationtoolbox.com/api/v1.
Free / Discoverability
$0 forever
- ·All marketing feeds (product-description, registry, brandscripts, insight-cards, situations)
- ·OpenAPI at /openapi.json + the discovery MCP server
- ·1,000 minimum-wage lookups / month
- ·CORS-open, no API key
Maintained Compliance Feed
$79/mo or $790/yr
- ·The full minimum-wage dataset over the API, kept current
- ·Effective-dated updates as jurisdictions change (the recurring value)
- ·Payroll-ready exports (ADP / UKG / Paychex shapes)
- ·API key + entitlement
Developer
$99/mo per project
- ·API key + 25,000 included calls / month across all endpoints, then metered rates
- ·The maintained compliance feed included
- ·Bulk roster evaluation + adjusted benchmark queries at metered rates
- ·Usage dashboard + the published OpenAPI / MCP contract
Enterprise / Operational
$75K–$150K/yr posted bands by size
- ·Unlimited operational API (bulk roster, dataset, benchmarks) — no per-call metering
- ·Included in the all-inclusive data-tier subscription (every dataset, pack, guide)
- ·12 months free + founding rate-lock (see /pricing)
- ·SLA + support; routes into AnyComp concierge
Pay-as-you-go rates
First 1,000 lookups every month are free (the agent/SEO magnet).
Volume: $0.005 each ≤ 100k/mo · $0.002 each above 100k/mo
Single jurisdiction, effective-dated, citation-backed.
Volume: $0.05 ≤ 10k rows/mo · $0.03 at 10k–100k/mo · $0.01 above 100k/mo
Per-row compliance + the binding rule + citation. The bulk operational call.
Volume: $3 each ≤ 100/mo · $2 each above 100/mo
Multivariate-adjusted index (not a raw median), with adjustment provenance.
All jurisdictions × variants (CSV/JSON). Or subscribe to the maintained feed below.
First 1,000 resolves every month are free.
Volume: $0.01 each
Free-text job title → the canonical JobFrame role + SOC pointer.
Volume: $0.05 each
Pairwise distance + band, or nearest neighbors, over the frozen coordinate editions.
Volume: $0.02 per row (max 5,000 rows per call)
Whole-roster mapping onto the frame — the operational bulk call.
Endpoints
Served from the compensation toolbox. Minimum-wage lookup is free up to 1,000/mo per IP (no key); other calls require an API key that carries your entitlement. Full contract: PAID-API-CONTRACT.md.
/api/v1/minimum-wageSingle-jurisdiction minimum wage (free tier; metered above the free ceiling)
https://compensationtoolbox.com/api/v1/minimum-wage
Try it →/api/v1/minimum-wage/datasetFull minimum-wage dataset (all jurisdictions × variants) — entitlement-gated
https://compensationtoolbox.com/api/v1/minimum-wage/dataset
/api/v1/roster/evaluateBulk roster minimum-wage compliance evaluation (metered per employee-row)
https://compensationtoolbox.com/api/v1/roster/evaluate
/api/v1/benchmarkAdjusted compensation benchmark index (G2G) — metered per query
https://compensationtoolbox.com/api/v1/benchmark