EnemoAi risk read API
The same public-record read about a public company that a person sees in EnemoAi, for a lender's, insurer's or supplier's own system. Read-only. Not open yet: GET /v1/risk-read/price says when it is.
What it is not. A risk read is not a credit score, a credit report or a consumer report. It gives no single number or grade, says nothing about what to do, and must not be used to decide anything about an individual. Records can be late, incomplete or wrong: check the sources. You make the final decision.
Price, stated first
$0.50 a read, from the prepaid wallet of the business that holds the key. GET /v1/risk-read/price needs no key and returns the current price and rules, so your system can read the price before it calls.
- Every call states the most you'll pay in
max_price_cents. Below the price, nothing runs or is charged: the answer is402withprice_cents. - You never pay more than the price. If the wallet can't cover it, the answer is
402and no read is returned. - A read that comes back
no_datais free. The same company again within 24 hours is free, so a retry never charges twice. - No AI model runs on a read, so its compute stays inside EnemoAi's ceiling of 10.78% of the price. What a read costs on the server hasn't been measured yet; each read's time is kept so that it can be.
Keys and limits
The account owner or an admin creates a key in EnemoAi with the risk_read scope (Account → Your business data → Data API keys), after confirming with WorkPair. A risk read key can't reach your business's data, and a data key can't make risk reads. Each key has a rate limit (120 requests a minute by default, at most 600), answered with 429; a business can make up to 2,000 risk reads a day. Every read goes in your security log. Keys can be revoked at any time.
The request
curl https://api.enemo.ai/v1/risk-read \
-H "Authorization: Bearer $KEY" \
-H "Content-Type: application/json" \
-d '{"subject": "ACME",
"purpose": "supplying_a_business",
"max_price_cents": 50,
"not_about_an_individual": true}'
| Field | What it is |
|---|---|
subject | The company's SEC CIK or its ticker. Never a name: a risk read doesn't take a person's name. |
purpose | One of lending_to_a_business, insuring_a_business, supplying_a_business, investing_in_a_business, other_business_review. Kept with the read. |
max_price_cents | The most this call may charge. |
not_about_an_individual | Must be true: your statement that this read isn't for deciding anything about a person. Kept with the read. |
The response
{
"read": "public_record_read", "version": 1,
"subject": {"cik": 1234567, "name": "Acme", "tickers": ["ACME"], "sic": "5712", "industry": "Retail", "source": "https://www.sec.gov/…"},
"dates": {"read_at": "2026-11-05T14:00:00+00:00", "newest_source": "2026-09-01", "profile_checked_at": "2026-11-05T13:10:00+00:00", "latest_fiscal_year_end": "2025-12-31"},
"flags": {"status": "ok", "items": [{
"key": "going_concern", "text": "Going-concern doubt in its 10-K filed …", "severity": "critical", "as_of": "2026-03-01",
"source": {"form": "10-K", "date": "2026-03-01", "url": "https://www.sec.gov/…", "accession": "…", "section": "…"}}]},
"recent_events": {"status": "ok", "items": []},
"comparable_companies": {
"status": "ok", "sample_size": 180, "evidence_strength": "Strong", "matches_are_loose": false, "horizon_years": 3, "fiscal_years": [2011, 2022],
"outcomes": {"bankruptcy": {"what": "filed for bankruptcy", "companies": 9, "of": 180, "interval_95": [0.0265, 0.0925]}},
"method": "…", "sources": […], "examples": […]},
"price": {"quoted_cents": 50, "charged_cents": 50, "covered_by_promo": false, "repeat_within_a_day": false},
"notice": "…"
}
These figures show the format only; they describe no company.
- flags: the risk items of the company's stored profile. Each has its source, its date and a link.
severitygrades that event, as EnemoAi grades it for its users; it doesn't grade the company.statusisok,none_found(none in the sources EnemoAi holds, which doesn't mean no risk) orno_data. - comparable_companies: what happened to the nearest public companies by financial profile and industry, with the sample size, a 95% interval and the strength of the evidence.
statusisok;too_fewunder 10 companies, with no rate stated; orno_data, with the reason. It isn't a forecast for this company. - EnemoAi customers' self-reported outcomes are never in a read. Nor is anything about the business holding the key.
- no_data wherever EnemoAi holds nothing, including for a filer with no company record: people file with the SEC too, and a risk read never covers them.
What it covers
Companies that report to the SEC, in the sources EnemoAi holds for them. It doesn't cover private companies. The profile is rebuilt when a company has a new filing or public record; profile_checked_at says when this one was last checked. Fate Radar's method and its caveats are the ones in the Guide; EnemoAi's measured results and misses are on the track record.
Errors
| Code | Means |
|---|---|
400 | A name instead of a CIK or ticker, no business purpose, or not_about_an_individual isn't true. |
401 | The key is missing, wrong or revoked. |
402 | The price is above max_price_cents, or the wallet can't cover it. Nothing was charged. |
403 | The key has no risk_read scope, or the business is on hold through WorkPair. |
429 | Over a rate limit. |
503 | The API isn't open yet. |
Questions: hello@enemo.ai. Your own data going the other way: the Data API. Legal: enemo.ai/legal, including the Acceptable Use Policy.

