> ## Documentation Index
> Fetch the complete documentation index at: https://qwady.wiki/llms.txt
> Use this file to discover all available pages before exploring further.

# Photo URLs

> Constructing image URLs from photo keys

## Overview

Listing and building responses include **photo keys**: 32-character hex hashes that identify images. Borough also exposes a public photo proxy at `/v1/photos/{key}` so clients can fetch supported image sizes through the Borough domain when they want a stable first-party URL.

## Borough photo proxy

```
GET https://borough.qwady.app/v1/photos/{key}
GET https://borough.qwady.app/v1/photos/{key}?size=medium_500_250
```

Supported sizes:

* `large_800_400` (default)
* `medium_500_250`

The photo proxy returns the upstream image bytes with long-lived cache headers. Invalid keys return `400`; missing images return `404`.

## URL format

```
https://photos.zillowstatic.com/fp/{key}-se_{size}.png
```

## Available sizes

| Size             | Dimensions | Use case     |
| ---------------- | ---------- | ------------ |
| `medium_500_250` | 500x250    | Cards        |
| `large_800_400`  | 800x400    | Detail pages |

## Example

Given a photo key `ed2987594843debc8e828fef155dbb6d`:

```
https://borough.qwady.app/v1/photos/ed2987594843debc8e828fef155dbb6d
```

## Where keys appear

* **`ListingSummary.leadPhotoKey`**: Primary listing photo
* **`ListingDetail.floorPlanKey`**: Floor plan image (if available)
