Provided by RentCast
Search Homes for Long-Term Rent Across the US
Search homes currently offered for long-term rent in the US and get back each one with its address, property type, bedrooms, bathrooms, square footage, year built, HOA fee, monthly rent, status, when it came on the market, days on market, MLS name and number, the listing agent and office with their phone and email, and how its rent has changed. Locate by full address, by city and state, by ZIP code, or by a latitude and longitude with a radius in miles, then narrow by rent, property type, bedrooms, bathrooms, square footage, year built, status or how recently it came on the market. Long-term rentals only, not short-term or vacation lets.
Contract snapshot: 2026-09-29. Inspect in Glasser for current terms.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"city": {
"type": "string",
"maxLength": 85,
"minLength": 2
},
"limit": {
"type": "integer",
"maximum": 500,
"minimum": 1
},
"price": {
"type": "string",
"pattern": "^\\d+(\\.\\d+)?([,-]\\d+(\\.\\d+)?)*$",
"maxLength": 40
},
"state": {
"type": "string",
"pattern": "^[A-Z]{2}$"
},
"offset": {
"type": "integer",
"maximum": 100000,
"minimum": 0
},
"radius": {
"anyOf": [
{
"type": "number"
},
{
"enum": [
"Infinity",
"-Infinity",
"NaN"
],
"type": "string"
}
]
},
"status": {
"enum": [
"Active",
"Inactive"
],
"type": "string"
},
"address": {
"type": "string",
"maxLength": 200,
"minLength": 5
},
"daysOld": {
"type": "integer",
"maximum": 3650,
"minimum": 1
},
"lotSize": {
"type": "string",
"pattern": "^\\d+(\\.\\d+)?([,-]\\d+(\\.\\d+)?)*$",
"maxLength": 40
},
"zipCode": {
"type": "string",
"pattern": "^\\d{5}$"
},
"bedrooms": {
"type": "string",
"pattern": "^\\d+(\\.\\d+)?([,-]\\d+(\\.\\d+)?)*$",
"maxLength": 40
},
"latitude": {
"anyOf": [
{
"type": "number"
},
{
"enum": [
"Infinity",
"-Infinity",
"NaN"
],
"type": "string"
}
]
},
"bathrooms": {
"type": "string",
"pattern": "^\\d+(\\.\\d+)?([,-]\\d+(\\.\\d+)?)*$",
"maxLength": 40
},
"longitude": {
"anyOf": [
{
"type": "number"
},
{
"enum": [
"Infinity",
"-Infinity",
"NaN"
],
"type": "string"
}
]
},
"yearBuilt": {
"type": "string",
"pattern": "^\\d+(\\.\\d+)?([,-]\\d+(\\.\\d+)?)*$",
"maxLength": 40
},
"propertyType": {
"enum": [
"Single Family",
"Condo",
"Townhouse",
"Manufactured",
"Multi-Family",
"Apartment"
],
"type": "string"
},
"squareFootage": {
"type": "string",
"pattern": "^\\d+(\\.\\d+)?([,-]\\d+(\\.\\d+)?)*$",
"maxLength": 40
}
},
"additionalProperties": false
}{
"city": "Austin",
"limit": 20,
"state": "TX"
}This Endpoint publishes no output schema. You get the Provider's own response body, unchanged — we do not warrant a shape we cannot guarantee.
How to run it
Two fields identify it: the Provider and the endpoint key. The key looks like a path because it usually mirrors the Provider's own, but it is an opaque identifier — not a URL you can open. The same provider:endpoint pair is what your Policy lists.
Once: paste this into your agent's chat. The Skill installs the CLI and logs in by itself. For an agent that cannot use a shell, connect it over MCP instead.
set up https://glasser.ai/SKILL.mdThen ask for this Endpoint:
Run the RentCast Endpoint /listings/rental/long-term on Glasser with input {"city":"Austin","limit":20,"state":"TX"}glasser run -p rentcast -e '/listings/rental/long-term' -i '{"city":"Austin","limit":20,"state":"TX"}' --endpoint-version 1Pinned to version 1, the one this page shows: if a newer version is published first, the Run is refused instead of charged under new terms. Install and log in first on Get Started.
Once per Run:
IDEMPOTENCY_KEY=$(uuidgen)Run it, and copy this same block to send it again:
curl -X POST https://api.glasser.ai/v1/runs \
-H "Authorization: Bearer gl_..." \
-H "Idempotency-Key: $IDEMPOTENCY_KEY" \
-H "Content-Type: application/json" \
-d '{"provider":"rentcast","endpoint":"/listings/rental/long-term","input":{"city":"Austin","limit":20,"state":"TX"},"endpoint_version":1}'Reuse the same Idempotency-Key to send it again: the second send is a read of the first Run. A new key is a new Run and a new Charge. Pinned to version 1 for the same reason as the CLI.
What each outcome charges
| No result | The Provider answered: nothing matched. | $0.0814 |
|---|---|---|
| Provider error | The Provider failed to answer. | $0.00 |
| Timed out | The deadline won. | $0.00 |
| Internal failure | Our defect. | $0.00 |