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 discoverycontacted- Outreach sentmeeting- Meeting schedulednegotiating- Term sheet stageclosed- 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"
}
}