The situation
The client helps consumer brands get into independent boutiques. Every engagement starts with the same question: which stores are likely to carry this kind of product?
The best evidence is already public. Brands that sell in the right kind of boutique list those stores on their own websites, in store locator maps. But each locator is built differently, and copying them by hand would take weeks per brand. Even then you'd have a list of names and phone numbers, with no websites or emails to reach out to.
What I built
One extractor for many locators. A tool that reads a brand's store locator, detects which locator provider it runs on, and pulls every listed store into one standard format. Adding a new reference brand means adding one line to a config file. Four reference brands produced 7,801 boutique stores once duplicates were merged and the list was filtered to boutiques.
A score for every store. Each store gets a fit score, so outreach starts with the strongest matches instead of the top of an alphabetical list.
Contact details filled in automatically. Most locators list a phone number but rarely a website or email. Stores missing either one go into a queue. An automated lookup finds the website from the store's public map listing, then an email search runs against that website. Results write back to a central database, and the queue moves on its own.
The question was "which stores already carry products like ours?" The answer was sitting in other brands' store locators. It just needed collecting.
The result
The client has a scored, deduplicated list of where similar products already sell, with contact details filling in as the queue runs. The email pilot matched 81% of stores. The map-listing lookup returned a match for 35 of the 56 top-scored stores in its pilot, about 62%.
Each new client engagement starts from a list instead of a blank spreadsheet.