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 deck | Public evidence | Call | Credits |
|---|---|---|---|
| "Category leader" | Google position on category keywords, target vs. competitors | serp_rank | 5 per domain per keyword |
| "Premium pricing, no discounting" | The target's and competitors' pricing pages | scrape + question | 3 per page |
| "Customers love us" | What users say on Reddit | reddit_search | 5 |
| "Scaling the sales team" | Open roles on the careers page | scrape | 2 |
| "A fragmented field of weak competitors" | Who else the web names in the category | deep_research | 10 |
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:
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:
{
"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:
| Line | Calls | Credits |
|---|---|---|
| Rank checks: 8 keywords × 4 domains | 32 | 160 |
| Pricing pages: 4 pages × 2 questions | 8 | 24 |
| Careers page | 1 | 2 |
| Customer voice: 3 Reddit searches | 3 | 15 |
Landscape: one deep_research run | 1 | 10 |
| Total | 45 | 211 |
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.txtis 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.