---
title: "Competitive intelligence"
description: "Competitive intelligence data from competitor sites, G2 and Capterra reviews, job boards and partner directories, structured for battlecards and win/loss."
canonical: https://www.zenrows.com/use-cases/competitive-intelligence
updated: 2026-10-18
---

# Competitive intelligence

Competitive intelligence is the practice of collecting and analysing what competitors do in the market, including pricing, hiring, launches, reviews and partnerships, to inform strategy, sales battlecards and win/loss analysis. Zenrows collects those signals from competitor sites, review platforms and job boards as structured JSON, so analysts work from one comparable record per competitor.

## Sample output: one competitor, one quarter

```json
{
  "competitor": "Example Rival Inc.",
  "domain": "example-rival.com",
  "period": "2026-Q3",
  "pricing": {
    "plans": ["Starter", "Team", "Enterprise"],
    "entry_price_usd": 29,
    "change_vs_last_period": "Team plan raised from $39 to $49"
  },
  "hiring": {
    "open_roles": 64,
    "by_function": { "engineering": 22, "sales": 19, "customer_success": 8, "marketing": 6, "other": 9 },
    "new_locations": ["Berlin"]
  },
  "reviews": {
    "rating": 4.4,
    "review_count": 1182,
    "new_reviews_in_period": 74,
    "top_complaint_theme": "pricing transparency"
  },
  "launches": [{ "date": "2026-08-12", "title": "Audit logs", "source": "changelog" }],
  "partners": { "integrations_listed": 118, "added_in_period": ["Snowflake", "HubSpot"] },
  "sources": 23
}
```

An illustrative quarterly record that rolls up 23 pages for one competitor, each kept with its URL and fetch date so every number traces back to a page.

## What competitive intelligence teams collect

A competitive intelligence program watches every competitor and the sources around them. The useful signals sit on six kinds of source, and each one feeds a different decision.

| Job | Data you collect | Typical sources |
|---|---|---|
| Pricing and packaging analysis | Plans, list prices, usage limits, add-ons, discount terms | Competitor pricing pages, AWS Marketplace and Azure Marketplace listings |
| Hiring and org signals | Open roles by function, seniority and location | Careers pages, Indeed, LinkedIn Jobs, Greenhouse and Lever boards |
| Review and win/loss mining | Ratings, pros and cons, reasons for switching, reviewer company size | G2, Capterra, TrustRadius, Trustpilot, Reddit threads |
| Partner and integration mapping | Integrations, marketplace apps, technology partners | /integrations pages, Salesforce AppExchange, Shopify App Store |
| Funding and company moves | Funding rounds, acquisitions, executive hires, new offices | Crunchbase, press release wires, company newsrooms |
| Customer and segment tracking | Case studies, customer logos, industries and regions served | Customer story pages, webinar pages, event sponsor lists |

## Why competitive intelligence data is hard to collect

A CI program pulls from dozens of site types, and each fails in its own way. The hard part is keeping twenty competitors comparable quarter after quarter, with sources a sales leader will trust.

| What breaks | What it looks like | How Zenrows handles it |
|---|---|---|
| Review platforms block automation | Large review platforms return challenge pages or a partial review list | Adaptive Stealth Mode escalates to browser rendering and Zenrows' stealth only when the page needs it, so the full review page comes back |
| Every source has its own layout | Careers pages on three ATS vendors, five pricing table designs | Extract returns structured fields without a selector set per site |
| Lists that load on demand | Reviews and job lists show ten items until you click or scroll | Page actions click "load more" and scroll before Zenrows returns the page |
| Claims nobody can trace | A battlecard figure that no one can link back to a page | Every Batch task carries your `external_id`, so each record keeps its competitor, source and date |
| Scope keeps growing | Analysts add a competitor or a source every month | Crawl finds new pages per domain, and Batch takes the extra URLs in the same job |

## How to build competitive intelligence with Zenrows

1. **Write the signal map.** For each competitor, list the source per signal: pricing page, careers board, review profile, integrations directory, newsroom.
2. **Discover the URLs.** Run Crawl on each competitor domain with include patterns such as `/customers/` and `/integrations/`.
3. **Extract structured records.** Send each URL to Extract for automatic structured fields, or name the fields with CSS selectors where you want fixed field names across quarters.
4. **Refresh by cadence.** Batch pricing and reviews weekly, hiring and partners monthly, and store each result with its URL and date.
5. **Turn records into briefs.** Hand the dataset to analysts, or to an agent over the MCP Server, to draft battlecard and win/loss updates.

```python Python
# pip install requests
import requests

params = {
    "apikey": "YOUR_ZENROWS_API_KEY",
    "url": REVIEW_PAGE_URL,  # a competitor's profile on a review platform
    "mode": "auto",  # Adaptive Stealth Mode
    "extract": "auto",
}
response = requests.get("https://api.zenrows.com/v1/", params=params)
reviews = response.json()
print(reviews)
```

```javascript Node.js
// Node 18+, run as an ES module. One job for a week of competitor sources.
const res = await fetch("https://async.api.zenrows.com/v1/jobs", {
  method: "POST",
  headers: { "X-API-Key": "YOUR_ZENROWS_API_KEY", "Content-Type": "application/json" },
  body: JSON.stringify({
    type: "regular",
    status: "closed",
    zenrows_params: { mode: "auto", extract: "auto" },
    tasks: [
      { url: "RIVAL_A_PRICING_URL", external_id: "rival-a|pricing|2026-w42" },
      { url: "RIVAL_A_CAREERS_URL", external_id: "rival-a|hiring|2026-w42" },
      { url: "RIVAL_B_REVIEWS_URL", external_id: "rival-b|reviews|2026-w42" },
    ],
  }),
});
console.log(await res.json()); // results arrive by webhook or GET /v1/jobs/{id}/results
```

```bash CLI
npx -y @zenrows/cli init
zenrows extract https://example-rival.com/plans --autoparse
zenrows crawl create https://example-rival.com --include-patterns /integrations/ --max-pages 300 --output-format markdown --follow
```

```text Claude Code (MCP)
# Connect once
claude mcp add zenrows -e ZENROWS_API_KEY=YOUR_ZENROWS_API_KEY -- npx -y @zenrows/mcp

# Then ask:
Use Zenrows to read the pricing, integrations and careers pages of
example-rival.com. Compare them with last quarter's battlecard below and
list what changed, with the source URL for every change.
```

## Which Zenrows product fits

| If you need to | Use | Why |
|---|---|---|
| Pull one competitor page into a brief | [Fetch](/products/fetch) | One request returns the rendered page, from protected review sites included |
| Get pricing, review or job fields without per-site selectors | [Extract](/products/extract) | Automatic structured JSON that adapts when a layout changes |
| Map every customer story or integration page on a rival's domain | [Crawl](/products/crawl) | Collects the URLs that match your patterns and skips the rest |
| Refresh twenty competitors' sources every week | [Batch](/products/batch) | Hundreds of URLs as one job, each tagged with your own ID |
| Let analysts ask questions about competitors in Claude or Cursor | [MCP Server](/mcp) | The agent reads live pages and cites them in its answer |

## What success looks like

| Measure | What good looks like | How to check it |
|---|---|---|
| Competitor coverage | Every named competitor has a current record for every signal type | Count empty signal fields per competitor at the end of each quarter |
| Source traceability | Every claim on a battlecard links to a URL and a fetch date | Spot-check battlecard claims at each release |
| Signal-to-brief time | A pricing change or launch reaches the battlecard within one refresh cycle | Compare the record date with the battlecard's last update |
| Comparability | The same fields exist for every competitor, so quarter-over-quarter charts hold | Validate each run against your schema and report missing fields |
| Sales use | Reps open the battlecard before competitive deals | Compare battlecard views in your enablement tool with competitive opportunities in the CRM |
| Analyst time | Most analyst hours go to analysis rather than page collection | Log hours spent collecting versus analysing each month |

## Competitive intelligence FAQ

### What is competitive intelligence?

Competitive intelligence (CI) is the ongoing collection and analysis of information about competitors and the market, used to make better product, pricing, marketing and sales decisions. Most of the raw material is public: pricing pages, job postings, reviews, changelogs, partner directories, press releases and funding news. A CI team turns it into battlecards, win/loss reports and strategy briefs.

### What data sources feed a competitive intelligence program?

Six source types cover most programs: competitor websites (pricing, product, changelog, customers), review platforms such as G2 and Capterra, job boards and careers pages, partner marketplaces and integration directories, company databases such as Crunchbase, and news and press release wires. Add community forums like Reddit when buyers discuss your category there.

### How does Zenrows fit with competitive intelligence tools?

Competitive intelligence platforms organise, score and distribute the intel to your teams. Zenrows is the collection layer underneath: it reaches the protected and dynamic sources and returns structured data, which you load into your warehouse, your CI platform or a spreadsheet. Teams use it to add sources their CI tool does not cover, or to own the full pipeline.

### Can I track competitor hiring?

Yes. Careers pages and job boards show which teams a competitor is building and where. Run Extract on each competitor's careers page, often hosted on Greenhouse, Lever or Ashby, and count roles by function and location each month. A jump in sales roles in one region is an early sign of a market push. See job scraping for job board coverage.

### How do I use web data for win/loss analysis?

Reviews are a large public record of why buyers switch. Reviewers on G2, Capterra and TrustRadius often name the product they switched from and why. Collect every review for your competitors with Adaptive Stealth Mode, tag the switching reasons, and compare them with the loss reasons your sales team records. When reviewers keep citing a reason your team never logs, such as onboarding time or support response, add it to the loss form and the battlecard.

### Is it legal to collect competitive intelligence from the web?

Collecting publicly available information, such as published prices, job postings and public reviews, is standard CI practice. Stay on public pages, respect each site's terms, avoid personal data you have no basis to process, and never misrepresent who you are to obtain information. Your legal team should review your sources and use, especially for review text and anything about individuals.

### How often should competitive intelligence data be refreshed?

Match the cadence to how fast each signal moves. Pricing pages and review profiles change often enough to check weekly. Hiring, partner directories and customer pages move more slowly, so a monthly pass is usually enough. Funding and press news is worth a daily check on your top competitors. Run each cadence as its own Batch job so a weekly pricing refresh never waits on a monthly crawl.

## Related use cases

- [Competitor monitoring](https://www.zenrows.com/use-cases/competitor-monitoring.md): Pricing pages, changelogs, feature pages and job posts on rival sites, snapshotted and diffed on every run.
- [Market research web scraping](https://www.zenrows.com/use-cases/market-research-web-scraping.md): Assortments, prices, reviews and forum talk across a whole category, for sizing studies and recurring trackers.
- [Review scraping](https://www.zenrows.com/use-cases/review-scraping.md): Review text, ratings, dates and replies from Amazon, Google, Yelp, Trustpilot and G2, every page.
- [Job scraping](https://www.zenrows.com/use-cases/job-scraping.md): Job postings, salary ranges and hiring signals from job boards and ATS career pages, as one feed.
- [Firmographic data](https://www.zenrows.com/use-cases/firmographic-data.md): Industry, headcount, HQ, locations and funding per company, built from registries, company sites and directories.

Start free: https://app.zenrows.com/register. Docs: https://docs.zenrows.com
