Finds office availabilities of 10,000+ sq ft (≈ 1,000+ sqm) currently to let across 16 target cities in the United Kingdom and Ireland. Outputs clean, structured data: building details, landlord contacts, letting agent contacts.
No scoring. No priorities. Just the data.
Sister project to Hotel Mirror — same engine, retargeted at the UK & Ireland office market.
Web search → Parse availabilities → Full contact details → JSON + CSV + XLSX
(agentic loop) agencies · portals · landlord + agent ready to import
LinkedIn · press
| 🇬🇧 United Kingdom | 🇮🇪 Ireland | |||
|---|---|---|---|---|
| London | Manchester | Edinburgh | Birmingham | Dublin |
| Bristol | Glasgow | Leeds | Liverpool | |
| Newcastle | Oxford | York | Bath | |
| Brighton | Cardiff | Belfast |
Metro areas count — Canary Wharf, Salford, Solihull, Sandyford etc. are all in-target.
10,000 sq ft or 1,000 sqm — hard minimum. Enforced twice: in the search prompt and deterministically in code (rows whose stated size falls below both thresholds are dropped). Size-range listings qualify if the top of the range clears the floor.
building_name · address · city · submarket · country_code · grade
size_sqft · size_sqm · floors_available · epc_rating
asking_rent · lease_term · available_from
landlord_name · landlord_company · landlord_email · landlord_phone · landlord_website
agent_name · agent_company · agent_email · agent_phone
source_url · source_name · notes · run_timestamp
Grades: Grade A · Grade B · New build · Refurbished ·
Sublease / grey space · Pre-let / under construction · Serviced / managed
Agencies — JLL · CBRE · Savills · Knight Frank · Cushman & Wakefield · Colliers · Avison Young · Lambert Smith Hampton · Gerald Eve · Carter Jonas · Bidwells · BNP Paribas Real Estate · Ryden · Lisney · HWBC · Bannon · QRE · Finnegan Menton
Portals — Rightmove Commercial · Zoopla · EG Propertylink · CoStar / LoopNet · Realla · NovaLoca · OnTheMarket · Daft.ie · MyHome.ie · CommercialPeople.ie
Plus — public LinkedIn posts by leasing agents, development scheme sites, and property press (CoStar News, EG, React News, Place North West, BusinessLive, Bdaily) for new-to-market space, subleases / grey space and pre-lets.
# 1. Install dependencies
pip install -r requirements.txt
# 2. Set your Anthropic API key
# Option A — shell environment (recommended for CI/scripts)
export ANTHROPIC_API_KEY=sk-ant-...
# Option B — .env file (recommended for local dev)
cp .env.example .env
# edit .env and paste your key, then the agent loads it automatically
# 3. Run
python agent.pyOr use the guided setup script:
bash setup.shGet a key at console.anthropic.com → API Keys.
The key is never hardcoded — always read from environment or .env.
Optionally set OPENAI_API_KEY as an automatic fallback provider.
All 16 cities:
python agent.pyFocused search:
python agent.py \
--cities London Manchester Dublin \
--grade "Grade A" \
--min-sqft 25000 \
--notes "whole building preferred, EPC A/B"With Slack alerts:
python agent.py \
--cities Edinburgh Glasgow \
--slack https://hooks.slack.com/services/YOUR/WEBHOOKCustom output folder:
python agent.py --output ./reports| Argument | Default | Description |
|---|---|---|
--cities |
all 16 | Space-separated city names from the target list |
--grade |
any | Grade A, Grade B, New build, Refurbished, Sublease / grey space, Pre-let / under construction |
--min-sqft |
10000 | Minimum size in sq ft (cannot go below the 10,000 hard floor) |
--notes |
— | Extra search criteria |
--max |
100 | Max results per run |
--slack |
— | Slack webhook for per-availability alerts |
--output |
. |
Directory for JSON + CSV + XLSX files |
The agent searches cities in groups of 4 (depth over breadth), de-duplicates by source URL + building + city, and drops portal/schedule pages and undersized rows deterministically in code.
Open the app in a browser for the full visual interface — same search engine, results displayed as a sortable web table with all contact details in one view and one-click Excel export.
python app.py # serves office_scout.html at http://localhost:5000(Running via app.py injects your API keys from the environment; opening the
HTML file directly works too if you serve keys another way.)
render.yaml is included — connect the repo on render.com,
paste ANTHROPIC_API_KEY (and optionally OPENAI_API_KEY) in the dashboard,
and it serves the frontend via gunicorn.
anthropic SDK Claude claude-sonnet-4-6 + web_search tool
Agentic loop (tool_use → pause_turn → end_turn)
openai optional fallback provider (Responses API + web_search)
The agent uses provider-side web search rather than direct site scraping, and only records contact details that are publicly shown on a listing. Respect the terms of use of the sites and of LinkedIn, and applicable data protection rules (UK/EU GDPR) when storing and using contact data.