# Redfin Property History

<p>Get the full history of a property: every sale, listing, pending and price-change event with date, price, MLS source and appreciation, newest first. The response also carries public records (APN, year built, size, lot, county and the tax history) and the amenity groups from the listing (parking, interior, utilities and more). Works for the US and Canada (country=ca).</p><p><strong>Cost:</strong> 1 credit per successful request. Failed requests are not charged.</p>

- **Documentation:** [https://scrappa.co/docs/redfin-api/redfin_history](https://scrappa.co/docs/redfin-api/redfin_history)
- **API group:** Redfin API
- **Endpoint:** `GET https://scrappa.co/api/redfin/history`

## 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 |
| --- | --- | --- | --- |
| `property_id` | string | Yes | <p>Redfin property ID from /api/redfin/search (property_id).</p> |
| `listing_id` | string | No | <p>Redfin listing ID from /api/redfin/search (listing_id).</p> |
| `country` | string | No | <p>us (default) or ca.</p> |

## Example response

```json
{
    "count": 9,
    "events": [
        {
            "date": "2026-10-13",
            "event": "Sold (MLS)",
            "price": 800000,
            "source": "NWMLS as Distributed by MLS Grid",
            "source_id": "2575688",
            "mls_status": "Closed",
            "appreciation_pct": null
        }
    ],
    "country": "us",
    "amenities": [
        {
            "groups": [
                {
                    "title": "Parking Information",
                    "entries": [
                        {
                            "name": "Covered Spaces",
                            "values": [
                                "1"
                            ]
                        }
                    ]
                }
            ],
            "section": "Parking"
        }
    ],
    "property_id": 102610,
    "public_records": {
        "apn": "641510 0371",
        "county": "King County",
        "year_built": 1947,
        "tax_history": [
            {
                "year": 2026,
                "taxes_due": 8537.92,
                "land_value": 457000,
                "improvement_value": 304000
            }
        ]
    }
}
```

## Errors

| Status | Error | Description |
| --- | --- | --- |
| 400 | Invalid characters in parameter | The request contains null bytes or unsupported control characters. |
| 422 | The request validation failed | One or more Redfin request parameters failed validation. |
| 404 | Property not found | Property not found |
| 500 | Failed to fetch data from Redfin after multiple attempts. | The upstream service is temporarily unavailable. Please retry shortly. |

## 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)
