The Client Data Index · daily-refreshed · custom data points that interact with each other

The legal sector hires every day. Until tonight, you found out every quarter.

11,068 active openings across 1,200 law firms, normalized into one queryable feed. Refreshed at 04:00 UTC. Pushed to your CRM, your underwriting model, or your editor's inbox by the time the market opens.

Client Data Index · live slice Live Visual Data Aggregation API
11,068
Active legal-sector openings tracked
16,405
Firms in the index
47
Sub-practice + role-family taxonomy nodes
04:00 UTC
Refresh cadence · hourly delta fan-out
Developer-grade

A REST surface your data team can read on first scroll.

Bearer-token auth, idempotent writes, RFC 9457 problem responses, X-Request-ID on every reply.
httpx
# Python · query the Hiring Index
import httpx, os

r = httpx.get(
  "https://api.placement.solutions/v1/postings",
  params={"firm_id": "firm_8a31",
          "role_family": "ai_governance",
          "since": "2026-04-01"},
  headers={"Authorization": f"Bearer {os.environ['PS_TOKEN']}"},
)
print(r.json()["data"][0])
Response Headers 200 OK · 142 ms
{
  "id": "pst_01HZP...",
  "firm_id": "firm_8a31",
  "role_family": "ai_governance",
  "role_title": "Director, AI Governance",
  "track": "counsel",
  "market": "new_york",
  "comp_band": {
    "low": 285000,
    "high": 340000,
    "currency": "USD"
  },
  "posted_at": "2026-04-29T13:11Z",
  "req_age_days": 6,
  "req_age_decile": 1,
  "first_seen_in_taxonomy": true,
  "derived": {
    "firm_capacity_delta_30d": "+12%",
    "market_comp_drift_wow": "+2.4%"
  }
}
Built for seven workflows

One data layer. Seven pricing models. Each tailored.

Methodology

Every record carries its sourcing chain. We publish the entire taxonomy.

We treat hiring as a forensic discipline. Every posting in the index is normalized into the same 47-node taxonomy, attached to a firm, a market, a role family, a comp band, and a track (counsel, senior associate, professional staff). Records are refreshed daily at 04:00 UTC and fanned out hourly to subscribers.

The audit trail is part of the product, not an appendix. Every record carries the chain of evidence that put it in the graph — and we publish the entire taxonomy.

Read the methodology
"If we can't show you the chain of evidence and the time it landed, we don't have a record. We have a guess." — from How we score the index, methodology essay #2
Trust

Designed for the legal, banking, and insurance procurement bar.

SOC 2 Type II observation

Continuous control monitoring with quarterly attestation. Letter available on request.

ISO 27001-certified hosting

ISO 27001-certified hosting with US-only data residency. Subprocessor list available on request.

No model training on your queries

We do not train on customer queries or returned data. Subprocessor list public and versioned.

Procurement materials available: DPA, subprocessor list, security whitepaper, DSAR mailbox.
From the founder
HC

I started JMS Talent Acquisition because the legal sector treats hiring data like a guarded ledger. Quarterly reports. PDFs. Vendor moats. The clients I work with — partners pricing risk, MDs pitching banks, underwriters scoring counsel, search firms staffing seats — needed something different: a daily, queryable graph of who is hiring, what for, where, and at what comp.

placement.solutions is the index I always wished existed. Every record shows its work. Every refresh runs at 04:00 UTC. Every customer reads the same taxonomy. If we missed a role family worth tracking, write to me directly.

Hunter Cestone · Founder, JMS Talent Acquisition

Stand up an integration this afternoon. Bearer-token access on approval.