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.
?lang=zh to any request URL to automatically receive industry terms, regions, and AI-translated summaries in Simplified Chinese.
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.
Your daily quota depends on your subscription tier, while the rate limit exists to prevent abuse (e.g. using the API as a DDoS bot). The two are independent: exhausting your daily quota requires waiting until the next day, whereas exceeding the rate limit only requires a short cooldown.
| Plan | Daily Quota | Rate Limit | Data Access | Fields | Support |
|---|---|---|---|---|---|
| Free | 100 calls / day | 60 requests / minute | Last 30 days only | Basic (company, count, date, url) | β |
| Pro (β¬29/month) | 1,000 calls / day | 60 requests / minute | Full dataset (up to 10 years) | + percentage, department, reason, location, restructuring, workforce, tech_stack | Email support |
When the request rate exceeds the rate limit, the API returns 429 Too Many Requests. Simply retry after a short wait β this does not consume your daily quota.
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. |
lang | string | en | Optional. Set to zh to return localized fields in Simplified Chinese. |
# 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) & return Simplified Chinese
curl -H "x-api-key: YOUR_KEY" "https://parheliaweb.com/v1/layoffs?max_age_days=3650&lang=zh"
{
"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",
"tech_stack_affected": "Networking, Python"
}]
}
| 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 |
tech_stack_affected | string|null | Pro tier: Tech stack of affected employees (e.g., Rust, AWS). |
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
Your API key isn't limited to this API. Use it across our full platform:
| API | Endpoint Base | Free Tier | Pro Tier |
|---|---|---|---|
| Layoffs | /v1/layoffs | 100/day | 1,000/day |
| Email Validation | /v1/email/validate | 100/mo | 25,000/mo |
| Funding Rounds | /v1/funding | 100/day | 1,000/day |
| Regulatory Fines | /v1/fines | 100/day | 1,000/day |
| Acquisitions | /v1/acquisitions | 100/day | 1,000/day |
| IPOs | /v1/ipos | 100/day | 1,000/day |
Quotas are per-API. Upgrade each API independently based on your needs. Why different quotas? Email validation performs live SMTP handshakes β per-check infrastructure cost. Data APIs query our cached database β lower marginal cost.
If you run into any issues or have feature suggestions, email us at info@parheliaweb.com.
Layoffs API by ParheliaWeb Β· Built in the Netherlands Β· Terms Β· Privacy Β· Why Choose Us Β· Contact