INTERNAL PLANNING DOCUMENT

API Competitive Analysis

What Mars API needs to offer to compete with Crunchbase, PitchBook, and CB Insights

Executive Summary

The Opportunity: Competitors charge $20K-50K+ for API access with strict rate limits (200 calls/min for Crunchbase). Mars can undercut on price while offering superior real-time data and predictive signals they don't have.

Key Differentiators: Real-time news integration (sub-1 hour latency), predictive signals (CFO hire = sale prep), and relationship graph intelligence that competitors require manual research to obtain.

Target Customers: Developers building LLM apps, sales/CRM tools, investment analytics platforms, and internal data warehouses who need programmatic access to private company data.

API Capabilities Matrix

Side-by-side comparison of what each platform offers

Capability Crunchbase PitchBook CB Insights Mars (Target)
Company Profiles
1M+ companies
3M+ companies
Private only
48K+ (expanding to 1M+)
Funding Rounds
Historical only
Comprehensive
Tech-focused
42.7K deals tracked
Executive Profiles
Basic bios
Detailed
~
Limited
251K profiles
Real-Time News Integration
KEY DIFFERENTIATOR
Manual entry, 24-48hr lag
Manual research
~
Curated only
✓✓
< 1 hour latency (Benzinga feed)
Predictive Signals
KEY DIFFERENTIATOR
No predictive features
Retrospective only
~
Some ML models
✓✓
CFO hire → sale prep, funding velocity, etc.
M&A/Acquisition Events
Historical
Comprehensive
Tech M&A focus
25.6K M&A deals
Relationship Graph API
~
Limited connections
~
Manual queries
Not available
TO BUILD
Advanced Search/Filtering
Good search API
Advanced filters
Semantic search
TO BUILD
Webhooks (Real-time Push)
Pull only
Not available
Not available
SHOULD BUILD (major differentiator)
Available
~ Limited/Partial
Not Available
Mars Needs to Build

Technical Specifications & Limits

Crunchbase API

Authentication
Token-based (user key)
Rate Limit
200 calls/minute
Very restrictive for real-time apps
Response Format
JSON (RESTful)
Pricing
Custom (contact sales)
Estimated $20K-50K+/year
Access Tiers
• Basic APIs (limited)
• Enterprise (full access)
Key Limitations
• Slow data refresh (24-48hr lag)
• No real-time push notifications
• Basic API users heavily restricted

PitchBook API

Authentication
API Key (RESTful)
Rate Limit
Not publicly disclosed
Likely similar to Crunchbase
Response Format
JSON (RESTful v2)
Pricing
Separate contract required
Estimated $30K-75K+/year
Access Model
• Sandbox environment
• Production (approved clients)
Key Limitations
• High barrier to entry (separate contract)
• Manual data collection (analysts)
• Expensive for most startups

CB Insights API

Authentication
API Key (v2)
Rate Limit
Not publicly disclosed
Enterprise-only API access
Response Format
JSON (v2 API)
Pricing
Not published
Enterprise-only (likely $50K+)
Special Features
• LLM integration ready
• Proprietary ML models
Key Limitations
• Tech-focused (narrow coverage)
• Curated data only (slower updates)
• Very expensive

Mars API Strategy

What we need to build to compete and differentiate

Phase 1: Core Endpoints (MVP)

1 GET /companies/{id}

Retrieve company profile with all available data
Returns: Company name, domain, industry, location, bio, people[], deals[], news[], last_updated

2 GET /companies

Search/filter companies with pagination
Query params: industry, location, funding_stage, min_employees, max_employees, has_recent_funding, updated_since

3 GET /people/{id}

Executive profile with career history
Returns: Name, title, company, bio, previous_companies[], linkedin, email (if available)

4 GET /deals

Funding rounds and M&A events
Query params: deal_type (funding|acquisition), date_from, date_to, min_amount, industry, investor

5 GET /news/recent

DIFFERENTIATOR
Real-time news feed (last 24 hours)
Returns: News items with company_id, title, published_date, source (Benzinga), sentiment, extracted_events[]

6 POST /webhooks/subscribe

DIFFERENTIATOR
Real-time push notifications for events
Body: { url, events: ['funding_round', 'leadership_change', 'acquisition'], filters: {...} }

Phase 2: Advanced Differentiators

GET /companies/{id}/signals

Predictive Signals Endpoint
Returns AI-generated signals about company trajectory
sale_probability: 0-100 score based on CFO hires, revenue milestones
funding_velocity: "accelerating" | "stable" | "slowing"
next_round_timing: Estimated months to next funding
leadership_stability: Turnover risk assessment

GET /people/{id}/network

Relationship Graph API
Map connections between executives and companies
previous_colleagues: People who worked together
board_connections: Shared board memberships
investor_relationships: VCs they've worked with
serial_entrepreneurs: Founders with multiple exits

GET /companies/similar

Similarity/Competitor Discovery
Find companies similar to a given profile
Input: company_id OR custom criteria (industry, stage, location)
Algorithm: Semantic similarity on bios, products, news
Use case: "Find companies like Stripe in fintech"

GET /trends/industries

Market Intelligence Aggregates
Industry-level funding and activity trends
total_funding: Aggregated by industry and time period
hot_sectors: Industries with accelerating funding
emerging_competitors: New entrants by sector

Technical Requirements for Mars API

Infrastructure

Rate Limiting: 500 calls/minute (2.5x Crunchbase) to attract developers
Authentication: API keys + OAuth2 for enterprise
Response Format: JSON (REST) + GraphQL option for power users
Pagination: Cursor-based (not offset) for large datasets
Caching: Redis for frequently accessed companies, 5-min TTL
Monitoring: Datadog/Prometheus for API health, latency tracking

Developer Experience

Documentation: OpenAPI/Swagger spec, interactive docs (Postman-style)
SDKs: Python, JavaScript/TypeScript, Go (most common languages)
Sandbox: Free developer tier (100 calls/day) to test integration
Webhooks: Event-driven architecture for real-time apps (major differentiator)
Changelog: Versioned API, deprecation warnings 6 months in advance
Support: Discord/Slack community for developers, email support for paid tiers

Detailed Endpoint Specifications

Complete request/response examples for priority endpoints

GET /companies/{id}

PRIORITY 1
Description:
Retrieve complete company profile including bio, people, deals, and recent news
Request:
GET /api/v1/companies/acme-corp
Authorization: Bearer {token}

Query params (optional):
?include=people,deals,news
?news_days=30
Response (200 OK):
{
"id": "acme-corp",
"name": "Acme Corporation",
"domain": "acme.com",
"industry": "SaaS",
"location": "San Francisco, CA",
"bio": "Enterprise software...",
"employees": 250,
"funding_stage": "Series B",
"people": [...],
"deals": [...],
"news": [...],
"last_updated": "2025-10-19T10:30:00Z"
}

GET /companies

PRIORITY 1
Description:
Search and filter companies with pagination
Request:
GET /api/v1/companies?
industry=SaaS&
location=San Francisco&
funding_stage=Series A,Series B&
min_employees=50&
has_recent_funding=true&
updated_since=2025-10-01&
limit=20&
cursor=abc123
Response (200 OK):
{
"data": [
{ company object },
{ company object },
...
],
"pagination": {
"next_cursor": "xyz789",
"has_more": true,
"total": 485
}
}
Note: Use cursor-based pagination (not offset) for better performance with large result sets

GET /people/{id}

PRIORITY 2
Description:
Retrieve executive profile with career history and contact information
Request:
GET /api/v1/people/john-doe-123
Authorization: Bearer {token}
Response (200 OK):
{
"id": "john-doe-123",
"name": "John Doe",
"title": "CEO",
"company": "Acme Corporation",
"bio": "Serial entrepreneur...",
"linkedin": "linkedin.com/in/johndoe",
"email": "john@acme.com",
"previous_companies": [
{
"company": "StartupXYZ",
"title": "CTO",
"dates": "2018-2023"
}
]
}

GET /deals

PRIORITY 2
Description:
Query funding rounds and M&A transactions
Request:
GET /api/v1/deals?
deal_type=funding&
date_from=2025-01-01&
min_amount=1000000&
industry=fintech&
limit=50
Response (200 OK):
{
"data": [
{
"id": "deal-123",
"type": "Series A",
"company": "FinTech Startup",
"amount": 5000000,
"date": "2025-09-15",
"investors": ["VC Fund A"],
"source": "benzinga"
}
],
"pagination": {...}
}

GET /news/recent

DIFFERENTIATOR
Description:
Real-time news feed from Benzinga (< 1 hour latency)
Request:
GET /api/v1/news/recent?
hours=24&
event_type=funding,acquisition&
company_id=acme-corp
Response (200 OK):
{
"data": [
{
"id": "news-456",
"company_id": "acme-corp",
"title": "Acme raises $10M",
"published": "2025-10-19T09:15:00Z",
"source": "benzinga",
"sentiment": "positive",
"extracted_events": [
{
"type": "funding_round",
"amount": 10000000
}
]
}
]
}

POST /webhooks/subscribe

DIFFERENTIATOR
Description:
Subscribe to real-time push notifications for specific events
Request:
POST /api/v1/webhooks/subscribe
Content-Type: application/json

{
"url": "https://api.myapp.com/webhook",
"events": [
"funding_round",
"leadership_change",
"acquisition"
],
"filters": {
"industries": ["SaaS", "fintech"],
"min_deal_amount": 1000000
}
}
Response (201 Created):
{
"webhook_id": "wh_abc123",
"url": "https://api.myapp.com/webhook",
"events": [...],
"filters": {...},
"status": "active",
"created_at": "2025-10-19T10:30:00Z"
}

// Webhook payload (when event occurs):
{
"event_type": "funding_round",
"company": {...},
"deal": {...},
"timestamp": "2025-10-19T11:00:00Z"
}
Key Advantage: Competitors require polling (GET requests every X minutes). Mars webhooks push data immediately when events occur.