StreetEasy API endpoint
Retrieves a public unit's structured listing details from its server-rendered page, including address, asking price, description, amenities, and scheduled open houses.
/streeteasy/units/{building_slug}/{unit}MCP tool: streeteasy_unit
building_slug (path, required): building slug from a public StreetEasy URL.unit (path, required): unit segment from a public /building/{building_slug}/{unit} listing URL.Returns the listing name, description, asking price, currency, availability, listing date, address, photo, amenities, and any open-house events. A nonexistent unit returns 404; missing listing data or an upstream failure returns an upstream error.
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| building_slug (path) | string | Yes | StreetEasy building slug | nusun-vernon | |
| unit (path) | string | Yes | StreetEasy unit segment from /building/{building_slug}/{unit} | 2p | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/streeteasy/units/nusun-vernon/2p" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"building_slug": "sample-building",
"unit": "2p",
"url": "https://streeteasy.com/building/sample-building/2p",
"name": "10 Example Street #2P",
"description": "A bright apartment near transit.",
"price": 685000,
"currency": "USD",
"availability": "InStock",
"listed_date": "2026-09-02",
"address": {
"street": "10 Example Street #2P",
"neighborhood": "ASTORIA",
"region": "NY",
"postal_code": "11102",
"country": "US"
},
"photo_url": "https://photos.example.com/listing.webp",
"amenities": [
"washer_dryer"
],
"open_houses": [
{
"name": "Sale open house",
"start_date": "2026-10-01T12:00:00-04:00",
"end_date": "2026-10-01T15:00:00-04:00",
"status": "EventScheduled"
}
]
}Request schema
No body schema
Response schema
#/definitions/streeteasy.UnitDetails
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| address | streeteasy.UnitAddress | No | ||||
| address.country | string | No | ||||
| address.neighborhood | string | No | ||||
| address.postal_code | string | No | ||||
| address.region | string | No | ||||
| address.street | string | No | ||||
| amenities | array | No | ||||
| availability | string | No | ||||
| building_slug | string | No | ||||
| currency | string | No | ||||
| description | string | No | ||||
| listed_date | string | No | ||||
| name | string | No | ||||
| open_houses | array | No | ||||
| open_houses[].end_date | string | No | ||||
| open_houses[].name | string | No | ||||
| open_houses[].start_date | string | No | ||||
| open_houses[].status | string | No | ||||
| photo_url | string | No | ||||
| price | number | No | ||||
| unit | string | No | ||||
| url | string | No |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 404 | Not Found | #/definitions/app.Response |
| 429 | Too Many Requests | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/streeteasy/units/nusun-vernon/2p" \
-H "x-api-key: $CRAWLORA_API_KEY"