A data team that buys people or company data usually ends up running a pipeline for it. Files land in a bucket, a loader picks them up, someone maps the columns, and next month it happens again. By the time the data is queryable next to the CRM export or the product tables, a few weeks of engineering have gone into plumbing that has nothing to do with the question being asked.
Data Legion is now on Snowflake Marketplace. Get a listing and its tables appear in your account as a database you can query and join right away, with nothing copied and no loader to run. When we rebuild the data each month, the shared tables switch to the new build in place.
There are three ways in: six data products, a free company dataset, and Data Legion Enrich, a Snowflake Native App that enriches tables you already have without them leaving your account.
The data products
The six products follow the same tiers as our API, so a team that already enriches through the API is looking at the same fields in a different shape.
| Listing | What it covers |
|---|---|
| Professional Profiles (Base, No Contact Data) | Names, current role and employer, work history, education, skills and languages for 188M+ US professionals |
| Professional Profiles (Premium, No Contact Data) | The Base profiles plus seniority, job function, decision-maker flags, certifications and quality metadata |
| B2B Contacts (Base) | The Base profiles plus work email, mobile phone, postal addresses and demographics |
| B2B Contacts (Premium) | Everything, with a confidence level on every email and phone, email hashes and geocoded locations |
| Company Firmographics (Base) | Name, domains, industry, size, type, tickers and descriptions for 71M+ companies worldwide |
| Company Firmographics and Workforce Trends (Premium) | The Base firmographics plus monthly headcount history, hires, departures, growth and turnover |
Each listing is one schema laid out like our API database: a people or companies table with one row per record, and a table per list, such as experience, education, skills, emails and phones for people, or company_domains and company_socials for companies. Everything joins on legion_id, and a person's company_legion_id points at their current company in the company products. Column descriptions travel with the share as Snowflake column comments, so they're right there in Snowsight while you write a query.
Try it before you ask
The paid listings are by request, and every one of them carries trial data you can query the moment you get the listing: a fixed sample of about 1,000 records in the same tables you'd use after buying. On the contact products, the trial keeps every column and shows contact, location and demographic values as [redacted] (or empty, for numbers and dates), so you can build and test your queries against the real layout before any personal data changes hands. When you purchase, the same queries return every row.
If the sample isn't close enough to what you need, ask on the listing for a custom one cut to your industry, region or role, and we'll share it with your account.
What a query looks like
Text values are stored lower case, as in the field reference. Here are the people at one company with every current work email, from B2B Contacts:
SELECT p.full_name, p.job_title, e.address AS work_email
FROM person_base_pii.people p
JOIN person_base_pii.emails e ON e.legion_id = p.legion_id
WHERE p.company_domain = 'snowflake.com'
AND e.type = 'professional' AND e."CURRENT"
ORDER BY p.full_name
LIMIT 100;CURRENT is a reserved word in Snowflake, which is why it's quoted.
The company products are where the monthly rebuild pays off. Company Premium keeps a row per company per month, so the headcount trend behind hiring spikes and attrition is one join away:
SELECT m.month, m.count AS employees, m.hires, m.departures, m.growth_rate
FROM company_premium.companies c
JOIN company_premium.company_legion_employee_count_by_month m
ON m.legion_id = c.legion_id
WHERE c.domain = 'snowflake.com'
ORDER BY m.month;Because each listing is its own database in your account, a person product and a company product join across databases on company_legion_id. The Snowflake docs page has that query and more.
A free company dataset
Company Firmographics (Free) is the one listing you get without a request. It covers companies worldwide, every one with a domain, a LinkedIn URL, an industry and a size range, plus company type and founding year where we have them. It's refreshed every quarter.
It's useful on its own for sizing a market or cleaning up an account list, and each company carries the same legion_id as the paid company products, so it joins straight to them later. The same dataset is a download on our Free Company Dataset page if you'd rather work with files. It's free for internal and commercial use with attribution.
Enriching a table without moving it
The data products answer questions about our data. The other common job runs the other way: you have a table of leads, users or accounts in Snowflake and want to fill in who they are, but the table can't leave your account.
Data Legion Enrich is a Snowflake Native App for exactly that. You grant it read access to your table, call one procedure, and it writes the matches to a table you can read. Your rows never leave your account, and the app runs on your warehouse. The examples call the installed app data_legion_enrich; use the name you gave it.
GRANT USAGE ON DATABASE my_db TO APPLICATION data_legion_enrich;
GRANT USAGE ON SCHEMA my_db.public TO APPLICATION data_legion_enrich;
GRANT SELECT ON TABLE my_db.public.leads TO APPLICATION data_legion_enrich;
CALL data_legion_enrich.core.enrich(
'person_base_pii', 'my_db.public.leads', 'id', 'email', 'email', 'leads_enriched'
);
SELECT * FROM data_legion_enrich.results.leads_enriched;It matches people on an email address, its SHA-256, SHA-1 or MD5 hash, a phone number or a LinkedIn URL, and companies on a domain or a LinkedIn company URL. Values go through the same normalization as our API, so a value matches in the app exactly when it would match there, and when a value belongs to more than one person, the app returns the one the API would.
You pay per matched record, and a row with no match costs nothing. A run reads the product's tables once, so a thousand rows and a million take about the same time: a few minutes on an X-Small warehouse for a person product, under a minute for a company product.
Snowflake or the API
Snowflake fits analytics and data teams who want the data beside their own: joins, segments, market sizing, model training, and enrichment of tables that already live there. The Data Legion API fits systems that need an answer the moment a record arrives, as in a real-time enrichment pipeline, along with search, natural-language discovery, and bulk files delivered to your own storage. The two sit side by side well: the API inside the product, Snowflake in the warehouse.
As everywhere we deliver data, people who have opted out are excluded, and contact data is for lawful use under our Acceptable Data Use policy. To start, search for Data Legion on Snowflake Marketplace, get the free company dataset, and run a query against it. The Snowflake docs page covers every listing, the tables and the app in more detail.