Build a TAM and Target Account List With Claude Code
The GTM Engineer's playbook for building rigorous TAM and target account lists in Claude Code. Multi-source merge, contextual scoring, capacity capping.
What This Guide Builds
A TAM (Total Addressable Market) and target account list (TAL) is the foundation of every outbound motion. Most teams build them poorly. Pulled from a single vendor, half-stale, missing the verticals you want to win in. This guide shows how to build a rigorous TAM and a clean target account list in Claude Code by orchestrating multiple data sources with explicit ICP rules.
For the GTM Engineer or RevOps lead, the output is a working TAM CSV with 5,000 to 50,000 accounts (depending on your market) and a target account list of 200 to 2,000 accounts you plan to work this quarter.
The TAM vs TAL Distinction
Two different lists with different purposes.
TAM. Every company in the world that could buy your product. Used for board metrics, market sizing, addressable revenue calculations.
TAL. The subset of TAM you'll work this quarter. Used for SDR queues, ABM campaigns, ad-target lists.
Most teams build the TAL without building the TAM first. The mistake is they end up working accounts that aren't the best fit because they don't have visibility into the full opportunity. The right move: build the TAM, then derive the TAL.
The 5-Step Build
Step 1: Define the ICP in CLAUDE.md. Industries, employee size range, revenue range, geography, technology requirements, growth signals. Write it down precisely. The agent reads this as the rules.
Step 2: Pull from multiple data sources in parallel. Apollo, ZoomInfo, Cognism for the firmographic universe. Crunchbase for funding signals. BuiltWith for tech stack. Run Claude Code prompts that query each source with the ICP filters and union the results.
Step 3: Deduplicate and reconcile. The three vendors will return overlapping accounts with different data. Claude Code reconciles to one row per company, taking the most recent data per field across sources.
Step 4: Score and tier. Apply the firmographic plus contextual scoring (see that guide) to produce A/B/C tiers across the TAM.
Step 5: Derive the TAL. Filter TAM to Tier A and B accounts. Cross-reference with current CRM (exclude active opps and customers). Cap to your team's working capacity for the quarter.
Picking the Data Sources
For US-focused B2B SaaS targeting mid-market to enterprise: Apollo + ZoomInfo + Crunchbase + BuiltWith is the working stack. Apollo for general firmographics. ZoomInfo for tech and direct dials at enterprise. Crunchbase for funding signals. BuiltWith for tech stack filters.
For international: add Cognism for European and APAC coverage.
For SMB: stick to Apollo plus LinkedIn Sales Navigator for the long tail.
For vertical-specific (healthcare, legal, financial services): add the vertical-specific data provider (Definitive Healthcare for healthcare, Pitchbook for PE/VC, etc.).
The Deduplication Problem
Same company appears in Apollo as "Acme Corp Inc", in ZoomInfo as "Acme Corporation", in Crunchbase as "Acme Inc". Domain is the only reliable join key.
The Claude Code prompt: "For each row from each source, extract the primary domain. Group rows by domain. For groups with more than one source, merge into a single row taking: company name from the source with the most recent data, employee count and revenue from ZoomInfo (most accurate), tech stack from BuiltWith, funding from Crunchbase. Output a unified accounts.csv with one row per domain plus a sources field listing which vendors found this account."
Claude Code writes the merge. You spot-check 20 rows. If the merge logic is right, run on the full file.
The Capacity Math
Don't include 10,000 accounts in your TAL. Your team can't work them.
Math: 5 SDRs each working 100 accounts deeply per quarter equals 500 accounts. The TAL caps at 500. If your TAM has 8,000 accounts that pass the ICP floor, your TAL is the top 500 by contextual score.
The TAM stays at 8,000 for board metrics and territory planning. The TAL caps to capacity. This separation prevents the failure mode where every account is "in the territory" but none get worked.
Refreshing the TAM
The TAM should refresh quarterly. New companies enter the universe (newly founded, recently funded). Old companies exit (acquired, shut down). Tech stacks change. The TAM you build in January is wrong by April if you don't refresh.
The refresh is a re-run of the same Claude Code pipeline. Same ICP, same sources, fresh data. The delta is the news: which accounts are newly qualified, which fell off, which moved tiers.
The TAL refreshes monthly or per sprint. The capacity might change. The scoring drives new tier assignments. The SDR queue refreshes with the new TAL.
What to Avoid
Don't rely on one vendor. Single-source TAM is always incomplete. The multi-source merge catches accounts each vendor misses.
Don't include accounts you can't sell. Companies under embargo, regions you can't service, competitor portfolios. Filter them out at TAM creation, not at SDR queue assignment.
Don't ship a TAL larger than your capacity. The TAL is your team's quarterly priority. Capping to capacity forces the right tradeoff between coverage and depth.
Don't forget existing customers and active opportunities. Exclude them from the TAL to avoid step-on toes routing or duplicate outreach.
The Verdict
Building TAM and TAL in Claude Code is the right pattern for B2B teams that take account targeting seriously. The multi-source merge plus scoring plus capacity-capping produces a target list that's workable, not just a board number.
For the scoring layer, see contextual ICP scoring. For the rule-based scoring foundation, see the lead scoring model guide.
Authoritative References
For Claude Code's CLI and patterns, see Anthropic's Claude Code documentation. For Apollo's API, see apolloapi.com.
Frequently Asked Questions
What's the difference between TAM and TAL?
TAM (Total Addressable Market) is every company that could buy your product. TAL (Target Account List) is the subset you'll work this quarter. TAM is for board metrics and market sizing. TAL is for SDR queues and campaigns. Most teams confuse the two and end up with a TAL that's either too small (missing opportunity) or too large (no team capacity to work it).
How many data sources do I need to build a good TAM?
Three to four for most B2B teams. For US-focused B2B SaaS: Apollo plus ZoomInfo plus Crunchbase plus BuiltWith covers the working stack. Adding more sources increases coverage and accuracy at a cost of more integration work. Below three sources, the TAM has visible gaps. Above five, marginal returns drop quickly.
How big should my TAL be?
Tied to team capacity. A standard SDR works 80 to 120 accounts deeply per quarter. For a 5-person SDR team that's 400 to 600 accounts in the TAL. Larger TALs spread attention thin and reduce conversion per account. The discipline is capping the TAL to capacity so the top-tier accounts get the depth they deserve.
How often should I refresh the TAM and TAL?
TAM quarterly. TAL monthly or per sprint. The TAM moves slower (new companies, tech stack changes) and refreshing quarterly is enough. The TAL moves faster as deals close, capacity changes, and scores update. Most teams that get this right run the TAM refresh on a quarterly calendar and the TAL refresh on a monthly cadence.
Can I build the TAM without Claude Code?
Yes, with Clay, RevOps tools, or hand-built scripts. Claude Code is the right runtime for teams that want multi-source merge logic, contextual scoring, and an audit-trail-friendly pipeline. For teams running 5K accounts or fewer, Clay handles the TAM build without a custom build. For 10K+ accounts with complex scoring needs, the Claude Code build pays back.
Source: State of GTM Engineering Report 2026 (n=228). Combines survey responses from 228 GTM Engineers with analysis of 3,342 job postings.