Retrieve photo URLs from the MLS via the Media resource in the RESO Web API, filtering by ResourceRecordKey matching the listing's ListingKey.
Do not permanently store or re-host MLS photos unless your IDX or VOW agreement explicitly permits it; many agreements require you to link to or proxy photos rather than copy them.
If your agreement permits caching, download photos to your own CDN storage with a TTL that aligns with your MLS data refresh cycle (typically 24 hours).
Preserve the original photo metadata including MediaKey and ModificationTimestamp so you can detect and purge stale photos when a listing is updated.
Serve photos via a CDN with appropriate cache headers; avoid serving full-resolution images directly to browser clients — generate resized thumbnails server-side.
When a listing is sold or withdrawn, purge associated photos from your cache or storage promptly as required by MLS rules.
Known gotchas
MLS photo URLs are often authenticated or time-limited; if you link directly to MLS-hosted photo URLs, they may break after a short period — confirm URL longevity with the MLS.
Copyright of listing photos typically belongs to the photographer or the listing broker, not the MLS; using photos outside the scope of your data agreement creates copyright liability.
Photo counts and ordering in the Media resource may differ from what the MLS UI shows; always sort by Order or MediaOrder field before displaying.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp