Acquire.com Scraper — Startup Marketplace Listings
Pricing
from $1.50 / 1,000 listing scrapeds
Acquire.com Scraper — Startup Marketplace Listings
Scrape Acquire.com startup listings for sale: asking price, multiples, TTM revenue & profit, growth, category, tech stack, trust signals. Filters by category, price, revenue, profit, keywords. MCP-ready.
Pricing
from $1.50 / 1,000 listing scrapeds
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
4 days ago
Last modified
Categories
Share
What this Actor does
Micro-PE buyers, search funds, M&A advisors, and AI agents use this Actor to extract Acquire.com startup marketplace listings into a clean dataset: asking price, revenue and profit multiples, TTM revenue and profit, last-month revenue, ARR, annual growth, customers, category, location, tech stack, business model, selling reasons, financing options, and seller trust signals (P&L documents, recast financials, Guided by Acquire). It reads the public listing sitemap and public listing pages over plain HTTP — no Acquire.com account, cookies, or login required.
| Data group | Fields you receive |
|---|---|
| Deal terms | askingPrice, currency, revenueMultiple, profitMultiple, askingPriceReasoning, isPriceReduced |
| Financials | ttmRevenue, ttmProfit, lastMonthRevenue, lastMonthProfit, arr, annualGrowthRatePct, metrics{} |
| Business profile | title, category, location, dateFounded, teamSize, businessModel[], techStack[], customers, churnRate |
| Seller story | description, sellingReasons[], growthOpportunities[], competitors[], keyAssets[], financing[] |
| Trust signals | pnlDocumentCount, supportingFileCount, hasRecastFinancials, isGuidedByAcquire, hasTrustSignal, badges[] |
| Provenance | listingId, url, lastModified, dataAccessLevel, source, scrapedAt |
Best fit for this Actor
- Build a deal-flow feed of SaaS, Ecommerce, Mobile, Shopify App, AI, Agency, Content, and Marketplace businesses for sale
- Screen listings by asking price, TTM revenue, and TTM profit before opening them in a browser
- Rank the scanned set by lowest revenue or profit multiple, highest revenue, or lowest price
- Keep only listings that show seller trust signals (P&L documents, recast financials, or Guided by Acquire)
- Refresh specific listings you already track by pasting their URLs or 10-character IDs
This Actor is designed for the public listing preview that every visitor sees. When your thesis also needs the investors behind a category, continue with Startup Investors Scraper. For accelerator-backed companies to compare against marketplace listings, pair it with Y Combinator Scraper. For newly launched products that may become acquisition targets later, use Product Hunt Scraper Pro.
Practical scenario
A search-fund analyst wants profitable SaaS businesses under $500k. She selects the SaaS category, sets maxAskingPrice to 500000, minProfit to 1, sorts by profitHighToLow, and schedules the Actor every morning. Each pass scans the most recently updated public listings, keeps the matches, and returns them ranked by TTM profit. She then exports the dataset to a spreadsheet, compares multiples against her target range, and opens the top listings on Acquire.com to request access.
Quick start input
{"categories": ["SaaS"],"maxAskingPrice": 500000,"minProfit": 1,"sortBy": "profitHighToLow","maxItems": 10,"maxListingsToScan": 300}
Refresh known listings instead of scanning the catalog:
{"startUrls": [{ "url": "https://app.acquire.com/public/oa2pfifwmk-high-traffic-social-app-with-1-000-000-down" },{ "url": "https://app.acquire.com/startup/8m6f9n3zlz" }]}
Input reference
| Field | What it controls |
|---|---|
startUrls[] | Optional Acquire.com listing URLs (/public/..., /startup/...) or 10-character listing IDs. When set, only these listings are fetched. |
maxItems | Maximum listings saved and billed (default 20, prefill 3) |
categories[] | SaaS, Ecommerce, Mobile, Shopify App, AI, Agency, Content, Marketplace, Digital, Main Street, Other |
keywords[] | Match words in the title or description; listings with matching URL slugs are scanned first |
minAskingPrice / maxAskingPrice | Asking price range in USD |
minRevenue / maxRevenue | TTM revenue range in USD |
minProfit / maxProfit | TTM profit range in USD (negative values allowed) |
sortBy | recentlyUpdated, oldestUpdated, askingPriceLowToHigh, askingPriceHighToLow, revenueHighToLow, profitHighToLow |
hideUnderOffer | Skip listings marked under offer or unavailable (default true) |
verifiedOnly | Keep only listings with a trust signal: P&L documents, recast financials, or Guided by Acquire |
maxListingsToScan | How many public listings to inspect (default 300). It also caps direct URLs. Value sorts rank within this scanned set. |
proxyConfiguration | Direct requests by default. Set an Apify Proxy explicitly when your permitted workflow needs it; proxy usage costs extra. |
What data you receive
One dataset item is one public Acquire.com listing.
{"listingId": "oa2pfifwmk","url": "https://app.acquire.com/public/oa2pfifwmk-high-traffic-social-app-with-1-000-000-down","title": "High Traffic Social App with 1,000,000+ Downloads","category": "Mobile","location": "Cyprus","askingPrice": 100000,"currency": "USD","revenueMultiple": 0.3,"profitMultiple": 1.2,"annualGrowthRatePct": 974,"ttmRevenue": 351000,"ttmProfit": 80600,"customers": "5,000+ paying users","techStack": ["React Native"],"pnlDocumentCount": 1,"hasRecastFinancials": false,"isGuidedByAcquire": false,"hasTrustSignal": true,"isUnderOffer": false,"lastModified": "2026-09-28T00:00:00.000Z","dataAccessLevel": "PUBLIC_PREVIEW","source": "acquire.com","scrapedAt": "2026-09-30T08:00:00.000Z"}
| Field | Meaning |
|---|---|
askingPrice / currency | Seller's asking price from the listing's structured data |
revenueMultiple / profitMultiple | Multiples shown on the listing (null when the listing omits one) |
ttmRevenue / ttmProfit | Trailing-twelve-month revenue and profit in USD |
annualGrowthRatePct | Annual growth rate shown on the listing |
metrics | Every metric card label and value exactly as displayed |
hasTrustSignal | true when the listing has P&L documents, recast financials, or Guided by Acquire |
dataAccessLevel | Always PUBLIC_PREVIEW — the public view any visitor sees |
Download JSON, CSV, or Excel from the dataset. The key-value store records OUTPUT and RUN_SUMMARY report the outcome (COMPLETE, PARTIAL, VALID_EMPTY, INVALID_INPUT, UPSTREAM_FAILED, or CONFIG_ERROR) plus scan statistics and charged event counts.
Use through the API
curl "https://api.apify.com/v2/acts/khadinakbar~acquire-com-scraper/runs" \-H "Authorization: Bearer $APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"categories":["SaaS"],"maxAskingPrice":500000,"sortBy":"profitHighToLow","maxItems":10}'
Read rows from the defaultDatasetId once the status is SUCCEEDED, then check OUTPUT.outcome in the default key-value store.
Use with AI agents through Apify MCP
Find up to five profitable SaaS businesses for sale on Acquire.com under $300k, ranked by highest TTM profit. Return title, asking price, TTM revenue, TTM profit, multiples, and the listing URL.
Keep maxItems small for agent calls, read OUTPUT.outcome to confirm the result type, and keep url plus scrapedAt as provenance for each listing. In the Apify MCP integration, discover the Actor, read its input schema, then call it with the explicit Actor identity and complete input. Read the resulting run and dataset handles to retrieve rows. Hosted-client execution is a separate check from the REST tests.
Pricing
This Actor uses Pay per event plus Apify platform usage. The live Pricing tab is the current source of truth.
apify-actor-start: $0.00005 per startlisting-scraped: $0.0015 per saved listing
Ten saved listings cost one start event plus ten listing-scraped events ($0.01505 before platform usage). Only saved listings are billed — VALID_EMPTY and INVALID_INPUT outcomes charge no listing events.
Each complete record is validated before a serialized SDK write-and-event call. Concurrent fetches share a single result limit, and the named listing event is counted separately from synthetic SDK events. A caller charge cap can stop a run with PARTIAL output. Platform compute, proxy traffic and storage remain additional costs.
If a run is resurrected, it preserves its existing dataset and stops with an actionable diagnostic instead of replaying writes and charges. Review those rows and charges, then start a fresh run if more listings are needed. Transparent checkpoint continuation and cross-run change tracking are outside this version's scope.
Best results
- Start with the prefill (three listings) to confirm the fields match your workflow, then raise
maxItems. - Combine a category with price, revenue, or profit ranges for a focused deal feed.
- Raise
maxListingsToScanfor narrow filters or value sorts so more of the catalog is ranked. - Use
startUrlsto refresh listings you already track; it is the quickest mode. - Schedule the Actor daily with
sortBy: recentlyUpdatedto catch new and edited listings first.
Builder's note
I built this after mapping Acquire.com's public surface. I found that every public listing is in the sitemap with a last-modified date, and each listing page renders its financial metric cards, tech stack, and trust badges server-side alongside structured product data. That made a lean HTTP-only design possible: no browser, no account, and a clear public-preview contract. Seller identity and the data room stay behind Acquire's NDA flow, so the dataset focuses on the deal metrics buyers use to decide which listings to open.
Responsible use
Use this Actor only with permission covering your collection and intended data use. Acquire.com's Terms of Use prohibit automated access; public availability alone does not grant collection permission. Confirm important figures with the seller through Acquire.com before any transaction. This Actor reads public pages only and leaves seller identity, NDA-gated data rooms, and account features untouched.
"Acquire.com" is a trademark of its owner. This independent Actor is not affiliated with, associated with, or endorsed by Acquire.com.