Skip to main content
Human guide: work with your agent →
Query a bounded free-company result and preserve its source identity before further enrichment.
Use the free company search contract for columns, limits, and snapshot semantics. These procedures query the shared company snapshot. they do not perform live web discovery.

Start from the CLI

Inspect the live tool schema first:
Then run one bounded query. This exact-domain lookup is the safest starting point for a CRM or CSV export that already contains normalized domains:
The direct command returns matching rows. --out writes row-shaped results to CSV. It does not modify the Database or the shared snapshot.

Practical SQL patterns

Resolve and normalize a target list

Normalize website values to lowercase root domains before putting them in the IN list. The output gives you the snapshot’s company name and LinkedIn URL for review. It does not automatically overwrite CRM values.
For a small list that already has LinkedIn company URLs, use exact equality or IN as well:

Find candidates after an exact miss

Use a prefix only after an exact domain, LinkedIn URL, or company-name lookup misses. Inspect the returned domain before using a candidate downstream:

Build a bounded pilot segment

First count a narrowly defined segment, then request a small page. Employee count is the upper bound of a source size bucket, not a live headcount.

Check coverage and source duplicates

Compare matched_domains with the number of unique normalized domains in your input file. Unmatched domains do not appear in the result, so this tool cannot label them as missing for you.
This query checks duplicate source records for the requested domains. It does not detect duplicate rows in your CRM or CSV.

Query from the API

Use the normal tool execution endpoint:
The response wraps the SQL result in data:

Use inside a Play

Inside a Play, call the tool through ctx.tools.execute. Row-shaped extracted list getters return a Dataset Handle. Pass the rows through the Play output or into another ctx.dataset stage.
After the Play run completes, use the emitted run ID to export the returned dataset:

Save matching companies to your workspace database

To save query results in your Database, use materialize_free_customer_companies. It runs the SQL query and upserts rows into enrichments.companies. The query must return only these company columns:
Example:
Then query the saved rows with query_customer_db:

TAM builder guidance

For TAM work, use this source when the ICP fits its documented fields:
  • Exact domains or company names
  • LinkedIn company URLs
  • Industry or location
  • Employee count or founding year When the required signal is absent, inspect another supported source. Apollo requires an explicitly selected customer-credential route. Do not assume managed Apollo access.

Verify this task

Check selected columns and returned row scope. Keep direct source reads distinct from writes to your workspace customer tables. Ask your agent to explain a failed check before repeating work or expanding the scope.