Skip to content

API Overview

The HomeStar API provides programmatic access to property listings, agent profiles, lead management, and more. This RESTful API uses JSON for requests and responses.

https://api.idx.supported.systems

Interactive API documentation is available at:

  • Swagger UI: /docs — Interactive testing interface
  • ReDoc: /redoc — Clean, readable documentation

The API supports two authentication methods:

Include your API key in the request header:

X-API-Key: idx_your_api_key_here

For browser-based applications using Keycloak:

Authorization: Bearer eyJhbGciOiJSUzI1NiIs...
Category Description Auth Required
Properties Search and view listings No
Search Semantic and multi-modal search No
Agents Agent profiles and management Varies
Brokerages Brokerage information Varies
Leads Lead capture and management Varies
Authentication Auth and user info Yes

All successful responses follow this structure:

{
"items": [...], // Array of results (for list endpoints)
"total": 100, // Total count
"page": 1, // Current page
"page_size": 20, // Items per page
"total_pages": 5 // Total pages
}

Single-item responses return the object directly:

{
"id": 123,
"name": "Example Property",
...
}

Errors return appropriate HTTP status codes with details:

{
"detail": "Property not found"
}
Code Meaning
200 Success
201 Created
400 Bad Request — Invalid parameters
401 Unauthorized — Missing or invalid auth
403 Forbidden — Insufficient permissions
404 Not Found — Resource doesn’t exist
422 Validation Error — Invalid data format
429 Rate Limited — Too many requests
500 Server Error — Something went wrong

List endpoints support pagination via query parameters:

Parameter Default Max Description
page 1 — Page number (1-indexed)
page_size 20 100 Items per page

Example:

GET /api/properties?page=2&page_size=50

Many endpoints support filtering via query parameters:

GET /api/properties?city=Twin%20Falls&min_price=200000&max_price=500000

Default rate limits:

  • 100 requests/minute per API key
  • 1,000 requests/hour per API key

Rate limit headers are included in responses:

X-RateLimit-Limit: 100
X-RateLimit-Remaining: 95
X-RateLimit-Reset: 1640995200

The API is multi-tenant. The Host header or domain determines which brokerage’s data is returned:

Host: www.your-domain.com

For domain-agnostic access, use the brokerage_id parameter where supported.