Real‑time layoff data for recruiters, HR teams, and talent acquisition professionals.
Base URL: https://parheliaweb.com
All requests must include an API key in the x-api-key header. Responses are in JSON.
All prices are listed in Euros (EUR). Your card will be charged in your local currency at the prevailing exchange rate. We use Stripe for secure payment processing, which supports 135+ currencies and local payment methods including iDEAL, Bancontact, and SEPA Direct Debit.
Pass your secret API key as an HTTP header on every request:
x-api-key: YOUR_API_KEY
If the key is missing or invalid, you'll receive a 401 Unauthorized or 403 Forbidden.
| Plan | Rate Limit | Data Access | Fields | Support |
|---|---|---|---|---|
| Free | 60 requests / minute | Last 30 days only | Basic (company, count, date, url) | — |
| Pro (€29/month) | 60 requests / minute | Full dataset (up to 10 years) | + percentage, department, reason, location, restructuring, workforce | Email support |
When you exceed the limit, the API returns 429 Too Many Requests.
GET /v1/layoffs
Returns the most recent layoffs detected by our crawlers. Currently tracking 15 tracked layoffs.
| Parameter | Type | Default | Description |
|---|---|---|---|
max_age_days | integer | 365 | Maximum age of data in days. Free tier limited to 30 days. Pro tier: up to 3650 (10 years). |
max_records | integer | 500 | Maximum records returned. Range: 1-5000. |
# Get layoffs (default: 365 days for Pro, 30 days for Free)
curl -H "x-api-key: YOUR_KEY" https://parheliaweb.com/v1/layoffs
# Get layoffs from the last 30 days only
curl -H "x-api-key: YOUR_KEY" "https://parheliaweb.com/v1/layoffs?max_age_days=30"
# Pro tier: Get all records (up to 10 years)
curl -H "x-api-key: YOUR_KEY" "https://parheliaweb.com/v1/layoffs?max_age_days=3650"
{
"user_tier": "pro",
"count": 1,
"max_age_days": 365,
"last_crawled": "2026-05-28T13:04:49Z",
"results": [{
"company_name": "Cisco",
"layoff_count": "4000 employees",
"announcement_date": "2026-05-14",
"source_url": "https://techcrunch.com/...",
"source_status": "active",
"percentage": "5%",
"affected_department": "IT",
"reason": "AI investment",
"location": "US",
"is_restructuring": false,
"total_workforce_pre_layoff": "80000"
}]
}
| Field | Type | Description |
|---|---|---|
user_tier | string | Your subscription tier (free, pro) |
count | integer | Number of results returned |
max_age_days | integer | The max age filter applied (capped at 30 for Free tier) |
last_crawled | string | ISO 8601 timestamp (UTC) of the last crawler run |
company_name | string | Name of the company |
layoff_count | string|null | Number of employees affected |
announcement_date | string | Date of the announcement (YYYY-MM-DD) |
source_url | string | URL of the original news source |
source_status | string | "active" if verified, "archived" if from historical dataset |
percentage | string|null | Pro tier: Percentage of workforce affected |
affected_department | string|null | Pro tier: Department(s) affected |
reason | string|null | Pro tier: Stated reason for the layoffs |
location | string|null | Pro tier: Geographic location |
is_restructuring | boolean | Pro tier: True if part of broader restructuring |
total_workforce_pre_layoff | string|null | Pro tier: Total workforce before layoffs |
import requests
headers = {"x-api-key": "YOUR_API_KEY"}
resp = requests.get("https://parheliaweb.com/v1/layoffs", headers=headers)
for item in resp.json()["results"]:
print(item["company_name"], item["layoff_count"])
fetch("https://parheliaweb.com/v1/layoffs", {
headers: { "x-api-key": "YOUR_API_KEY" }
})
.then(res => res.json())
.then(data => console.log(data.results));
curl -H "x-api-key: YOUR_API_KEY" https://parheliaweb.com/v1/layoffs
Email us at info@parheliaweb.com.
Layoffs API by ParheliaWeb · Built in the Netherlands · Terms · Privacy · Contact
AI verification powered by DeepSeek