
Aero Scrub
Desktop companion that checks each prospect against JLL AERO for broker protection. Browser automation plus rapidfuzz name matching, with a Needs Manual gate on low-confidence picks so the wrong entity never slips through as a false Clear.
aero_scrub_edge.py + aero_match.py
- Install Python
Download from python.org. During install, check
Add Python to PATH. - Install dependencies
Open Command Prompt and run:
pip install openpyxl playwright rapidfuzz anthropic pyyaml - Install the browser engine
The scrub drives Microsoft Edge on your machine so the JLL AERO session stays inside your normal login. Playwright will ship with Edge automation drivers:
python -m playwright install - Save both downloaded files
Keep
aero_scrub_edge.pyandaero_match.pyin the same folder. - Run on a CoStar export
Point the tool at an .xlsx file:
python aero_scrub_edge.py path/to/targets.xlsx - Review Needs Manual rows
Rows below the match-confidence threshold are flagged
NEEDS MANUAL. Open the output file, resolve those picks by hand in AERO, then use the adjacent Matched Name and Match Confidence columns to audit the automatic verdicts.
- AERO login failed
- Sign in to AERO at least once in Edge before running the scrub, so the session cookie is seeded. The tool does not handle login itself.
- ModuleNotFoundError: rapidfuzz
- You skipped step 2. Re-run the
pip installcommand from above. - Every row comes back NEEDS MANUAL
- Your CoStar export probably has a non-standard header row. The tool expects a
Company Namecolumn. - Browser does not launch
- Edge automation can be blocked by corporate IT policy. If you are on a JLL work machine, the scrub may need to run from a different profile. See the project notes for the current debugging state on work machines.