Realβtime regulatory fine and enforcement action data for compliance teams, risk analysts, and market researchers.
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, amount, regulator, date, url) | β |
| Pro (β¬29/month) | 1,000 calls / day | 60 requests / minute | Full dataset (up to 10 years) | + reason, case status, country, laws violated, settlement flag, jurisdiction, sector | 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/fines
Returns the most recent regulatory fines and enforcement actions. Currently tracking 11 verified fines.
| 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 regulatory fines (default: 365 days for Pro, 30 days for Free)
curl -H "x-api-key: YOUR_KEY" https://parheliaweb.com/v1/fines
# Get fines from the last 30 days only
curl -H "x-api-key: YOUR_KEY" "https://parheliaweb.com/v1/fines?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/fines?max_age_days=3650&lang=zh"
{
"user_tier": "pro",
"count": 1,
"max_age_days": 365,
"last_crawled": "2026-05-28T14:04:43Z",
"results": [{
"company_name": "Apple",
"fine_amount": "$1.84 billion",
"regulator": "European Commission",
"announcement_date": "2024-03-04",
"source_url": "https://techcrunch.com/...",
"source_status": "active",
"reason": "Anti-steering provisions on iOS music streaming",
"case_status": "Final",
"country": "EU",
"laws_violated": "Article 102 TFEU",
"is_settlement": false,
"jurisdiction": "EU - GDPR",
"sector": "Tech"
}]
}
| 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 | Company fined |
fine_amount | string|null | Amount of the fine |
regulator | string|null | Regulatory body that issued the fine |
announcement_date | string | Date of enforcement action (YYYY-MM-DD) |
source_url | string | URL of original source |
source_status | string | "active" if verified, "archived" if from historical dataset |
reason | string|null | Pro tier: What the company did wrong |
case_status | string|null | Pro tier: Final, Appealed, Settled, or Pending |
country | string|null | Pro tier: Jurisdiction (US, EU, UK, etc.) |
laws_violated | string|null | Pro tier: Specific laws or regulations violated |
is_settlement | boolean | Pro tier: True if settlement, false if contested fine |
jurisdiction | string|null | Pro tier: Regulatory jurisdiction (e.g., EU-GDPR, US-FTC). |
sector | string|null | Pro tier: Industry sector. |
import requests
headers = {"x-api-key": "YOUR_API_KEY"}
resp = requests.get("https://parheliaweb.com/v1/fines", headers=headers)
for item in resp.json()["results"]:
print(item["company_name"], item["fine_amount"], "-", item["regulator"])
fetch("https://parheliaweb.com/v1/fines", {
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/fines
Your API key isn't limited to this API. Use it across our full platform:
| API | Endpoint Base | Free Tier | Pro Tier |
|---|---|---|---|
| Regulatory Fines | /v1/fines | 100/day | 1,000/day |
| Email Validation | /v1/email/validate | 100/mo | 25,000/mo |
| Funding Rounds | /v1/funding | 100/day | 1,000/day |
| Layoffs | /v1/layoffs | 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.
Regulatory Fines API by ParheliaWeb Β· Built in the Netherlands Β· Terms Β· Privacy Β· Why Choose Us Β· Contact