Owler Scraper — Company Data, Revenue, Competitors & Funding avatar

Owler Scraper — Company Data, Revenue, Competitors & Funding

Pricing

from $4.00 / 1,000 results

Go to Apify Store
Owler Scraper — Company Data, Revenue, Competitors & Funding

Owler Scraper — Company Data, Revenue, Competitors & Funding

Scrape Owler company data as clean JSON — revenue, employees, industry, HQ, competitors with proximity scores, funding & M&A. Affordable, no-contract alternative to Owler Pro / enterprise data APIs for B2B sales prospecting, lead enrichment, competitive intelligence & CRM data.

Pricing

from $4.00 / 1,000 results

Rating

5.0

(2)

Developer

Berkan Kaplan

Berkan Kaplan

Maintained by Community

Actor stats

1

Bookmarked

63

Total users

7

Monthly active users

4 days ago

Last modified

Share

Owler Scraper — Company Data, Revenue, Competitors & Funding 🦉

foXLabs company-intelligence series: Company enrichment · Craft · Built In · Free lookup

🎉 Turn Owler company profiles into structured JSON — firmographics, revenue and employees, competitors with proximity scores, funding rounds, acquisitions, investments, news highlights, the CEO and social links, one row per company. Built for competitive intelligence, market mapping and account research.

🔍 What is Owler Scraper — and when should you use it?

Give this Actor Owler company URLs — or pick a sector preset that starts from a set of anchor companies and follows their Owler competitor lists — and it returns one record per company from the public profile pages of Owler. Every run reads the pages live.

Use it when you need: a competitor map with Owler's proximity scores; the funding, acquisition and investment history of a watch list; firmographics plus the CEO for account research.

Use something else when: you want to look companies up by name or domain — Company Data Enrichment matches those to Owler profiles and returns the firmographic fields; or you need filed financials or registry records — this Actor returns what Owler publishes.

🤖 Use with AI agents

Already on the Apify MCP server? Ask for this Actor by name: foxlabs/owler-intelligence.

Your agent can pay for its own runs. This Actor is pay-per-event with agentic payments, so an agent can discover it, run it and settle the bill over x402 (USDC on Base) or Skyfire — no Apify account or API token of its own. Billing is the same either way: per delivered company record — rows that only report a failed lookup are free from 25 September 2026.

Otherwise paste this into Claude, ChatGPT, Cursor or any MCP-enabled assistant:

I want Owler company profiles from the Apify Actor `foxlabs/owler-intelligence`.
Input: `companyUrls` is a list of Owler company URLs, each given as an object with a `url` key (https://www.owler.com/company/<slug>); or set `preset` to a sector (saas, fintech, ai-ml, ecommerce, gaming, crypto-web3) to start from its anchor companies and follow their competitors for `presetDepth` hops. Eight `include…` switches (competitors, funding, acquisitions, investments, news, financial history, leadership, social) are on by default. `maxResults` caps the rows.
Start with: {"companyUrls":[{"url":"https://www.owler.com/company/apify"},{"url":"https://www.owler.com/company/stripe"},{"url":"https://www.owler.com/company/openai"}],"maxResults":100}
Ask me what to look up, run the Actor, then summarise the rows as a table.

The machine-readable API, MCP config and OpenAPI definition live at apify.com/foxlabs/owler-intelligence.md.

📋 Overview

Everything you need to turn Owler profiles into structured data — in one Actor, with no login, cookies or API key.

Why teams pick this Actor:

  • URLs or a sector preset — paste Owler profiles, or start from 18–34 anchor companies per sector and follow their competitors.
  • 🥊 Competitors with proximity scores — each with its own revenue, employees, HQ, founded year and total funding.
  • 💸 Funding, M&A and investments — funding rounds with investors, acquisitions with dates and source links, the company's own investments.
  • 📰 News highlights and momentum — Owler's typed news items and revenue / employee trend signals.
  • 💰 Pay per record — $0.004 per company record, no subscription.
  • 🤖 Agent-ready — MCP + x402 agentic payments.

✨ Features

  • 🔗 Profile URLs in, one row outcompanyUrls takes Owler company URLs or a .txt / .csv upload; a URL listed twice is fetched once.
  • 🧭 Sector presetssaas, fintech, ai-ml, ecommerce, gaming, crypto-web3: anchor companies plus up to 4 hops through Owler's competitor lists; companies found along the way are kept only if their Owler industry matches the sector's keywords.
  • 🎛️ Eight include switches — competitors, funding, acquisitions, investments, news highlights, financial history, leadership, social. Switched off, their fields are left out of the row; the price stays the same.
  • 🧪 An empty input still returns data — with no URLs and no preset the Actor runs a three-company demo (Apify, Stripe, OpenAI).

🎬 Quick Start

curl -X POST "https://api.apify.com/v2/acts/foxlabs~owler-intelligence/runs?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"companyUrls":[{"url":"https://www.owler.com/company/apify"},{"url":"https://www.owler.com/company/stripe"},{"url":"https://www.owler.com/company/openai"}],"maxResults":100}'

🚀 Getting Started (3 steps)

  1. Choose companies — paste Owler profile URLs, or pick a sector preset.
  2. Pick what to extract — leave the include switches on for the full profile, or switch off what you don't need.
  3. Run and export — download the dataset as JSON, CSV, Excel, HTML or XML.

📥 Input

{"companyUrls":[{"url":"https://www.owler.com/company/apify"},{"url":"https://www.owler.com/company/stripe"},{"url":"https://www.owler.com/company/openai"}],"maxResults":100}
FieldTypeDescription
presetstringStart from a sector's anchor companies: saas (34), fintech (22), ai-ml (22), ecommerce (21), gaming (18), crypto-web3 (22). Combined with companyUrls when both are given.
presetDepthintegerPreset only — how many hops to follow through each profile's competitor list (0 = anchors only; default 2; max 4).
companyUrlsarrayOwler company URLs (https://www.owler.com/company/<slug>), or a .txt / .csv upload. Entries that are not Owler company addresses are dropped.
includeCompetitorsbooleanAdds competitors[] and totalCompetitors (default on).
includeFundingbooleanAdds funding (default on).
includeAcquisitionsbooleanAdds acquisitions[] (default on).
includeInvestmentsbooleanAdds investments[] and firstInvestment (default on).
includeNewsEventsbooleanAdds keyHighlights[] (default on).
includeFinancialHistorybooleanAdds revenueQuarterly[], momentum[] and fundingByYear[] (default on).
includeLeadershipbooleanAdds leadership[] (default on); the ceo field is always included.
includeSocialbooleanAdds social (default on).
maxResultsintegerStop saving companies after this many (default 100; 0 = no limit). Without a preset only the first maxResults URLs are fetched.
maxConcurrencyintegerPages fetched in parallel (default 10; values above 20 are treated as 20).
proxyConfigurationobjectApify proxy settings (default: Apify proxy, automatic selection).

More recipes

  • Lean firmographic rows: {"companyUrls":[{"url":"https://www.owler.com/company/apify"}],"includeCompetitors":false,"includeFunding":false,"includeAcquisitions":false,"includeInvestments":false,"includeNewsEvents":false,"includeFinancialHistory":false,"includeLeadership":false,"includeSocial":false} — 30 fields per row instead of 42 in our test run, same price.
  • Competitor landscape: set preset (for example fintech) and presetDepth to 1 for the anchor companies plus the companies on their Owler competitor lists.

📤 Output

One row per company. A profile Owler doesn't have comes back as a row with every company field empty and an error field; a page that loaded but could not be read comes back with url, error and scrapedAt only. A page that still fails after its retries — blocked or server errors — is only logged, not written. From 25 September 2026 rows with error are not charged.

Always in the row:

FieldDescription
urlOwler profile URL
name / legalNameShort name and full legal name
description / summaryOwler's one-paragraph description and its longer company write-up
website / domain / logoWebsite, root domain, logo image URL
industry / industrySectors / industriesOwler's sectors (comma-joined and as a list) and its broader industry group
ownership / yearFoundedPublic or Private, founding year
headquarters / addressHQ as city, state, country; the street address (street1, street2, city, state, country, zipcode) as Owler shows it
phoneNumberCompany phone number where the profile lists one (1 of 3 test companies)
exchange / tickerStock-listing fields as Owler shows them — in our test ticker was empty for all 3 companies and exchange was filled for 1
ceoThe executive Owler lists as CEO: name, designation (title), rating (Owler approval rating, 0–100), photoUrl, linkedin, twitter
employees / employeesFormatted / employeesRangeEmployee count as a number and as text, and Owler's size band
revenueAmount / revenueFormatted / revenueRangeRevenue as a number, as text (e.g. 5.1B) and as a band
followersOwler followers of the profile
totalAcquisitions / totalInvestmentsTotals shown on the profile
sicCodesSIC codes (2 of 3 test companies)
scrapedAtTimestamp of the scrape
errorMiss rows only — why the profile could not be read

Added by the include switches:

FieldSwitchDescription
competitors[] / totalCompetitorsincludeCompetitorsposition, name, url (Owler), website, logo, proximityScore, ownership, yearFounded, industrySectors, headquarters, employeeCount / employeeRange / employeesFormatted, revenueAmount / revenueFormatted / revenueRange, totalFundingFormatted. The domain key was empty for all 44 competitors in our test run.
fundingincludeFundingtotalAmount, totalFormatted, totalRounds, seoText and rounds[] (date, round, amount, amountFormatted, investors[]). rounds holds the rounds listed on the page — 5 of Stripe's 23 in our run.
acquisitions[]includeAcquisitionscompanyName, shortName, description, owlerUrl, logo, date, amount, amountFormatted, undisclosed, sources[] — the acquisitions listed on the page (Stripe: 5 listed, 22 in total).
investments[] / firstInvestmentincludeInvestmentsCompanies this one invested in: companyId, companyName, teamName, owlerUrl, description, ownership, logo, date, amount (Stripe: 5 listed, 59 in total); firstInvestment is the earliest.
keyHighlights[]includeNewsEventstype (e.g. ai, funding, acquisition, partnership, product_launch), headline, date, sourceUrl, sourceName, owlerReportUrl, mentionCount
revenueQuarterly[] / momentum[] / fundingByYear[]includeFinancialHistoryrevenueQuarterly was empty for all 3 test companies; momentum = metric, changePercentage, direction; fundingByYear = year + amount
leadership[]includeLeadershipname, designation, photoUrl, linkedin, twitter — one person, the CEO, for each test company
socialincludeSocialLinks keyed by network (facebook, linkedin, twitter for all 3 test companies)

Sample — Stripe, from our test run on 2026-09-10 (lists trimmed to one entry; the long summary and source-link texts shortened with …):

{
"url": "https://www.owler.com/company/stripe",
"name": "Stripe",
"legalName": "Stripe, Inc.",
"description": "Stripe is a California-based financial infrastructure platform that offers solutions such as payment processing, VAT automation and invoice management for businesses.",
"summary": "Stripe is a web and mobile platform that allows individuals and businesses to accept online payments. …",
"website": "https://stripe.com/",
"domain": "stripe.com",
"logo": "https://image4.owler.com/logo/stripe_owler_20260318_134635_medium.png",
"industry": "Fintech Software",
"industries": [
"Banking, Financial Services and Insurance"
],
"industrySectors": [
"Fintech Software"
],
"ownership": "Private",
"yearFounded": 2009,
"headquarters": "San Francisco, California, USA",
"address": {
"street1": "185 Berry Street",
"street2": "Suite 550",
"city": "San Francisco",
"state": "California",
"country": "USA",
"zipcode": "94107"
},
"phoneNumber": "1-415-298-5539",
"exchange": null,
"ticker": null,
"ceo": {
"name": "John Collison",
"designation": "President",
"rating": 64,
"photoUrl": "https://image4.owler.com/ceo/John_Collison_owler_20240726_224858_original.png",
"linkedin": "https://www.linkedin.com/in/johnbcollison/",
"twitter": "https://twitter.com/collision"
},
"leadership": [
{
"name": "John Collison",
"designation": "President",
"photoUrl": "https://image4.owler.com/ceo/John_Collison_owler_20240726_224858_original.png",
"linkedin": "https://www.linkedin.com/in/johnbcollison/",
"twitter": "https://twitter.com/collision"
}
],
"employees": 8200,
"employeesFormatted": "8,200",
"employeesRange": "5,000 - 10,000",
"revenueAmount": 5100000000,
"revenueFormatted": "5.1B",
"revenueRange": "$5B - 10B",
"followers": 318790,
"totalAcquisitions": 22,
"totalInvestments": 59,
"acquisitions": [
{
"companyName": "OpenRouter, Inc.",
"shortName": "OpenRouter",
"description": null,
"owlerUrl": "https://www.owler.com/company/openrouter",
"logo": "https://image4.owler.com/logo/openrouter_owler_20260817_061632_small.png",
"date": "Aug 2026",
"amount": "7500000000",
"amountFormatted": "7.5B",
"undisclosed": null,
"sources": [
"https://www.digitimes.com/news/a20260817VL203/ai-startup-acquisition-data-price-switch.html"
]
}
],
"investments": [
{
"companyId": 16549136,
"companyName": "Archive",
"teamName": "archivetechnologiesinc",
"description": "Archive is a Florida-based digital platform that offers solutions such as community marketing infrastructure and automation for E-commerce merchants.",
"ownership": "Private",
"owlerUrl": "https://www.owler.com/company/archivetechnologiesinc",
"logo": "https://image4.owler.com/logo/archive_owler_20260902_202811_original.png",
"date": "Sep 01, 2026",
"amount": null
}
],
"firstInvestment": {
"companyId": 12406602,
"companyName": "StdLib",
"teamName": "stdlib",
"description": "StdLib provides a serverless API that allows developers to write syntaxes from simple functions to complex business logic before deploying their code.",
"ownership": "Private",
"owlerUrl": "https://www.owler.com/company/stdlib",
"logo": "https://image4.owler.com/logo/stdlib_owler_20170629_070218_original.png",
"date": "May 30, 2018"
},
"keyHighlights": [
{
"type": "investment",
"headline": "Stripe, Inc. has invested $0 in Archive Technologies, Inc.",
"date": "2026-09-01T18:30:00.000Z",
"sourceUrl": "http://www.businesswire.com/news/home/20260902447895/en/Archive-Closes…",
"sourceName": "http://www.businesswire.com/news/home/20260902447895/en/Archive-Closes…",
"owlerReportUrl": null,
"mentionCount": 8
}
],
"revenueQuarterly": [],
"momentum": [
{
"metric": "revenue",
"changePercentage": "0.4%",
"direction": "up"
}
],
"fundingByYear": [
{
"year": "2010",
"amount": 1800000
}
],
"sicCodes": [
"7373"
],
"funding": {
"totalAmount": 9787455541,
"totalFormatted": "9.8B",
"totalRounds": 23,
"seoText": "Since Stripe was founded in 2009, it has participated in 23 rounds of funding. In total Stripe has raised $9.8B. Stripe's last funding round was on Mar 2026 for a total of $14.6M",
"rounds": [
{
"date": "Mar 2026",
"round": "Venture Round",
"amount": 14577645,
"amountFormatted": "14.6M",
"investors": []
}
]
},
"competitors": [
{
"position": 1,
"name": "Rapyd",
"url": "https://www.owler.com/company/rapydlimited",
"website": "https://www.rapyd.net/",
"domain": null,
"logo": "https://image4.owler.com/logo/rapyd_owler_20191030_135043_small.png",
"proximityScore": 100000,
"ownership": "Private",
"yearFounded": 2016,
"industrySectors": [
"Retail & Business Banking"
],
"headquarters": "London, England, GB",
"employeeCount": 850,
"employeeRange": "500 - 1,000",
"employeesFormatted": "850",
"revenueAmount": 105000000,
"revenueFormatted": "105M",
"revenueRange": "$100M - 500M",
"totalFundingFormatted": "1.3B"
}
],
"totalCompetitors": 23,
"social": {
"linkedin": "https://www.linkedin.com/company/stripe/",
"facebook": "https://www.facebook.com/StripeHQ/",
"twitter": "https://twitter.com/stripe"
},
"scrapedAt": "2026-09-10T14:52:47.870Z"
}

💼 Use cases

1. Competitive intelligence — who competes with you, and how big they are. Input: your company's Owler URL. Output: competitors with proximity score, revenue, employees and HQ. Use: a competitor map.

2. Deal tracking — funding and M&A on a watch list. Input: the Owler URLs of the companies you follow. Output: funding rounds, acquisitions, investments, news highlights. Use: spot new deals on a schedule.

3. Market mapping — a sector in one run. Input: a sector preset. Output: anchor companies plus the companies on their competitor lists, with firmographics. Use: a market landscape.

4. Account research — brief the team on a target account. Input: the account's Owler URL. Output: description, HQ, the CEO, social links and — where the profile lists one — a phone number. Use: an account one-pager.

🔗 Integration

JavaScript / Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('foxlabs/owler-intelligence').call({"companyUrls":[{"url":"https://www.owler.com/company/apify"},{"url":"https://www.owler.com/company/stripe"},{"url":"https://www.owler.com/company/openai"}],"maxResults":100});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items[0]);

Python

from apify_client import ApifyClient
client = ApifyClient('YOUR_TOKEN')
run = client.actor('foxlabs/owler-intelligence').call(run_input={"companyUrls": [{"url": "https://www.owler.com/company/apify"}, {"url": "https://www.owler.com/company/stripe"}, {"url": "https://www.owler.com/company/openai"}], "maxResults": 100})
for item in client.dataset(run['defaultDatasetId']).iterate_items():
print(item)

Automation (n8n / Zapier / Make): schedule or webhook → HTTP request to the Actor API with your companyUrls → handle the JSON dataset → push to a sheet, CRM or dashboard.

📊 Pricing

Pay-per-event: $0.004 per delivered company record (≈ $4 per 1,000 companies), plus Apify's run-start event ($0.00005 per GB of run memory). The include switches change the size of a row, not its price. With a preset, pages already in progress when maxResults is reached still finish, so a preset run can save — and charge for — slightly more companies than maxResults. From 25 September 2026, rows that only report a failed lookup (error) are free. Until then Apify still counts them as dataset items. Current pricing.

❓ FAQ

Where does the data come from? From Owler's public company profile pages (owler.com/company/…): the Actor reads the company data embedded in each page. No login and no Owler account are needed.

Can I look companies up by name? Not in this Actor — give Owler URLs or a preset. Company Data Enrichment matches names and domains to Owler profiles.

How does a preset work? It starts from the sector's anchor companies (for fintech: Stripe, PayPal, Square, Adyen, Klarna and others) and, for every profile, queues the companies on its Owler competitor list, up to presetDepth hops. Anchors are always kept; companies found through competitor lists are kept only when their Owler industry matches the sector's keywords.

Why are ticker and revenueQuarterly empty? Both are passed through from the page; they were empty for all three companies in our 2026-09-10 test run.

Do the include switches change the price? No. The price is per company; switching them off only makes rows smaller (30 fields instead of 42 in our test).

Can I export to CSV / Excel / JSON? Yes — directly from the Apify dataset.

🐛 Troubleshooting

  • A URL comes back as an error row — the slug is wrong. Owler's slug is not always the company name (Datadog is datadoghq, Notion is notion1); copy the address from owler.com.
  • The run fails with "None of the … supplied entries is an Owler company reference"companyUrls contained no Owler company addresses.
  • A preset run returns fewer companies than maxResults — the anchors' competitor lists, presetDepth and the sector filter limit what is found; raise presetDepth (max 4).
  • A list such as acquisitions is empty — the profile has none (Apify had no acquisitions, investments or news highlights in our test), or the matching include switch is off.

The Actor reads publicly accessible company profile pages. CEO and leadership names, photos and social links are personal data under the GDPR and similar laws — process them only with a lawful basis, and check that your use fits the source website's terms. Owler is a trademark of its owner; this Actor is not affiliated with Owler.

🤝 Support & contact

Changelog

1.9.46 — 2026-09-10 — failed lookups become free (per-record billing) + README corrected

  • Input and output texts corrected: maxConcurrency says the Actor caps it at 20, and the output schema no longer carries another Actor's title.
  • You will pay only for delivered company records. The Actor now charges a new company-record event for each delivered company, and rows that only report a failed lookup (error) are pushed without a charge (src/billing.js; the record push in src/main.js now goes through pushRecord, the two error-row pushes stay plain).
  • Timing: Apify applies pricing changes after a 14-day notice. From 25 September 2026 the pricing switches from the per-dataset-item event to company-record at the same price ($0.004). Until then billing is exactly as before; the code detects the switch by itself.
  • No output field changed.
  • README corrected. The 2026-09-07 README documented inputs this Actor does not have (queries, maxResultsPerQuery, includeRaw) with a placeholder (undefined) example, said it takes company names and supports registry-ID lookup (it takes Owler URLs or a sector preset), called industry a NACE code and employees a registered count, and promised status / legal form / formation date, "formation / status monitoring", "every row carries query", "no empty-promise columns" and "empty/failed lookups never billed". The new README describes the real inputs, all 42 output fields and billing, checked on local runs.
  • Correction to 1.9: ticker and revenueQuarterly were not removed — both are still in the row (revenueQuarterly while the financial-history switch is on), and both came back empty for all three companies we tested. The older entries below are kept as written; the 1.0 entry's "by name or registry ID" was also wrong.

1.9 — 2026-09-07

  • Dropped empty-promise columns. Removed ticker, revenueQuarterly — Owler company-intelligence profiles does not carry them, so they were shipped as always-null columns. Only fields this source actually fills are now emitted.
  • Enabled AI-agent payments (x402) + rebuilt the README to the full standard (What-is / when, AI-agents + x402 agentic payments + MCP, Overview, Features, Use cases, Integration, FAQ, Troubleshooting, Support & contact).

1.0

  • Initial release: data from Owler company-intelligence profiles by name or registry ID.