---
title: "Get company by slug"
method: GET
path: "/companies/{slug}"
---

# Get company by slug

`GET /companies/{slug}`

## Request

- Base URL: `https://indexed.vc/api/v1`
- URL: `https://indexed.vc/api/v1/companies/{slug}`
- Auth: API key in header `X-API-Key`
- TypeScript: <https://skmtc.dev/indexed/apis/indexed-vc-api/docs/companies/:slug/get.ts> (a function with typed inputs; its response is checked against the schema)

Fetch a single company profile. Cost varies by depth:

**valuation_events field schema** (returned at `depth=full`): each
round object carries `event_type`, `round_name`, `amount_raised_usd`
(whole USD; also mirrored as `amount_raised`), `announced_date`
(YYYY-MM-DD), `pre_money_valuation` / `post_money_valuation`,
`press_url`, `confidence_score`, and `participants[]` (investors with
`is_lead`). Note: valuation-only events (409A marks, some tender
offers) legitimately have `amount_raised_usd: null` — a null amount
is "undisclosed/not applicable", not missing data. `data_as_of` on the
response is when this record was last verified by enrichment.

- `slim` (1 credit): identity fields only
- `standard` (2 credits): company scalars plus reviewed ownership links; no funding events, valuations or stack
- `full` (3 credits): complete data — funding rounds, investors, tech/app stack, valuations

## Path parameters

- `slug` string, required

## Query parameters

- `depth` 'slim' | 'standard' | 'full'

## Response `200`

Company profile

- object
  - `data` CompanyProfile, required: Shape varies by depth parameter (slim/standard/full)
    - `id` string, uuid, required
    - `name` string, required
    - `slug` string, required
    - `data_as_of` string, date-time, nullable: Last verified enrichment timestamp; null when unknown.
    - `logo_url` string, nullable
    - `website` string, nullable
    - `short_description` string, nullable
    - `long_description` string, nullable
    - `industries` string[], nullable
    - `hq_city` string, nullable
    - `hq_state` string, nullable
    - `hq_country` string, nullable
    - `employee_count_range` string, nullable
    - `total_funding_raised` integer, nullable: Whole USD. Sum of disclosed itemized funding rounds at confidence 50+: equity rounds, notes, SAFEs, equity crowdfunding and grants. Grants are included; debt, IPOs, acquisitions and secondaries are not. Null when no counted round has a disclosed amount.
    - `operating_status` string, nullable
    - `founded_year` integer, nullable
    - `last_valuation` integer, nullable: Null at slim/standard depth or when undisclosed.
    - `last_valuation_date` string, date, nullable: Null at slim/standard depth or when unknown.
    - `load_states` object
      - `relationships` ProfileLoadState: Section read status, not a claim of historical data completeness. Full-record delivery rejects unsuccessful tracked section reads.
        - `status` 'ok' | 'partial' | 'unavailable' | 'failed', required
        - `cause` 'outage' | 'defect': Present only for unsuccessful reads.
      - `acquisitions` ProfileLoadState: Section read status, not a claim of historical data completeness. Full-record delivery rejects unsuccessful tracked section reads.
        - `status` 'ok' | 'partial' | 'unavailable' | 'failed', required
        - `cause` 'outage' | 'defect': Present only for unsuccessful reads.
      - `acquirer` ProfileLoadState: Section read status, not a claim of historical data completeness. Full-record delivery rejects unsuccessful tracked section reads.
        - `status` 'ok' | 'partial' | 'unavailable' | 'failed', required
        - `cause` 'outage' | 'defect': Present only for unsuccessful reads.
      - `parent_company` ProfileLoadState: Section read status, not a claim of historical data completeness. Full-record delivery rejects unsuccessful tracked section reads.
        - `status` 'ok' | 'partial' | 'unavailable' | 'failed', required
        - `cause` 'outage' | 'defect': Present only for unsuccessful reads.
      - `valuation_events` ProfileLoadState: Section read status, not a claim of historical data completeness. Full-record delivery rejects unsuccessful tracked section reads.
        - `status` 'ok' | 'partial' | 'unavailable' | 'failed', required
        - `cause` 'outage' | 'defect': Present only for unsuccessful reads.
      - `technologies` ProfileLoadState: Section read status, not a claim of historical data completeness. Full-record delivery rejects unsuccessful tracked section reads.
        - `status` 'ok' | 'partial' | 'unavailable' | 'failed', required
        - `cause` 'outage' | 'defect': Present only for unsuccessful reads.
      - `app_stack` ProfileLoadState: Section read status, not a claim of historical data completeness. Full-record delivery rejects unsuccessful tracked section reads.
        - `status` 'ok' | 'partial' | 'unavailable' | 'failed', required
        - `cause` 'outage' | 'defect': Present only for unsuccessful reads.
    - `acquirer` NullableCompanyReference, nullable: Visible parent or acquirer identity; null when no visible reference is recorded.
      - `id` string, uuid
      - `name` string
      - `slug` string
      - `logo_url` string, nullable
    - `parent_company` NullableCompanyReference, nullable: Visible parent or acquirer identity; null when no visible reference is recorded.
      - `id` string, uuid
      - `name` string
      - `slug` string
      - `logo_url` string, nullable
    - `owners` CompanyRelationship[]: depth=standard and full. Companies that own this one, from reviewed, sourced relationships: its controlling parent (subsidiary, brand or division), or its joint-venture owners. This and subsidiaries share a bounded set of up to 200 relationships ordered by child name; empty means none in that returned set.
      - `relationship_type` 'subsidiary' | 'brand' | 'division' | 'joint_venture'
      - `ownership_pct` number, nullable: Stated ownership percentage when a source gives it
      - `started_on` string, date, nullable
      - `company` object
        - `id` string, uuid
        - `slug` string
        - `name` string
        - `logo_url` string, nullable
    - `subsidiaries` CompanyRelationship[]: depth=standard and full. Companies this one owns (subsidiaries, brands, divisions, joint ventures), from the same bounded set of up to 200 relationships as owners, ordered by child name.
      - `relationship_type` 'subsidiary' | 'brand' | 'division' | 'joint_venture'
      - `ownership_pct` number, nullable: Stated ownership percentage when a source gives it
      - `started_on` string, date, nullable
      - `company` object
        - `id` string, uuid
        - `slug` string
        - `name` string
        - `logo_url` string, nullable
    - `acquisitions` object[]: depth=full only. Up to 100 visible acquisitions, most recent first; a bounded subset, not a complete acquisition history.
      - `id` string, uuid
      - `name` string
      - `slug` string
      - `logo_url` string, nullable
      - `website` string, nullable
      - `short_description` string, nullable
      - `industries` string[], nullable
      - `hq_city` string, nullable
      - `hq_country` string, nullable
      - `acquisition_date` string, date, nullable
      - `acquisition_price_usd` integer, nullable
    - `valuation_events` object[]: Only present at depth=full
      - `id` string, uuid
      - `event_type` string
      - `amount_raised_usd` integer, nullable
      - `announced_date` string, date, nullable
      - `participants` object[]
        - `is_lead` boolean
        - `investor` object
          - `id` string, uuid
          - `name` string
          - `slug` string
          - `investor_type` string, nullable
    - `technologies` object[]: Only present at depth=full
      - `technology_name` string
      - `category` string, nullable
      - `stack_type` 'tech'
    - `app_stack` object[]: Only present at depth=full
      - `technology_name` string
      - `category` string, nullable
      - `stack_type` 'app'

## Other responses

- `400`: Invalid request parameters
- `401`: Missing, invalid, or insufficient API key
- `404`: Entity not found
- `503`: Requested entity preparation unavailable (DATA_UNAVAILABLE) or credit service unavailable (SYSTEM_ERROR). Incomplete requested entity reads and cache-read failures do not charge. A lost deduction response can have an unknown billing outcome; check credit usage before retrying.

---

[API](https://skmtc.dev/indexed/apis/indexed-vc-api.md) - [All operations](https://skmtc.dev/indexed/apis/indexed-vc-api/llms.txt) - [OpenAPI document](https://skmtc.dev/indexed/apis/indexed-vc-api/revisions/c111a32d9c0c?raw)
