Universe

How to Build a Lead List With AI (B2B, Researched, Verified)

10 min read

To build a lead list with AI, write your ideal customer profile as instructions an agent can follow. Then have the agent find matching companies, fill each field from a page it opened, check that every contact is still real, and rank the rows with a written reason. The result is a spreadsheet where every cell can be traced to a source. This works best for 50 to 300 accurate rows. For 10,000 rows, a data vendor is the right tool.

Many guides on this topic come from vendors of AI lead tools, and they walk you into their own product. They are useful, but they skip the parts that decide whether a list is any good: which source each field came from, how you know the person still works there, and why row 14 ranks above row 15. This guide covers those parts, using a realistic job as the example: 120 property management companies in Texas.

When is an AI agent better than Apollo or Clay for a lead list?#

A lead database and a researched lead list are different products.

A database (Apollo, ZoomInfo, or Clay's data providers) gives you breadth. You filter millions of stored records by title, industry and headcount, and export thousands of rows in minutes. Its weaknesses are that the data is only as fresh as the vendor's last update, and it can't tell you why now for any company.

A researched list gives you depth. Someone opens each company's site, reads the news, and writes down why the company fits today. It used to mean a junior hire or a virtual assistant. An AI agent can now do that reading.

Contact database (Apollo, ZoomInfo)Workflow builder (Clay, Gumloop, Lindy)Desktop agent in your own browser
Best atThousands of rows fastEnrichment pipelines at scale50–300 rows researched by hand, one at a time
Where data comes fromThe vendor's stored recordsMany providers plus AI stepsPages the agent opens: sites, news, registries
"Why now"Filters and intent signalsAI columns you buildWritten per row, with the link
Cost modelSubscription, plus creditsCredits or actionsYour model plan; no data credits
Weak spotStale or generic recordsSetup time, and credits spent per stepSlow per row; no direct-dial phone numbers

As of September 2026, Clay's pricing page lists a free plan with 500 actions and 100 data credits a month, and a Launch plan from $167 a month on monthly billing. Apollo lists a free plan, and its paid plans use credits for lookups and exports. Both are sensible choices when volume is the job.

Pick a data vendor when you need thousands of contacts, phone numbers, or a whole market segment every quarter. Pick an agent when the list is small, the niche is poorly covered by databases (local operators, licensed trades, family businesses), or the reason to reach out matters more than the count.

How to build a lead list with AI: start with an ICP the agent can follow#

"Mid-market property managers" is a vibe, not an instruction. An agent follows a checklist much better than an adjective. Write four sections:

  1. Firmographics. Industry, geography, size, and what counts as evidence of size. For example: "manages residential rentals for owners in Texas; at least 200 doors, judged from their site, listings or a stated portfolio."
  2. Trigger events. What makes now a good time. A new office, a hiring post for a leasing coordinator, an acquisition, a software migration mentioned in a press release.
  3. Disqualifiers. The rules that save you the most time. "Exclude owner-operators managing only their own buildings. Exclude national firms with a Texas branch. Exclude anyone already in our CRM export (attached)."
  4. Output columns. Name each column, what goes in it, and the rule: every factual cell gets a source URL in the column next to it, or stays empty.

That last rule is the most useful sentence you'll write. It turns "the AI said so" into "here is the page," and it gives the model a clear way out when it can't find something. An empty cell is fine. A made-up cell is not.

Save the ICP as a file. You'll reuse it for the weekly refresh, and you can hand it to a second agent.

Step 1: Discovery — where does the agent find companies?#

Start from sources that list businesses in your niche, not from people:

  • Search queries with operators, run like a person would: "property management" "Austin" "owners", then by city and suburb.
  • Industry directories and associations, such as a state chapter's member list.
  • Public registries. In Texas, a company that leases or collects rent on residential property for owners generally needs a Texas Real Estate Commission license, and TREC has a public license holder search. That makes it both a discovery source and a way to verify a firm exists. (TREC does not regulate commercial property management, so commercial firms won't all appear there.)
  • Listing sites where you already have an account, opened in your own browser.

Have the agent write down where each company was found at this stage. If a source turns out to be junk, you can remove everything that came from it in one filter.

Aim for about twice as many candidates as you want to keep. Disqualifiers will remove a lot of them, and that's the point.

Step 2: Enrichment — how do you get a source for every field?#

For each surviving company, the agent opens the actual pages and fills the columns:

ColumnWhere it should come from
Company, city, websiteCompany site footer or contact page
Portfolio size / doorsTheir own site, listings count, or a press release
Decision maker and roleTeam or About page, a press quote, a conference speaker bio
Business emailTheir site; or a pattern confirmed by another address on the same domain
Trigger ("why now")A dated news item, job post or announcement
Source linksOne per factual column
Found viaThe discovery source from Step 1

Two instructions prevent most bad rows. First, dates on triggers: a "recent acquisition" from 2023 is not a trigger. Second, no guessed emails without a matching pattern: if the site shows leasing@firm.com and nothing else, record that address and mark the person's email as unknown. Don't invent jane.doe@firm.com.

Step 3: Verification — how do you know a lead is still good?#

Enrichment gathers claims. Verification checks them. Run it as a separate pass so the agent comes at each row fresh:

  • Role still current. Is the person still on the team page? Is the press quote from the last 12 months? If the only evidence is older, mark the row role unconfirmed.
  • Bounce risk. Run addresses through an email verification service before anyone sends. Treat "catch-all" results as risky, not valid. A catch-all domain accepts every address, so the service can't tell you whether a person's mailbox exists.
  • Company still operating. The site loads, the phone number is on it, and the license (where there is one) is active.
  • Duplicates. The same firm under a DBA and a legal name, or two branches of one company. Deduplicate on website domain, not company name.

Keep a verified_on date column. A list is only as good as the last date it was checked.

Step 4: How should the agent score and rank leads?#

Give each row a simple score against the ICP, and make the agent write the reason in a column. For example: "3/3: 400+ doors (site), hiring a leasing manager (job post, dated), owner-focused." A number with no reason can't be argued with or corrected. A reason can.

Keep the scoring coarse: a few points for fit, a few for the trigger, and minus points for weak evidence. Then sort, and read the top 20 yourself before you trust the rest. If you disagree with the agent's ranking, change the written rules, not the scores.

Worked example: 120 property managers in Texas#

Here is how the job described above breaks down.

The ask: "Find 120 third-party residential property management companies in Texas with an estimated 200+ doors. Exclude national chains and owner-operators. For each, give the decision maker for owner acquisition, a business email, and a dated reason to contact them now. A source link for every fact."

How the run is structured:

  1. Discovery by metro: Dallas–Fort Worth, Houston, Austin, San Antonio, then the smaller cities. Split by metro so separate agents can work in parallel without overlapping.
  2. Candidates are cross-checked against TREC's license search and marked with license status.
  3. Enrichment, then a separate verification pass, then scoring.
  4. The output is one CSV, sorted by score, with a notes column where the agent says what it couldn't confirm.

What it costs. No data credits are spent. The agent's reading runs on the model plan you already pay for, so the real cost is your plan's usage limits. A 120-company run opens hundreds of pages and can use a meaningful share of a week's allowance. Add an email verification service if you use one (they charge per address), and the workspace software.

How long it takes. We won't give you a stopwatch number. Speed depends on how many pages each company needs, how often sites are slow or empty, and your model plan. The honest method: run the first 10 companies, check them carefully, time them, and multiply. If the first 10 are mostly wrong, fix the ICP before you run the other 110.

What to expect in the notes column: firms whose door count is nowhere on the web, team pages that list no one, and triggers too old to count. Those rows aren't failures. They're the list telling you where a phone call or a LinkedIn check by hand is worth it.

How do you go from lead list to first email without spamming?#

A researched list is wasted on a generic template. The trigger column exists so the first line of each email can be about them: "Saw you opened a San Antonio office in August."

The setup that protects your reputation:

  • The agent drafts one email per row, using that row's trigger and sources.
  • A person reads every draft and presses Send.
  • Mail goes out from your own mailbox, paced like a person sends mail, not from a warmed-up mass-mailing domain.
  • Follow-ups stop the moment someone replies, bounces or unsubscribes.

We cover sending limits, pacing and stop rules in detail in AI email outreach from your own Gmail.

Where Universe fits#

Universe is a Mac app where agents run on your computer through the Claude or ChatGPT account you already pay for (Gemini, Grok and open models work too). For this job, the relevant parts are:

  • Your browser, signed in as you. Universe copies a Chrome profile and runs its own Chrome on the copy, so the agent can open directories and listing sites where you already have an account. Every browser step is recorded with a screenshot, so you can replay how a row was researched. More on how that works: AI agent tasks behind a login.
  • The list is a real file. A CSV opens as an editable datasheet in the panel, and earlier versions are kept, so you can see what the weekly refresh changed.
  • Several agents at once. A session can run a crew, so each metro can be researched in parallel.
  • Outreach from your own Gmail or Outlook. Email campaigns keep the people, research and drafts in a file. Agents draft and have no send action; nothing leaves until a person presses Send. A reply, bounce or unsubscribe cancels that person's queued follow-ups.
  • A weekly refresh can run as a scheduled job. Schedules run on a Mac, so that Mac must be on. A second Mac helps with that.

What it isn't: a contact database. It has no stored records, no direct-dial phone numbers, and it won't beat Apollo at producing 10,000 rows. If volume is the job, use a vendor. If you work in the trade from this example, see Universe for property management. Everything else is on the features page, and plans start free on the pricing page.

Compliance: CAN-SPAM, GDPR and opt-outs#

This is general information, not legal advice.

United States (CAN-SPAM). According to the FTC's compliance guide, the law "makes no exception for business-to-business email." Every commercial email needs:

  • accurate From and routing headers
  • a subject line that isn't deceptive
  • your valid postal address
  • a clear way to opt out, honored within 10 business days

The FTC says each violating email can cost up to $53,088. You're also responsible for email a contractor sends on your behalf.

UK (PECR). The ICO's guidance says you can send marketing emails to corporate bodies, and recommends keeping a "do not email" list of companies that object. Sole traders and some partnerships count as individuals, so you need their consent (or the narrow "soft opt-in" for existing customers). If you can't tell which kind of business you're emailing, the ICO says to treat it as an individual.

GDPR (EU and UK). A named person's work email is still personal data. Recital 47 says direct marketing "may be regarded as carried out for a legitimate interest," which you have to assess, not assume. Because you collected the data yourself rather than from the person, Article 14 requires you to tell them where it came from and how to object, at the latest in your first message to them.

Ethics beyond the law. Stick to business addresses. Don't dig up personal emails or mobile numbers, even when a page has them. Record the source of every contact so you can answer "where did you get my email?" in one sentence. Make opting out a one-reply job, and honor it across every future list.

LinkedIn. Its User Agreement prohibits using "bots or other unauthorized automated methods to access the Services" and software that scrapes or copies it. An agent using your signed-in browser is using your account. Don't point it at LinkedIn to build lists. Use the sources above, and check the occasional profile yourself.

Ready to try it on your own list? Download Universe, write the ICP as a file, and run the first 10 rows before you trust the next 110.

Questions#

Does an AI agent scrape LinkedIn?
It shouldn't. LinkedIn's User Agreement bans bots and automated methods that access the site, and software that scrapes or copies it. Breaking those terms can get your account restricted, and an agent using your signed-in browser is using your account. Build the list from company websites, press coverage and public registries. If you need to confirm one person's current role, check it yourself.
How many leads per hour can an AI agent research?
It depends on how many pages each row needs, the model and your plan's limits, so no honest number fits everyone. Run the first 10 rows, time them, and multiply. Per row, an agent is much slower than exporting from a contact database, because it opens and reads several pages for each company. That trade only makes sense for lists of tens or hundreds.
Can AI build a lead list without Apollo or Clay?
Yes, for small, specific lists. An agent can find companies through search and directories, read their websites, and fill a spreadsheet with a source link on each field. What you give up is volume and pre-built contact data. For thousands of rows, or direct-dial phone numbers, a data vendor is faster and usually cheaper per row.
Is it legal to cold email B2B leads found with AI?
In the US, CAN-SPAM allows it if the email has honest headers and subject line, your postal address, and a working opt-out that you honor within 10 business days. It applies to B2B mail too. In the UK you may email companies, but sole traders need consent, and GDPR still covers named employees. This is general information, not legal advice.
Can the AI keep the lead list fresh every week?
Yes, if the refresh is a written job. It re-checks each row's source links, marks what changed, adds new matches, and flags people who left their roles. In Universe that job can run on a schedule, but schedules run on a Mac, so that Mac has to be on when the job is due.