Company Firmographic Enricher avatar

Company Firmographic Enricher

Pricing

from $2.98 / 1,000 results

Go to Apify Store
Company Firmographic Enricher

Company Firmographic Enricher

Domain to structured company firmographics: employee band, industry, HQ, founded year, revenue estimate, logo, and description from schema.org JSON-LD and meta tags. Flat JSON, Clay ready, with source provenance.

Pricing

from $2.98 / 1,000 results

Rating

0.0

(0)

Developer

Mamba Labs

Mamba Labs

Maintained by Community

Actor stats

1

Bookmarked

50

Total users

3

Monthly active users

a day ago

Last modified

Features

Limited permissions

Share

What's new (October 2026)

  • Split HQ address. Every row now carries hq_street, hq_city, hq_state, hq_postal_code, and hq_country, split from the same JSON-LD address hq_location is built from. On by default. hq_location and data_completeness are unchanged.
  • LinkedIn company URL, opt in. Turn on includeLinkedinUrl to add linkedin_company_url, linkedin_url_method, and linkedin_url_confidence, found with Domain to LinkedIn URL Resolver's own method: the LinkedIn page the homepage links, then a verified web search. Off by default, and free when on.

No price change. Existing fields and saved inputs work as before.

🏢 What can Company Firmographic Enricher do?

Give it a company domain and it returns a structured firmographic record: employee band, industry, HQ location, founded year, a revenue estimate, the company main line, logo and description, parsed from the company's own schema.org/Organization JSON-LD and HTML meta tags.

Every record carries a source_signals array and a data_completeness score, so you always know where the data came from and how much was actually found.

📦 What you get⚙️ Features and integrations
🏢 Employee band, industry, HQ, founded year
☎️ Company main line, normalized to E.164
🔍 source_signals, exactly which sources contributed
🧾 31 flat fields, always present, null when absent
🧬 JSON-LD first, HTML meta tags as fallback
🛡️ Datacenter proxy fallback only when blocked
🧊 7 day cache, repeat lookups skip the network, not the per-row charge
⬇️ Export to JSON, CSV, Excel, HTML or XML

Bought by Clay users, RevOps teams and outbound agencies that need enriched company records without a paid data provider dependency. It is the canonical company record the rest of the Mamba Labs fleet joins on.

🚫 This reads what a company publishes about itself, not a licensed database. No ZoomInfo, no Clearbit, no Crunchbase. It will not return data those providers hold but the company does not publish. That is the tradeoff for auditable, low-cost enrichment.

💡 Why use Company Firmographic Enricher?

If you wantRead these fields
Company size for segmentationemployee_band, employee_count
Where they arehq_location
How long they have existedfounded_year
A rough revenue bandrevenue_estimate
A switchboard numbercompany_phone, company_phone_raw, company_phone_source
Copy for a sequencecompany_name, description, logo_url
Whether to trust the rowdata_completeness, source_signals

🔍 Provenance on every row, so you can gate on real coverage

source_signals names exactly which sources populated the record: jsonld_organization, meta_tag, a proxy fetch, cache_hit, and so on. data_completeness is a 0 to 100 share of the eight core fields that were actually found.

Together they mean you never have to guess whether a null is "the company did not publish it" or "the fetch went wrong". Gate downstream work on data_completeness >= 50 rather than assuming a field is present.

▶️ Ready-to-run examples

ExampleWhat it does
Enrich Company Firmographics from a DomainName, industry, employee count and location from a domain
Company Lookup by DomainDomain-to-company enrichment at a low per-row cost
Bulk Domain to Company EnrichmentEnrich a full list of domains in one batch run
Domain to Employee Count and SizeHeadcount and size band from a domain
Name and Domain Enrichment with FallbackUse both name and domain for higher match rates

📋 What data can Company Firmographic Enricher extract?

31 fields per domain, in this table and in "More fields on every row" below. Every field is always present; absent values are null.

FieldWhat it holds
company_nameFrom JSON-LD name, meta tags, or your input fallback
employee_bandBucketed range, 1-10 through 10001+
employee_countRaw count from JSON-LD numberOfEmployees
industryBest effort, often null
hq_location"City, Region, Country" from the JSON-LD address
hq_street, hq_city, hq_state, hq_postal_code, hq_countryThe same JSON-LD address split into parts, each null when the company did not publish it
linkedin_company_urlThe company LinkedIn page when includeLinkedinUrl is on, else null
linkedin_url_methodhomepage_link, pattern_match, search, not_found, search_refused (no search engine answered, not a confirmed absence), or error; null when the option is off
linkedin_url_confidenceVerification score from 0 to 100; a URL is returned at 70 or more
founded_yearFour digit year from foundingDate
revenue_estimateHeuristic band derived from employee count
logo_urlFrom JSON-LD logo or og:image
descriptionCompany description, capped at 500 characters
company_phoneMain line, E.164 when a country resolves
company_phone_rawThe number exactly as published, before normalization
company_phone_sourceWhich node it came from
fetch_statusWhat happened on the fetch
source_signalsWhich sources populated the record
data_completeness0 to 100, share of the eight core fields populated
run_dateWhen the run happened

⚠️ revenue_estimate is a heuristic, not a figure, derived from employee count using a per-employee proxy. Treat it as a rough band. industry is best effort and often null, because schema.org has no first-class industry field. Neither should be relied on the way you would rely on employee_count, which comes straight off the company's own published data.

📏 How often headcount and HQ are filled. Both come only from the company's own homepage structured data, and most homepages do not publish them. Measured on 2026-10-12 across 28 reachable homepages of well known software companies: employee_count (and so employee_band and revenue_estimate) was published on 3, and hq_location on 13. The actor read every value that was published. A null here means the homepage does not state it, not that the read failed. A page that lists several offices without naming the headquarters returns null rather than a guess. For headcount on a list where most rows must be filled, use a source that estimates it, such as a data provider in Clay, and keep this actor for the companies that publish it.

🛠️ How to enrich a company from its domain

  1. Open the Input tab and put a bare domain in domain, without https:// or a trailing slash.
  2. Optionally set company_name as a fallback label for pages that do not publish one.
  3. For a list, use domains instead. It takes precedence and returns one row per domain.
  4. Click Start.
  5. Check data_completeness before you use the row.

🧪 Using it in Clay

Add an Apify enrichment column and map your domain column to domain. The output is flat, so every field maps to a Clay column with no JSON unwrapping.

Gate downstream enrichment or outreach on data_completeness >= 50 so you do not spend credits enriching rows where almost nothing was found.

☎️ How the phone number is chosen

telephone is a standard property on the organization nodes this actor already parses, so the switchboard number costs no extra request and no extra credit.

Read in precedence order: a node's own telephone, then a nested contactPoint with a general, main or customer service contactType ahead of sales, support and billing, then a telephone on the address or location node, then the phone meta tags. Where two nodes disagree, the one whose own url or @id sits on the domain being enriched wins, then the more specific node type.

The number is normalized to E.164 using the HQ country the actor already resolves. Where no country can be determined it is emitted exactly as published, without a leading +, so the leading + is itself the provenance: present means E.164, absent means the country was unknown and the value is untouched. Implausible values are rejected rather than emitted: wrong digit counts, repeated and sequential digit runs, the NANP 555-01xx fictional range and the Ofcom drama ranges.

💵 How much does it cost to enrich a company?

You are charged once per domain enriched.

PlanPer domainPer 1,000 domains
Free$0.004$4.00
Bronze$0.0038$3.80
Silver$0.0036$3.60
Gold$0.0034$3.40

There is also an Actor start event at $0.00005, charged once per run per GB of memory.

Free Apify plans get 800 results per calendar month, resetting on the 1st. Paid plans have no monthly cap.

🛑 Your spending limit is respected. Set a maximum cost per run in Apify, or max_charge_usd on the Input tab, and the run stops before it would go over, keeping every result already charged. Each row's billable_events_json lists the events that row was charged for.

💳 A domain that publishes nothing is still billed. The actor fetched the page, parsed it and reported honestly that there was nothing there, and data_completeness: 0 is a real answer.

📅 Scheduled pricing change, 2026-10-26 12:00 UTC. Results move from Apify's default per-row event to a named result event at the same price on every plan, so each result row costs exactly what it costs today. A run summary row and a blocked lookup row stop being charged. Until then every row is billed as described above.

⚠️ A cached repeat lookup is served instantly but is still billed. This actor prices per result row, and Apify charges that event for every row written to the dataset, whether the answer came from the network or from the 7 day cache. Corrected 2026-08-12: an earlier version of this section said cached repeat lookups were free. They are not, and they never were. Measured on 2026-08-12, an identical three domain re-run 19 minutes after the first was charged the same three result events. The cache saves you the wait and the platform usage, not the per-row price.

⌨️ Input

Everything is on the Input tab. Provide either domain or domains.

FieldTypeDefaultWhat it does
domainstringstripe.comBare domain, no scheme and no trailing slash.
company_namestringnoneFallback label when the page does not publish a name.
domainsarraynoneBatch. Takes precedence over domain. One row per domain.
companiesarraynoneWeb search mode. A list of {"domain": "...", "company_name": "..."}, either field may be empty. Needs anthropicApiKey. One row per company.
anthropicApiKeystringnoneYour own Anthropic API key, stored encrypted. With it, each company is looked up by Claude Haiku with web search instead of from its homepage, billed to your Anthropic account (about 0.03 to 0.05 USD a company).
batchSizeinteger5Domains enriched concurrently per wave. Maximum 10.
skipCachebooleanfalseForce a fresh enrichment and ignore the 7 day cache.
includeLinkedinUrlbooleanfalseAdd linkedin_company_url: the LinkedIn page the homepage links first, then a verified web search. A page under the confidence floor is not returned. No request goes to linkedin.com. No extra charge.
failOnMostlyEmptybooleanfalseOff by default: a domain that publishes no firmographic field returns a row with null fields, resolution_status and empty_reason, and the run ends SUCCEEDED. Set true to end the run FAILED when more than half the rows resolve no firmographic field (industry, employee count, HQ or founded year). The rows are saved either way.
max_charge_usdnumbernoneOptional. The run stops before the next result that would take this run's charges over this amount, and keeps every result already charged. Leave empty to rely only on the maximum cost per run you set in Apify.

📤 Output

One flat row per domain, exportable as JSON, CSV, Excel, HTML or XML.

{
"domain": "gitlab.com",
"company_name": "GitLab",
"employee_band": "1001-5000",
"employee_count": 2500,
"industry": null,
"hq_location": "San Francisco, CA, US",
"hq_street": "268 Bush Street #350",
"hq_city": "San Francisco",
"hq_state": "CA",
"hq_postal_code": "94104",
"hq_country": "US",
"linkedin_company_url": "https://www.linkedin.com/company/gitlab-com",
"linkedin_url_method": "homepage_link",
"linkedin_url_confidence": 95,
"founded_year": "2011",
"revenue_estimate": "$250M-$1B",
"logo_url": "https://about.gitlab.com/images/press/gitlab-logo-500-rgb.svg",
"description": "GitLab is the DevSecOps platform.",
"company_phone": "+14155550199",
"company_phone_raw": "(415) 555-0199",
"company_phone_source": "jsonld_organization",
"fetch_status": null,
"industry_source": null,
"resolution_status": "resolved",
"empty_reason": null,
"source_signals": ["jsonld_organization"],
"data_completeness": 88,
"run_date": "2026-06-19T13:13:15Z"
}

🧾 More fields on every row

FieldTypeWhat it holds
industry_sourcestringWhich signal named the industry: jsonld_property (the site's own JSON-LD industry field), jsonld_type (a specific schema.org type such as CollegeOrUniversity), or page_text (keywords in the homepage title, description, headings and copy). Null when industry is null.
resolution_statusstringresolved when at least one of industry, employee_count, hq_location or founded_year was found; empty when the page was read but none was; fetch_failed when the homepage could not be read; error when enrichment threw.
empty_reasonstringWhy the row did not resolve, such as homepage_unreachable:<fetch_status>, page_text_too_thin:
row_statusstringok, degraded, error, or notice (a notice row carries a message, not a result). Present on every row.
error_reasonstringWhy the row is degraded or an error, in plain words. Null on an ok row. Present on every row.
billable_events_jsonstringJSON list of the pricing events this row was charged for, for example [{"event":"apify-default-dataset-item","count":1}]. Lets you reconcile a run from the dataset alone. The once per run start event is not repeated on rows.

💡 Tips

  • Gate on data_completeness rather than on any single field being non-null.
  • A row served from cache carries cache_hit in source_signals, so a null phone on a cached row is distinguishable from one on a fresh parse.
  • Pass company_name when you have it. It costs nothing and fills the label on sites that publish no name.
  • Use employee_band for segmentation and employee_count when you need the raw number. The band is stable across sites that publish ranges rather than exact figures.

🧯 What a run that finds nothing looks like

Since 2026-10-12 one empty lookup never ends the run.

  • A domain with nothing published returns its row with null fields, resolution_status: empty and an empty_reason such as no_firmographic_signal_on_homepage. The run ends SUCCEEDED, with a warning in the status message when most rows are empty. Set failOnMostlyEmpty: true if you want that case to end FAILED instead.
  • A domain that refuses the fetch returns resolution_status: fetch_failed and the refusal in fetch_status.
  • Run time is budgeted. Every page request is capped by the time left in the run, less a 90 second reserve, and no new batch of domains starts when less than about 35 seconds of that budget is left. Domains not started are listed under skipped_for_budget in the run's RESOLUTION_SUMMARY record, so a long list on a short timeout ends cleanly with the rows it has.
  • A labeled run outcome, not a billed row. The run's RESOLUTION_SUMMARY record (Storage, Key value store) carries run_outcome (found, no_results, blocked or timed_out), run_outcome_reason, the sources reached or refused, and the run ID and build. A refusal is labeled blocked, never reported as zero. This actor is priced per dataset row, and Apify charges every row written to the dataset, so the outcome is kept out of the dataset: you are never charged for a row the actor did not find beyond the per domain rows described under pricing.

⚠️ Known limits

Coverage varies by what the company publishes. Sites with rich schema.org/Organization JSON-LD return a near-complete record; sites with only basic meta tags return name, description and logo. data_completeness and source_signals make that transparent on every row.

revenue_estimate is a heuristic, not a figure. Treat it as a rough band, never as an authoritative revenue number.

industry is best effort and often null. schema.org has no first-class industry field. Do not build a segmentation on it being present.

Most sites publish no telephone. A null company_phone is the ordinary outcome, not a failure and not a degraded run. Every other field is unaffected, and the field is deliberately excluded from data_completeness so adding it did not reprice any historical score.

No paid data provider. This actor will not return data ZoomInfo, Clearbit or Crunchbase hold but the company does not publish.

The LinkedIn URL needs a link or a verified search hit. With includeLinkedinUrl on, a company whose homepage does not link its LinkedIn page and whose search results do not verify returns linkedin_company_url null with linkedin_url_method not_found. Company type and specialties are not returned: they exist only on LinkedIn pages, and this actor sends no request to linkedin.com.

Results are cached for 7 days. Pass skipCache: true for a live enrichment.

❓ FAQ

Why is industry null on a company that obviously has one?

Because the company did not publish it. schema.org has no first-class industry field, so this is the common case rather than the exception. Since build 0.0.34 the page copy is not used to guess one: a single generic word in a meta description used to decide it. Pass your own anthropicApiKey for the web search lookup, which names the industry, a headcount band, the company type and the company's own domain, and says whether the domain you sent belongs to the company you named.

What does the web search lookup add to a row?

official_domain (the named company's own website), domain_matches_company (whether the domain you sent is it), company_type (direct_employer, job_board, staffing_agency or other), industry with industry_source web_search, employee_band from the headcount band, identity_confidence (high, medium or low), identity_evidence, web_searches, and the input_domain and input_company_name you sent. A field the lookup could not establish is null.

What happens when a site blocks the fetch?

The actor fetches direct first, then the www host, and only falls back to a datacenter proxy when a domain blocks, which keeps runs fast and cheap. If it is still blocked, the row comes back with resolution_status: fetch_failed and fetch_status naming the refusal, for example direct:http_403,proxy:challenge_cloudflare. A refusal is labeled as one; it is never reported as a company with no data, and it is never raised as a run error.

One domain failed in my batch. Did it break the run?

No. Failures are caught per domain and the other rows are unaffected.

A JSON-LD block on the page is broken. Does that lose the whole record?

No. A block that is not valid JSON is skipped and reported in source_signals as jsonld_malformed_block, and the scan continues through the remaining blocks.

How do I know whether a phone number was normalized?

The leading +. Present means E.164; absent means the country could not be determined and the value is exactly as published. company_phone_raw always holds the published string.

🧩 Want other GTM data?

Mamba Labs builds a fleet of enrichment actors that share one flat output convention:

ActorActor ID
Account Hiring WatchgRAZA5WBi1r6L0gy7
Agent Accessibility AuditoranxbRv0lKrpQ1pnua
Agent to Brokerage ResolverePRRGLxOGyaVHO4dI
AI Answer Visibility TrackerRJZvzKniYK4nswcMg
AI List Extractor for Any WebsiteD5hOdIez45M0NX5jD
AI Tooling DetectorEwkHhmqiuJgRoVEbE
Amazon Product, Price, and Stock TrackerMtJPZoyjJ3IeqTFyo
Amazon Top Reviews Scraperwh6Mq6G6BlW1CRPwx
API Deprecation and Breaking Change MonitorpHsbS3xXUK8Jqutz5
App Store and Google Play Review MonitorMaCMEhGrbchxQZ92G
B2B Reddit Conversation MonitorSoDryzzsjmY3SsiyG
B2B Social Video TranscriptsdG2UYVKE2e4zfDucK
Bluesky Brand Presence MappereLpxzP4IuXznlFVND
Bluesky Posts ScraperKldSjS7wjoeZ7vQGm
Brand Sponsor FinderPPgK6xrgOmvL7Nrys
Bulk WHOIS and RDAP Domain Age LookupMTrkG5FLU6SjqLdJY
Business PDF Field ExtractorvM7JCk0CMAx5W0oJh
Career Change Signal EnginevX2Yga1a6wGaXaP14
Company Careers Page Jobs, 17 ATS BoardsizP0rfIgf5YaRZfIh
Company Change Event FeedoX44rS0fkEJ3rXLWe
Company Discovery List Builderjch0HdaZnpbMqlcGS
Company Firmographic EnricherYlUtLWjfPpqykmB8g
Company Funding RecordOFS4Mt1gyYNtGfUbE
Company Headcount EstimatoraHC4GROnNt6kfZe5r
Company Identity Resolverlr8fTRAmZCBZmuwwh
Company Role Email, Phone and Address Finder4mMncKaJykiq94grz
Company Social Presence Mapper4k6CCemkgBDz18m2h
Competitor Price, Stock, and Changelog MonitoryxdgCbUQ4PYQWwRNU
Contact Classifier0lGSeYJmniXhGANnO
Contractor License Search, CA, TX, WA, OR, LAWBYK3CPI2kdeq4bP1
CRM Contact Job Change CheckerL8UbEmMJC1XYPSZOb
Domain Deliverability Checker0tVgxI7A6o9jMlxmc
Domain to LinkedIn URL Resolver3HtnSaqPHOg1Qg5gx
Ecommerce Platform Profiler5G2NeYjBbQTjaTn9L
Ecommerce Store DiscoveryPeHu4sLyFvQHXUUrX
Email List Verifier, Bring Your Own KeyCzVJ4NlaCKk80xpgE
Event Presence IndexWLhMy8fMDgsxdYxv5
Eventbrite Events Scrapersgc6znyrbjOy5Yk9f
Expert Witness Finder, US and AustraliaLIpwlgfE3LaQBaXd4
Facebook Posts ScraperT6jxIeq4ua0SLXnqG
Funding and Press Signal ScannerFS13X6dhQVgX3XOM6
GDPR Cookie Banner and Consent CheckerTrKyOS0KBoGC35nbr
GitHub Followers and Following ExportSGNxDmFb9v3tRDaFI
GitHub Organization Signal ScannerahF8RRpv5mzPao5CN
Google Ads Transparency Center Scraper by Domain1eOwxhBVxzvOXAm4s
Google Maps Places ScraperSuvHCNJ7pIuw6gn54
Google Trends ScraperOeDzaACKmBYJXzHZk
GTM Hiring Signal ScraperD7O1SA2EqwHGsGr1P
GTM Signals AggregatorxKdRfnfFNkdMpFuNs
Healthcare Provider NPI EnricherMrgbHzcpDq3mOv9Df
ICP Fit ScorerW161DT8W4kW55dMFh
Influencer Change Monitord2VVgahNL6UmcLkhg
Influencer Lead List BuilderKnmByszcv135yM30G
Influencer Profile ScraperEqEnklDVMIcB1V499
Influencer Search Across TikTok, Instagram and YouTubetpkedmloIIWtXx6sg
Influencer Talent Agency LookupzCuX4Mgyg6JvXgGzd
Instagram Facebook Brand Presence MapperHXh65I0JBjPsunbY8
Integration and Marketplace Presence MapperV0guNuvM85Q61f2gj
Job Board Keyword Signal Scanner4DvqpvhMR74NLcDDY
Job Posting MonitorQCfICD9kOPiOdj5iI
Journalist and Media List BuildermAfizsZC8qRoR0ecS
Launch Directory List BuildercRq3bmvEZxZtioQ7U
Lead File Import CheckerRwlGVXTf46LqZdUgt
Legal Entity ResolverKHFyPCDIx7CyqULYm
Link in Bio Scraper and Newsletter DetectorOorucdheTIgu7RFzK
LinkedIn Company Page MapperzOPm6A9JEhUGcIdFW
LinkedIn Jobs FeedSH6N0d8cz46BhCC8B
LinkedIn Post TrackeroiGLNPuaf5BRaz9K5
Local Business Lead BuilderqMN97aoHhsAS5bznV
Local Rank and Map Pack Trackergv0kyHGDIg8XscclB
Lookalike Companies from Seed Domainse2O426WBAbLLQL4Z2
Manufacturer and Supplier FinderQcsdmd0lUfPzVkonh
MCP Server Change and Health MonitorIeqjWF9U0BdDQFY08
Media URL TranscriberSyfr7Ya3EsHgWfrB6
Meta Ad Library Ads by Company, Graph APIJ1GWlSXfSGU3u8Wng
Mobile Phone Waterfall6OOgPktf7RIa5XCOP
Multi Platform Social Posts and CommentsicFuHR1EzDvUcfCQ5
Netherlands Rental ListingssGKGsbwoX18lFb6dR
New Hire FindercKuc38p4nYHNF3IW8
Newly Registered Companies, UK, Norway, Finland, Franceg2WfZhWvCtc57g2Jo
News and Media Mention Monitorgol1PPUKrsIk4QLBd
News Site Article ArchiveNjcF3UD8791raFNHh
Newsletter Sponsor TrackerqSwpqxD1TiPZpLQHv
Open Tender and RFP FinderkPTGz6t6TFoUUyfaO
Outbound Stack Detectorv43UJC8r7qW7cBSTG
Page Finder and ExtractorTpurgcOZbVnknlaiC
Partner and Member Directory ExtractorZX0XJPPUvnFJxeC1a
People Finder & Email VerifierLEgloG7tWgQl4o6TD
Person LinkedIn URL ResolverssuyPV8LnEsL8qbnb
Person Social Footprint MapperjfQXa2zW9FHCJot9K
Personal Email to Company ResolverAefT5Ye6YNPFQwJBf
Pinterest Brand Presence Mapperd1HvjZfKhgvWsoEwn
Podcast Guest and Host Findero2MGSvgbSLeeXOsIo
Private Company Funding HistoryH02K3rQIVOYpnLYc3
Product Hunt Daily Launches with Maker DomainsO4VX63drWK9Y9x641
Property Owner Records0J7ovG1iaZpQD1P0T
Prospect Engineq9rT6v64nUJdPexOQ
Public Feature Board and Roadmap MonitorrcHF5gj5r2Vqnry35
Publishing Frequency TrackerTbLwaUUATdYb6wp4N
Recent Funding Rounds FeedKueVp9MOz7iOoAgDp
Reddit Brand Presence MapperpKQZmDaT70SEb54bZ
Reddit Search and Thread Scraper4Gsth5cP2Xt9V2xDN
Reporting Window FinderuINxR7a1IW8qUTRUX
Research Topic Institutions and AuthorsOH8ANqt7bCKbo72Gk
Semrush Domain Metrics3dqa0abJrpssHtrYL
Sequencer Event PollerS6s8Rjd61tGdrMRk4
Sequencer Lead Push0Jv27VeWM5tSZQs9x
Shopify App Store and Chrome Web Store ListingsgaY0BzkLyN77mD3wI
Site Crawler for Links and TableslLLJ6JxZ4XqN8ULz0
Streaming Subscription Prices by CountrytbMroS2Zyn57bW17E
Substack Newsletter and Posts ScraperUEFsdwiPLmPNVy9xd
Team Page People Extractorj8a9zX0k4mNbvDbWK
Tech Stack Signal Detectorqyd7nNyqFPelQViBx
Tennis Match Datav3OX6zxXHZOf2yurO
Threads Posts by Keyword, Exact Match2OT8K8RiEEWtaj2MW
Ticketmaster Event PricesCrvPX4IwLXQX9bls1
TikTok Brand Presence Mapperfco8FvoJcSafbeyd1
TikTok Video Statsuz9Q3cEycRgA6NfqA
Trustpilot Reputation Enricher3lIqfCt61j4hqE1xz
US and UK Contract Award Winners by CompanyzhEtllASykOcx9hJ8
US Import Records Buyer FinderVIMafpKF5ggOw0COU
VC and Accelerator Portfolio List BuilderchH8hrfuoqqolW06m
Website Accessibility Checker, WCAG 2.2 AAP3jBj3FRghKEhX52z
Website Phrase and Business Model ClassifierCBuZ9k7sRwBeiKiCS
Website Traffic Rank EstimatorGnOFUzlNVIoXgeJjH
Work Email WaterfallOT6xqTFThC0Rjf7Zj
Workplace Program DetectorLi6pPDhqbdzFz3h7G
X Brand Presence MapperoLOgadhHUkNAyDA3w
YouTube Channel and Video List ScrapertxaAjeBqgj5MStFE4
YouTube Channel Email FinderIDgKZcmeeuunUbccN
YouTube Channel from Company Domain6hSpD3kd2s2IQ4VSs
Zillow Listing DetailsyG4zM0Enfsw2NefJ1

Every actor in the suite takes a domain or a company and returns one flat row, so they stack in the same Clay table without reshaping anything.

🆘 Support

Something wrong, or a company the actor reads incorrectly? Open an issue on the Issues tab with the domain and the row, and we will look at it.

ℹ️ Sourcing and legal. Every field comes from structured data the company publishes on its own site: schema.org/Organization JSON-LD and HTML meta tags, read over plain HTTP. No paid data provider is called and no personal data is collected; the telephone number is a published company switchboard, not a person's line. You are responsible for how you use the output.

Built by Mamba Labs.