Skip to content

CrawlForge TeamEngineering Team

4 min read

Market Research API for Due Diligence: Test the Claims

Commercial due diligence starts with the target's own story. The CIM says it is the category leader, prices at a premium, has customers who love it and is scaling its sales team. Your job before the investment committee is to find out which of those sentences the outside world agrees with.

A market research api for due diligence is useful for exactly that: testing management's claims against public evidence, quickly, with a source and a timestamp on every finding. CrawlForge is the web layer for it. It reads the public pages and search results you point it at. It does not see your data room and holds no market-size data. The registry and counterparty side of diligence is a different job, covered in the MCP server for due diligence post.

Which management claims can the public web test?

More than most teams check. Each common claim has a public trace and one call that reads it:

Claim in the deckPublic evidenceCallCredits
"Category leader"Google position on category keywords, target vs. competitorsserp_rank5 per domain per keyword
"Premium pricing, no discounting"The target's and competitors' pricing pagesscrape + question3 per page
"Customers love us"What users say on Redditreddit_search5
"Scaling the sales team"Open roles on the careers pagescrape2
"A fragmented field of weak competitors"Who else the web names in the categorydeep_research10

None of these proves or disproves a claim alone. What they do is turn a sentence in a deck into a specific question for the management meeting.

How do you test "category leader"?

Leadership is partly a claim about being found. Run serp_rank on the eight or ten keywords a buyer in this category would type, once for the target and once for each competitor the CIM names, since each call locates one domain:

Bash
curl -X POST https://crawlforge.dev/api/v1/tools/serp_rank \
  -H "X-API-Key: cf_live_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "keyword": "accounts payable automation",
    "target": "target-company.com",
    "location_name": "United States"
  }'

The response carries found, rank, the ranking url, every position the domain holds and checked_at. A number-one rank is not market share. But a self-described leader missing from the top 100 on its own category terms, while two named competitors hold the top three, is a question worth asking before it is a surprise after closing.

How do you check pricing and hiring against the deck?

Ask the pricing page directly. A scrape call with a question format returns the five sentences on the page that best answer it, verbatim, each with an offset into the page's markdown:

Json
{
  "url": "https://target-company.com/pricing",
  "formats": ["markdown", { "type": "question", "question": "Is there a discount for annual billing?" }]
}

Run the same question on each competitor's pricing page and you have a like-for-like comparison in four calls. The answer is a locator, not a verdict; the RevOps post explains why that is the safer design.

Hiring is simpler. Scrape the careers page and count the sales roles yourself. A deck that promises to double the sales team, next to a careers page with two open sales roles, is another question for management.

What does one target cost?

A full pass on one target with three named competitors:

LineCallsCredits
Rank checks: 8 keywords × 4 domains32160
Pricing pages: 4 pages × 2 questions824
Careers page12
Customer voice: 3 Reddit searches315
Landscape: one deep_research run110
Total45211

That is about 60 cents at the one-time 1,000-credit pack rate ($3), and the free tier's 1,000 credits cover four targets. Every row comes back with a URL and a timestamp (checked_at, scraped_at, or a Reddit permalink with its date), which is what lets a finding sit in the evidence file next to the claim it tests.

What won't it do?

  • No market sizing. No TAM, panels or survey data. The market model still comes from a report or an expert network.
  • No data room access. It reads public URLs only. Keep the CIM and management accounts where they are.
  • No customer interviews. Reddit threads are a signal, not a sample; they tell you which questions to put to reference customers.
  • robots.txt is respected by default. A disallowed page is refused before it is fetched and costs nothing.

If the deal signs and you want to know when the target or a competitor changes its pricing page, that is monitoring, covered in the MCP server for due diligence post.

Start free with 1,000 credits and run the pass above on your current target before the next management meeting.

Try this yourself — no signup needed

Explore all 31 CrawlForge scraping and extraction tools in the playground, then start free with 1,000 credits.

1,000 free credits • One-time • No credit card required

Tags

  • due diligence
  • market research
  • private equity
  • serp_rank
  • scrape
  • reddit_search
  • b2b

About the Author

CrawlForge Team

Engineering Team

Building the most comprehensive web scraping MCP server. We create tools that help developers extract, analyze, and transform web data for AI applications.

Newsletter

Stay updated with the latest insights

Get tutorials, product updates, and web scraping tips delivered to your inbox.

No spam. Unsubscribe anytime.

FAQ

Frequently asked questions

01Can a market research API replace a commercial due diligence provider?

No. CrawlForge holds no market-size estimates, panels, survey data, expert-call transcripts or firmographics. It reads the public pages and Google results you point it at and returns what they say, with a URL and a timestamp. In a deal that makes it the layer that tests management's claims against the public web, alongside the market model and customer calls you would commission anyway.

02Does a target's search ranking say anything about market position?

Not on its own. serp_rank reports where a domain sits in Google's organic results for one keyword, in a given country and device, at the moment it was checked. That is a measure of visibility, not revenue or share. It becomes useful when it contradicts the deck, for example a self-described leader absent from the top 100 on its own category terms, because that gives you a specific question for management.

03Can I run this without the target knowing?

The calls read public pages and public search results, the same pages any visitor sees, so nothing is sent to the target. CrawlForge identifies itself to the sites it fetches and respects robots.txt by default, so a page the target has disallowed is refused rather than fetched, and that call is not charged.

04How do I keep the evidence for the investment committee memo?

Store each response next to the claim it tests. serp_rank returns checked_at and the ranking URL, scrape returns scraped_at and the verbatim evidence sentences with offsets into the page's markdown, and reddit_search returns each post's permalink and date. Those fields are enough to show where a finding came from and when it was true.

05Do I need a subscription to run diligence on one deal?

No. The free tier is a one-time 1,000 credits, enough for about four targets at the pass described in this post. After that, one-time credit packs cost $3 for 1,000 credits and $14 for 5,000, so a team that runs diligence a few times a year can buy credits per deal instead of paying monthly.

Keep reading

Related Articles