Company Data by Domain: Logo, Socials, Industry
Pricing
from $3.00 / 1,000 company profiles
Company Data by Domain: Logo, Socials, Industry
Turn a list of domains into company profiles: name, description, industry, logo, LinkedIn/X/Facebook/Instagram/YouTube/GitHub, generic emails and phone, address, founded year and tech hints. From each company's own website. No personal data.
Pricing
from $3.00 / 1,000 company profiles
Rating
0.0
(0)
Developer
SteadyScrape
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 hours ago
Last modified
Categories
Share
Give it a list of company domains or URLs and get one clean company profile per domain: company name, description, industry guess, logo and favicon, LinkedIn, X, Facebook, Instagram, YouTube, GitHub and TikTok links, the contact page, generic company emails (info@, sales@, support@…), the company phone, postal address, founded year and tech hints. All of it is read from the company's own public website (schema.org data, OpenGraph and meta tags, the home, about and contact pages). No personal data and no LinkedIn scraping. Price: $0.004 per company profile ($4 per 1,000). Domains that are unreachable, blocked, parked or empty are free.
Made by SteadyScrape (steady-scrape). Note: we are not the similarly named "steadyscrape" account on Apify.
What you can do with it
- Enrich a CRM or lead list. Paste the domains from a sign-up form, a trade-show list or a CSV export and get names, logos, industries and social links back to fill empty CRM fields.
- Clean up and route inbound sign-ups. Turn
hello@acme-widgets.cominto the companyacme-widgets.comand see its industry and LinkedIn page before your sales team picks it up. Emails are accepted as input and only the domain is used. - Build logo walls and directories. Get logo, favicon and share image URLs plus a short description for a partner page, a marketplace or an investor portfolio list.
- Find a company's official channels. Get the brand's own LinkedIn company page, X account, Instagram and YouTube channel as linked from its site, not a guess from a search engine.
- Segment a market. Group thousands of domains by industry guess, country and tech hints (Shopify, HubSpot, WordPress, Stripe…) before an outreach campaign.
Input
- Domains (required): one per line.
stripe.com,https://www.stripe.com/pricingandinfo@stripe.comall becomestripe.com. Duplicates are removed and are free. - Pages per domain (1–5, default 3): the home page plus the about and contact pages. 1 is fastest; 4–5 also tries the imprint and company pages (useful for European sites, where the address is often on the imprint).
- Respect robots.txt (default on): pages that robots.txt disallows are skipped.
- Tech hints (default on): technologies seen in the page and HTTP headers. It costs nothing extra.
- Max concurrency (default 20, up to 50) and an optional Apify datacenter proxy (off by default). You don't need a proxy for most sites. Residential proxies and custom proxy URLs are not supported.
Example:
{"domains": ["stripe.com", "notion.so", "patagonia.com"],"maxPagesPerDomain": 3,"includeTechHints": true}
Output
One row per input domain, in input order. A record from a real run (October 2026), trimmed:
{"domain": "shipbob.com","status": "ok","companyName": "ShipBob","description": "Ecommerce fulfillment across all channels. ShipBob empowers businesses to scale, offer 2-day shipping, and manage inventory and shipments.","industryGuess": "Logistics / Transportation","industryConfidence": "high","industryKeywords": ["shipping", "fulfillment", "warehouse", "supply chain"],"logoUrl": "https://www.shipbob.com/wp-content/themes/shipbob-2022/resources/images/gmp.svg","faviconUrl": "https://www.shipbob.com/wp-content/themes/shipbob-2022/resources/icons/favicon.ico","linkedinUrl": "https://www.linkedin.com/company/shipbob","xUrl": "https://x.com/ShipBob","facebookUrl": "https://www.facebook.com/LoveShipBob","instagramUrl": "https://www.instagram.com/shipbob","youtubeUrl": "https://www.youtube.com/channel/UCyKm9fpP6V9ns84rVClCvMw","tiktokUrl": "https://www.tiktok.com/@shipbob.com","emails": [],"phones": [],"contactPageUrl": "https://www.shipbob.com/contact/","aboutPageUrl": "https://www.shipbob.com/about/","foundedYear": 2014,"foundedSource": "https://www.shipbob.com/about/","techHints": ["Cloudflare", "WordPress", "Google Tag Manager", "HubSpot", "VWO", "OneTrust", "Bootstrap"],"language": "en-US"}
Other fields: legalName, nameSource, descriptionSource, industryCandidates, ogImageUrl, streetAddress, city, region, postalCode, country, addressFull, employeesStated (only when the site states it), techDetails (name + category), schemaTypes, finalUrl, redirectedToDomain and pagesFetched. The dataset has ready-made views: Overview, Social links, Contacts and Firmographics. The run's OUTPUT record has status counts and the fill rate of each field.
Every row has a status. Only ok rows are charged:
| status | meaning | charged |
|---|---|---|
ok | profile found | yes |
no_data | site gave too little to build a profile (for example a JavaScript-only page) | no |
blocked | site blocks automated visits (bot challenge, 403/429) | no |
parked / unavailable | domain for sale, or a maintenance page | no |
unreachable / timeout / http_error | DNS, TLS or server problem | no |
robots_disallowed | robots.txt disallows the home page | no |
invalid_input | not a domain | no |
How well it works (our tests, October 2026)
- Well-known company sites (60 domains: SaaS, DTC brands, banks, industrial, restaurants, nonprofits, EU and LATAM): 54 of 60 profiles (90%). The 6 misses were sites with strong bot protection, and they were not charged. Name and description: 100% of profiles. Logo: 78%. LinkedIn: 67%. Instagram: 85%. Contact page: 80%. Founded year: 41%.
- Random long-tail domains (500 from a public top-sites list, many of them not companies at all): 303 profiles (61%). The rest were dead, parked, blocked or empty domains, and all of them were free. Name: 100%. Description: 90%. Logo: 84%. Facebook: 58%. Phone: 39%. LinkedIn: 32%.
- Speed: about 60 well-known domains in 10 seconds. Long-tail lists are slower, because dead and slow sites wait for a 45-second timeout (500 domains took about 8 minutes).
Pricing
Pay per event: $0.004 per company profile (company-profile event), so $4 per 1,000 profiles. There is no run fee, apart from Apify's standard tiny start event ($0.00005). Apify paid plans get volume discounts on the same event.
Worked example: you upload 1,000 domains. 700 return a profile and 300 are dead, parked or blocked. You pay 700 × $0.004 = $2.80. The 300 misses cost nothing. Set Maximum cost per run in the run options and the Actor stops before it goes over.
Cost examples
Costs use the current list prices on the Apify Free plan, including Apify's $0.00005 start event. Run time depends on the input.
| Run | Cost (Free plan) |
|---|---|
| 2 domains (test run) | about $0.008 |
| 100 domains from a lead list | about $0.40 |
| 1,000 domains, 700 with a profile | about $2.80 |
Price per profile: $0.004 on the Apify Free plan, $0.0036 on Starter (Bronze), $0.0032 on Scale (Silver), $0.003 on Business (Gold) and above. The discount is applied automatically.
How it compares
- vs. "contact / lead scrapers": many of them crawl whole sites and return every email they find, including personal ones, often at $0.10 per lead on the free plan. We return only generic company mailboxes and the company phone, and we charge $0.004 per company.
- vs. LinkedIn company scrapers: these return employee counts and HQ from LinkedIn, but they depend on scraping a login-walled site. We read only the company's own website, so we don't give LinkedIn-only fields like follower counts. We do give you the company's own LinkedIn URL, which you can pass to any LinkedIn tool you already use.
- vs. enrichment APIs (subscription firmographics databases): they have revenue and headcount estimates for big companies, but they charge monthly and are often stale for small businesses. We fetch the live site on every run. Pay per profile, no subscription.
- What we don't do: no revenue estimates, no employee names, no personal emails, no browser rendering. Sites that need JavaScript to show anything come back as
no_data(free).
Use it from an AI agent (Apify MCP)
Give Claude, Cursor, VS Code or any other MCP client this Actor as a tool through the Apify MCP server. Add this to your client's MCP config; you sign in to Apify with OAuth on first connect:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=steady-scrape/company-profile-by-domain"}}}
Clients without OAuth can send an Authorization: Bearer <APIFY_TOKEN> header instead. Then ask, for example: "Enrich these 20 company domains with their industry, logo, LinkedIn page and generic contact email." The agent starts a normal run, so the prices above and your maximum charge per run still apply.
FAQ
Is the industry reliable? It's a rule-based guess from the site's own words and schema.org type, with a industryConfidence of high, medium or low and the keywords that led to it (industryKeywords). Use high and medium for segmentation, and check low rows yourself. About a third of long-tail sites get no guess.
Do you return personal data? No. Emails are kept only if they are role mailboxes on the company's own domain (info@, sales@, support@, press@…). Named people, personal emails and personal LinkedIn profiles (/in/…) are dropped. Phones are the numbers the site publishes. A very small business can publish the owner's own number, so treat phones as business contact data and follow your local rules (GDPR, CAN-SPAM, etc.).
Why is a big site blocked? Some sites block automated visits from cloud servers. You can turn on the Apify datacenter proxy and try again, but sites with strong bot protection will usually stay blocked. Blocked rows are never charged.
Can I use a residential or my own proxy? No. The Actor runs without a proxy or with the Apify datacenter proxy only. This keeps the price at a flat $0.004 per profile with no proxy traffic costs. If an API input asks for a residential group, the datacenter proxy is used instead and the run summary says so.
Founded year and employees? These come only from the site itself: schema.org foundingDate / numberOfEmployees, or a clear sentence like "founded in 2014" on the about page. Sentences about a person's career are ignored. foundedSource shows the page it came from.
Can I send emails or URLs? Yes, both are reduced to the domain. Subdomains are kept (shop.example.com). www. is removed.
How many domains per run? Up to 20,000. For bigger lists, split them into several runs or use the API.
How do I enrich a list of company domains? Paste the domains (or emails or URLs, which are reduced to the domain) and run. Each row has the company name, description, industry, logo, social links, generic email and phone from the company's own site.
How much does company enrichment cost per company? $0.004 on the Apify Free plan ($4 per 1,000), less on paid plans. Dead, parked and blocked domains are free.
Can I find a company's LinkedIn page from its website? Yes. The company's own LinkedIn, X, Facebook, Instagram, YouTube and GitHub links are returned when the site links to them.
Integrations
Use it from Make, Zapier, n8n, Google Sheets (via the Apify integration), the Apify API (run-sync-get-dataset-items returns the rows in one call for small lists) or as a tool for AI agents through the Apify MCP server. A typical setup is a Zap that sends each new CRM company domain to this Actor and writes the logo, industry and LinkedIn URL back to the CRM.
More from SteadyScrape
- ATS Job Scraper: see which roles a company is hiring for, straight from its career site (Greenhouse, Lever, Ashby, Workday and more).
- Bulk Domain Rank & Traffic Checker: organic and paid traffic estimates, ranked keywords, backlinks and spam score for a list of domains.
- Backlink Checker API: New and Lost Link Monitor: backlinks and referring domains for a list of company domains, with a scheduled monitor for new and lost links.
- AI Visibility & Share of Voice Tracker: see whether ChatGPT and Perplexity mention, rank and cite a brand versus its competitors.
See every SteadyScrape (steady-scrape) Actor on our Apify profile.
Questions or a field you need? Open an issue on the Actor's Issues tab and we'll answer.