
Fixed the bug that made my actor return empty rows — what broke and what I learned
My actor (Google Maps No-Website Leads) had a nasty integration bug: the child Google Maps scraper returned valid data (title, phone, website, url), but my pipeline expected canonical fields (businessName, phonePublic, websiteUrl). Rows passed through unmapped, so buyers would pay for a run and get empty output.
The annoying part: my tests all passed, because my CSV fixtures already had canonical columns. Production was broken while the test suite was green.
Fix was a normalization layer mapping child scraper fields into the canonical schema, plus a status bug where temporarilyClosed: false got stringified into businessStatus: false.
Live smoke test after the fix:
- 2 real no-website mobile welders in Austin, priority score 88, phones included, pitch-ready outreach line
- 1 healthy-site business correctly classified as not_a_fit and skipped
Actor: https://apify.com/luminar/google-maps-no-website-leads
Two questions for fellow builders:
- How do you validate your output pipeline against the ACTUAL child dataset shape, not fixtures? I added a regression test replaying a real child record through the mapper, but it feels like there is a better way.
- Store discoverability: I went from invisible to ranking #3-8 for no-website-leads searches after renaming the slug to match buyer search terms. Any other Store SEO tricks that actually worked for you?