# Rent.com Rental Search API Documentation

Scrappa's `GET /api/rent-com/search` returns US rental listings from Rent.com as structured JSON. Rent.com lists rentals only, so there is no sale search and no agent endpoint. Manager and agent details are part of the listing detail.

## What you get

One request returns one page of up to 30 listings and the real match count in `pagination.total`. Each item has `id`, `url`, `address` with coordinates and neighborhoods, `price` (text, lowest price, range), `beds`, `baths` and `sqft` (text and numeric range), unit counts, availability, phone, rating, highlights, manager and up to 8 photos. Call `/api/rent-com/listing` for floor plans, fees, amenities and more.

## Location

`location` takes a `search_location` value from `/api/rent-com/autocomplete`, for example `/texas/austin/`, `zip/zip-78701/`, `/texas/` or `neighborhoods/texas/austin/east-riverside-oltorf/`. A plain 5 digit ZIP also works. A place that does not exist returns `404` (`unknown_location`) and is not billed.

## Filters are honoured

Every item is checked against the ranges Rent.com reports for the filters you sent. An item that does not match, or lies outside the requested city or ZIP code, is left out and counted in `pagination.filtered_out`, so a page can hold fewer than 30 items. `pagination.skipped_entries` counts building groups that carry no unit data. Unknown parameters are rejected with `422`. `applied_filters` echoes what was sent.

## Sort and paging

`sort` is `price_asc`, `price_desc` or `beds_asc`. `page` is 1-based with 30 listings per page, up to page 500. A page past the last page returns an empty list with the real `total`. It never returns another page's listings.

## Not offered

There is no sale search, no sort by newest, no agent search and no review text. Pet policy and amenity filters rely on Rent.com's own filter and are not re-checked per item.

- **Documentation:** [https://scrappa.co/docs/rent-com-api/rent_com_search](https://scrappa.co/docs/rent-com-api/rent_com_search)
- **API group:** Rent.com API
- **Endpoint:** `GET https://scrappa.co/api/rent-com/search`

## Authentication

Send your Scrappa API key in the `X-API-KEY` request header. Paid endpoints also support accountless x402 payments when called without an API key.

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `location` | string | Yes | search_location value from /api/rent-com/autocomplete, for example /texas/austin/. |
| `property_types` | array | No | List: apartments, condos, townhouses, houses, duplexes, triplexes. |
| `beds` | array | No | List: studio, 1, 2, 3, 4_plus. |
| `baths` | array | No | List: 1, 2, 3_plus. |
| `price_min` | integer | No | Minimum monthly rent in USD. |
| `price_max` | integer | No | Maximum monthly rent in USD. |
| `sqft_min` | integer | No | Minimum area in square feet. |
| `sqft_max` | integer | No | Maximum area in square feet. |
| `pet_friendly` | boolean | No | true to require a pet friendly property. |
| `amenities` | array | No | List: pool, garage, fitness_center, dishwasher, air_conditioning, balcony, fireplace, elevator, washer_dryer_in_unit, hardwood_floors. |
| `sort` | string | No | price_asc, price_desc or beds_asc. |
| `page` | integer | No | Result page, 1-based, 1 to 500. 30 listings per page. |

## Example response

```json
{
    "data": {
        "items": [
            {
                "id": "lv3375482024",
                "url": "https://www.rent.com/r/1913-robbins-pl-austin-tx-lv3375482024",
                "beds": {
                    "text": "2 Beds",
                    "range": {
                        "max": 2,
                        "min": 2
                    }
                },
                "name": "1913 Robbins Pl unit B",
                "path": "/r/1913-robbins-pl-austin-tx-lv3375482024",
                "sqft": {
                    "text": "1313 Sqft",
                    "range": {
                        "max": 1313,
                        "min": 1313
                    }
                },
                "baths": {
                    "text": "1 Bath",
                    "range": {
                        "max": 1,
                        "min": 1
                    }
                },
                "phone": "(512) 296-7100",
                "price": {
                    "from": 850,
                    "text": "$850",
                    "range": {
                        "max": 850,
                        "min": 850
                    },
                    "period": "month",
                    "currency": "USD"
                },
                "units": {
                    "total": null,
                    "available": 1,
                    "available_text": "1 Unit Available"
                },
                "photos": [
                    {
                        "id": "f5fcac99c9d6dbbf41d3b336066646dd",
                        "url": "https://i.rent.com/t_3x2_fixed_webp_w1440/f5fcac99c9d6dbbf41d3b336066646dd",
                        "caption": null,
                        "category": null
                    }
                ],
                "rating": {
                    "count": null,
                    "percent": null
                },
                "address": {
                    "city": "Austin",
                    "full": "1913 Robbins Pl unit B, Austin, TX 78705",
                    "state": "Texas",
                    "county": null,
                    "street": "1913 Robbins Pl unit B",
                    "state_code": "TX",
                    "coordinates": {
                        "latitude": 30.2848251,
                        "longitude": -97.7488956
                    },
                    "postal_code": "78705",
                    "neighborhoods": [
                        "Central Austin",
                        "West Campus"
                    ]
                },
                "manager": null,
                "verified": false,
                "highlights": [
                    "Pet Friendly"
                ],
                "updated_at": "2026-10-06",
                "photo_count": 12,
                "property_type": "APARTMENTS",
                "availability_status": "TODAY"
            }
        ],
        "location": {
            "city": "Austin",
            "name": "Austin, TX",
            "type": "city",
            "seo_path": "/texas/austin/",
            "state_code": "TX",
            "coordinates": {
                "latitude": 30.2669,
                "longitude": -97.7428
            }
        },
        "pagination": {
            "page": 1,
            "total": 857,
            "per_page": 30,
            "total_pages": 29,
            "filtered_out": 0,
            "has_next_page": true,
            "skipped_entries": 1
        },
        "applied_filters": {
            "beds": [
                "2"
            ],
            "sort": "price_asc",
            "price_max": 1500
        },
        "units_available_total": 24102
    },
    "meta": {
        "billable": true,
        "endpoint_family": "search"
    },
    "success": true
}
```

## Errors

| Status | Error | Description |
| --- | --- | --- |
| 404 | Unknown Location | The `location` does not exist on Rent.com (`unknown_location`). Rent.com would answer an unknown city with its whole state, so the request is rejected. Non-billable. |
| 422 | Validation Error | A query parameter is missing, unknown or unusable. Unknown parameters are rejected, never ignored. Non-billable. |
| 503 | Upstream Unavailable | Rent.com could not be reached after retries, or answered with an unexpected result (`upstream_unavailable`). Retryable and never billed. Clients are never rate limited. |

## More Scrappa resources

- [API documentation](https://scrappa.co/docs)
- [Full LLM-readable API reference](https://scrappa.co/llms-full.txt)
- [OpenAPI specification](https://scrappa.co/docs/api.json)
- [Pricing](https://scrappa.co/pricing)
