Developers Crimson Platform

Build talent data
into your stack.

A clean REST API, real-time webhooks, and typed SDKs for pipelines, compensation benchmarks, and workforce analytics. Everything our own platform runs on — available to you over a single, versioned interface.

quickstart.shcURL
# Fetch live pipeline metrics curl https://api.crimsontalent.com/v1/pipelines \ -H "Authorization: Bearer $CRIMSON_API_KEY" # 200 OK { "object": "list", "active_searches": 32, "avg_time_to_fill_days": 24, "candidates_in_flight": 2847, "has_more": true }

Your first request
in three steps.

From zero to a live response in under five minutes. Grab a key, install a client, and pull real data from your talent pipelines.

1

Get your API key

Sign in to the employer portal and open Settings → Developers. Generate a secret key scoped to the resources you need — read-only for analytics dashboards, or read/write for pipeline automation. Keys are prefixed ck_live_ in production and ck_test_ in the sandbox.

~/.zshrcShell
# Store your key as an environment variable export CRIMSON_API_KEY="ck_live_9f2a...c41d"
2

Install an SDK

Official clients are available for JavaScript/TypeScript, Python, Ruby, Go, and Java. Each is fully typed, auto-retries idempotent requests, and tracks the current API version. Prefer raw HTTP? Every endpoint works with plain curl.

terminalnpm
# Node.js / TypeScript npm install @crimsontalent/sdk # Python pip install crimsontalent
3

Make your first call

List the active pipelines on your account. The response is paginated, cursor-based, and identical across every SDK and the raw API. From here you can drill into candidates, pull compensation benchmarks, or subscribe to webhook events.

index.jsNode.js
import { Crimson } from '@crimsontalent/sdk'; const crimson = new Crimson({ apiKey: process.env.CRIMSON_API_KEY }); const pipelines = await crimson.pipelines.list({ limit: 10 }); for (const p of pipelines.data) { console.log(p.role, p.candidates_in_flight); }

Everything you need
to ship fast.

Six sets of docs cover the full platform surface — from the first curl request to production-grade webhook infrastructure.

Four resources,
one data model.

The Crimson API is organized around a small set of predictable resources. Everything returns JSON, uses standard HTTP verbs, and shares consistent identifiers you can reference across endpoints.

Pipelines

A pipeline represents an active search — a role, its hiring stages, and the candidates moving through them. List them, create new ones, and track time-to-fill and stage conversion in real time. IDs look like pipe_8Kx....

Candidates

Candidate records carry stage, source, and structured profile data — always privacy-scoped to your organization. Retrieve, filter by pipeline or stage, and remove records to honor deletion requests. IDs look like cand_3Qp....

Compensation

Live salary and equity benchmarks by role, market, and level — refreshed weekly from millions of verified data points. Query percentiles (p25–p90), base, bonus, and equity splits for any supported role. Read-only.

Analytics

Aggregate talent-supply and demand signals, funnel conversion, and forecast models. Pull supply indices for a role and market, or run our forecast model to project time-to-fill and candidate availability up to two quarters out.

Secure by default.

Authenticate with a bearer token over TLS 1.3. Scope keys by permission, rotate them anytime, and monitor per-key usage from your dashboard. Never expose a secret key in client-side code — use a server-side proxy or our publishable keys for browser contexts.

auth.jsNode.js
import { Crimson } from '@crimsontalent/sdk'; // The SDK reads Authorization: Bearer <key> for every request const crimson = new Crimson({ apiKey: process.env.CRIMSON_API_KEY, apiVersion: '2026-04-01', // pin a version for stability maxRetries: 3 // retries idempotent 5xx with backoff }); // List compensation benchmarks for a role const comp = await crimson.compensation.retrieve({ role: 'chief-financial-officer', market: 'new-york', percentiles: [50, 75, 90] }); console.log(comp.base.p50); // 385000

Rate limits & versioning.

Rate limits

Live keys are limited to 1,000 requests per minute per organization, burstable to 2,000. Every response includes X-RateLimit-Remaining and X-RateLimit-Reset headers. Exceeding the limit returns 429 Too Many Requests — back off using the Retry-After header. Need more? Enterprise plans lift limits and offer dedicated capacity.

Versioning

The API is versioned by date, e.g. 2026-04-01. Pin a version with the Crimson-Version header or your SDK config. We never make breaking changes to a released version — additive changes ship continuously, and deprecations get a minimum 12-month notice via the changelog.

Get your API key.

Sign in to the employer portal to generate keys, invite teammates, and start building — or talk to us about enterprise platform access.

Go to the portal