API Reference

Everything you need to integrate Enrichkit into your workflow. Simple key auth, JSON in, JSON out.

Authentication

All API requests require an API key. Pass it via the X-API-Key header (preferred) or Authorization: Bearer. Generate keys from your dashboard.

X-API-Key (preferred)
Bearer
X-API-Key: ek_your_api_key_here

# or
Authorization: Bearer ek_your_api_key_here

Keys are prefixed with ek_. Keep them secret — do not expose them in client-side code.

Base URL

Base URL
https://api.enrichkit.dev/v1

Enrich Profile

Look up a professional profile by URL. Returns structured data including name, title, company, location, and experience.

POST /v1/profile

Request Body

ParameterTypeRequiredDescription
urlstringYesProfile URL to enrich

Example Request

curl
curl -X POST https://api.enrichkit.dev/v1/profile \
  -H "X-API-Key: ek_your_key" \
  -H "Content-Type: application/json" \
  -d '{"url": "linkedin.com/in/janedoe"}'

Example Response

200 OK
{
  "name": "Jane Doe",
  "title": "Head of Growth",
  "company": {
    "name": "Acme Corp",
    "industry": "SaaS",
    "headcount": "201-500"
  },
  "location": "Austin, TX",
  "experience": [
    {
      "title": "Head of Growth",
      "company": "Acme Corp",
      "start_date": "2022-03",
      "end_date": null
    }
  ],
  "education": [...],
  "skills": [...]
}

Get Posts

Retrieve recent posts from a profile.

POST /v1/posts
ParameterTypeRequiredDescription
urlstringYesProfile URL
countnumberNoNumber of posts (1-100, default 10)

Get Reactions

Retrieve reactions on a specific post.

POST /v1/reactions
ParameterTypeRequiredDescription
post_urlstringYesPost URL
pagenumberNoPage number (default 1)

Enrich Company

Look up a company by URL. Returns structured company data.

POST /v1/company
ParameterTypeRequiredDescription
urlstringYesCompany URL to enrich

Check Usage

Returns your current usage, limits, and rate limit info.

GET /v1/usage

Example Response

200 OK
{
  "plan": "growth",
  "credits": {
    "remaining": 37550,
    "total": 50000,
    "resets_at": "2026-04-15T00:00:00Z"
  },
  "rate_limit": {
    "requests_per_minute": 300
  }
}

Rate Limits

Rate limits are enforced per API key based on your plan. Limits reset every minute on a sliding window.

PlanRequests / monthRequests / min
Starter10,000100
Growth50,000300
Pro200,000600

When you hit a rate limit, the API returns 429 Too Many Requests with a Retry-After header.

Errors

Enrichkit uses standard HTTP status codes. Errors return a JSON body with a message field.

StatusMeaning
200Success
400Bad request — invalid JSON or missing required field
401Invalid, missing, or revoked API key
403No active plan — subscribe first
429Monthly quota exhausted
502Upstream error — bad response from data source
503Upstream unreachable — try again shortly

Error Response

429 Too Many Requests
{
  "error": "quota_exceeded",
  "message": "No credits remaining. Upgrade your plan for more requests.",
  "credits": 0,
  "plan": "starter"
}