Disrupting Insights Public API (dcc2a7c3630312e0a47004e43ae4caf6af44d9a4)

Download OpenAPI specification:

Developer Guide

Welcome to the Disrupting Insights Public API. This API provides access to startup and investment data including companies, people, investment rounds, investment houses, and universities.

Base URL

All API requests should be made to:

https://db.disruptinginsights.com

Quick Start

  1. Authenticate - Obtain an access token using your credentials
  2. Make requests - Use the token in the Authorization header
  3. Handle pagination - Large result sets are paginated

Authentication

The API uses JWT-based authentication. You must obtain an access token before making requests to protected endpoints.

Login

Obtain an access token by sending your credentials to the login endpoint.

Request:

curl -X POST https://db.disruptinginsights.com/auth/login \
  -H "Content-Type: application/json" \
  -d '{
    "email": "your-email@example.com",
    "password": "your-password"
  }'

Response:

{
  "data": {
    "access_token": "eyJhbGciOiJIUzI1NiIs...",
    "expires": 900000,
    "refresh_token": "your-refresh-token"
  }
}

Using the Token

Include the access token in the Authorization header for all API requests:

curl https://db.disruptinginsights.com/items/companies \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"

Refresh Token

Access tokens expire. Use the refresh token to obtain a new access token without re-authenticating:

curl -X POST https://db.disruptinginsights.com/auth/refresh \
  -H "Content-Type: application/json" \
  -d '{
    "refresh_token": "your-refresh-token"
  }'

Querying Data

Filtering

Use the filter query parameter to filter results. Filters use a JSON object structure:

# Get companies in the "Technology" industry
curl 'https://db.disruptinginsights.com/items/companies?filter={"industry":{"_eq":"Technology"}}'

Filter Operators

Operator Description
_eq Equal to
_neq Not equal to
_contains Contains (string)
_in In array
_nin Not in array
_gt Greater than
_gte Greater than or equal
_lt Less than
_lte Less than or equal
_null Is null
_nnull Is not null

Sorting

Use the sort parameter to order results:

# Sort by company name ascending
/items/companies?sort=company_name

# Sort by company name descending
/items/companies?sort=-company_name

Pagination

Use limit and offset for pagination:

# Get 10 results, starting from the 20th record
/items/companies?limit=10&offset=20

Selecting Fields

Use the fields parameter to request specific fields:

# Only return id and company_name
/items/companies?fields=id,company_name

Modules

Companies

Company records contain information about startups and businesses.

Endpoint: /items/companies

Available Fields:

  • id - Unique identifier
  • status - Record status
  • company_name - Name of the company
  • website_url - Company website
  • linkedin_url - LinkedIn profile URL
  • logo - Company logo
  • city - City location
  • active_market - Primary market
  • industry - Industry classification
  • founders - Related people records (founders)
  • investment_rounds - Related investment rounds

Example:

curl 'https://db.disruptinginsights.com/items/companies?fields=id,company_name,industry,city&limit=5' \
  -H "Authorization: Bearer YOUR_TOKEN"

People

People records contain information about founders, executives, and other individuals.

Endpoint: /items/people

Available Fields:

  • id - Unique identifier
  • status - Record status
  • first_name - First name
  • last_name - Last name
  • full_name - Full name
  • middle_name - Middle name
  • profile_picture - Profile image
  • linkedin_url - LinkedIn profile URL
  • companies - Related company records
  • universities_attended - Related university records

Example:

curl 'https://db.disruptinginsights.com/items/people?fields=id,full_name,linkedin_url&limit=5' \
  -H "Authorization: Bearer YOUR_TOKEN"

Investment Rounds

Investment round records track funding events.

Endpoint: /items/investment_rounds

Available Fields:

  • id - Unique identifier
  • status - Record status
  • amount_raised - Funding amount
  • announced_date - Date announced
  • company_id - Related company
  • investment_houses - Participating investors

Example:

curl 'https://db.disruptinginsights.com/items/investment_rounds?fields=id,amount_raised,announced_date&limit=5' \
  -H "Authorization: Bearer YOUR_TOKEN"

Investment Houses

Investment house records contain information about VCs and investment firms.

Endpoint: /items/investment_houses

Available Fields:

  • id - Unique identifier
  • status - Record status
  • investment_house_name - Name of the firm
  • website_url - Firm website
  • linkedin_url - LinkedIn profile URL
  • logo - Firm logo
  • city - City location
  • legal_jurisdiction - Jurisdiction
  • investment_rounds - Related investment rounds

Example:

curl 'https://db.disruptinginsights.com/items/investment_houses?fields=id,investment_house_name,city&limit=5' \
  -H "Authorization: Bearer YOUR_TOKEN"

Universities

University records contain information about educational institutions.

Endpoint: /items/universities

Available Fields:

  • id - Unique identifier
  • status - Record status
  • name - University name
  • website_url - University website
  • linkedin_url - LinkedIn profile URL
  • logo - University logo
  • city - City location
  • country - Country
  • alumni - Related people records

Example:

curl 'https://db.disruptinginsights.com/items/universities?fields=id,name,city,country&limit=5' \
  -H "Authorization: Bearer YOUR_TOKEN"

Error Handling

The API returns standard HTTP status codes:

Code Description
200 Success
400 Bad request - check your query parameters
401 Unauthorized - invalid or expired token
403 Forbidden - insufficient permissions
404 Not found - resource doesn't exist
500 Server error

Error Response Format:

{
  "errors": [
    {
      "message": "You don't have permission to access this.",
      "extensions": {
        "code": "FORBIDDEN"
      }
    }
  ]
}

Rate Limiting

Please be mindful of rate limits. If you receive a 429 Too Many Requests response, back off and retry after a delay.

Recommended practices:

  • Cache responses where appropriate
  • Use pagination to limit response sizes
  • Batch requests where possible

Authentication

All data within the platform is private by default. The public role can be configured to expose data without authentication, or you can pass an access token to the API to access private data.

Retrieve a Temporary Access Token

Retrieve a Temporary Access Token

Request Body schema: application/json
email
required
string

Email address of the user you're retrieving the access token for.

password
required
string <password>

Password of the user.

mode
string
Default: "json"
Enum: "json" "cookie" "session"

Whether to retrieve the refresh token in the JSON response, or in a httpOnly cookie.

otp
string

The user's one-time-password (if MFA is enabled).

Responses

Request samples

Content type
application/json
{
  • "email": "admin@example.com",
  • "password": "password",
  • "mode": "json",
  • "otp": "string"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Refresh Token

Refresh a Temporary Access Token.

Request Body schema: application/json
refresh_token
string

JWT access token you want to refresh. This token can't be expired.

mode
string
Default: "json"
Enum: "json" "cookie" "session"

Whether to submit and retrieve the refresh token in the JSON response, or in a httpOnly cookie.

Responses

Request samples

Content type
application/json
{
  • "refresh_token": "eyJ0eXAiOiJKV...",
  • "mode": "json"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Log Out

Log Out

Request Body schema: application/json
refresh_token
string

The refresh token to invalidate. If you have the refresh token in a cookie through /auth/login, you don't have to submit it here.

mode
string
Enum: "json" "cookie" "session"

Whether the refresh token is submitted in the JSON response, or in a httpOnly cookie.

Responses

Request samples

Content type
application/json
{
  • "refresh_token": "eyJ0eXAiOiJKV...",
  • "mode": "json"
}

People

List Items

List the people items.

Authorizations:
Auth
query Parameters
fields
Array of strings

Control what fields are being returned in the object.

limit
integer

A limit on the number of objects that are returned.

meta
string

What metadata to return in the response.

offset
integer

How many items to skip when fetching data.

sort
Array of strings

How to sort the returned items. sort is a CSV of fields used to sort the fetched items. Sorting defaults to ascending (ASC) order but a minus sign (-) can be used to reverse this to descending (DESC) order. Fields are prioritized by their order in the CSV. You can also use a ? to sort randomly.

filter
object
Example: filter={"<field>":{"<operator>":"<value>"}}

Select items in collection by given conditions.

search
string

Filter by items that contain the given search query in one of their fields.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "meta": {
    }
}

Retrieve an Item

Retrieve a single people item by unique identifier.

path Parameters
required
integer or string

Index of the item.

query Parameters
fields
Array of strings

Control what fields are being returned in the object.

meta
string

What metadata to return in the response.

version
string

Retrieve an item's state from a specific Content Version. The value corresponds to the "key" of the Content Version.

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Companies

List Items

List the companies items.

Authorizations:
Auth
query Parameters
fields
Array of strings

Control what fields are being returned in the object.

limit
integer

A limit on the number of objects that are returned.

meta
string

What metadata to return in the response.

offset
integer

How many items to skip when fetching data.

sort
Array of strings

How to sort the returned items. sort is a CSV of fields used to sort the fetched items. Sorting defaults to ascending (ASC) order but a minus sign (-) can be used to reverse this to descending (DESC) order. Fields are prioritized by their order in the CSV. You can also use a ? to sort randomly.

filter
object
Example: filter={"<field>":{"<operator>":"<value>"}}

Select items in collection by given conditions.

search
string

Filter by items that contain the given search query in one of their fields.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "meta": {
    }
}

Retrieve an Item

Retrieve a single companies item by unique identifier.

path Parameters
required
integer or string

Index of the item.

query Parameters
fields
Array of strings

Control what fields are being returned in the object.

meta
string

What metadata to return in the response.

version
string

Retrieve an item's state from a specific Content Version. The value corresponds to the "key" of the Content Version.

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

InvestmentHouses

List Items

List the investment_houses items.

Authorizations:
Auth
query Parameters
fields
Array of strings

Control what fields are being returned in the object.

limit
integer

A limit on the number of objects that are returned.

meta
string

What metadata to return in the response.

offset
integer

How many items to skip when fetching data.

sort
Array of strings

How to sort the returned items. sort is a CSV of fields used to sort the fetched items. Sorting defaults to ascending (ASC) order but a minus sign (-) can be used to reverse this to descending (DESC) order. Fields are prioritized by their order in the CSV. You can also use a ? to sort randomly.

filter
object
Example: filter={"<field>":{"<operator>":"<value>"}}

Select items in collection by given conditions.

search
string

Filter by items that contain the given search query in one of their fields.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "meta": {
    }
}

Retrieve an Item

Retrieve a single investment_houses item by unique identifier.

path Parameters
required
integer or string

Index of the item.

query Parameters
fields
Array of strings

Control what fields are being returned in the object.

meta
string

What metadata to return in the response.

version
string

Retrieve an item's state from a specific Content Version. The value corresponds to the "key" of the Content Version.

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

InvestmentRounds

List Items

List the investment_rounds items.

Authorizations:
Auth
query Parameters
fields
Array of strings

Control what fields are being returned in the object.

limit
integer

A limit on the number of objects that are returned.

meta
string

What metadata to return in the response.

offset
integer

How many items to skip when fetching data.

sort
Array of strings

How to sort the returned items. sort is a CSV of fields used to sort the fetched items. Sorting defaults to ascending (ASC) order but a minus sign (-) can be used to reverse this to descending (DESC) order. Fields are prioritized by their order in the CSV. You can also use a ? to sort randomly.

filter
object
Example: filter={"<field>":{"<operator>":"<value>"}}

Select items in collection by given conditions.

search
string

Filter by items that contain the given search query in one of their fields.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "meta": {
    }
}

Retrieve an Item

Retrieve a single investment_rounds item by unique identifier.

path Parameters
required
integer or string

Index of the item.

query Parameters
fields
Array of strings

Control what fields are being returned in the object.

meta
string

What metadata to return in the response.

version
string

Retrieve an item's state from a specific Content Version. The value corresponds to the "key" of the Content Version.

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Universities

List Items

List the universities items.

Authorizations:
Auth
query Parameters
fields
Array of strings

Control what fields are being returned in the object.

limit
integer

A limit on the number of objects that are returned.

meta
string

What metadata to return in the response.

offset
integer

How many items to skip when fetching data.

sort
Array of strings

How to sort the returned items. sort is a CSV of fields used to sort the fetched items. Sorting defaults to ascending (ASC) order but a minus sign (-) can be used to reverse this to descending (DESC) order. Fields are prioritized by their order in the CSV. You can also use a ? to sort randomly.

filter
object
Example: filter={"<field>":{"<operator>":"<value>"}}

Select items in collection by given conditions.

search
string

Filter by items that contain the given search query in one of their fields.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "meta": {
    }
}

Retrieve an Item

Retrieve a single universities item by unique identifier.

path Parameters
required
integer or string

Index of the item.

query Parameters
fields
Array of strings

Control what fields are being returned in the object.

meta
string

What metadata to return in the response.

version
string

Retrieve an item's state from a specific Content Version. The value corresponds to the "key" of the Content Version.

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Items

List Items

List the companies items.

Authorizations:
Auth
query Parameters
fields
Array of strings

Control what fields are being returned in the object.

limit
integer

A limit on the number of objects that are returned.

meta
string

What metadata to return in the response.

offset
integer

How many items to skip when fetching data.

sort
Array of strings

How to sort the returned items. sort is a CSV of fields used to sort the fetched items. Sorting defaults to ascending (ASC) order but a minus sign (-) can be used to reverse this to descending (DESC) order. Fields are prioritized by their order in the CSV. You can also use a ? to sort randomly.

filter
object
Example: filter={"<field>":{"<operator>":"<value>"}}

Select items in collection by given conditions.

search
string

Filter by items that contain the given search query in one of their fields.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "meta": {
    }
}

Retrieve an Item

Retrieve a single companies item by unique identifier.

path Parameters
required
integer or string

Index of the item.

query Parameters
fields
Array of strings

Control what fields are being returned in the object.

meta
string

What metadata to return in the response.

version
string

Retrieve an item's state from a specific Content Version. The value corresponds to the "key" of the Content Version.

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

List Items

List the people items.

Authorizations:
Auth
query Parameters
fields
Array of strings

Control what fields are being returned in the object.

limit
integer

A limit on the number of objects that are returned.

meta
string

What metadata to return in the response.

offset
integer

How many items to skip when fetching data.

sort
Array of strings

How to sort the returned items. sort is a CSV of fields used to sort the fetched items. Sorting defaults to ascending (ASC) order but a minus sign (-) can be used to reverse this to descending (DESC) order. Fields are prioritized by their order in the CSV. You can also use a ? to sort randomly.

filter
object
Example: filter={"<field>":{"<operator>":"<value>"}}

Select items in collection by given conditions.

search
string

Filter by items that contain the given search query in one of their fields.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "meta": {
    }
}

Retrieve an Item

Retrieve a single people item by unique identifier.

path Parameters
required
integer or string

Index of the item.

query Parameters
fields
Array of strings

Control what fields are being returned in the object.

meta
string

What metadata to return in the response.

version
string

Retrieve an item's state from a specific Content Version. The value corresponds to the "key" of the Content Version.

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

List Items

List the investment_rounds items.

Authorizations:
Auth
query Parameters
fields
Array of strings

Control what fields are being returned in the object.

limit
integer

A limit on the number of objects that are returned.

meta
string

What metadata to return in the response.

offset
integer

How many items to skip when fetching data.

sort
Array of strings

How to sort the returned items. sort is a CSV of fields used to sort the fetched items. Sorting defaults to ascending (ASC) order but a minus sign (-) can be used to reverse this to descending (DESC) order. Fields are prioritized by their order in the CSV. You can also use a ? to sort randomly.

filter
object
Example: filter={"<field>":{"<operator>":"<value>"}}

Select items in collection by given conditions.

search
string

Filter by items that contain the given search query in one of their fields.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "meta": {
    }
}

Retrieve an Item

Retrieve a single investment_rounds item by unique identifier.

path Parameters
required
integer or string

Index of the item.

query Parameters
fields
Array of strings

Control what fields are being returned in the object.

meta
string

What metadata to return in the response.

version
string

Retrieve an item's state from a specific Content Version. The value corresponds to the "key" of the Content Version.

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

List Items

List the investment_houses items.

Authorizations:
Auth
query Parameters
fields
Array of strings

Control what fields are being returned in the object.

limit
integer

A limit on the number of objects that are returned.

meta
string

What metadata to return in the response.

offset
integer

How many items to skip when fetching data.

sort
Array of strings

How to sort the returned items. sort is a CSV of fields used to sort the fetched items. Sorting defaults to ascending (ASC) order but a minus sign (-) can be used to reverse this to descending (DESC) order. Fields are prioritized by their order in the CSV. You can also use a ? to sort randomly.

filter
object
Example: filter={"<field>":{"<operator>":"<value>"}}

Select items in collection by given conditions.

search
string

Filter by items that contain the given search query in one of their fields.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "meta": {
    }
}

Retrieve an Item

Retrieve a single investment_houses item by unique identifier.

path Parameters
required
integer or string

Index of the item.

query Parameters
fields
Array of strings

Control what fields are being returned in the object.

meta
string

What metadata to return in the response.

version
string

Retrieve an item's state from a specific Content Version. The value corresponds to the "key" of the Content Version.

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

List Items

List the universities items.

Authorizations:
Auth
query Parameters
fields
Array of strings

Control what fields are being returned in the object.

limit
integer

A limit on the number of objects that are returned.

meta
string

What metadata to return in the response.

offset
integer

How many items to skip when fetching data.

sort
Array of strings

How to sort the returned items. sort is a CSV of fields used to sort the fetched items. Sorting defaults to ascending (ASC) order but a minus sign (-) can be used to reverse this to descending (DESC) order. Fields are prioritized by their order in the CSV. You can also use a ? to sort randomly.

filter
object
Example: filter={"<field>":{"<operator>":"<value>"}}

Select items in collection by given conditions.

search
string

Filter by items that contain the given search query in one of their fields.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "meta": {
    }
}

Retrieve an Item

Retrieve a single universities item by unique identifier.

path Parameters
required
integer or string

Index of the item.

query Parameters
fields
Array of strings

Control what fields are being returned in the object.

meta
string

What metadata to return in the response.

version
string

Retrieve an item's state from a specific Content Version. The value corresponds to the "key" of the Content Version.

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}