API Reference
All endpoints are REST/JSON over HTTPS. Public endpoints require no authentication. Pro endpoints require an email field in the request body that matches an active Pro subscription.
Base URL
https://usefraudit.comEndpoints
| Method | Path | Auth |
|---|---|---|
| GET | /api/search?q={query}&category={cat}&risk={level} | Public |
| GET | /api/provider/{id} | Public |
| GET | /api/provider/{id}/related | Public |
| GET | /api/top50 | Public |
| GET | /api/stats | Public |
| GET | /api/map-stats?category={cat} | Public |
| POST | /api/tip | Public |
| POST | /api/dossier | Pro |
| GET | /api/watchlist?email={email} | Pro |
| POST | /api/watchlist | Pro |
Examples
Search providers
// Search for hospice providers in California
const response = await fetch(
"https://usefraudit.com/api/search?q=california&category=healthcare&risk=high"
);
const providers = await response.json();
// providers is an array of up to 100 results, sorted by riskScore desc
providers.forEach(p => {
console.log(p.name, p.riskScore, p.state);
});Generate a dossier Pro
// Generate a PDF dossier (Pro only)
const response = await fetch("https://usefraudit.com/api/dossier", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
providerId: "cuid-goes-here",
email: "your@email.com" // must be an active Pro subscriber
})
});
if (response.ok) {
const blob = await response.blob();
const url = URL.createObjectURL(blob);
// trigger download...
} else if (response.status === 403) {
// Not a Pro subscriber — redirect to /pricing
}Response Format
All endpoints return JSON. Error responses include an error field. HTTP status codes follow REST conventions.
200Success400Bad request — missing or invalid parameters403Forbidden — Pro subscription required404Not found500Server errorNeed API access?
Pro plan includes full API access at $149/mo. Newsroom plan includes team API access at $499/mo.
Get API Access →