datahyena-com Investors API
Investor directory records with search, type, country, and domain filters.
Investor directory records with search, type, country, and domain filters.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/datahyena-com:datahyena-com-investors-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Datahyena Public Investors API
description: Read-only API for funding events, acquisitions, executive moves, hiring signals, companies, and investors.
version: '1.0'
contact: {}
servers:
- url: https://api.datahyena.com
description: Production
security:
- apiKey: []
tags:
- name: Investors
description: Investor directory records with search, type, country, and domain filters.
x-displayName: Investors
paths:
/v1/investors:
get:
description: Search and filter investor records. Costs one credit per returned record.
operationId: investors_list
parameters:
- name: cursor
required: false
in: query
description: Opaque pagination cursor returned as pagination.nextCursor.
schema:
type: string
- name: since
required: false
in: query
description: Return investors created or updated on or after this date (YYYY-MM-DD). ISO-8601 timestamps are also accepted.
schema:
example: '2026-05-01'
type: string
- name: limit
required: false
in: query
description: Maximum records to return.
schema:
minimum: 1
maximum: 100
default: 20
type: number
- name: search
required: false
in: query
description: Keyword search over investor name and domain.
schema:
example: ventures
type: string
- name: type
required: false
in: query
description: Investor type filters. Accepts repeated query keys or comma-separated values.
schema:
example:
- vc
- growth
type: array
items:
type: string
enum:
- vc
- angel
- cvc
- pe
- growth
- accelerator
- family_office
- syndicate
- unknown
- name: countries
required: false
in: query
description: Headquarters country codes (OR). Repeat the query key for multiple values. Use `unknown` to match companies with no country on file.
schema:
example:
- US
- GB
type: array
items:
type: string
enum:
- AD
- AE
- AF
- AG
- AI
- AL
- AM
- AO
- AR
- AS
- AT
- AU
- AW
- AX
- AZ
- BA
- BB
- BD
- BE
- BF
- BG
- BH
- BI
- BJ
- BL
- BM
- BN
- BO
- BQ
- BR
- BS
- BT
- BW
- BY
- BZ
- CA
- CD
- CF
- CG
- CH
- CI
- CK
- CL
- CM
- CN
- CO
- CR
- CU
- CV
- CW
- CY
- CZ
- DE
- DJ
- DK
- DM
- DO
- DZ
- EC
- EE
- EG
- EH
- ER
- ES
- ET
- FI
- FJ
- FK
- FM
- FO
- FR
- GA
- GB
- GD
- GE
- GF
- GG
- GH
- GI
- GL
- GM
- GN
- GP
- GQ
- GR
- GT
- GU
- GW
- GY
- HK
- HN
- HR
- HT
- HU
- ID
- IE
- IL
- IM
- IN
- IQ
- IR
- IS
- IT
- JE
- JM
- JO
- JP
- KE
- KG
- KH
- KI
- KM
- KN
- KP
- KR
- KW
- KY
- KZ
- LA
- LB
- LC
- LI
- LK
- LR
- LS
- LT
- LU
- LV
- LY
- MA
- MC
- MD
- ME
- MF
- MG
- MH
- MK
- ML
- MM
- MN
- MO
- MP
- MQ
- MR
- MS
- MT
- MU
- MV
- MW
- MX
- MY
- MZ
- NA
- NC
- NE
- NG
- NI
- NL
- 'NO'
- NP
- NR
- NU
- NZ
- OM
- PA
- PE
- PF
- PG
- PH
- PK
- PL
- PM
- PR
- PS
- PT
- PW
- PY
- QA
- RE
- RO
- RS
- RU
- RW
- SA
- SB
- SC
- SD
- SE
- SG
- SH
- SI
- SK
- SL
- SM
- SN
- SO
- SR
- SS
- ST
- SV
- SX
- SY
- SZ
- TC
- TD
- TG
- TH
- TJ
- TK
- TL
- TM
- TN
- TO
- TR
- TT
- TV
- TW
- TZ
- UA
- UG
- US
- UY
- UZ
- VA
- VC
- VE
- VG
- VI
- VN
- VU
- WF
- WS
- YE
- YT
- ZA
- ZM
- ZW
- unknown
- name: domain
required: false
in: query
description: Exact investor domain.
schema:
example: example.vc
type: string
- name: includeTotal
required: false
in: query
description: Also return pagination.total, the number of records matching these filters across all pages. Costs no credits; adds a count query, so ask for it when you need the list size.
schema:
example: true
type: boolean
- name: hasFirmographics
required: false
in: query
description: Return only investors that have firmographics (a website domain and a known type). Individual angels and firms we could not identify are excluded.
schema:
example: true
type: boolean
- name: minRoundUsd
required: false
in: query
description: Return only investors that have participated in at least one round at or above this amount, in whole USD. Filters on what an investor has actually done rather than on how it is labelled.
schema:
minimum: 0
example: 20000000
type: number
- name: minRounds
required: false
in: query
description: Return only investors that have participated in at least this many rounds.
schema:
minimum: 1
example: 3
type: number
- name: activeSince
required: false
in: query
description: Return only investors whose most recent round was announced on or after this date (YYYY-MM-DD).
schema:
example: '2025-08-01'
type: string
- name: investsIn
required: false
in: query
description: 'Return only investors that have funded companies headquartered in these countries (OR). Filters on where an investor actually deploys rather than where it is registered, which is both a more useful question and far better covered: 40,692 investors have market data against 2,208 with an HQ country on file.'
schema:
example:
- US
type: array
items:
type: string
enum:
- AD
- AE
- AF
- AG
- AI
- AL
- AM
- AO
- AR
- AS
- AT
- AU
- AW
- AX
- AZ
- BA
- BB
- BD
- BE
- BF
- BG
- BH
- BI
- BJ
- BL
- BM
- BN
- BO
- BQ
- BR
- BS
- BT
- BW
- BY
- BZ
- CA
- CD
- CF
- CG
- CH
- CI
- CK
- CL
- CM
- CN
- CO
- CR
- CU
- CV
- CW
- CY
- CZ
- DE
- DJ
- DK
- DM
- DO
- DZ
- EC
- EE
- EG
- EH
- ER
- ES
- ET
- FI
- FJ
- FK
- FM
- FO
- FR
- GA
- GB
- GD
- GE
- GF
- GG
- GH
- GI
- GL
- GM
- GN
- GP
- GQ
- GR
- GT
- GU
- GW
- GY
- HK
- HN
- HR
- HT
- HU
- ID
- IE
- IL
- IM
- IN
- IQ
- IR
- IS
- IT
- JE
- JM
- JO
- JP
- KE
- KG
- KH
- KI
- KM
- KN
- KP
- KR
- KW
- KY
- KZ
- LA
- LB
- LC
- LI
- LK
- LR
- LS
- LT
- LU
- LV
- LY
- MA
- MC
- MD
- ME
- MF
- MG
- MH
- MK
- ML
- MM
- MN
- MO
- MP
- MQ
- MR
- MS
- MT
- MU
- MV
- MW
- MX
- MY
- MZ
- NA
- NC
- NE
- NG
- NI
- NL
- 'NO'
- NP
- NR
- NU
- NZ
- OM
- PA
- PE
- PF
- PG
- PH
- PK
- PL
- PM
- PR
- PS
- PT
- PW
- PY
- QA
- RE
- RO
- RS
- RU
- RW
- SA
- SB
- SC
- SD
- SE
- SG
- SH
- SI
- SK
- SL
- SM
- SN
- SO
- SR
- SS
- ST
- SV
- SX
- SY
- SZ
- TC
- TD
- TG
- TH
- TJ
- TK
- TL
- TM
- TN
- TO
- TR
- TT
- TV
- TW
- TZ
- UA
- UG
- US
- UY
- UZ
- VA
- VC
- VE
- VG
- VI
- VN
- VU
- WF
- WS
- YE
- YT
- ZA
- ZM
- ZW
responses:
'200':
description: Request accepted. The number of records returned may be lower than limit when credits or data run out.
content:
application/json:
schema:
type: object
required:
- success
- data
- pagination
- meta
properties:
success:
type: boolean
enum:
- true
example: true
data:
type: array
items:
$ref: '#/components/schemas/PublicInvestorResponseItem'
pagination:
$ref: '#/components/schemas/PublicPagination'
meta:
$ref: '#/components/schemas/PublicResponseMeta'
'400':
description: Invalid query parameter, body, or pagination cursor.
content:
application/json:
schema:
$ref: '#/components/schemas/PublicErrorEnvelope'
example:
success: false
error:
code: INVALID_INPUT
message: limit must not be greater than 100
meta:
requestId: 019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c
'401':
description: Missing, invalid, or disabled API key.
content:
application/json:
schema:
$ref: '#/components/schemas/PublicErrorEnvelope'
example:
success: false
error:
code: UNAUTHORIZED
message: Missing or invalid API key.
meta:
requestId: 019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c
'402':
description: Workspace has no credits available for the request.
content:
application/json:
schema:
$ref: '#/components/schemas/PublicErrorEnvelope'
example:
success: false
error:
code: PAYMENT_REQUIRED
message: Workspace has no credits remaining. Top up to continue.
meta:
requestId: 019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c
'403':
description: Request blocked by abuse prevention policy.
content:
application/json:
schema:
$ref: '#/components/schemas/PublicErrorEnvelope'
example:
success: false
error:
code: FORBIDDEN
message: Request blocked by abuse prevention policy.
meta:
requestId: 019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c
'429':
description: Rate limit exceeded for this workspace and plan.
content:
application/json:
schema:
$ref: '#/components/schemas/PublicErrorEnvelope'
example:
success: false
error:
code: TOO_MANY_REQUESTS
message: Rate limit exceeded for this workspace and plan.
meta:
requestId: 019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c
security:
- apiKey: []
summary: List investors
tags:
- Investors
components:
schemas:
PublicInvestorResponseItem:
type: object
properties:
id:
type: string
example: 019e8a3c-2b10-7c44-8a1f-9d8e7c6b5a40
name:
type: string
example: Example Ventures
type:
type: string
enum:
- vc
- angel
- cvc
- pe
- growth
- accelerator
- family_office
- syndicate
- unknown
example: vc
hqCountry:
type:
- object
- 'null'
allOf:
- $ref: '#/components/schemas/CountryDto'
domain:
type:
- object
- 'null'
example: example.vc
roundsCount:
type: number
example: 42
description: Funding rounds this investor has participated in.
largestRoundUsd:
type:
- object
- 'null'
example: 120000000
description: Largest round this investor has participated in, in whole USD.
firstRoundAt:
type:
- object
- 'null'
example: '2021-03-04T00:00:00.000Z'
lastRoundAt:
type:
- object
- 'null'
example: '2026-08-14T00:00:00.000Z'
activeMarkets:
description: Countries this investor has funded companies in, most-backed first.
type: array
items:
$ref: '#/components/schemas/CountryDto'
required:
- id
- name
- type
- hqCountry
- domain
- roundsCount
- largestRoundUsd
- firstRoundAt
- lastRoundAt
- activeMarkets
PublicResponseMeta:
type: object
properties:
endpoint:
type: string
example: funding_events.list
description: Stable endpoint identifier for logging and support.
creditsUsed:
type: number
example: 20
description: Credits consumed by this request after the response size is known.
creditsRemaining:
type:
- object
- 'null'
example: 980
description: Workspace credits remaining after this request.
notice:
type: string
example: No events on record for this company.
description: 'Present only when a lookup resolved nothing. Absence of a company is an ordinary outcome here, not a failed request: records are built from funding, acquisition and executive-move announcements, so a company that has not appeared in one is simply not covered.'
discovery:
description: Present when we held nothing for an exact domain and have started researching it. Ask again later; nothing is charged meanwhile.
allOf:
- $ref: '#/components/schemas/DiscoveryMeta'
required:
- endpoint
- creditsUsed
- creditsRemaining
PublicErrorEnvelope:
type: object
properties:
success:
type: boolean
enum:
- false
example: false
error:
$ref: '#/components/schemas/PublicErrorBody'
meta:
$ref: '#/components/schemas/PublicErrorMeta'
required:
- success
- error
- meta
DiscoveryMeta:
type: object
properties:
status:
type: string
example: building
enum:
- building
domain:
type: object
example: acme.com
retryAfterSeconds:
type: number
example: 300
description: Seconds to wait before asking again. Research usually completes within hours.
note:
type: string
example: We had not read this company yet and have started now.
required:
- status
- domain
- retryAfterSeconds
PublicErrorMeta:
type: object
properties:
requestId:
type: string
example: 019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c
description: Request id when one was attached by the server.
CountryDto:
type: object
properties:
code:
type: string
example: US
description: ISO 3166-1 alpha-2 country code.
name:
type: string
example: United States
description: Human-readable country name.
required:
- code
- name
PublicPagination:
type: object
properties:
hasMore:
type: boolean
example: true
description: Whether another page is available.
nextCursor:
type:
- object
- 'null'
example: eyJpZCI6IjAxOWU4YTNjLTJiMTAtN2M0NC04YTFmLTlkOGU3YzZiNWE0MCJ9
description: Cursor to pass to the next request. Null when hasMore is false.
total:
type: number
example: 1284
description: Total records matching the filters across all pages. Present only when includeTotal=true; the same on every page of a listing.
required:
- hasMore
- nextCursor
PublicErrorBody:
type: object
properties:
code:
type: string
enum:
- INVALID_CURSOR
- INVALID_INPUT
- UNAUTHORIZED
- FORBIDDEN
- NOT_FOUND
- PAYMENT_REQUIRED
- TOO_MANY_REQUESTS
example: INVALID_INPUT
message:
type: string
example: limit must not be greater than 100
details:
type: object
additionalProperties: true
description: Optional machine-readable context for validation errors.
required:
- code
- message
securitySchemes:
apiKey:
type: apiKey
in: header
name: X-API-Key