Owler Company Intelligence Scraper avatar

Owler Company Intelligence Scraper

Pricing

from $0.28 / 1,000 company processeds

Go to Apify Store
Owler Company Intelligence Scraper

Owler Company Intelligence Scraper

🏢 Enrich company names, domains, or Owler URLs with public firmographics, revenue and employee estimates, leaders, competitors, funding, M&A, and news.

Pricing

from $0.28 / 1,000 company processeds

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

Turn company names, website domains, or public Owler profile URLs into structured company intelligence.

The Actor extracts public firmographics, revenue and employee estimates, leadership, ranked competitors, funding, acquisitions, investments, and recent news from Owler company profiles.

Use the results in CRM enrichment, account research, competitive monitoring, market maps, and investment watchlists.

No Owler login is required for the public profile data supported by this Actor.

What does Owler Company Intelligence Scraper do?

Owler Company Intelligence Scraper resolves each supplied company and saves one structured dataset row per company.

You can start from:

  • 🌐 website domains such as apple.com;
  • 🏷️ company names such as Apple;
  • 🔗 public Owler company URLs such as https://www.owler.com/company/apple.

Domain inputs use exact domain matching whenever Owler returns a matching profile.

Name inputs use Owler's public company search.

Explicit URLs skip search and go directly to the selected public company profile.

Why use this Owler scraper?

Copying company profiles by hand is slow and difficult to repeat.

This Actor gives you a stable automation contract:

  • one row per company;
  • consistent field names across companies;
  • exact source URLs for traceability;
  • deterministic deduplication;
  • typed error rows instead of silently missing inputs;
  • optional nested sections to keep exports focused.

The output is ready for JSON, CSV, Excel, API, webhook, and database workflows.

Who is it for?

Sales and RevOps teams

Enrich account records with industry, headquarters, employee range, revenue range, ownership, and executive context.

Competitive-intelligence teams

Refresh ranked competitor sets and compare company scale, proximity scores, funding, and market activity.

Investors and analysts

Build recurring watchlists containing funding rounds, acquisitions, investments, leadership, and news signals.

Data engineers

Feed normalized company records into warehouses, enrichment pipelines, lead-scoring models, or entity-resolution systems.

Founders and consultants

Research markets and benchmark a target company against the competitors Owler ranks most closely.

What company data can you extract?

Field groupExample fields
Identitycompany ID, name, short name, description, source URL, website, domain, logo
Firmographicsownership, status, founded year, industries, SIC codes, address, headquarters, phone
Company sizeemployee estimate, formatted employees, employee range
Revenueestimated revenue in USD, formatted revenue, revenue range
LeadershipCEO name, designation, rating, photo, LinkedIn, Twitter, leadership team
Competitionrank, proximity score, competitor website, revenue, employees, funding, HQ
Fundingtotal funding, round count, rounds, dates, amounts, named investors, funding by year
Corporate activityacquisition records, investment records, total counts
Newscategory, title, description, publication time, source, business signals
Provenanceoriginal input, input type, source URL, scrape timestamp, error

Fields are omitted when Owler does not expose them for a company.

Numeric estimates and their display ranges are preserved separately.

Ranked competitor data

Owler's company graph is a core reason to use this scraper.

Each available competitor can include:

  • rank in the profile list;
  • Owler company ID;
  • company name and profile URL;
  • website and domain;
  • proximity score;
  • ownership and founding year;
  • industries and headquarters;
  • employee estimate and range;
  • revenue estimate and range;
  • total funding estimate.

Set includeCompetitors to false when you only need the main company record.

Funding, acquisitions, and investments

Set the relevant toggles to include or omit capital and corporate-activity sections.

Funding records can contain the round name, date, amount, display range, and named investors.

The funding summary also preserves Owler's total amount, total round count, and annual chart data when available.

Acquisitions and investments vary by company.

The Actor returns the public records present in the profile state without inventing missing values.

Recent company news

With includeNews enabled, the Actor combines available profile highlights and recent news entries.

A news row can contain:

  • category or event type;
  • headline;
  • description;
  • publication timestamp;
  • source name;
  • source or Owler report URL;
  • sales-trigger labels.

Use these records to support account alerts, market monitoring, and research updates.

How to scrape Owler company data

  1. Open the Actor input page.
  2. Paste domains, names, public Owler URLs, or a combination.
  3. Keep the initial maxItems low for a quick test.
  4. Choose which intelligence sections to include.
  5. Click Start.
  6. Review the Company intelligence dataset view.
  7. Export the data or connect an integration.

The three input routes merge into one deduplicated queue.

Input reference

InputTypeDefaultDescription
companyDomainsstring arrayWebsite domains; best for CRM enrichment and exact matching
companyNamesstring arrayCompany names resolved through public Owler search
startUrlsrequest listPublic Owler /company/... or /iaApp/...company-profile URLs
maxItemsinteger10Maximum unique rows, including unresolved-input rows
maxConcurrencyinteger3Parallel lookups; maximum 10
includeLeadershipbooleantrueInclude CEO and leadership records
includeCompetitorsbooleantrueInclude ranked competitors
includeFundingbooleantrueInclude funding summary and rounds
includeAcquisitionsbooleantrueInclude acquisition records
includeInvestmentsbooleantrueInclude investment records
includeNewsbooleantrueInclude recent news and highlights
proxyConfigurationobjectApify ProxyProxy settings; tested default is datacenter

At least one company source is required.

Example input: CRM account enrichment

{
"companyDomains": [
"apple.com",
"salesforce.com",
"stripe.com"
],
"maxItems": 3,
"maxConcurrency": 3,
"includeCompetitors": true,
"includeFunding": true
}

Domains are normalized, so https://www.apple.com/ and apple.com resolve to the same input key.

Example input: competitor research

{
"companyNames": [
"Microsoft",
"Google",
"Shopify"
],
"maxItems": 3,
"includeCompetitors": true,
"includeLeadership": true,
"includeFunding": false,
"includeNews": true
}

Use exact domains instead of ambiguous one-word names when possible.

Example input: one public Owler URL

{
"startUrls": [
{ "url": "https://www.owler.com/company/owler" }
],
"maxItems": 1
}

URLs on other hosts or unrelated Owler page types are rejected before scraping.

Example output

{
"input": "owler.com",
"inputType": "domain",
"sourceUrl": "https://www.owler.com/company/owler",
"companyId": 100486,
"name": "Owler, Inc.",
"shortName": "Owler",
"website": "https://www.owler.com/",
"domain": "owler.com",
"ownership": "Private",
"foundedYear": 2011,
"headquarters": "San Francisco, California, USA",
"employeeEstimate": 106,
"employeeRange": "100 - 250",
"revenueEstimateUsd": 3550000,
"revenueRange": "$100K - 5M",
"totalCompetitors": 25,
"scrapedAt": "2026-07-18T00:00:00.000Z"
}

Actual output contains the selected nested sections when Owler provides them.

Error rows and partial results

An unresolved company is not silently discarded.

The Actor saves a row containing:

  • the original input;
  • the input type;
  • the attempted source URL when known;
  • a readable error message;
  • the scrape timestamp.

If one company fails and another succeeds, the run succeeds with both rows.

If every requested company fails, the run exits with an error after preserving the diagnostic rows.

Deduplication and matching

Exact domain inputs are matched against Owler's returned primary domain.

Company names first prefer an exact normalized name or short-name match.

When no exact name match exists, the first public search result is used.

Repeated normalized domain inputs are processed once.

Repeated names and URLs are also removed within their input route.

How much does it cost to scrape Owler company profiles?

The Actor uses pay-per-event pricing.

A small one-time start event covers run initialization.

A per-company event is charged for each dataset row processed.

The final price shown on the Apify pricing tab is authoritative and can vary by subscription tier.

Control spend with maxItems and begin with one to three companies.

The Actor uses HTTP extraction and the tested datacenter proxy route rather than a headless browser or residential proxy.

Performance and limits

A company normally requires one search request and one profile request.

Explicit Owler profile URLs skip the search request.

The default concurrency is intentionally conservative.

Increase maxConcurrency gradually for larger lists, up to 10.

The Actor retries blocked or malformed deliveries with a fresh proxy session.

A run is limited to 1,000 unique company records.

Export formats

Download dataset results as:

  • JSON;
  • JSONL;
  • CSV;
  • Excel;
  • XML;
  • RSS.

Nested objects are easiest to preserve in JSON or JSONL.

For CSV workflows, use the top-level firmographic fields and flatten nested sections downstream if needed.

Integrations and automation

HubSpot or Salesforce enrichment

Export account website domains, run the Actor, then update company fields using Make, Zapier, n8n, or a custom integration.

Slack or email monitoring

Schedule a watchlist run, compare the news and funding sections with the previous dataset, and send newly observed events.

Google Sheets

Trigger runs from rows containing company domains and write the normalized result fields back to adjacent columns.

Data warehouse

Send dataset items through a webhook or Apify integration into Snowflake, BigQuery, PostgreSQL, or object storage.

AI research agents

Expose the Actor through Apify MCP so an agent can fetch current public company context before drafting a brief.

API usage with cURL

curl -X POST \
"https://api.apify.com/v2/acts/automation-lab~owler-company-intelligence-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"companyDomains": ["owler.com", "apple.com"],
"maxItems": 2
}'

Use the returned run ID to fetch status and dataset items.

API usage with JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/owler-company-intelligence-scraper').call({
companyDomains: ['owler.com', 'apple.com'],
maxItems: 2,
includeCompetitors: true,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

API usage with Python

from apify_client import ApifyClient
import os
client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('automation-lab/owler-company-intelligence-scraper').call(run_input={
'companyNames': ['Microsoft', 'Google'],
'maxItems': 2,
'includeNews': True,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

Use with Apify MCP and AI agents

Connect the Actor to Claude Code through Apify MCP.

Setup for Claude Code

$claude mcp add --transport http apify "https://mcp.apify.com?tools=automation-lab/owler-company-intelligence-scraper"

Setup for Claude Desktop, Cursor, or VS Code

Add this server to the MCP config used by Claude Desktop, Cursor, or VS Code:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=automation-lab/owler-company-intelligence-scraper"
}
}
}

Authenticate the Apify MCP server with your Apify account when prompted.

Example prompts:

  • “Enrich these five account domains and summarize their employee and revenue ranges.”
  • “Build a ranked competitor map for Shopify and Salesforce.”
  • “Check the funding and latest news for this startup watchlist.”

Keep maxItems explicit in agent workflows to control scope and cost.

Scheduling recurring company intelligence

Use an Apify schedule for daily, weekly, or monthly refreshes.

Store the current dataset ID after each run.

Compare stable keys such as companyId, competitor company IDs, funding round dates, acquisition records, or news titles.

Send only new changes to downstream alerts.

Recurring runs are especially useful for sales territories, market maps, and investment watchlists.

Data quality tips

  • Prefer domains for reliable entity resolution.
  • Use full company names instead of short ambiguous words.
  • Use explicit Owler URLs when you already know the correct profile.
  • Preserve sourceUrl and scrapedAt in downstream tables.
  • Treat revenue and employee numbers as estimates.
  • Keep range fields alongside numeric values.
  • Review error rows before treating an enrichment batch as complete.

Troubleshooting

Why did a company return an error row?

Owler may not have a public profile, the domain may not match its stored primary domain, or the profile may have been renamed.

Try the exact company name or public Owler URL.

Why are some fields missing?

Public profile coverage varies by company.

The Actor omits unavailable values instead of filling them with guesses or null placeholders.

Why is a competitor list shorter than totalCompetitors?

Owler can expose a total count larger than the list embedded in the anonymous public profile.

The Actor returns the competitors actually present in the fetched public state.

Can I disable large nested sections?

Yes.

Turn off leadership, competitors, funding, acquisitions, investments, or news independently.

Responsible use and legality

This Actor extracts data exposed on public Owler company profile pages without requiring an Owler login.

You are responsible for using the data lawfully and for complying with applicable terms, privacy rules, database rights, and regulations.

Do not use the Actor to collect personal data for harassment, discrimination, spam, or unlawful profiling.

Company estimates can be incomplete or outdated.

Verify important business decisions against primary sources.

Explore related company and lead-generation tools from automation-lab:

Choose this Actor when Owler's public company profiles and competitor graph are the required source.

FAQ

Does this Actor require an Owler account?

No.

V1 is limited to company intelligence present in anonymously accessible public profile state.

Can I combine domains, names, and URLs?

Yes.

All three routes are merged into one run and capped by maxItems.

Does it use a browser?

No.

It parses server-rendered company state using HTTP requests through Apify Proxy.

Does it use residential proxy traffic?

The tested default uses Apify's lower-cost datacenter route.

You can override proxy settings in advanced input if your account or geography requires it.

Are revenue and employee values official filings?

Not necessarily.

They are Owler estimates and should be interpreted together with the range and source timestamp.

Can I export competitor records separately?

Competitors are nested under each company record to preserve their relationship and rank.

Flatten the array downstream when you need one row per company-competitor edge.

What happens when Owler blocks a request?

The Actor retries a bounded number of times with a fresh proxy session.

Persistent failures become typed dataset error rows, and complete extraction failure exits non-zero.