Overview
The Ikonen API provides read access to enriched foreclosure auction case data across select Ohio counties, updated continuously throughout the business day. The API is REST-based — all responses are JSON.
API keys are available to all registered users via your account dashboard.
Unsubscribed accounts have access to the /preview endpoint only (5 lowest-equity deals).
Full access to all endpoints requires an active Standard subscription.
Base URL
All endpoints below are relative to this base URL.
Authentication
Every request must include your API key as a Bearer token in the Authorization header:
Generate your key from the dashboard. Keys are prefixed alpi_.
The raw key is shown once on generation — store it securely. Only its hash is retained by Ikonen.
| Status | Meaning |
|---|---|
401 | Missing, invalid, or inactive API key. |
403 | Valid key but endpoint requires an active Standard subscription. |
Endpoints
Test the service with a sample of the production dataset. Available to all API key holders regardless of subscription status. Use this to evaluate data quality before subscribing.
Auth required: API key | Subscription required: No
Returns a paginated list of enriched foreclosure cases. Supports filtering by county, date, and status.
Results are ordered by auction_date descending by default.
Auth required: API key | Subscription required: Yes (Standard)
Returns a single case record by its numeric ID.
Auth required: API key | Subscription required: Yes (Standard)
Returns a summary of all counties in the dataset, with the earliest and latest auction dates seen for each. Useful for building filter UIs or discovery.
Auth required: API key | Subscription required: Yes (Standard)
Returns your current plan and call count for the current calendar month.
Auth required: API key | Subscription required: No
Query parameters — /cases
All filters are exact-match. Combine multiple parameters with AND logic.
| Parameter | Type | Description | Example |
|---|---|---|---|
county |
string | Exact county name (lowercase, e.g. hamilton, butler). |
?county=hamilton |
auction_date |
date | Exact auction date in YYYY-MM-DD format. |
?auction_date=2026-04-02 |
auction_status |
string | Auction lifecycle status. Known values: Scheduled, Sold, Cancelled, Postponed. |
?auction_status=Scheduled |
case_status |
string | Court case procedural status. Known values: New Case, Active, Closed. |
?case_status=New+Case |
page |
integer | Page number. Default: 1. |
?page=2 |
page_size |
integer | Records per page. Default: 50. Maximum: 100. |
?page_size=100 |
Response format
All responses follow a consistent envelope:
On error, data and meta are null and error contains a message string.
Case object
batchdata_property_raw and batchdata_skiptrace_raw are omitted from responses
for non-subscribed accounts. See the Data Catalog for full field descriptions.
Pagination
Use page and page_size to walk through large result sets.
The meta block always tells you the total record count and total pages.
Rate limits
Limits are enforced per API key. Response headers report your current window state.
| Account type | Requests / minute | Monthly cap |
|---|---|---|
| Unsubscribed (preview only) | 30 | None |
| Standard | 300 | None |
Rate limit headers returned on every response:
Exceeding the limit returns 429 Too Many Requests with a Retry-After header.
Example requests
Preview — no subscription needed
All scheduled cases in Hamilton County
Cases on a specific auction date
Single case by ID
County summary
Python
JavaScript (fetch)
Error codes
| HTTP status | Meaning |
|---|---|
401 | Missing, empty, or invalid API key. |
403 | Endpoint requires an active Standard subscription. |
404 | Case ID not found, or unknown endpoint path. |
429 | Rate limit exceeded. See Retry-After header. |
500 | Server-side error. Contact support if persistent. |
Field reference
For complete field descriptions — types, value enumerations, and data quality notes — see the Data Catalog.