Company Research
Pricing
from $2.80 / 1,000 company profileds
Company Research
Domain in, evidence-backed company profile out. Firmographics, HTTP/DNS tech stack, GLEIF/SEC/Companies House, plus hiring, product velocity, and news signals — every field has a source URL.
Pricing
from $2.80 / 1,000 company profileds
Rating
0.0
(0)
Developer
Rational Opaque
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Security
Limited permissionsShare
Support & feedback. Questions and bugs go in the Actor Issues tab. We reply within 48 hours.
Domain in, evidence-backed company profile and buying signals out. Identity, tech stack, public registries, and signals each cite the page or API they came from. Unknown stays null. Nothing here is a guessed email, a revenue estimate, or a headcount.
Who uses this. SDR, RevOps, ABM, and VC teams, starting from a domain.
| Who | What they run |
|---|---|
| SDR | Account list in, profile and open roles out |
| RevOps | Same companyId joined to hiring and event datasets |
| ABM | Tech stack and buying signals on target domains |
| VC / PE | Legal name, LEI, filings, and product velocity |
It uses the same domain and companyId as Hiring Intent Scorer and Event Discovery Feed, so the three datasets join. companyId is the first 12 hex characters of sha1 of the registrable domain.
Pay-per-event only. 1,000 companies with profile, tech, a registry match, and signals, and no LLM brief, is about $12 plus the platform start event. A full row with a brief is about $0.024.
What you get
| Piece | Detail |
|---|---|
| Identity | Name, legal name, description, logo, founded year, HQ, switchboard phone, published generic inboxes (info@, sales@, press@). Each value is { value, sourceUrl, fetchedAt }. |
| Tech stack | HTTP headers, script URLs, cookies, and DNS (MX, SPF, TXT, NS), with confidence and evidence. |
| Registries | GLEIF, SEC EDGAR including Form D, and UK Companies House when you pass a key. Weak matches come back as up to three candidates. |
| Signals | Greenhouse, Lever, or Ashby open roles; event mentions on the company site; changelog or blog posts in the last 90 days; public GitHub org; own newsroom. |
| Change tracking | Named store company-research-state, key stateKey. onlyChanges pushes new and updated rows. |
Public logged-out pages only. No LinkedIn. No CAPTCHA or Cloudflare bypass. No Playwright.
Quick start
{"domains": ["stripe.com"],"maxCompanies": 1,"maxPagesPerCompany": 6,"detectTechStack": true,"lookupRegistries": true,"enrichSignals": false,"extractTeam": false,"generateAccountBrief": false,"onlyChanges": false,"stateKey": "default"}
Import domains from a Hiring Intent or Event Discovery dataset:
{"fromDatasetId": "DATASET_ID","eventsDatasetId": "EVENTS_DATASET_ID","onlyChanges": true,"stateKey": "accounts-weekly"}
Weekly change watch: schedule the actor with the same stateKey and onlyChanges: true. The second identical run pushes nothing and does not charge change-detected.
Input
| Field | Default | Notes |
|---|---|---|
domains | — | Domain or URL. Required unless fromDatasetId is set. |
fromDatasetId | — | Reads domain, companyDomain, or website. Keeps intentScore / openRoles when those columns exist. |
eventsDatasetId | — | Matches organizer, sponsor, exhibitor, and speaker company URLs. |
maxCompanies | 100 | Cap for the run. |
maxPagesPerCompany | 12 | Home, about, team, contact, careers, blog, news, changelog, events, sitemap. |
detectTechStack | true | Charged as tech-stack-detected when at least one technology matches. |
lookupRegistries | true | GLEIF and SEC always; Companies House only with companiesHouseKey. |
companiesHouseKey | — | Secret. Free key from developer.company-information.service.gov.uk. |
includeOfficers | false | Officer names stay off unless you turn this on. Counts can still be present. |
registryMatchThreshold | 0.85 | Below this, candidates only. |
enrichSignals | true | Hiring, events, velocity, newsroom. |
githubToken | — | Optional. Public data only. |
extractTeam | false | Names and titles from the company's own team page. No emails. |
generateAccountBrief | false | Needs llmApiKey. Uses only fields on the row. |
stateKey | default | Same key across scheduled runs. |
onlyChanges | false | Push new and updated companies only. |
Sample row
Excerpt of a local run of stripe.com on 28 Oct 2026. Every value below is from that run. Omitted: null identity fields, the hreflang list, social profiles other than GitHub, DNS TXT and NS records, GLEIF and SEC candidate lists, news items, and pages fetched. SEC did not match. Companies House was skipped because no key was set.
{"companyId": "4920be936201","domain": "stripe.com","inputValue": "stripe.com","websiteUrl": "https://stripe.com/in","status": "ok","identity": {"name": { "value": "Stripe", "sourceUrl": "https://stripe.com/in", "fetchedAt": "2026-10-28T10:56:32.408Z", "method": "jsonld", "confidence": 0.9 },"legalName": { "value": "Stripe, LLC", "sourceUrl": "https://stripe.com/in", "fetchedAt": "2026-10-28T10:56:32.408Z", "method": "jsonld", "confidence": 0.9 },"description": { "value": "Stripe powers online and in-person payment processing and financial solutions for businesses of all sizes.", "sourceUrl": "https://stripe.com/in", "fetchedAt": "2026-10-28T10:56:32.408Z", "method": "jsonld", "confidence": 0.85 },"genericEmails": { "value": ["sales@stripe.com"], "sourceUrl": "https://stripe.com/in", "fetchedAt": "2026-10-28T10:56:32.408Z", "method": "html", "confidence": 0.7 }},"socials": {"github": { "value": "https://github.com/stripe", "sourceUrl": "https://stripe.com/in", "fetchedAt": "2026-10-28T10:56:32.408Z", "method": "html", "confidence": 0.7 }},"techStack": {"items": [{ "name": "Google Workspace", "category": "email_provider", "confidence": 0.95, "evidence": ["MX aspmx3.googlemail.com"], "sourceUrl": "dns:stripe.com", "fetchedAt": "2026-10-28T10:56:32.408Z" },{ "name": "Next.js", "category": "framework", "confidence": 0.85, "evidence": ["script https://b.stripecdn.com/mkt-ssr-statics/assets/_next/static/chunks/polyfills-42372ed130431b0a.js"], "sourceUrl": "https://stripe.com/in", "fetchedAt": "2026-10-28T10:56:32.408Z" }]},"registries": {"gleif": {"matched": true,"confidence": 1,"record": { "lei": "549300CLHGIPTCYHQ143", "legalName": "STRIPE, LLC", "jurisdiction": "US-DE", "status": "ACTIVE", "legalAddressCountry": "US" },"sourceUrl": "https://api.gleif.org/api/v1/lei-records?filter[fulltext]=Stripe%2C%20LLC&page[size]=10","fetchedAt": "2026-10-28T10:56:32.408Z"},"sec": { "matched": false, "confidence": 0.933, "record": null, "sourceUrl": "https://www.sec.gov/files/company_tickers.json", "fetchedAt": "2026-10-28T10:56:32.408Z" },"companiesHouse": { "skipped": "no_key" }},"signals": {"hiring": {"atsProvider": "greenhouse","careersUrl": "https://stripe.com/in/careers","openRoles": 716,"departments": [],"topLocations": ["Singapore", "Dublin", "Bengaluru", "London", "Mexico City", "N/A", "Chicago", "Toronto"],"newestPostedAt": "2026-10-28T09:19:59.000Z","source": "ats","sourceUrl": "https://boards-api.greenhouse.io/v1/boards/stripe/jobs","fetchedAt": "2026-10-28T10:56:32.408Z"},"productVelocity": {"changelogUrl": "https://docs.stripe.com/changelog","postsLast90d": 0,"latestPostAt": "2025-10-07T07:00:00.000Z","github": { "org": "stripe", "url": "https://github.com/stripe", "publicRepos": 101, "totalStars": 45509, "reposPushedLast90d": 59, "fetchedAt": "2026-10-28T10:56:32.408Z" }}},"changeType": "new","scrapedAt": "2026-10-28T10:56:32.408Z","chargedEvents": ["company-profiled", "tech-stack-detected", "registry-matched", "signals-enriched"]}
companyId 4920be936201 is sha1("stripe.com") truncated to 12 hex characters.
Pricing
Configured in Console under Actor → Monetization. The code charges these names and no others. apify-default-dataset-item is not enabled.
| Event | Price | When |
|---|---|---|
apify-actor-start | platform | Run start |
company-profiled | $0.004 | Status ok or partial and a name or description was found |
tech-stack-detected | $0.002 | At least one technology |
registry-matched | $0.003 | At least one registry matched |
signals-enriched | $0.003 | Hiring, an event, velocity, or news |
account-brief-generated | $0.01 | Brief written |
change-detected | $0.002 | onlyChanges and the row is new or updated |
Invalid domains are pushed and not charged. An unreachable site with no data is not charged. The run stops cleanly when the charge limit is hit.
Worked example, 1,000 companies, no brief, every optional block hits: 1,000 × ($0.004 + $0.002 + $0.003 + $0.003) = $12. With briefs: about $22.
FAQ
Why not an opaque database (ZoomInfo, Apollo, Crunchbase)? This actor reads the live site, DNS, and public registries and links every key field to a source. There is no stale vendor row and no LinkedIn graph. The trade-off is no revenue figure and no headcount guess.
A site is behind Cloudflare. Status is blocked. DNS and registries can still fill in. The actor does not try to get past the challenge.
Companies House is empty. The UK lookup is skipped unless companiesHouseKey is set. US filers still go through SEC. GLEIF runs either way.
GDPR
Team-page extraction is off by default. When it is on, the actor keeps names and titles the company itself published on its own site. It does not collect or guess email addresses for those people. Officer names from Companies House are off by default. You are responsible for a lawful basis under GDPR, UK GDPR, and India's DPDP, and for honoring opt-outs.
Legal
Public logged-out data and public APIs only. Not affiliated with the SEC, Companies House, GLEIF, GitHub, or any ATS vendor.
Limits
No LinkedIn, Crunchbase, Owler, or Apollo. No personal emails, revenue, or headcount. Registries in v1 are GLEIF, SEC EDGAR (including Form D), and UK Companies House. India MCA is later. A browser is not used in v1. Sibling actors are not started as sub-runs; pass their dataset IDs instead.