Executive Changes
Access executive appointment and leadership change data including position titles, hire dates, and organization details. Filter by date range, position type, company size, location, and industry to track C-suite movements programmatically.
🚀 Quick Start
Get started in seconds. Here's your first API call:
curl -H "Authorization: YOUR_API_KEY" \
"https://api.fundz.net/executives?positions=CEO&created_from=2025-01-01"Endpoint
https://api.fundz.net/executivesAuthentication
Send your key in the header Authorization: YOUR_API_KEY. The API also accepts an OAuth Bearer <token> for ChatGPT/agent integrations, and a logged-in session cookie for in-app use — but partner/API usage uses the Authorization: API_KEY header.
Authorization: YOUR_API_KEYPaid plans only — there is no free API tier. An inactive subscription returns 401 with a message pointing to fundz.net/pricing.
Common Use Cases
Track CEO Changes
Monitor CEO appointments and departures across industries
curl -H "Authorization: YOUR_API_KEY" \
"https://api.fundz.net/executives?positions=CEO&created_from=2025-01-01"Tech Leadership in Mid-Size Companies
Find CTO appointments in software companies with 50-500 employees
curl -H "Authorization: YOUR_API_KEY" \
"https://api.fundz.net/executives?positions=CTO&industries=Software&number_of_employees_min=50&number_of_employees_max=500"Regional Executive Moves
Track C-suite changes in specific locations
curl -H "Authorization: YOUR_API_KEY" \
"https://api.fundz.net/executives?locations=New%20York&positions=CFO"Query Parameters
organization_namestringOPTIONALFilter by company name (case-insensitive partial match)
created_fromstringOPTIONALFilter by created date from (YYYY-MM-DD format)
created_tostringOPTIONALFilter by created date to (YYYY-MM-DD format)
positionsstringOPTIONALPosition titles (comma-separated). Common: CEO, CTO, CFO, COO, VP Engineering
number_of_employees_minintegerOPTIONALMinimum number of employees at the company
number_of_employees_maxintegerOPTIONALMaximum number of employees at the company
locationsstringOPTIONALLocation name (automatically includes all cities within a state). Comma-separated for multiple
industriesstringOPTIONALIndustry names (comma-separated). Common: Software, Fintech, Healthcare, Biotechnology
pageintegerOPTIONALPage number for pagination (default: 1)
Response Format
{
"data": [
{
"id": "acme-corp-appoints-jane-smith-as-ceo-a4b2",
"title": "Acme Corp Appoints Jane Smith As CEO",
"created_at": "2025-10-15T09:23:15.000Z",
"organization": {
"id": "acme-corp",
"name": "Acme Corp",
"number_of_employees": 250,
"is_public_company": false,
"status_label": "Private",
"status_code": "private",
"ticker": null,
"list_badges": [],
"location": {
"id": 42,
"title": "San Francisco",
"short_description": "San Francisco, CA",
"country": "United States"
},
"industries": [
{ "id": 7, "title": "Software" }
]
},
"related_contacts": [
{
"id": 90871,
"first_name": "Jane",
"photo_url": null,
"positions": [
{ "id": 3, "title": "CEO" }
]
}
]
}
],
"meta": {
"current_page": 1,
"next_page": 2,
"total_count": 1234,
"total_pages": 50,
"tier": "Pro",
"remaining_searches": 97
},
"upgrade_url": "https://www.fundz.net/pricing"
}Each record is an executive-move / leadership-change event. The organization object carries the company profile, and related_contacts lists the people associated with the event (with their positions).
| Field | Type | Description |
|---|---|---|
| id | string | Stable slug identifying the executive-change event |
| title | string | Human-readable event headline (e.g. "Acme Corp Appoints Jane Smith As CEO") |
| created_at | string | ISO 8601 timestamp the event was recorded |
| organization | object | Company profile (see fields below) |
| related_contacts | array | People associated with the event |
organization object
| Field | Type | Description |
|---|---|---|
| id | string | Company slug |
| name | string | Company name |
| number_of_employees | integer | Employee count (may be null) |
| is_public_company | boolean | Whether the company is publicly traded |
| status_label | string | Display status (e.g. "Private", "Public") |
| status_code | string | Machine status code |
| ticker | string | Public-company ticker symbol (null if private) |
| list_badges | array | List memberships (e.g. Inc 5000); empty when none |
| location | object | id, title, short_description, country |
| industries | array | Objects of id, title |
related_contacts[] object
| Field | Type | Description |
|---|---|---|
| id | integer | Contact identifier |
| first_name | string | Contact first name |
| photo_url | string | Contact photo URL (may be null) |
| positions | array | Objects of id, title (the contact’s role titles) |
Pagination & limits
Results are paginated with ?page=N (25 records per page). The meta object reports current_page, next_page, total_count, and total_pages. Query limits vary by plan; meta.remaining_searches shows what's left and meta.tier shows the caller's plan.
When a query returns nothing, the response also includes a guidance object with a message and suggestions, and that query does not count against the limit.
Errors
Errors return JSON in the form { "error": "<Type>", "message": "..." }. Common statuses:
| Status | Meaning |
|---|---|
| 401 | Authentication required / invalid token / subscription inactive |
| 403 | Forbidden |
| 404 | Not found |
| 400 | Bad or missing parameter |
| 422 | Invalid |