# Apartment List Listing Details API Documentation

Scrappa's `GET /api/apartmentlist/listing` returns the full record of one Apartment List property. Send `slug` or `rental_id` from search, exactly one of them.

## What you get

Name, `address` parts, `geo`, `phone`, `website_url`, the written `description`, `fees` (deposit, application, additional and move-in costs as text), `pet_policy` for cats and dogs, `specials`, `income_requirement`, `lease_terms`, `parking`, `storage`, `utilities_included`, `year_built`, `year_remodeled`, `total_units`, `virtual_tours`, amenity lists, `photos`, every floorplan with its available `units` and prices, and `faq`.

## Property manager

There is no agent or agency profile page on Apartment List. The management company and the agent fields are returned in `manager` (`management_company`, `listing_agent`, `brokerage`, `office_name`, `office_phone`, `agent_name`, `contact_name`). Fields the property does not publish are `null`.

## Prices and fees

Money text is cleaned (`$50`, not `$$50`). A price the property hides is `null`, never `0`. Unit `price`, `base_price` and `total_price` are numbers in US dollars.

## Slug or rental id

A slug (`/tx/austin/polaris-on-the-park`) costs one lookup. A `rental_id` (`p191304`) costs two, because it is resolved to a slug first. A property that does not exist returns `404`.

- **Documentation:** [https://scrappa.co/docs/apartmentlist-api/apartmentlist_listing](https://scrappa.co/docs/apartmentlist-api/apartmentlist_listing)
- **API group:** Apartment List API
- **Endpoint:** `GET https://scrappa.co/api/apartmentlist/listing`

## 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 |
| --- | --- | --- | --- |
| `slug` | string | No | Listing slug from search, for example /tx/austin/polaris-on-the-park. Send this or rental_id. |
| `rental_id` | string | No | Rental id from search, for example p191304. Send this or slug. |

## Example request

```bash
#!/bin/bash

curl -X GET \
    -H "x-api-key: YOUR_API_KEY_HERE" \
    "https://scrappa.co/api/apartmentlist/listing?slug=%2Ftx%2Faustin%2Fpolaris-on-the-park"
```

## Example response

```json
{
    "success": true,
    "listing": {
        "rental_id": "p191304",
        "slug": "/tx/austin/polaris-on-the-park",
        "url": "https://www.apartmentlist.com/tx/austin/polaris-on-the-park",
        "name": "Polaris on the Park",
        "rental_type": "apartment",
        "address": {
            "formatted": "1720 Woodward Street, Austin, TX 78741",
            "street": "1720 Woodward Street",
            "cross_street": null,
            "neighborhood": "Parker Lane",
            "city": "Austin",
            "county": "Austin",
            "state": "TX",
            "zip": "78741"
        },
        "geo": {
            "lat": 30.219922,
            "lon": -97.743986
        },
        "phone": "(555) 010-0100",
        "website_url": "http://www.polarisonthepark.com/",
        "description": "Discover the charm of Polaris on the Park where your pets are as welcome as you are.",
        "fees": {
            "deposit": "250.00",
            "application": "$50",
            "additional": null,
            "move_in": null
        },
        "pet_policy": {
            "allowed": true,
            "allowed_pets": [
                "cats",
                "dogs"
            ],
            "details": null,
            "cats": {
                "deposit": "$300",
                "rent": "$10",
                "fee": "$300",
                "limit": null,
                "restrictions": null
            },
            "dogs": {
                "deposit": "$300",
                "rent": "$10 per pet",
                "fee": "$300",
                "limit": null,
                "restrictions": null
            },
            "general": null
        },
        "specials": [],
        "income_requirement": {
            "text": "Must have 3x the rent in total household income (before taxes)",
            "multiplier": 3
        },
        "lease_terms": "6, 12 months",
        "parking": {
            "details": "Open lot: included in lease",
            "options": [
                {
                    "comment": "Off-street parking;Parking Lot",
                    "spaces": null,
                    "space_fee": null
                }
            ]
        },
        "storage": "Storage: $40-$50/month",
        "year_built": 1969,
        "year_remodeled": 2015,
        "total_units": 242,
        "bed_range": [
            1,
            2,
            3
        ],
        "price_range": {
            "lowest": 899,
            "highest": 1499,
            "by_bed_count": {
                "1": {
                    "min": 899,
                    "max": 899
                }
            }
        },
        "units_available": 35,
        "floorplans": [
            {
                "floorplan_id": 8983421,
                "name": "2 Bedroom",
                "bed": 2,
                "bath": 1.5,
                "sqft": 904,
                "sqft_max": 904,
                "price": 1049,
                "units": []
            }
        ],
        "photos": [
            "https://cdn.apartmentlist.com/image/upload/c_fill,dpr_auto,f_auto,g_center,h_415,q_auto,w_640/4d2d7bc54a662f16cebd8dac28ade93c.jpg"
        ],
        "manager": {
            "management_company": "Urban Flats Multifamily Real Estate",
            "listing_agent": null,
            "brokerage": null,
            "office_name": null,
            "office_phone": null,
            "agent_name": null,
            "contact_name": null,
            "source_name": "show_me_the_rent"
        },
        "faq": [
            {
                "question": "Does Polaris on the Park allow pets?",
                "answer": "Yes, cats and dogs are allowed."
            }
        ]
    },
    "meta": {
        "endpoint_family": "listing",
        "billable": true,
        "attempts": 1
    }
}
```

## Errors

| Status | Error | Description |
| --- | --- | --- |
| 404 | Not Found | No property exists with that slug or rental id (`not_found`). Non-billable. |
| 422 | Validation Error | A query parameter is missing, unknown or unusable. Unknown parameters are rejected, never ignored (`request_rejected` is the same failure raised by the source). Non-billable. |
| 503 | Source Unavailable | Apartment List could not be reached in time, answered with an error, or its page layout changed (`upstream_unavailable`, `upstream_blocked`, `deadline_exhausted`, `parser_drift`). 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)
