Correct shape
- Accept listing URLs plus known short hosts (
redf.in, and later Zillow/Realtor shorteners if they show up in tickets). - Server-side HTTPS GET/HEAD, follow redirects, keep the final URL.
- Re-run the existing trusted-host check on the final hostname.
- Only then scrape. Reject anything that does not land on Zillow / Redfin / Realtor.
Do not scrape the short URL itself. Firecrawl on redf.in still depends on redirect follow; the product contract should be “final listing page on a trusted host.”