API Reference

The OpenStars API allows you to programmatically access investor data, manage your pipeline, and build custom integrations.

Base URL https://api.openstars.ai/v1
Format JSON
Version v1
Note: API access requires a Pro or Enterprise plan. Contact founders@openstars.ai for access.

Authentication

Authenticate to the API using Bearer tokens in the Authorization header.

Get Your API Key

Generate an API key from Dashboard → Settings → API Keys.

Making Authenticated Requests

curl -X GET https://api.openstars.ai/v1/investors \
  -H "Authorization: Bearer os_live_xxxxx" \
  -H "Content-Type: application/json"
Security: Keep your API keys secure. Never expose them in client-side code or public repositories.

Rate Limits

API requests are rate limited based on your plan:

Plan Requests/min Requests/day
Pro 60 10,000
Enterprise 300 100,000

Rate limit headers are included in every response:

X-RateLimit-Limit: 60
X-RateLimit-Remaining: 58
X-RateLimit-Reset: 1704110400

Errors

The API uses standard HTTP status codes and returns JSON error responses.

Code Meaning
200 Success
400 Bad Request - Invalid parameters
401 Unauthorized - Invalid API key
403 Forbidden - Insufficient permissions
404 Not Found - Resource doesn't exist
429 Rate Limit Exceeded
500 Server Error

Error Response Format

{
  "error": {
    "code": "invalid_request",
    "message": "The 'stage' parameter must be one of: pre-seed, seed, series-a, series-b",
    "param": "stage"
  }
}

List Investors

Retrieve a paginated list of investors.

GET /investors

Query Parameters

Parameter Type Description
stage string Filter by stage: pre-seed, seed, series-a, series-b
industry string Filter by industry: fintech, saas, healthcare, ai, consumer
location string Filter by location: sf, nyc, la, boston, london
limit integer Number of results (default: 20, max: 100)
offset integer Pagination offset

Example Request

curl -X GET "https://api.openstars.ai/v1/investors?stage=seed&industry=saas&limit=10" \
  -H "Authorization: Bearer os_live_xxxxx"

Example Response

{
  "data": [
    {
      "id": "inv_abc123",
      "name": "Jane Smith",
      "fund": "Acme Ventures",
      "title": "Partner",
      "stage": ["seed", "series-a"],
      "industries": ["saas", "fintech"],
      "check_size": "$500K - $2M",
      "location": "San Francisco",
      "match_score": 92
    }
  ],
  "meta": {
    "total": 1542,
    "limit": 10,
    "offset": 0
  }
}

Get Investor

Retrieve details for a specific investor.

GET /investors/:id

Example Request

curl -X GET "https://api.openstars.ai/v1/investors/inv_abc123" \
  -H "Authorization: Bearer os_live_xxxxx"

Example Response

{
  "id": "inv_abc123",
  "name": "Jane Smith",
  "fund": "Acme Ventures",
  "title": "Partner",
  "email": "jane@acmevc.com",
  "linkedin": "https://linkedin.com/in/janesmith",
  "stage": ["seed", "series-a"],
  "industries": ["saas", "fintech", "ai"],
  "check_size": "$500K - $2M",
  "location": "San Francisco",
  "portfolio": [
    {"name": "Stripe", "role": "Lead Investor"},
    {"name": "Figma", "role": "Participant"}
  ],
  "thesis": "Investing in developer tools and B2B SaaS...",
  "match_score": 92,
  "last_investment": "2025-12-15"
}

Get Matches

Get AI-powered investor matches for the authenticated user.

GET /matches

Query Parameters

Parameter Type Description
limit integer Number of matches (default: 10, max: 50)
min_score integer Minimum match score (0-100)

Add to Pipeline

Add an investor to your pipeline.

POST /pipeline

Request Body

{
  "investor_id": "inv_abc123",
  "stage": "discovered",
  "notes": "Met at TechCrunch Disrupt"
}

Stages

  • discovered - Initial discovery
  • contacted - Outreach sent
  • meeting - Meeting scheduled
  • negotiating - Term sheet stage
  • closed - Investment committed

Webhook Events

Subscribe to real-time events from OpenStars.

Event Description
investor.matched New investor match found
investor.saved Investor bookmarked
pipeline.updated Pipeline stage changed
intro.sent Introduction email sent

Webhook Payload

{
  "id": "evt_123abc",
  "event": "investor.matched",
  "created": "2026-01-01T12:00:00Z",
  "data": {
    "investor_id": "inv_abc123",
    "match_score": 94,
    "investor_name": "Sequoia Capital"
  }
}