This reference provides detailed information about all available API endpoints. Each endpoint includes parameters, example requests, and response formats.
/health
Health check endpoint to verify API status
Example Request
curl -X GET "https://fundup.ai/api/v1/health" \
-H "Authorization: Bearer YOUR_API_KEY_HERE"
Example Response
{
"message": "API is running",
"status": "healthy",
"timestamp": 1703123456,
"version": "1.0.0"
}
/companies
Retrieve a list of companies with advanced filtering and optimized server-side pagination. Uses hybrid database filtering for improved performance.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| funding_date_start | string | Yes | Start date for funding events (required) |
| funding_date_end | string | Yes | End date for funding events (required) |
| limit | integer | No | Number of companies to return (1-50). Maximum 50 records per request. |
| offset | integer | No | Number of companies to skip (0-499). Maximum 500 total records accessible via API. |
| min_funding | string | No | Minimum funding amount (e.g., "1M", "500K", "2.5B") |
| max_funding | string | No | Maximum funding amount (e.g., "10M", "2B", "100K") |
| countries | array | No | Filter by countries using 2-letter ISO codes (e.g., ["US", "GB", "DE"]) |
| stages | array | No | Filter by funding stages (e.g., ["Seed", "Series A", "Series B", "undisclosed"]) |
| industries | array | No | Filter by industries (e.g., ["AI", "Fintech", "Healthcare"]) |
| technologies | array | No | Filter by technology names (e.g., ["Cloudflare", "Google Cloud"]) |
| company_size | array | No | Filter by company size (e.g., ["1-10", "11-50", "51-200"]) |
| validated_contacts | boolean | No | Show only companies with validated contacts (true = only validated, omit or false = all companies) |
| investors | array | No | Filter by investor names |
| currency | string | No | Filter by funding currency (e.g., "USD", "EUR", "GBP") |
| tags | array | No | Filter by tag names (e.g., ["SaaS", "B2B", "AI Infrastructure"]). Use GET /api/v1/filters to retrieve available tags. |
| search | string | No | Search in company names, descriptions, and industries |
| has_open_roles | boolean | No | When true, return only companies that currently have open job postings in the Fundup AI database. |
| hiring_departments | array | No | Filter by hiring department. Allowed values: it (Engineering/IT), sales, marketing, design, finance, hr, operations, support, management, executive, communication, legal. Only applied when has_open_roles=true. |
| hiring_seniority | array | No | Filter by seniority level of open roles. Allowed values: junior, mid, senior, manager, director, executive. Only applied when has_open_roles=true. |
| hiring_role_type | string | No | Filter by role type. Allowed values: leadership (VP, Director, C-level), ic (individual contributors). Omit or leave blank for all role types. Only applied when has_open_roles=true. |
Example Request
curl -X GET "https://fundup.ai/api/v1/companies?funding_date_start=2025-01-01&funding_date_end=2025-12-31&limit=5&countries[]=US&search=tech&validated_contacts=true" \
-H "Authorization: Bearer YOUR_API_KEY_HERE"
Example Response
{
"data": [
{
"companyName": "Example Corp",
"country": "US",
"country_name": "United States",
"currency": "USD",
"fundingAmount": "5M",
"fundingAnnounceDate": "2025-09-18",
"id": "comp_123",
"stage": "Series A"
},
{
"companyName": "Stealth Startup",
"country": "US",
"country_name": "United States",
"currency": "USD",
"fundingAmount": "2M",
"fundingAnnounceDate": "2025-08-15",
"id": "comp_124",
"stage": "Seed"
}
],
"pagination": {
"has_more": false,
"limit": 25,
"offset": 0,
"total": 2
}
}
Error Responses
{
"error": "Invalid API key"
}
{
"detail": "rate_limit_exceeded",
"error": "Per-minute rate limit exceeded (20 requests per minute). Retry after 60 seconds.",
"limit": 20,
"limit_type": "per_minute",
"retry_after": 60,
"used": 20
}
/companies/{company_id}
Get detailed information about a specific company. The contacts field follows the same availability rules as GET /companies/{id}/contacts: contacts are included during the 30-day fresh window after funding, or if you have previously revealed this company via the Fundup AI dashboard.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| company_id | string | Yes | Unique company identifier |
Example Request
curl -X GET "https://fundup.ai/api/v1/companies/comp_123" \
-H "Authorization: Bearer YOUR_API_KEY_HERE"
Example Response
{
"companyName": "Example Corp",
"contacts": [
{
"id": "contact_789",
"linkedinUrl": "https://linkedin.com/in/johndoe",
"name": "John Doe",
"title": "CEO"
}
],
"country": "United States",
"country_name": "United States",
"description": "AI-powered solution",
"fundings": [
{
"fundingAmount": "5M",
"fundingAnnounceDate": "2025-09-18",
"id": "fund_456",
"stage": "Series A"
}
],
"highlights": [
{
"highlight": "Company raised $5M in Series A funding",
"id": "highlight_123",
"source": "news"
},
{
"highlight": "AI-powered solution with strong market traction",
"id": "highlight_124",
"source": "ai"
}
],
"id": "comp_123",
"industries": [
"AI",
"SaaS"
],
"linkedinUrl": "https://linkedin.com/company/example",
"tags": [
{
"category": "model",
"id": "tag_1",
"name": "SaaS",
"slug": "saas"
},
{
"category": "model",
"id": "tag_2",
"name": "B2B",
"slug": "b2b"
},
{
"category": "stage",
"id": "tag_3",
"name": "Series A",
"slug": "series-a"
}
],
"tech_stack": {
"categories": [
"IaaS"
],
"companyId": "comp_123",
"technologies": [
{
"categories": [
"IaaS"
],
"name": "Google Cloud"
}
],
"technologyNames": [
"Google Cloud"
]
},
"total_contacts": 1,
"total_fundings": 1,
"website": "https://example.com"
}
Error Responses
{
"error": "Company not found",
"message": "The requested company could not be found"
}
/companies/{company_id}/tech-stack
Get tech stack for a specific company. Returns 404 if tech stack is not available (e.g., website down, not yet analyzed).
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| company_id | string | Yes | Unique company identifier |
Example Request
curl -X GET "https://fundup.ai/api/v1/companies/comp_123/tech-stack" \
-H "Authorization: Bearer YOUR_API_KEY_HERE"
Example Response
{
"data": {
"categories": [
"IaaS",
"CDN"
],
"companyId": "comp_123",
"domain": "example.com",
"technologies": [
{
"categories": [
"IaaS"
],
"description": "Cloud platform",
"name": "Google Cloud"
},
{
"categories": [
"CDN"
],
"description": "CDN provider",
"name": "Cloudflare"
}
],
"technologyNames": [
"Google Cloud",
"Cloudflare"
]
}
}
Error Responses
{
"error": "Tech stack not found"
}
/companies/{company_id}/fundings
Get all funding rounds for a specific company, including investor details.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| company_id | string | Yes | Unique company identifier |
Example Request
curl -X GET "https://fundup.ai/api/v1/companies/comp_123/fundings" \
-H "Authorization: Bearer YOUR_API_KEY_HERE"
Example Response
{
"data": [
{
"companyId": "comp_123",
"currency": "USD",
"fundingAmount": "5000000",
"fundingAmountUsd": 5000000,
"fundingAnnounceDate": "2025-09-18T00:00:00+00:00",
"id": "fund_456",
"investors": [
{
"name": "Accel",
"type": "lead"
},
{
"name": "Y Combinator",
"type": "participant"
}
],
"stage": "Series A"
}
]
}
Error Responses
{
"error": "Company not found"
}
/companies/{company_id}/contacts
Get key decision-maker contacts for a company. Contacts are returned under two conditions: (1) the company was funded within the last 30 days (free fresh window, same as the dashboard), or (2) you have previously revealed this company via the Fundup AI dashboard. The API never triggers Hunter lookups or consumes Reveal Credits — it reads from your existing reveal cache only.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| company_id | string | Yes | Unique company identifier |
Example Request
curl -X GET "https://fundup.ai/api/v1/companies/comp_123/contacts" \
-H "Authorization: Bearer YOUR_API_KEY_HERE"
Example Response
{
"data": [
{
"email": "[email protected]",
"linkedinUrl": "https://linkedin.com/in/janesmith",
"name": "Jane Smith",
"title": "CEO"
}
]
}
Error Responses
{
"code": "CONTACTS_NOT_AVAILABLE",
"error": "Contacts not available via API for this company.",
"hint": "Contacts are returned during the 30-day fresh window after funding, or if you have revealed this company via the Fundup AI dashboard."
}
/companies/{company_id}/open-roles
Get open job postings for a company with optional department/seniority filtering and pagination.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| company_id | string | Yes | Unique company identifier |
| department | string | No | Filter by department. Values: it, sales, marketing, design, finance, hr, operations, support, management, executive, communication, legal |
| seniority | string | No | Filter by seniority. Values: junior, mid, senior, manager, director, executive |
| search | string | No | Search within role titles |
| page | integer | No | Page number (default: 1) |
| per_page | integer | No | Results per page, 1-50 (default: 25) |
Example Request
curl -X GET "https://fundup.ai/api/v1/companies/comp_123/open-roles?department=it&seniority=senior&page=1&per_page=25" \
-H "Authorization: Bearer YOUR_API_KEY_HERE"
Example Response
{
"data": [
{
"companyId": "comp_123",
"employmentType": "full-time",
"firstSeenAt": "2025-09-01T00:00:00+00:00",
"hunterDepartment": "it",
"hunterSeniority": "senior",
"id": 12345,
"lastSyncedAt": "2025-10-01T00:00:00+00:00",
"location": "Remote",
"remoteType": "remote",
"title": "Senior Backend Engineer",
"titleNormalizedEn": "Senior Backend Engineer",
"url": "https://example.com/jobs/123"
}
],
"pagination": {
"has_more": true,
"page": 1,
"per_page": 25,
"total": 42
}
}
Error Responses
{
"error": "page and per_page must be positive integers"
}
{
"error": "Company not found"
}
/companies/{company_id}/highlights
Get AI-extracted key business highlights for a company.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| company_id | string | Yes | Unique company identifier |
Example Request
curl -X GET "https://fundup.ai/api/v1/companies/comp_123/highlights" \
-H "Authorization: Bearer YOUR_API_KEY_HERE"
Example Response
{
"data": [
{
"createdAt": "2025-09-18T00:00:00+00:00",
"highlight": "Raised $5M Series A to expand into European markets.",
"id": "hl_abc123",
"source": "news"
}
]
}
Error Responses
{
"code": "HIGHLIGHTS_NOT_FOUND",
"error": "No highlights found for this company"
}
/companies/{company_id}/news
Get funding news articles associated with a company.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| company_id | string | Yes | Unique company identifier |
Example Request
curl -X GET "https://fundup.ai/api/v1/companies/comp_123/news" \
-H "Authorization: Bearer YOUR_API_KEY_HERE"
Example Response
{
"data": [
{
"createdAt": "2025-09-18T00:00:00+00:00",
"fundingId": "fund_456",
"id": "news_abc123",
"title": "Example Corp raises $5M Series A to expand AI platform",
"url": "https://techcrunch.com/example"
}
]
}
Error Responses
{
"code": "NEWS_NOT_FOUND",
"error": "No news found for this company"
}
/fundings
Retrieve recent funding events with advanced filtering and optimized server-side pagination. Uses hybrid database filtering for improved performance.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| funding_date_start | string | Yes | Start date for funding events (required) |
| funding_date_end | string | Yes | End date for funding events (required) |
| limit | integer | No | Number of fundings to return (1-50). Maximum 50 records per request. |
| offset | integer | No | Number of fundings to skip (0-499). Maximum 500 total records accessible via API. |
| min_amount | string | No | Minimum funding amount (e.g., "1M", "500K", "2.5B") |
| max_amount | string | No | Maximum funding amount (e.g., "10M", "2B", "100K") |
| stages | array | No | Filter by funding stages (e.g., ["Seed", "Series A", "Series B", "undisclosed"]) |
| countries | array | No | Filter by company countries using 2-letter ISO codes |
| industries | array | No | Filter by company industries |
| technologies | array | No | Filter by technology names (e.g., ["Cloudflare", "Google Cloud"]) |
| currency | string | No | Filter by funding currency (e.g., "USD", "EUR", "GBP", "INR", "TRY", "JPY") |
| investors | array | No | Filter by investor names |
| company_size | array | No | Filter by company size categories |
| validated_contacts | boolean | No | Show only companies with validated contacts (true = only validated, omit or false = all companies) |
| tags | array | No | Filter by tag names (e.g., ["SaaS", "B2B", "AI Infrastructure"]). Use GET /api/v1/filters to retrieve available tags. |
| search | string | No | Search across company names, descriptions, and industries |
| has_open_roles | boolean | No | When true, return only funding events whose company currently has open job postings in the Fundup AI database. |
| hiring_departments | array | No | Filter by hiring department. Allowed values: it (Engineering/IT), sales, marketing, design, finance, hr, operations, support, management, executive, communication, legal. Only applied when has_open_roles=true. |
| hiring_seniority | array | No | Filter by seniority level of open roles. Allowed values: junior, mid, senior, manager, director, executive. Only applied when has_open_roles=true. |
| hiring_role_type | string | No | Filter by role type. Allowed values: leadership (VP, Director, C-level), ic (individual contributors). Omit or leave blank for all role types. Only applied when has_open_roles=true. |
Example Request
curl -X GET "https://fundup.ai/api/v1/fundings?funding_date_start=2025-01-01&funding_date_end=2025-12-31&limit=10&stages[]=Series%20A¤cy=USD&search=tech&validated_contacts=true" \
-H "Authorization: Bearer YOUR_API_KEY_HERE"
Example Response
{
"data": [
{
"company": {
"country": "US",
"id": "comp_123",
"industries": [
"AI",
"SaaS"
],
"name": "Example Corp",
"tags": [
{
"category": "model",
"id": "tag_1",
"name": "SaaS",
"slug": "saas"
},
{
"category": "model",
"id": "tag_2",
"name": "B2B",
"slug": "b2b"
}
]
},
"currency": "USD",
"fundingAmount": "5M",
"fundingAnnounceDate": "2025-09-18",
"id": "fund_456",
"stage": "Series A"
},
{
"company": {
"country": "DE",
"id": "comp_124",
"industries": [
"AI",
"Enterprise"
],
"name": "European Startup",
"tags": [
{
"category": "tech",
"id": "tag_3",
"name": "AI Infrastructure",
"slug": "ai-infrastructure"
}
]
},
"currency": "EUR",
"fundingAmount": "2.5M",
"fundingAnnounceDate": "2025-08-15",
"id": "fund_457",
"stage": "Series A"
}
],
"pagination": {
"has_more": false,
"limit": 50,
"offset": 0,
"total": 2
}
}
Error Responses
{
"error": "Invalid API key"
}
{
"detail": "rate_limit_exceeded",
"error": "Per-minute rate limit exceeded (20 requests per minute). Retry after 60 seconds.",
"limit": 20,
"limit_type": "per_minute",
"retry_after": 60,
"used": 20
}
/filters
Get available filter values for API endpoints (countries, industries, stages, company sizes, tech stack categories, technologies)
Example Request
curl -X GET "https://fundup.ai/api/v1/filters" \
-H "Authorization: Bearer YOUR_API_KEY_HERE"
Example Response
{
"data": {
"company_sizes": [
"1-10",
"11-50",
"51-200",
"201-1000",
"1000+"
],
"countries": [
"US",
"GB",
"DE",
"FR",
"CA"
],
"currencies": [
"USD",
"EUR",
"GBP",
"INR",
"TRY",
"JPY",
"KRW"
],
"industries": [
"AI",
"Fintech",
"Healthcare",
"SaaS",
"E-commerce"
],
"stages": [
"Seed",
"Series A",
"Series B",
"Series C+",
"Debt",
"undisclosed"
],
"tags": [
{
"category": "model",
"id": "tag_1",
"name": "SaaS",
"slug": "saas"
},
{
"category": "model",
"id": "tag_2",
"name": "B2B",
"slug": "b2b"
},
{
"category": "tech",
"id": "tag_3",
"name": "AI Infrastructure",
"slug": "ai-infrastructure"
},
{
"category": "stage",
"id": "tag_4",
"name": "Seed",
"slug": "seed"
},
{
"category": "vertical",
"id": "tag_5",
"name": "HealthTech",
"slug": "healthtech"
}
],
"technologyOptions": [
"Cloudflare",
"Google Cloud",
"AWS"
]
},
"success": true,
"timestamp": 1703123456
}
/stats
Get API usage statistics and real-time rate limit usage for the authenticated user. The rate_limits object includes per_minute, daily, monthly, monthly_export, daily_company_detail, and monthly_pagination, each with limit, used, remaining, and reset_unix. All keys (live and test) share the same account-wide budgets.
Example Request
curl -X GET "https://fundup.ai/api/v1/stats" \
-H "Authorization: Bearer YOUR_API_KEY_HERE"
Example Response
{
"api_key": {
"created_at": 1703123456,
"last_used_at": 1739876543,
"name": "Production Key",
"type": "live"
},
"average_response_time": 120.5,
"daily_usage": [
{
"date": "2025-02-18",
"requests": 45
},
{
"date": "2025-02-19",
"requests": 12
}
],
"endpoints_used": [
"get_companies",
"get_company"
],
"failed_requests": 2,
"rate_limits": {
"daily": {
"limit": 300,
"remaining": 255,
"reset_unix": 1739923200,
"used": 45
},
"daily_company_detail": {
"limit": 100,
"remaining": 90,
"reset_unix": 1739923200,
"used": 10
},
"monthly": {
"limit": 3000,
"remaining": 1800,
"reset_unix": 1740787200,
"used": 1200
},
"monthly_export": {
"limit": 3000,
"remaining": 2200,
"reset_unix": 1740787200,
"used": 800
},
"monthly_pagination": {
"limit": 200,
"remaining": 150,
"reset_unix": 1740787200,
"used": 50
},
"per_minute": {
"limit": 20,
"remaining": 17,
"reset_unix": 1739876543,
"used": 3
}
},
"successful_requests": 148,
"total_requests": 150,
"user_rate_limit": 3000
}