DatahyenaDatahyena
API Reference

Executive Moves

Executive job-change signals across tracked companies and people.

GET
/v1/exec-moves

Returns executive appointment, promotion, departure, and transition events ordered by announcement date, newest first. Costs one credit per returned record.

X-API-Key<token>

In: header

Query Parameters

cursor?string

Opaque pagination cursor returned as pagination.nextCursor.

companyId?string

Company UUID filter.

personId?string

Person UUID filter.

countries?array<>

Headquarters country codes (OR). Repeat the query key for multiple values.

naicsCode?string

NAICS 2022 code for the company. Matches the code and everything beneath it, so "51" also returns 5132 and 5173. Sector ranges work: "31-33" returns all manufacturing. Pass "unknown" for companies we could not classify.

Value in"11" | "111" | "1114" | "113" | "114" | "21" | "2111" | "212" | "22" | "2211" | "2213" | "23" | "236" | "2361" | "238" | "2382" | "31-33" | "311" | "3111" | "3115" | "3116" | "3117" | "3118" | "3121" | "3122" | "313" | "315" | "316" | "3162" | "321" | "322" | "3222" | "323" | "325" | "3253" | "3254" | "3255" | "3256" | "3261" | "327" | "3272" | "331" | "332" | "3323" | "3325" | "3328" | "3331" | "3332" | "3334" | "3341" | "3342" | "3343" | "3344" | "3345" | "335" | "3351" | "3352" | "3353" | "3359" | "336" | "3361" | "3363" | "3364" | "3365" | "3366" | "337" | "3372" | "3391" | "3399" | "42" | "4231" | "4233" | "4234" | "4235" | "4236" | "4238" | "4244" | "4245" | "4246" | "4247" | "4248" | "44-45" | "4411" | "4441" | "4451" | "4491" | "4561" | "4571" | "458" | "4591" | "4593" | "48-49" | "4811" | "482" | "483" | "484" | "485" | "4851" | "4853" | "4921" | "493" | "51" | "5121" | "5122" | "5131" | "5132" | "5161" | "5162" | "5173" | "519" | "5192" | "52" | "5221" | "5231" | "5239" | "5241" | "5242" | "53" | "5311" | "5312" | "532" | "5322" | "54" | "5411" | "5412" | "5413" | "5414" | "5415" | "5416" | "5417" | "5418" | "5419" | "5511" | "56" | "5613" | "5614" | "5615" | "5616" | "5617" | "562" | "5621" | "611" | "6111" | "6113" | "6114" | "6115" | "621" | "6213" | "6214" | "6215" | "6216" | "622" | "623" | "6241" | "6242" | "6244" | "71" | "7111" | "7112" | "7115" | "712" | "7132" | "7139" | "721" | "722" | "7225" | "81" | "811" | "8111" | "812" | "8121" | "8123" | "8129" | "813" | "8131" | "8132" | "8134" | "8139" | "92" | "9211" | "9221" | "9281" | "unknown"
roleSeniority?array<>

Role seniority filters. Repeat the query key for multiple values.

moveType?array<>

Move type filters. Repeat the query key for multiple values.

since?string

Return events announced on or after this date (YYYY-MM-DD). ISO-8601 timestamps are also accepted.

until?string

Return events announced on or before this date (YYYY-MM-DD, inclusive). ISO-8601 timestamps are also accepted.

limit?number

Maximum records to return.

Default20
Range1 <= value <= 100

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/v1/exec-moves"
{  "success": true,  "data": [    {      "id": "019e8a3c-0a12-7e88-a3d1-4f5a6b7c8d9e",      "person": {        "id": "019e8a3c-2b10-7c44-8a1f-9d8e7c6b5a40",        "name": "Jane Doe",        "linkedinHandle": "jane-doe",        "linkedinUrl": "https://www.linkedin.com/in/jane-doe"      },      "role": "Chief Financial Officer",      "roleSeniority": "c_level",      "moveType": "appointment",      "announcedAt": "2026-05-29T00:00:00.000Z",      "effectiveDate": "2026-06-15T00:00:00.000Z",      "discoveredAt": "2026-05-30T12:00:00.000Z",      "company": {        "id": "019e8a3c-2b10-7c44-8a1f-9d8e7c6b5a40",        "name": "Acme AI",        "domain": "acme.ai",        "description": "AI workflow automation for enterprise revenue teams.",        "linkedinHandle": "acme-ai",        "linkedinUrl": "https://www.linkedin.com/company/acme-ai",        "linkedinGeoId": "90000084",        "linkedinIndustryId": "4",        "naicsCode": "5132",        "naicsLevel": 4,        "hqCity": "San Francisco",        "hqCountry": {          "code": "US",          "name": "United States"        },        "industryGroup": "Software Development",        "industrySubTags": [          "Artificial Intelligence",          "Sales Automation"        ],        "verticals": [          "ai",          "fintech"        ],        "employeeCountBucket": "51-200",        "foundedYear": 2021,        "businessModel": "B2B SaaS"      },      "fromCompany": {        "id": "019e8a3c-2b10-7c44-8a1f-9d8e7c6b5a40",        "name": "Acme AI",        "domain": "acme.ai",        "description": "AI workflow automation for enterprise revenue teams.",        "linkedinHandle": "acme-ai",        "linkedinUrl": "https://www.linkedin.com/company/acme-ai",        "linkedinGeoId": "90000084",        "linkedinIndustryId": "4",        "naicsCode": "5132",        "naicsLevel": 4,        "hqCity": "San Francisco",        "hqCountry": {          "code": "US",          "name": "United States"        },        "industryGroup": "Software Development",        "industrySubTags": [          "Artificial Intelligence",          "Sales Automation"        ],        "verticals": [          "ai",          "fintech"        ],        "employeeCountBucket": "51-200",        "foundedYear": 2021,        "businessModel": "B2B SaaS"      }    }  ],  "pagination": {    "hasMore": true,    "nextCursor": "eyJpZCI6IjAxOWU4YTNjLTJiMTAtN2M0NC04YTFmLTlkOGU3YzZiNWE0MCJ9"  },  "meta": {    "endpoint": "funding_events.list",    "creditsUsed": 20,    "creditsRemaining": 980  }}
{  "success": false,  "error": {    "code": "INVALID_INPUT",    "message": "limit must not be greater than 100"  },  "meta": {    "requestId": "019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c"  }}
{  "success": false,  "error": {    "code": "UNAUTHORIZED",    "message": "Missing or invalid API key."  },  "meta": {    "requestId": "019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c"  }}
{  "success": false,  "error": {    "code": "PAYMENT_REQUIRED",    "message": "Workspace has no credits remaining. Top up to continue."  },  "meta": {    "requestId": "019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c"  }}
{  "success": false,  "error": {    "code": "FORBIDDEN",    "message": "Request blocked by abuse prevention policy."  },  "meta": {    "requestId": "019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c"  }}
{  "success": false,  "error": {    "code": "TOO_MANY_REQUESTS",    "message": "Rate limit exceeded for this workspace and plan."  },  "meta": {    "requestId": "019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c"  }}