How it works
1. Source
The system pulls tenants from four feeds weekly, and CoStar lease expiration data is merged in for brokers who hold a seat.
- Recorded and reported leases. Memoranda of lease from the county recorder and lease roundups from the local business journal dated 3 to 5 years back, which puts a 5-year lease 12 to 24 months from expiration.
- Growth and funding. Companies with 3 or more open roles or a new SEC Form D filing in the territory.
- Relocation and expansion announcements. From the business journal and the economic development agency.
- Sublease listings. On LoopNet and CREXi where the sublandlord is an operating company.
2. Qualify
Filters remove:
- Too small. Tenants under 2,500 square feet, and tenants too small to pay a fee.
- The wrong kind of occupier. Government and institutional occupiers, and companies with an in-house real estate director.
- Not a tenant at all. Landlord entities and coworking operators.
- Already ours. Tenants already represented by the brokerage.
- Out of territory. Anything outside the territory.
All of it happens before a contact lookup is spent on them.
3. Enrich
For each qualified tenant the system takes the tenant entity name from the recorded memorandum or the article and resolves the company domain.
- Find the email. Hunter finds the address of the CEO, CFO, COO, or VP of Operations.
- Verify it. BetterContact confirms the address.
- A second seat on larger tenants. Companies above 150 employees get a second contact in facilities or workplace.
4. Outreach
Three emails plus one LinkedIn touch over 14 days.
- The opening line. Names the building, the recorded lease term, the hiring count, the Form D amount, or the sublease listing.
- The offer. A 20-minute call followed by a written market survey with no obligation.
5. Book & track
The Claude API classifies every reply.
- Positive reply. Gets a 20-minute needs-call booking link and a 5-question space intake: current square footage, headcount, expiration month, 24-month growth plan, must-haves.
- What the broker does with it. Turns the intake into the written survey and a tour list within 5 business days.
- Slack alert. Carries the tenant name, the building address, the recorded or estimated expiration month, the trigger record, and the intake answers once they arrive.
- CRM deal. One per tenant, storing the trigger type, the source document link, the expiration estimate, the contact’s title, and every send and reply timestamp.
- A stated expiration date. Tenants who answer with a later one get that date stored and resurface 14 months before it.
Lead sources for commercial real estate brokers
Ranked by signal quality:
1. Lease expirations 12 to 18 months out
A tenant whose lease ends in 12 to 18 months is inside the window where the renew-or-relocate decision gets made. The landlord’s renewal notice usually arrives 9 to 12 months out (an estimate; many leases set the notice window at 6 to 12 months), so a broker who reaches the tenant first sets the terms of the comparison.
| Feed | What it gives | Pulled |
|---|---|---|
| County recorder memoranda of lease | Most landlords with institutional lenders record one, and the document names the tenant, the premises, the commencement date, and the term or expiration. Search portals such as Maricopa, Harris, Cook, King, and the Clark County recorder expose document-type searches | Weekly by an Apify actor on document_type = memorandum of lease and recording_date in a 3 to 5 year trailing window |
| Business journal lease roundups | Journals in 40 or more US metros publish a weekly lease roundup naming tenant, address, square footage, and often term length | The same actor pulls the roundups from 36 to 60 months back and computes an estimated expiration |
| CoStar and LoopNet, where available | The CoStar lease expiration field and LoopNet “lease expiring” data | Merged by CSV export for brokers with a seat |
What the record gives: tenant legal name, building address, square footage, commencement date, recorded or estimated expiration, and landlord.
Highest intent and least competition, because the tenant has not called anyone yet.
About 1 in 3 recorded memoranda names an operating tenant inside the size band, an estimate from recorder samples.
2. Headcount growth and new funding
A company with 3 or more open roles at one address is adding an estimated 150 to 250 square feet per hire, and a Form D filing means a raise closed and the headcount plan is funded.
Both push a tenant out of its space before expiration, or into an expansion conversation with the landlord where a broker adds the most value.
| Feed | What it gives | Pulled |
|---|---|---|
| Indeed and LinkedIn job postings | Company name, address, open role count, titles, and posting dates | Weekly by an Apify job-board actor, filtered by company location in the territory and by 3 or more open roles at one company |
| SEC Form D filings on EDGAR | Issuer name, offering amount, and related persons, so the record carries the amount raised and the executive names | SEC EDGAR full-text search (efts.sec.gov, free, no key), by state and date |
Medium-high intent with no fixed date, strongest where the raise is $2M to $50M and the company has 20 to 200 employees.
3. Relocation and expansion announcements
A company announcing a new market entry, a second facility, or a headquarters move has a space search open or about to open.
- Where it comes from. Business journal news, economic development agency press releases, and state incentive award lists.
- How it is pulled. An Apify actor reads the business journal’s real estate and economic development sections and the EDA press page weekly.
- What gets extracted. The Claude API pulls company, move type, target submarket, square footage, and timeline out of the article text.
- What the record gives. Company name, announcement date, move type, stated square footage or jobs, and target area.
30 to 50% of these announcements run before a broker is engaged, an estimate from reading a year of economic development releases in 3 metros.
Medium-high intent; the ones with a stated incentive award have a deadline for occupancy.
4. Sublease listings by operating companies
A company that lists space for sublease has decided its footprint is wrong.
The same company usually has a direct lease expiration coming and a relocation or downsizing decision that has not been assigned to a tenant-rep broker.
- Where it comes from. The LoopNet and CREXi sublease filter, pulled weekly by an Apify actor.
- Who the sublandlord is. The Claude API extracts the name from the listing text and the listing broker’s remarks.
- What gets dropped. Listings where the sublandlord is a landlord entity or a coworking operator.
- What the record gives. Address, square footage, sublease term remaining, asking rent, and the listing broker.
Medium intent; competition is the listing broker, who represents the sublease and often does not represent the company’s next lease.
5. Occupier inventory (volume filler)
Companies in the territory in office-using and industrial categories with 10 to 500 employees and no known lease date.
- Where it comes from. Google Maps.
- What it is for. Volume, used only when the four trigger feeds fall under 350 prospects in a month.
Lowest intent of the five.
ICP definition
Filter logic the workflow applies.
What starts a row
| Filter | Rule |
|---|---|
| Lease expiration source | Expiration 10 to 20 months out, from the recorded date, commencement plus term, or the roundup date plus 60 months when the term is absent |
| Lease size | 2,500+ sq ft, or an unknown size with 10+ employees |
| Tenant name | Not a landlord entity, the LLC holding the building, a coworking operator, a government body, a school district, or a hospital system |
| Hiring source | 3+ open roles in the territory posted within the last 14 days at a company of 10 to 500 employees |
| Funding source | Form D filed in the territory state within the last 30 days for $2,000,000 to $50,000,000, excluding pooled investment funds, REITs, and oil and gas |
| Announcement source | Relocation, expansion, new facility, headquarters, or market entry dated within the last 21 days, targeting the territory |
| Sublease source | 2,500+ sq ft, listed within the last 30 days, with an operating company as sublandlord |
What keeps a row
| Filter | Rule |
|---|---|
| Company | Office, flex, industrial, lab, or retail space, 10 to 500 employees |
| Geography | HQ or site within 60 km of base, or in a served submarket |
| In-house real estate | No Director of Real Estate, VP Real Estate, or Head of Workplace title (in-house teams run their own process above roughly 500 employees) |
| Excluded | National retail chains with a corporate real estate department, REIT and landlord affiliates, coworking and executive suite operators, government and public institutions, tenants already represented (CRM match), competitor brokerages, domains on the suppression list |
Outreach sequence
The four steps
| Step | Day | Channel | Goal |
|---|---|---|---|
| 1 | 0 | Opener anchored on the building and the recorded lease term, the hiring round, the Form D, the announcement, or the sublease; offer a 20-minute call and a written market survey | |
| 2 | 3 | Short bump with the booking link and 2 comparable deals done in the same submarket in the last 12 months | |
| 3 | 7 | Connection request with a one-line note tying to the trigger | |
| 4 | 14 | Breakup naming the date that matters (renewal notice deadline, expiration month, move timeline) and leaving the survey offer open |
Example step 1 (lease expiration trigger)
Subject: [address], lease term
Hi [First name], the memorandum of lease for [Company] at [address] recorded in [month, year] shows a [term]-year term, which puts expiration around [expiration month]. Landlords in [submarket] usually send the renewal notice 9 to 12 months out (our estimate), and the first number in that notice is rarely the best one.
We represent [N] office and industrial tenants in [city] and can send a written survey of your options in [submarket] within 5 business days, with no obligation.
Open to a 20-minute call this week?
Expected reply rates
| Row type | Expected reply rate |
|---|---|
| Trigger sources | 2 to 5% |
| Occupier inventory | 1 to 2% |
These are estimates for tenant-side outreach on a warmed domain, where the recipient is a CEO or CFO who sees one lease decision every 5 to 7 years and reads about it when the date is inside 18 months.
- Tenants 12 to 18 months from a recorded expiration. They reply at the high end, because the question is already on the CFO’s desk.
- Job posting and Form D companies. They reply at the low end, because many plan to absorb growth in place.
Stack and running costs
| Tool | Purpose | Monthly |
|---|---|---|
| n8n Cloud | Orchestration | $24 |
| Apify | Recorder, business journal, job board, sublease, and LinkedIn company scrapers | $30 |
| SEC EDGAR and county recorder portals | Form D and memorandum of lease feeds | $0 |
| Hunter | Decision-maker email finding | $34 |
| BetterContact | Waterfall enrichment + verification | $15 |
| Instantly | Sending + warmup | $37 |
| Claude API | Document extraction, first-line generation, reply classification | $6 |
| Sending domain | Deliverability | $1 |
| Supabase (free tier) | Prospect database | $0 |
| Total | ~$150 |
SEC EDGAR full-text search and most county recorder search portals are free at the volumes in section 9.
Some recorders charge $1 to $5 per document image; budget $20/month if yours does.
CoStar ($400 to $1,000/month per seat, an estimate from published broker pricing) is optional and only adds a merged CSV feed for brokers who already pay for it.

