REST API · v1

Every piece of platform data through an API

Complete REST API for distressed-M&A data: cases, deep research, administrator directory, watchlists, alerts — and the AI Deal Playbook. JSON responses, bearer auth, per-tier rate limits.

Base URL

https://emptera.com/api/v1

Version

v1 · OpenAPI 3.1

Features

01

RESTful API design

02

API-key authentication (bearer token)

03

Per-org, per-plan rate limiting

04

Comprehensive search parameters

05

Field selection for lean responses

06

Keyset pagination

07

AI Deal Playbook via endpoint (Emptera exclusive)

08

CORS enabled

09

Uniform error envelope

Authentication

Every protected endpoint expects a bearer token in the Authorization header. Create API keys in the dashboard under Settings → API tokens.

GET /api/v1/leads?sinceDays=7&limit=50
Authorization: Bearer ur_live_<your-token>
Accept: application/json

Rate limiting

Limits depend on your plan. A 429 response includes X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset and Retry-After headers.

HTTP/1.1 429 Too Many Requests
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 1719907200
Retry-After: 300

{ "error": { "code": "rate_limited",
             "message": "Daily quota exhausted." } }

Endpoints

MethodPathDescription
GET/api/v1/healthPublic health check (no API key required).
GET/api/v1/leadsList all insolvency cases. Filters: source, band, cat, priceMin/Max, sinceDays. Keyset pagination.
GET/api/v1/leads/{id}Case detail incl. enrichment and pipeline state for your organisation.
GET/api/v1/leads/{id}/researchDeep research on the case (commercial register, Federal Gazette, web analysis, administrator, match signals).
POST/api/v1/leads/{id}/playbookGenerate AI Deal Playbook — personalised action plan for THIS case + your buyer profile. Body: { profileId?, regenerate?, lang? }.
GET/api/v1/administratorsDirectory of every administrator in the system — filters: nameLike, city, minCases, plan (paid).
GET/api/v1/administrators/{id}Administrator detail with case history, specialisation and contact data (contact from Standard tier).
GET/api/v1/watchlistsYour watchlists.
POST/api/v1/watchlistsCreate a watchlist. Body: { name }.
POST/api/v1/watchlists/{id}/membersAdd a case to a watchlist. Body: { announcementId, note? }.
DELETE/api/v1/watchlists/{id}/members/{announcementId}Remove a case from a watchlist.
GET/api/v1/alertsYour search alerts.
POST/api/v1/alertsCreate a search alert. Body: { name, query, channels[]? }.
PATCH/api/v1/alerts/{id}Update an alert (name, enabled, minBand, channels).
DELETE/api/v1/alerts/{id}Delete an alert.
GET/api/v1/usageUsage + quotas for your organisation in the current month.

Full parameter list + response schemas in the interactive reference.

Example request

curl

curl https://emptera.com/api/v1/leads \
  -H "Authorization: Bearer ur_live_..." \
  -H "Accept: application/json" \
  -G --data-urlencode "sinceDays=7" \
       --data-urlencode "limit=50" \
       --data-urlencode "band=IDEAL"

TypeScript

const res = await fetch(
  "https://emptera.com/api/v1/leads/" +
    id + "/playbook",
  {
    method: "POST",
    headers: {
      "Authorization": "Bearer ur_live_...",
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      lang: "de",
      regenerate: false,
    }),
  },
);
const { playbook } = await res.json();

OpenAPI spec + interactive reference

The full OpenAPI 3.1 spec is available at /api/v1/openapi.json. The interactive Scalar reference with Try-it console is at /api/v1/docs.

Enable API access

API access is included from the Pro tier. Daily rate limits: Pro 100 · Platform 500 · Enterprise 1,500.

REST API — Emptera