{"version":1,"resources":["https://stableestate.dev/api/properties/search","https://stableestate.dev/api/sales/search","https://stableestate.dev/api/properties/random","https://stableestate.dev/api/apartments/search","https://stableestate.dev/api/properties/id","https://stableestate.dev/api/valuations/value","https://stableestate.dev/api/valuations/rent","https://stableestate.dev/api/markets"],"mppResources":["https://stableestate.dev/api/properties/search","https://stableestate.dev/api/sales/search","https://stableestate.dev/api/properties/random","https://stableestate.dev/api/apartments/search","https://stableestate.dev/api/properties/id","https://stableestate.dev/api/valuations/value","https://stableestate.dev/api/valuations/rent","https://stableestate.dev/api/markets"],"description":"US real estate data API — rental listings, sale listings, property records, valuations, rent estimates, and market statistics. Powered by MLS data via RentCast. All 50 US states.","instructions":"# StableEstate API\n\n> US real estate data API — rental listings, sale listings, property records, valuations, rent estimates, and market statistics. Powered by MLS data via RentCast. All 50 US states.\n\n## Payment\n\nThis API accepts x402 and MPP payments. All data endpoints cost $0.01 per request.\n\n- **Protocols:** x402 (HTTP 402) and MPP (Merit Payment Protocol on Tempo)\n- **Price:** $0.01 per request\n- **Networks:** Base mainnet (eip155:8453) via x402, Tempo via MPP\n- **Scheme:** exact\n\nWhen you call a paid endpoint without payment, you'll receive HTTP 402 with payment requirements in the response headers. Use an x402/MPP-compatible client (e.g. AgentCash) to handle payment automatically.\n\nFree endpoints (no payment required): `/api/health`, `/llms.txt`, `/openapi.json`\n\n## Endpoints\n\n| Method | Path | Description | Price |\n|--------|------|-------------|-------|\n| POST | /api/apartments/search | Search rental listings | $0.01 |\n| POST | /api/properties/search | Search property records (attributes, tax, ownership) | $0.01 |\n| POST | /api/properties/random | Get random property records | $0.01 |\n| GET | /api/properties/{id} | Get property record by ID | $0.01 |\n| POST | /api/valuations/value | Property value estimate + comps | $0.01 |\n| POST | /api/valuations/rent | Rent estimate + comps | $0.01 |\n| POST | /api/sales/search | Search for-sale listings | $0.01 |\n| POST | /api/markets | Market statistics by zip code | $0.01 |\n| GET | /openapi.json | OpenAPI spec for agent discovery | Free |\n| GET | /api/health | Health check | Free |\n| GET | /llms.txt | API documentation | Free |\n\n---\n\n## Rental Listings Search — /api/apartments/search\n\nSearch active rental listings across all 50 US states.\n\n### Location (provide at least one)\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| location | string | Freeform: \"Brooklyn, NY\", \"Austin\", \"10001\" — parses city/state/zip automatically |\n| city | string | City name (use with state) |\n| state | string | Two-letter state code |\n| zipCode | string | ZIP code |\n| address | string | Street address |\n| latitude | number | Center of radius search |\n| longitude | number | Center of radius search |\n| radius | number | Search radius in miles (max 100) |\n\n### Filters\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| minBedrooms | number | Minimum bedrooms (alias: bedrooms) |\n| minBathrooms | number | Minimum bathrooms (alias: bathrooms) |\n| minPrice | number | Minimum monthly rent USD |\n| maxPrice | number | Maximum monthly rent USD |\n| minSqft | number | Minimum square footage |\n| maxSqft | number | Maximum square footage |\n| propertyType | string | Single Family, Condo, Townhouse, Manufactured, Multi-Family, Apartment |\n| daysOld | number | Listings added within N days |\n| status | string | Active (default) or Inactive |\n\n### Pagination\n\n| Parameter | Type | Default | Description |\n|-----------|------|---------|-------------|\n| limit | number | 25 | Max results (1-500) |\n| offset | number | 0 | Skip this many results |\n\n### Example\n\n```bash\ncurl -X POST https://stableestate.dev/api/apartments/search \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"location\": \"Brooklyn, NY\", \"maxPrice\": 3000, \"minBedrooms\": 1}'\n```\n\n---\n\n## Property Records Search — /api/properties/search\n\nSearch property records with full attributes, tax assessments, ownership info, and transaction history.\n\n### Parameters\n\nSame location parameters as rental search, plus:\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| propertyType | string | Single Family, Condo, Townhouse, Manufactured, Multi-Family, Apartment, Land |\n| bedrooms | string | Count or range (e.g. \"3\", \"2-4\") |\n| bathrooms | string | Count or range |\n| squareFootage | string | Sq ft range (e.g. \"1000-2000\") |\n| lotSize | string | Lot size range in sq ft |\n| yearBuilt | string | Year or range (e.g. \"2000-2024\") |\n\n### Example\n\n```bash\ncurl -X POST https://stableestate.dev/api/properties/search \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"location\": \"Austin, TX\", \"propertyType\": \"Single Family\", \"yearBuilt\": \"2000-2024\"}'\n```\n\n---\n\n## Random Properties — /api/properties/random\n\nReturns random property records from across the US.\n\n| Parameter | Type | Default | Description |\n|-----------|------|---------|-------------|\n| limit | number | 5 | Number of properties (1-500) |\n\n---\n\n## Property by ID — /api/properties/{id}\n\nGet a specific property record by its ID (returned from search results).\n\n```\nGET /api/properties/5500-Grand-Lake-Dr,-San-Antonio,-TX-78244\n```\n\n---\n\n## Value Estimate — /api/valuations/value\n\nReturns automated property value estimate (AVM) with comparable sales.\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| address | string | Full property address (required unless lat/lng provided) |\n| latitude | number | Property latitude |\n| longitude | number | Property longitude |\n| propertyType | string | Property type |\n| bedrooms | number | Number of bedrooms |\n| bathrooms | number | Number of bathrooms |\n| squareFootage | number | Living area in sq ft |\n| maxRadius | number | Max distance for comparables (miles) |\n| daysOld | number | Max days since comps were listed |\n| compCount | number | Number of comparables (5-25, default 15) |\n\n### Response\n\n```json\n{\n  \"price\": 245000,\n  \"priceRangeLow\": 230000,\n  \"priceRangeHigh\": 260000,\n  \"subjectProperty\": { ... },\n  \"comparables\": [{ \"formattedAddress\": \"...\", \"price\": 240000, \"distance\": 0.1 }]\n}\n```\n\n### Example\n\n```bash\ncurl -X POST https://stableestate.dev/api/valuations/value \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"address\": \"5500 Grand Lake Dr, San Antonio, TX 78244\"}'\n```\n\n---\n\n## Rent Estimate — /api/valuations/rent\n\nReturns estimated monthly rent with comparable rentals. Same parameters as value estimate.\n\n### Response\n\n```json\n{\n  \"rent\": 1850,\n  \"rentRangeLow\": 1700,\n  \"rentRangeHigh\": 2000,\n  \"subjectProperty\": { ... },\n  \"comparables\": [{ \"formattedAddress\": \"...\", \"price\": 1900, \"distance\": 0.1 }]\n}\n```\n\n### Example\n\n```bash\ncurl -X POST https://stableestate.dev/api/valuations/rent \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"address\": \"5500 Grand Lake Dr, San Antonio, TX 78244\"}'\n```\n\n---\n\n## Sale Listings Search — /api/sales/search\n\nSearch for-sale property listings. Same location and pagination parameters as rental search.\n\n### Additional Filters\n\n| Parameter | Type | Description |\n|-----------|------|-------------|\n| propertyType | string | Includes \"Land\" in addition to residential types |\n| bedrooms | string | Count or range |\n| bathrooms | string | Count or range |\n| squareFootage | string | Sq ft range |\n| minPrice | number | Minimum listing price USD |\n| maxPrice | number | Maximum listing price USD |\n| daysOld | string | Days on market filter |\n\n### Example\n\n```bash\ncurl -X POST https://stableestate.dev/api/sales/search \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"location\": \"Austin, TX\", \"maxPrice\": 500000, \"bedrooms\": \"3\"}'\n```\n\n---\n\n## Market Statistics — /api/markets\n\nGet aggregate market statistics and listing trends for a US zip code.\n\n| Parameter | Type | Default | Description |\n|-----------|------|---------|-------------|\n| zipCode | string | (required) | 5-digit US zip code |\n| dataType | string | All | All, Sale, or Rental |\n| historyRange | number | 12 | Historical data range in months |\n\n### Example\n\n```bash\ncurl -X POST https://stableestate.dev/api/markets \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"zipCode\": \"78701\", \"dataType\": \"All\"}'\n```\n\n---\n\n## Notes\n\n- All 50 US states covered\n- Responses are fast (~1-2 seconds)\n- Data sourced from MLS feeds via RentCast\n- 140+ million property records available\n- NYC boroughs: use ZIP codes for best results\n- All paid endpoints accept POST with JSON body\n- Property type \"Land\" available for property records, value estimates, and sale listings (not rent estimates)\n"}