# IPO Profile

> Returns the full profile for a single IPO: the offering summary plus nested milestones, statement-grouped financials (income statement, balance sheet, cash flow), and the document catalog.

`GET https://api.bavest.co/v2/ipo/profile`

Group: IPO. Route id: `v2_ipo_profile`. Included in: Growth.

## Description

Returns the full profile for a single IPO: the offering summary plus
nested milestones, statement-grouped financials (income statement,
balance sheet, cash flow), and the document catalog. Identify the IPO by
`symbol` or `isin`. Financials are sourced from the curated hot-IPO
financials and grouped per statement; each metric carries its fiscal
year/period, unit, currency, and a `valid` flag. Documents are served
separately by the /ipo/documents endpoint.

## Authentication

Send your API key in the `x-api-key` header on every request. No key yet? Sign up at https://dashboard.bavest.co/sign-up (free trial). The examples read the key from the `BAVEST_API_KEY` environment variable.

## Parameters

| Name | In | Type | Required | Description |
|---|---|---|---|---|
| `symbol` | query | string | no | IPO ticker symbol (e.g., `SPCX` for SpaceX). Symbol only — ISIN is not supported for IPO endpoints. Example `SPCX`. |

## Response

200 Successful response (`application/json`).

| Field | Type | Always present | Description |
|---|---|---|---|
| `data` | IPOProfile | no | Full single-IPO detail — offering plus nested milestones and statement-grouped financials. Documents are served separately by the /ipo/documents endpoint. |
| `data.symbol` | string | yes | Example: `SPCX`. |
| `data.name` | string \| null | no | Example: `Space Exploration Technologies Corp.`. |
| `data.exchange` | integer \| null | no |  |
| `data.regulator` | string \| null | no | Example: `SEC`. |
| `data.filingType` | string \| null | no | Example: `S-1`. |
| `data.status` | string \| null | no | Example: `Expected`. |
| `data.priceType` | string \| null | no | Example: `fixed`. |
| `data.priceLow` | number (double) \| null | no | Example: `135`. |
| `data.priceHigh` | number (double) \| null | no | Example: `135`. |
| `data.currency` | string \| null | no | Example: `USD`. |
| `data.numberOfShares` | integer \| null | no | Example: `556600000`. |
| `data.grossProceeds` | number (double) \| null | no | Example: `75141000000`. |
| `data.impliedValuation` | number (double) \| null | no | Example: `1750000000000`. |
| `data.confidentialFilingDate` | string (date) \| null | no | Example: `2026-04-01`. |
| `data.publicFilingDate` | string (date) \| null | no | Example: `2026-05-20`. |
| `data.milestones` | array of IPOMilestone | no |  |
| `data.milestones[].stage` | string | no | Stage key. Example: `listing`. |
| `data.milestones[].label` | string \| null | no | Human-readable stage label. Example: `Day of IPO`. |
| `data.milestones[].startsAt` | string (date-time) \| null | no | Stage start timestamp (ISO-8601) |
| `data.milestones[].endsAt` | string (date-time) \| null | no | Stage end timestamp (ISO-8601) Example: `2026-06-10T19:00:00+02:00`. |
| `data.milestones[].expectedDate` | string (date) \| null | no | Expected date for the stage. Example: `2026-06-12`. |
| `data.milestones[].source` | string \| null | no | Provenance of the milestone. Example: `S-1`. |
| `data.financials` | IPOFinancials | no | Statement-grouped financials (income statement, balance sheet, cash flow) |
| `data.financials.incomeStatement` | array of IPOHotFinancialMetric | no | Income-statement metrics (revenue, costs, net income, EBITDA/EBIT, EPS, share counts) |
| `data.financials.incomeStatement[].metric_name` | string \| null | no | Metric identifier (e.g. `revenue`, `totalAssets`, `capex`, `eps`) Example: `revenue`. |
| `data.financials.incomeStatement[].value` | number (double) \| null | no | Metric value. Example: `18674000000`. |
| `data.financials.incomeStatement[].value_type` | string \| null | no | Value semantics. One of `currency`, `ratio`, `percentage`, `numeric`. Example: `currency`. |
| `data.financials.incomeStatement[].currency` | string \| null | no | ISO 4217 currency (null for non-currency metrics) Example: `USD`. |
| `data.financials.incomeStatement[].unit` | string \| null | no | Unit of the value (e.g. `USD`, `USD/share`, `shares`) Example: `USD`. |
| `data.financials.incomeStatement[].fiscal_year` | integer \| null | no | Fiscal year. Example: `2025`. |
| `data.financials.incomeStatement[].fiscal_period` | string \| null | no | Fiscal period. One of `FY`, `Q1`, `Q2`, `Q3`, `Q4`, `H1`, `H2`. Example: `FY`. |
| `data.financials.incomeStatement[].period_end_date` | string (date) \| null | no | Period end date. Example: `2025-12-31`. |
| `data.financials.incomeStatement[].source` | string \| null | no | Provenance of the figure. Example: `SpaceX EU retail prospectus summary, Bafin-approved 2026-06-05, section B.2`. |
| `data.financials.incomeStatement[].valid` | boolean | no | Whether the figure is considered valid (defaults to true) Example: `true`. |
| `data.financials.balanceSheet` | array of IPOHotFinancialMetric | no | Balance-sheet metrics (cash, total assets/liabilities, equity) |
| `data.financials.balanceSheet[].metric_name` | string \| null | no | Metric identifier (e.g. `revenue`, `totalAssets`, `capex`, `eps`) Example: `revenue`. |
| `data.financials.balanceSheet[].value` | number (double) \| null | no | Metric value. Example: `18674000000`. |
| `data.financials.balanceSheet[].value_type` | string \| null | no | Value semantics. One of `currency`, `ratio`, `percentage`, `numeric`. Example: `currency`. |
| `data.financials.balanceSheet[].currency` | string \| null | no | ISO 4217 currency (null for non-currency metrics) Example: `USD`. |
| `data.financials.balanceSheet[].unit` | string \| null | no | Unit of the value (e.g. `USD`, `USD/share`, `shares`) Example: `USD`. |
| `data.financials.balanceSheet[].fiscal_year` | integer \| null | no | Fiscal year. Example: `2025`. |
| `data.financials.balanceSheet[].fiscal_period` | string \| null | no | Fiscal period. One of `FY`, `Q1`, `Q2`, `Q3`, `Q4`, `H1`, `H2`. Example: `FY`. |
| `data.financials.balanceSheet[].period_end_date` | string (date) \| null | no | Period end date. Example: `2025-12-31`. |
| `data.financials.balanceSheet[].source` | string \| null | no | Provenance of the figure. Example: `SpaceX EU retail prospectus summary, Bafin-approved 2026-06-05, section B.2`. |
| `data.financials.balanceSheet[].valid` | boolean | no | Whether the figure is considered valid (defaults to true) Example: `true`. |
| `data.financials.cashFlow` | array of IPOHotFinancialMetric | no | Cash-flow metrics (capex, operating/investing/financing cash flow) |
| `data.financials.cashFlow[].metric_name` | string \| null | no | Metric identifier (e.g. `revenue`, `totalAssets`, `capex`, `eps`) Example: `revenue`. |
| `data.financials.cashFlow[].value` | number (double) \| null | no | Metric value. Example: `18674000000`. |
| `data.financials.cashFlow[].value_type` | string \| null | no | Value semantics. One of `currency`, `ratio`, `percentage`, `numeric`. Example: `currency`. |
| `data.financials.cashFlow[].currency` | string \| null | no | ISO 4217 currency (null for non-currency metrics) Example: `USD`. |
| `data.financials.cashFlow[].unit` | string \| null | no | Unit of the value (e.g. `USD`, `USD/share`, `shares`) Example: `USD`. |
| `data.financials.cashFlow[].fiscal_year` | integer \| null | no | Fiscal year. Example: `2025`. |
| `data.financials.cashFlow[].fiscal_period` | string \| null | no | Fiscal period. One of `FY`, `Q1`, `Q2`, `Q3`, `Q4`, `H1`, `H2`. Example: `FY`. |
| `data.financials.cashFlow[].period_end_date` | string (date) \| null | no | Period end date. Example: `2025-12-31`. |
| `data.financials.cashFlow[].source` | string \| null | no | Provenance of the figure. Example: `SpaceX EU retail prospectus summary, Bafin-approved 2026-06-05, section B.2`. |
| `data.financials.cashFlow[].valid` | boolean | no | Whether the figure is considered valid (defaults to true) Example: `true`. |
| `meta` | ResponseMeta | no | Response envelope metadata. Always present on a 200: `time` is set by `core/response.py` on every successful response. Errors carry the same block, built by the same code, so a client parses one meta shape whether the call succeeded or failed. |
| `meta.time` | integer | no | Server-side processing time in milliseconds. Example: `17`. |
| `meta.parameters` | object | no | Echo of the request parameters the endpoint resolved. |

## Example request

```bash
curl 'https://api.bavest.co/v2/ipo/profile?symbol=SPCX' \
  -H "x-api-key: $BAVEST_API_KEY"
```

## Example response

```json
{
  "data": {
    "symbol": "SPCX",
    "name": "Space Exploration Technologies Corp.",
    "exchange": null,
    "regulator": "SEC",
    "filingType": "S-1",
    "status": "Expected",
    "priceType": "fixed",
    "priceLow": 135,
    "priceHigh": 135,
    "currency": "USD",
    "numberOfShares": 556600000,
    "grossProceeds": 75141000000,
    "impliedValuation": 1750000000000,
    "confidentialFilingDate": "2026-04-01",
    "publicFilingDate": "2026-05-20",
    "milestones": [
      {
        "stage": "subscription",
        "label": "Collecting subscriptions",
        "startsAt": null,
        "endsAt": "2026-06-10T17:00:00+00:00",
        "expectedDate": null,
        "source": "EU prospectus"
      },
      {
        "stage": "pricing",
        "label": "Setting price and allocation",
        "startsAt": null,
        "endsAt": null,
        "expectedDate": "2026-06-11",
        "source": "S-1"
      }
    ],
    "financials": {
      "incomeStatement": [
        {
          "metric_name": "accountsPayable",
          "value": 10002000000,
          "value_type": "currency",
          "currency": "USD",
          "unit": "USD",
          "fiscal_year": 2026,
          "fiscal_period": "Q1",
          "period_end_date": "2026-03-31",
          "source": "SpaceX prospectus (S-1) 2026-06-05, consolidated balance sheet",
          "valid": true
        },
        {
          "metric_name": "accountsPayable",
          "value": 11792000000,
          "value_type": "currency",
          "currency": "USD",
          "unit": "USD",
          "fiscal_year": 2025,
          "fiscal_period": "FY",
          "period_end_date": "2025-12-31",
          "source": "SpaceX prospectus (S-1) 2026-06-05, consolidated balance sheet",
          "valid": true
        }
      ],
      "balanceSheet": [
        {
          "metric_name": "cashAndCashEquivalents",
          "value": 15852000000,
          "value_type": "currency",
          "currency": "USD",
          "unit": "USD",
          "fiscal_year": 2026,
          "fiscal_period": "Q1",
          "period_end_date": "2026-03-31",
          "source": "SpaceX EU retail prospectus summary, Bafin-approved 2026-06-05, section B.2",
          "valid": true
        },
        {
          "metric_name": "cashAndCashEquivalents",
          "value": 24747000000,
          "value_type": "currency",
          "currency": "USD",
          "unit": "USD",
          "fiscal_year": 2025,
          "fiscal_period": "FY",
          "period_end_date": "2025-12-31",
          "source": "SpaceX EU retail prospectus summary, Bafin-approved 2026-06-05, section B.2",
          "valid": true
        }
      ],
      "cashFlow": [
        {
          "metric_name": "capex",
          "value": 10107000000,
          "value_type": "currency",
          "currency": "USD",
          "unit": "USD",
          "fiscal_year": 2026,
          "fiscal_period": "Q1",
          "period_end_date": "2026-03-31",
          "source": "SpaceX EU retail prospectus summary, Bafin-approved 2026-06-05, section B.2",
          "valid": true
        },
        {
          "metric_name": "capex",
          "value": 20737000000,
          "value_type": "currency",
          "currency": "USD",
          "unit": "USD",
          "fiscal_year": 2025,
          "fiscal_period": "FY",
          "period_end_date": "2025-12-31",
          "source": "SpaceX EU retail prospectus summary, Bafin-approved 2026-06-05, section B.2",
          "valid": true
        }
      ]
    }
  },
  "meta": {
    "parameters": {
      "symbol": "SPCX"
    },
    "time": 2314
  }
}
```

## Errors

| Status | Meaning |
|---|---|
| 400 | Invalid request parameters. Returned when required query parameters are missing, have invalid types, or violate constraints (e.g., providing both symbol and isin when they are mutually exclusive). |
| 401 | Missing or invalid API key. |
| 404 | Resource not found. |
| 429 | Rate limit exceeded. Retry after the `Retry-After` header interval. |
| 500 | An unexpected error occurred on the server. If the issue persists, contact support with the X-Request-Id header value. |
| 502 | Upstream data provider returned an error or is temporarily unavailable. Retry after a short delay. |
| 504 | The request timed out waiting for a response from the upstream data provider. This may occur for complex queries or during peak load. |
| default | An unexpected error occurred on the server. If the issue persists, contact support with the X-Request-Id header value. |

- `403` from the gateway: the API key is invalid or switched off.
- `429` with message `Limit Exceeded`: the monthly quota of the key is used up. With `Too Many Requests`: the key is throttled, or this route is not in the key's plan. Wait for `Retry-After` when it is sent.

## Links

- HTML page: https://dashboard.bavest.co/docs/v2_ipo_profile
- OpenAPI: https://dashboard.bavest.co/openapi.json (YAML: https://dashboard.bavest.co/openapi.yaml)
- Authentication: https://dashboard.bavest.co/docs/authentication.md
- MCP server for AI agents: https://dashboard.bavest.co/docs/mcp.md
- All routes: https://dashboard.bavest.co/llms.txt
