# DataPorium (remote · mcp.dataporium.io)

Stock, ETF, crypto, forex, economic and US housing market data by ZIP code for AI assistants.

- Trust score: 66/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-09-29

## Components

- remote · `mcp.dataporium.io`: 66/100 (this document), [markdown](https://verifymcp.io/servers/tech-dataporium-mcp/mcp.md), [page](https://verifymcp.io/servers/tech-dataporium-mcp/mcp)

## Channel facts

- Endpoint: `https://mcp.dataporium.io/mcp`
- Transports: `streamable-http`
- Auth: `required`
- Version: `1.0.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-09-29.

- **Endpoint Security**: 63/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - HTTPS enforcement could not be verified: the plaintext port answered with HTTP 406, which proves neither a plaintext path nor enforcement.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 66/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 7969 tokens (~221/item across 36 items; 36 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 3/100
  - Stability observed for 1 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 36 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 37 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the DataPorium MCP server?

DataPorium is a hosted endpoint at https://mcp.dataporium.io/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http tech-dataporium-mcp 'https://mcp.dataporium.io/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "tech-dataporium-mcp": {
      "url": "https://mcp.dataporium.io/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "tech-dataporium-mcp": {
      "type": "http",
      "url": "https://mcp.dataporium.io/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.tech-dataporium-mcp]
url = "https://mcp.dataporium.io/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "tech-dataporium-mcp": {
      "type": "remote",
      "url": "https://mcp.dataporium.io/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add tech-dataporium-mcp --url 'https://mcp.dataporium.io/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  tech-dataporium-mcp:
    url: "https://mcp.dataporium.io/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "tech-dataporium-mcp": {
      "Transport": "http",
      "Url": "https://mcp.dataporium.io/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add tech-dataporium-mcp -t streamable-http -u 'https://mcp.dataporium.io/mcp'
```

### Other

```json
{
  "mcpServers": {
    "tech-dataporium-mcp": {
      "type": "http",
      "url": "https://mcp.dataporium.io/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-09-29 (score 66, +1)

- [functional improvement] Stability: unverified → 0.03

### 2026-09-28 (score 65)

First indexed and scored.

## MCP tools (36)

### `search_symbols` (~196 tokens)

Find a company's tickers across exchanges (main ticker, all listed symbols, CIK). Use this first when you only
    know a company name. Give symbol OR company_name (exact name, e.g. 'Apple Inc.').

Input parameters:

- `cik`: SEC Central Index Key of the company, e.g. 320193 for Apple.
- `company_name`: Exact company name as listed, e.g. 'Apple Inc.'. Use search_symbols to find it.
- `filters`: Optional extra filters as a JSON object of API parameter names and values, e.g. {"fiscal_year": 2025}. Call list_filters with this tool's name to see every accepted filter.
- `main_ticker`: Primary ticker of the company, e.g. GOOGL.
- `symbol`: Ticker symbol, e.g. AAPL, MSFT or NVDA. Use search_symbols if you only know the company name.

Output parameters:

- `allowed_filters`: On an unknown-filter error: the filters this endpoint accepts.
- `data`: The records: a list of objects (or one object) with the requested data.
- `detail`: Extra error detail from the API, e.g. which filter is required.
- `endpoint`: DataPorium API endpoint that answered, e.g. /company-info.
- `error`: Present when the call failed, with the reason.
- `filters_sent`: Filters sent to the API for this answer.
- `note`: Present when the answer was shortened, with how to get the rest.
- `rows`: Number of records the API returned (before any shortening).

### `get_company_profile` (~208 tokens)

Company profile and fundamentals: sector, industry, description, address, employees, market cap, valuation
    ratios, dividends, analyst targets and more (also used by the stock screener).

Input parameters:

- `company_name`: Exact company name as listed, e.g. 'Apple Inc.'. Use search_symbols to find it.
- `filters`: Optional extra filters as a JSON object of API parameter names and values, e.g. {"fiscal_year": 2025}. Call list_filters with this tool's name to see every accepted filter.
- `limit`: Maximum number of rows to return.
- `page`: Page number for paging through long results, starting at 1.
- `sort_by`: Field to sort the results by.
- `sort_order`: Sort direction: 'asc' (ascending) or 'desc' (descending).
- `symbol`: Ticker symbol, e.g. AAPL, MSFT or NVDA. Use search_symbols if you only know the company name.

Output parameters:

- `allowed_filters`: On an unknown-filter error: the filters this endpoint accepts.
- `data`: The records: a list of objects (or one object) with the requested data.
- `detail`: Extra error detail from the API, e.g. which filter is required.
- `endpoint`: DataPorium API endpoint that answered, e.g. /company-info.
- `error`: Present when the call failed, with the reason.
- `filters_sent`: Filters sent to the API for this answer.
- `note`: Present when the answer was shortened, with how to get the rest.
- `rows`: Number of records the API returned (before any shortening).

### `get_industry_classification` (~133 tokens)

Industry and sector classification of a company (revenue-based sector/industry, NAICS sector, SIC category).

Input parameters:

- `company_name`: Exact company name as listed, e.g. 'Apple Inc.'. Use search_symbols to find it.
- `filters`: Optional extra filters as a JSON object of API parameter names and values, e.g. {"fiscal_year": 2025}. Call list_filters with this tool's name to see every accepted filter.
- `symbol`: Ticker symbol, e.g. AAPL, MSFT or NVDA. Use search_symbols if you only know the company name.

Output parameters:

- `allowed_filters`: On an unknown-filter error: the filters this endpoint accepts.
- `data`: The records: a list of objects (or one object) with the requested data.
- `detail`: Extra error detail from the API, e.g. which filter is required.
- `endpoint`: DataPorium API endpoint that answered, e.g. /company-info.
- `error`: Present when the call failed, with the reason.
- `filters_sent`: Filters sent to the API for this answer.
- `note`: Present when the answer was shortened, with how to get the rest.
- `rows`: Number of records the API returned (before any shortening).

### `get_company_logo` (~72 tokens)

Logo image URL of a company.

Input parameters:

- `company_name`: Exact company name as listed, e.g. 'Apple Inc.'. Use search_symbols to find it.
- `symbol`: Ticker symbol, e.g. AAPL, MSFT or NVDA. Use search_symbols if you only know the company name.

Output parameters:

- `allowed_filters`: On an unknown-filter error: the filters this endpoint accepts.
- `data`: The records: a list of objects (or one object) with the requested data.
- `detail`: Extra error detail from the API, e.g. which filter is required.
- `endpoint`: DataPorium API endpoint that answered, e.g. /company-info.
- `error`: Present when the call failed, with the reason.
- `filters_sent`: Filters sent to the API for this answer.
- `note`: Present when the answer was shortened, with how to get the rest.
- `rows`: Number of records the API returned (before any shortening).

### `get_stock_prices` (~231 tokens)

Price history (open, high, low, close, volume) plus dividends of a stock, ETF or index. interval '1d' = daily
    bars (full history available), '5m' = 5-minute bars of about the last month. points = how many of the newest
    bars to return (default 250, about one trading year of daily bars; up to about 500 fit in one answer).

Input parameters:

- `filters`: Optional extra filters as a JSON object of API parameter names and values, e.g. {"fiscal_year": 2025}. Call list_filters with this tool's name to see every accepted filter.
- `interval` (string): '1d' for daily bars (full history) or '5m' for 5-minute bars (about the last month).
- `points` (integer): How many of the newest bars to return (default 250, about one trading year of daily bars).
- `ticker` (string, required): Ticker symbol, e.g. AAPL, SPY or BTC-USD (crypto uses the -USD suffix).

Output parameters:

- `allowed_filters`: On an unknown-filter error: the filters this endpoint accepts.
- `data`: The records: a list of objects (or one object) with the requested data.
- `detail`: Extra error detail from the API, e.g. which filter is required.
- `endpoint`: DataPorium API endpoint that answered, e.g. /company-info.
- `error`: Present when the call failed, with the reason.
- `filters_sent`: Filters sent to the API for this answer.
- `note`: Present when the answer was shortened, with how to get the rest.
- `rows`: Number of records the API returned (before any shortening).

### `get_commodity_prices` (~208 tokens)

Commodity futures prices, e.g. GC=F gold, SI=F silver, CL=F crude oil, NG=F natural gas. interval '1d' or '5m';
    points = how many of the newest bars to return (default 250).

Input parameters:

- `filters`: Optional extra filters as a JSON object of API parameter names and values, e.g. {"fiscal_year": 2025}. Call list_filters with this tool's name to see every accepted filter.
- `interval` (string): '1d' for daily bars or '5m' for 5-minute bars.
- `points` (integer): How many of the newest bars to return (default 250, about one trading year of daily bars).
- `symbol` (string, required): Commodity futures symbol, e.g. 'GC=F' (gold), 'SI=F' (silver), 'CL=F' (crude oil), 'NG=F' (natural gas).

Output parameters:

- `allowed_filters`: On an unknown-filter error: the filters this endpoint accepts.
- `data`: The records: a list of objects (or one object) with the requested data.
- `detail`: Extra error detail from the API, e.g. which filter is required.
- `endpoint`: DataPorium API endpoint that answered, e.g. /company-info.
- `error`: Present when the call failed, with the reason.
- `filters_sent`: Filters sent to the API for this answer.
- `note`: Present when the answer was shortened, with how to get the rest.
- `rows`: Number of records the API returned (before any shortening).

### `get_fx_rates` (~189 tokens)

Currency exchange rates. currency_conversion like 'USD-EUR'. interval picks the bar size
    (5m and 1h cover recent days, 1d/1w/1mo cover years).

Input parameters:

- `currency_conversion` (string, required): Currency pair as FROM-TO, e.g. 'USD-EUR', 'EUR-JPY' or 'GBP-USD'.
- `date`: Date filter in YYYY-MM-DD format, e.g. '2026-06-30'.
- `filters`: Optional extra filters as a JSON object of API parameter names and values, e.g. {"fiscal_year": 2025}. Call list_filters with this tool's name to see every accepted filter.
- `interval` (string): Bar size: '5m' and '1h' cover recent days; '1d', '1w' and '1mo' cover years.

Output parameters:

- `allowed_filters`: On an unknown-filter error: the filters this endpoint accepts.
- `data`: The records: a list of objects (or one object) with the requested data.
- `detail`: Extra error detail from the API, e.g. which filter is required.
- `endpoint`: DataPorium API endpoint that answered, e.g. /company-info.
- `error`: Present when the call failed, with the reason.
- `filters_sent`: Filters sent to the API for this answer.
- `note`: Present when the answer was shortened, with how to get the rest.
- `rows`: Number of records the API returned (before any shortening).

### `get_financial_statements` (~302 tokens)

Financial statements (income statement, balance sheet, cash flow). summary=True returns the compact
    summary version with the key lines. Filter by fiscal_year (e.g. 2025), fiscal_qtr (e.g. Q2) or
    fiscal_year_qtr (e.g. 2025Q2); period_type e.g. annual or quarterly.

Input parameters:

- `company_name`: Exact company name as listed, e.g. 'Apple Inc.'. Use search_symbols to find it.
- `filters`: Optional extra filters as a JSON object of API parameter names and values, e.g. {"fiscal_year": 2025}. Call list_filters with this tool's name to see every accepted filter.
- `fiscal_qtr`: Fiscal quarter, e.g. 'Q2'.
- `fiscal_year`: Fiscal year, e.g. 2025.
- `fiscal_year_qtr`: Fiscal year and quarter together, e.g. '2025Q2'.
- `period_type`: Reporting period, e.g. 'annual' or 'quarterly'.
- `statement` (string, required): Which financial statement: 'income', 'balance_sheet' or 'cash_flow'.
- `summary` (boolean): True returns the compact version with only the key lines; False returns every line item.
- `symbol`: Ticker symbol, e.g. AAPL, MSFT or NVDA. Use search_symbols if you only know the company name.

Output parameters:

- `allowed_filters`: On an unknown-filter error: the filters this endpoint accepts.
- `data`: The records: a list of objects (or one object) with the requested data.
- `detail`: Extra error detail from the API, e.g. which filter is required.
- `endpoint`: DataPorium API endpoint that answered, e.g. /company-info.
- `error`: Present when the call failed, with the reason.
- `filters_sent`: Filters sent to the API for this answer.
- `note`: Present when the answer was shortened, with how to get the rest.
- `rows`: Number of records the API returned (before any shortening).

### `get_business_segments` (~159 tokens)

Revenue by business segment, product and geography, from company filings.

Input parameters:

- `company_name`: Exact company name as listed, e.g. 'Apple Inc.'. Use search_symbols to find it.
- `filters`: Optional extra filters as a JSON object of API parameter names and values, e.g. {"fiscal_year": 2025}. Call list_filters with this tool's name to see every accepted filter.
- `fiscal_year`: Fiscal year, e.g. 2025.
- `fiscal_yearqtr`: Fiscal year and quarter together, e.g. '2025Q2'.
- `symbol`: Ticker symbol, e.g. AAPL, MSFT or NVDA. Use search_symbols if you only know the company name.

Output parameters:

- `allowed_filters`: On an unknown-filter error: the filters this endpoint accepts.
- `data`: The records: a list of objects (or one object) with the requested data.
- `detail`: Extra error detail from the API, e.g. which filter is required.
- `endpoint`: DataPorium API endpoint that answered, e.g. /company-info.
- `error`: Present when the call failed, with the reason.
- `filters_sent`: Filters sent to the API for this answer.
- `note`: Present when the answer was shortened, with how to get the rest.
- `rows`: Number of records the API returned (before any shortening).

### `get_sec_filings` (~140 tokens)

SEC filings of a company (10-K, 10-Q, 8-K, ...) with links. form_type filters by form.

Input parameters:

- `accessionnumber`: SEC accession number of one filing, e.g. '0000320193-25-000079'.
- `cik`: SEC Central Index Key of the company, e.g. 320193 for Apple.
- `form_type`: SEC form type, e.g. '10-K', '10-Q' or '8-K'.
- `symbol`: Ticker symbol, e.g. AAPL, MSFT or NVDA. Use search_symbols if you only know the company name.

Output parameters:

- `allowed_filters`: On an unknown-filter error: the filters this endpoint accepts.
- `data`: The records: a list of objects (or one object) with the requested data.
- `detail`: Extra error detail from the API, e.g. which filter is required.
- `endpoint`: DataPorium API endpoint that answered, e.g. /company-info.
- `error`: Present when the call failed, with the reason.
- `filters_sent`: Filters sent to the API for this answer.
- `note`: Present when the answer was shortened, with how to get the rest.
- `rows`: Number of records the API returned (before any shortening).

### `get_earnings_transcripts` (~171 tokens)

Earnings call transcripts. Filter by fiscal_year and fiscal_qtr (e.g. Q3) to get one call; transcripts are long.

Input parameters:

- `company_name`: Exact company name as listed, e.g. 'Apple Inc.'. Use search_symbols to find it.
- `filters`: Optional extra filters as a JSON object of API parameter names and values, e.g. {"fiscal_year": 2025}. Call list_filters with this tool's name to see every accepted filter.
- `fiscal_qtr`: Fiscal quarter, e.g. 'Q2'.
- `fiscal_year`: Fiscal year, e.g. 2025.
- `symbol`: Ticker symbol, e.g. AAPL, MSFT or NVDA. Use search_symbols if you only know the company name.

Output parameters:

- `allowed_filters`: On an unknown-filter error: the filters this endpoint accepts.
- `data`: The records: a list of objects (or one object) with the requested data.
- `detail`: Extra error detail from the API, e.g. which filter is required.
- `endpoint`: DataPorium API endpoint that answered, e.g. /company-info.
- `error`: Present when the call failed, with the reason.
- `filters_sent`: Filters sent to the API for this answer.
- `note`: Present when the answer was shortened, with how to get the rest.
- `rows`: Number of records the API returned (before any shortening).

### `get_company_documents` (~149 tokens)

Investor presentations (slide decks with links) or press releases of a company.

Input parameters:

- `company_name`: Exact company name as listed, e.g. 'Apple Inc.'. Use search_symbols to find it.
- `filters`: Optional extra filters as a JSON object of API parameter names and values, e.g. {"fiscal_year": 2025}. Call list_filters with this tool's name to see every accepted filter.
- `kind` (string, required): 'presentations' for investor slide decks, 'press_releases' for company press releases.
- `symbol`: Ticker symbol, e.g. AAPL, MSFT or NVDA. Use search_symbols if you only know the company name.

Output parameters:

- `allowed_filters`: On an unknown-filter error: the filters this endpoint accepts.
- `data`: The records: a list of objects (or one object) with the requested data.
- `detail`: Extra error detail from the API, e.g. which filter is required.
- `endpoint`: DataPorium API endpoint that answered, e.g. /company-info.
- `error`: Present when the call failed, with the reason.
- `filters_sent`: Filters sent to the API for this answer.
- `note`: Present when the answer was shortened, with how to get the rest.
- `rows`: Number of records the API returned (before any shortening).

### `get_stock_news` (~155 tokens)

Recent news articles about one company or crypto coin (full text, sentiment, tags). ticker e.g. AAPL or BTC-USD.

Input parameters:

- `company_name`: Exact company name as listed, e.g. 'Apple Inc.'. Use search_symbols to find it.
- `filters`: Optional extra filters as a JSON object of API parameter names and values, e.g. {"fiscal_year": 2025}. Call list_filters with this tool's name to see every accepted filter.
- `stock_type`: Asset type of the ticker, e.g. 'stock' or 'crypto'.
- `ticker`: Ticker symbol, e.g. AAPL, SPY or BTC-USD (crypto uses the -USD suffix).

Output parameters:

- `allowed_filters`: On an unknown-filter error: the filters this endpoint accepts.
- `data`: The records: a list of objects (or one object) with the requested data.
- `detail`: Extra error detail from the API, e.g. which filter is required.
- `endpoint`: DataPorium API endpoint that answered, e.g. /company-info.
- `error`: Present when the call failed, with the reason.
- `filters_sent`: Filters sent to the API for this answer.
- `note`: Present when the answer was shortened, with how to get the rest.
- `rows`: Number of records the API returned (before any shortening).

### `get_market_news` (~64 tokens)

Latest market-wide news by topic (general, stock, forex, crypto).

Input parameters:

- `page`: Page number for paging through long results, starting at 1.
- `topic` (string): News topic: 'general', 'stock', 'forex' or 'crypto'.

Output parameters:

- `allowed_filters`: On an unknown-filter error: the filters this endpoint accepts.
- `data`: The records: a list of objects (or one object) with the requested data.
- `detail`: Extra error detail from the API, e.g. which filter is required.
- `endpoint`: DataPorium API endpoint that answered, e.g. /company-info.
- `error`: Present when the call failed, with the reason.
- `filters_sent`: Filters sent to the API for this answer.
- `note`: Present when the answer was shortened, with how to get the rest.
- `rows`: Number of records the API returned (before any shortening).

### `get_calendar` (~238 tokens)

Market calendars: 'earnings_splits' (earnings dates and stock splits, filter by symbol), 'ipo' (upcoming and
    recent IPOs), 'economic' (economic events like CPI or Fed decisions, filter by event_name/country).

Input parameters:

- `calendar_month`: Calendar month number, 1 to 12.
- `calendar_year`: Calendar year, e.g. 2026.
- `country`: Country name, e.g. 'United States'.
- `event_name`: Name of an economic event, e.g. 'CPI' or 'Fed Interest Rate Decision'.
- `filters`: Optional extra filters as a JSON object of API parameter names and values, e.g. {"fiscal_year": 2025}. Call list_filters with this tool's name to see every accepted filter.
- `kind` (string, required): 'earnings_splits' for earnings dates and stock splits, 'ipo' for IPOs, 'economic' for economic events.
- `symbol`: Ticker symbol, e.g. AAPL, MSFT or NVDA. Use search_symbols if you only know the company name.

Output parameters:

- `allowed_filters`: On an unknown-filter error: the filters this endpoint accepts.
- `data`: The records: a list of objects (or one object) with the requested data.
- `detail`: Extra error detail from the API, e.g. which filter is required.
- `endpoint`: DataPorium API endpoint that answered, e.g. /company-info.
- `error`: Present when the call failed, with the reason.
- `filters_sent`: Filters sent to the API for this answer.
- `note`: Present when the answer was shortened, with how to get the rest.
- `rows`: Number of records the API returned (before any shortening).

### `get_exchange_schedule` (~115 tokens)

Stock exchange trading hours or holidays. exchange e.g. NYSE, NASDAQ, LSE.

Input parameters:

- `exchange`: Stock exchange, e.g. 'NYSE', 'NASDAQ' or 'LSE'.
- `filters`: Optional extra filters as a JSON object of API parameter names and values, e.g. {"fiscal_year": 2025}. Call list_filters with this tool's name to see every accepted filter.
- `kind` (string, required): 'hours' for trading hours or 'holidays' for market holidays.

Output parameters:

- `allowed_filters`: On an unknown-filter error: the filters this endpoint accepts.
- `data`: The records: a list of objects (or one object) with the requested data.
- `detail`: Extra error detail from the API, e.g. which filter is required.
- `endpoint`: DataPorium API endpoint that answered, e.g. /company-info.
- `error`: Present when the call failed, with the reason.
- `filters_sent`: Filters sent to the API for this answer.
- `note`: Present when the answer was shortened, with how to get the rest.
- `rows`: Number of records the API returned (before any shortening).

### `get_market_movers` (~118 tokens)

Today's biggest stock gainers, losers or most active stocks.

Input parameters:

- `exchange`: Stock exchange, e.g. 'NYSE', 'NASDAQ' or 'LSE'.
- `filters`: Optional extra filters as a JSON object of API parameter names and values, e.g. {"fiscal_year": 2025}. Call list_filters with this tool's name to see every accepted filter.
- `status` (string): 'gainer' for top gainers, 'loser' for top losers, 'active' for most traded stocks.

Output parameters:

- `allowed_filters`: On an unknown-filter error: the filters this endpoint accepts.
- `data`: The records: a list of objects (or one object) with the requested data.
- `detail`: Extra error detail from the API, e.g. which filter is required.
- `endpoint`: DataPorium API endpoint that answered, e.g. /company-info.
- `error`: Present when the call failed, with the reason.
- `filters_sent`: Filters sent to the API for this answer.
- `note`: Present when the answer was shortened, with how to get the rest.
- `rows`: Number of records the API returned (before any shortening).

### `get_sector_industry_performance` (~181 tokens)

Daily performance or P/E history of market sectors or industries (e.g. sector 'Technology', exchange 'NASDAQ').

Input parameters:

- `date`: Date filter in YYYY-MM-DD format, e.g. '2026-06-30'.
- `exchange`: Stock exchange, e.g. 'NYSE', 'NASDAQ' or 'LSE'.
- `filters`: Optional extra filters as a JSON object of API parameter names and values, e.g. {"fiscal_year": 2025}. Call list_filters with this tool's name to see every accepted filter.
- `industry`: Industry name, e.g. 'Semiconductors'.
- `kind` (string, required): 'sector_performance', 'sector_pe', 'industry_performance' or 'industry_pe'.
- `sector`: Market sector, e.g. 'Technology' or 'Health Care'.

Output parameters:

- `allowed_filters`: On an unknown-filter error: the filters this endpoint accepts.
- `data`: The records: a list of objects (or one object) with the requested data.
- `detail`: Extra error detail from the API, e.g. which filter is required.
- `endpoint`: DataPorium API endpoint that answered, e.g. /company-info.
- `error`: Present when the call failed, with the reason.
- `filters_sent`: Filters sent to the API for this answer.
- `note`: Present when the answer was shortened, with how to get the rest.
- `rows`: Number of records the API returned (before any shortening).

### `get_insider_activity` (~153 tokens)

Insider trading: recent 'transactions', insiders' 'holdings_summary', or full 'transaction_history'.

Input parameters:

- `company_name`: Exact company name as listed, e.g. 'Apple Inc.'. Use search_symbols to find it.
- `filters`: Optional extra filters as a JSON object of API parameter names and values, e.g. {"fiscal_year": 2025}. Call list_filters with this tool's name to see every accepted filter.
- `kind` (string, required): 'transactions' (recent trades), 'holdings_summary' or 'transaction_history'.
- `symbol`: Ticker symbol, e.g. AAPL, MSFT or NVDA. Use search_symbols if you only know the company name.

Output parameters:

- `allowed_filters`: On an unknown-filter error: the filters this endpoint accepts.
- `data`: The records: a list of objects (or one object) with the requested data.
- `detail`: Extra error detail from the API, e.g. which filter is required.
- `endpoint`: DataPorium API endpoint that answered, e.g. /company-info.
- `error`: Present when the call failed, with the reason.
- `filters_sent`: Filters sent to the API for this answer.
- `note`: Present when the answer was shortened, with how to get the rest.
- `rows`: Number of records the API returned (before any shortening).

### `get_shareholders` (~190 tokens)

Institutional ownership: 'major' holders, 'quarterly' 13F holdings (filters year, qtr, period),
    'quarterly_summary', ownership 'by_type', share 'class', and holders by country 'geo'.

Input parameters:

- `company_name`: Exact company name as listed, e.g. 'Apple Inc.'. Use search_symbols to find it.
- `filters`: Optional extra filters as a JSON object of API parameter names and values, e.g. {"fiscal_year": 2025}. Call list_filters with this tool's name to see every accepted filter.
- `kind` (string, required): 'major', 'quarterly' (13F holdings), 'quarterly_summary', 'by_type', 'class' or 'geo'.
- `symbol`: Ticker symbol, e.g. AAPL, MSFT or NVDA. Use search_symbols if you only know the company name.

Output parameters:

- `allowed_filters`: On an unknown-filter error: the filters this endpoint accepts.
- `data`: The records: a list of objects (or one object) with the requested data.
- `detail`: Extra error detail from the API, e.g. which filter is required.
- `endpoint`: DataPorium API endpoint that answered, e.g. /company-info.
- `error`: Present when the call failed, with the reason.
- `filters_sent`: Filters sent to the API for this answer.
- `note`: Present when the answer was shortened, with how to get the rest.
- `rows`: Number of records the API returned (before any shortening).

### `get_options_chain` (~109 tokens)

Option chain (calls and puts with strikes, expirations, prices, volume, open interest) for a stock.

Input parameters:

- `filters`: Optional extra filters as a JSON object of API parameter names and values, e.g. {"fiscal_year": 2025}. Call list_filters with this tool's name to see every accepted filter.
- `symbol` (string, required): Ticker symbol, e.g. AAPL, MSFT or NVDA. Use search_symbols if you only know the company name.

Output parameters:

- `allowed_filters`: On an unknown-filter error: the filters this endpoint accepts.
- `data`: The records: a list of objects (or one object) with the requested data.
- `detail`: Extra error detail from the API, e.g. which filter is required.
- `endpoint`: DataPorium API endpoint that answered, e.g. /company-info.
- `error`: Present when the call failed, with the reason.
- `filters_sent`: Filters sent to the API for this answer.
- `note`: Present when the answer was shortened, with how to get the rest.
- `rows`: Number of records the API returned (before any shortening).

### `get_ma_transactions` (~234 tokens)

Mergers, acquisitions and investments. 'deals' = full deal records for a company (symbol/company_name),
    'summary' = shorter records, 'flat' = one row per deal with filters like ticker_buyer, ticker_target,
    txn_stage, date_announced, 'reports' = aggregated counts by level/level_values, 'filters' = searchable deal list.

Input parameters:

- `company_name`: Exact company name as listed, e.g. 'Apple Inc.'. Use search_symbols to find it.
- `filters`: Optional extra filters as a JSON object of API parameter names and values, e.g. {"fiscal_year": 2025}. Call list_filters with this tool's name to see every accepted filter.
- `symbol`: Ticker symbol, e.g. AAPL, MSFT or NVDA. Use search_symbols if you only know the company name.
- `view` (string): 'deals' (full records for a company), 'summary', 'flat' (one row per deal), 'reports' (aggregated counts) or 'filters' (searchable deal list).

Output parameters:

- `allowed_filters`: On an unknown-filter error: the filters this endpoint accepts.
- `data`: The records: a list of objects (or one object) with the requested data.
- `detail`: Extra error detail from the API, e.g. which filter is required.
- `endpoint`: DataPorium API endpoint that answered, e.g. /company-info.
- `error`: Present when the call failed, with the reason.
- `filters_sent`: Filters sent to the API for this answer.
- `note`: Present when the answer was shortened, with how to get the rest.
- `rows`: Number of records the API returned (before any shortening).

### `get_social_media` (~176 tokens)

A company's social media and employer data: X (Twitter) profile/posts/follower history, LinkedIn
    profile/posts/followers and employees, Glassdoor profile and ratings.

Input parameters:

- `company_name`: Exact company name as listed, e.g. 'Apple Inc.'. Use search_symbols to find it.
- `dataset` (string, required): Which dataset, e.g. 'x_profile', 'x_posts', 'linkedin_profile' or 'glassdoor_ratings'.
- `filters`: Optional extra filters as a JSON object of API parameter names and values, e.g. {"fiscal_year": 2025}. Call list_filters with this tool's name to see every accepted filter.
- `symbol`: Ticker symbol, e.g. AAPL, MSFT or NVDA. Use search_symbols if you only know the company name.

Output parameters:

- `allowed_filters`: On an unknown-filter error: the filters this endpoint accepts.
- `data`: The records: a list of objects (or one object) with the requested data.
- `detail`: Extra error detail from the API, e.g. which filter is required.
- `endpoint`: DataPorium API endpoint that answered, e.g. /company-info.
- `error`: Present when the call failed, with the reason.
- `filters_sent`: Filters sent to the API for this answer.
- `note`: Present when the answer was shortened, with how to get the rest.
- `rows`: Number of records the API returned (before any shortening).

### `get_economic_metrics` (~323 tokens)

US economic time series. economic_metrics is one of: GDP, real_GDP, real_GDP_Per_Capita, nominal_Potential_GDP,
    CPI, inflation, inflation_Rate, federal_Funds, unemployment_Rate, total_Non_farm_Payroll, initial_Claims,
    retail_Sales, consumer_Sentiment, durable_Goods, industrial_Production_Total_Index,
    new_Privately_Owned_HousingUnits_Started_Total_Units, total_Vehicle_Sales, retail_Money_Funds,
    smoothed_US_Recession_Probabilities, 30Year_Fixed_Rate_Mortgage_Average, 15Year_Fixed_Rate_Mortgage_Average,
    commercial_Bank_Interest_Rate_On_Credit_Card_Plans__All_Accounts,
    3Month_Or_90Day_Rates_And_Yields_Certificates_Of_Deposit.

Input parameters:

- `date`: Date filter in YYYY-MM-DD format, e.g. '2026-06-30'.
- `economic_metrics` (string, required): Name of the US economic series, e.g. 'CPI', 'unemployment_Rate', 'federal_Funds' or '30Year_Fixed_Rate_Mortgage_Average' (the full list is in the tool description).
- `filters`: Optional extra filters as a JSON object of API parameter names and values, e.g. {"fiscal_year": 2025}. Call list_filters with this tool's name to see every accepted filter.

Output parameters:

- `allowed_filters`: On an unknown-filter error: the filters this endpoint accepts.
- `data`: The records: a list of objects (or one object) with the requested data.
- `detail`: Extra error detail from the API, e.g. which filter is required.
- `endpoint`: DataPorium API endpoint that answered, e.g. /company-info.
- `error`: Present when the call failed, with the reason.
- `filters_sent`: Filters sent to the API for this answer.
- `note`: Present when the answer was shortened, with how to get the rest.
- `rows`: Number of records the API returned (before any shortening).

### `get_energy_data` (~224 tokens)

US Energy Information Administration data. category e.g. petroleum, natural-gas, electricity, coal,
    co2-emissions, total-energy; location e.g. a state code (TX); period e.g. 2024; period_type annual/monthly.

Input parameters:

- `category` (string, required): EIA data category, e.g. 'petroleum', 'natural-gas', 'electricity', 'coal', 'co2-emissions' or 'total-energy'.
- `dataset`: Optional dataset within the category. Leave empty to see what is available.
- `filters`: Optional extra filters as a JSON object of API parameter names and values, e.g. {"fiscal_year": 2025}. Call list_filters with this tool's name to see every accepted filter.
- `location`: Location code, e.g. a US state code such as 'TX'.
- `period`: Time period, e.g. '2024' or '2024-06'.
- `period_type`: Reporting period, e.g. 'annual' or 'quarterly'.

Output parameters:

- `allowed_filters`: On an unknown-filter error: the filters this endpoint accepts.
- `data`: The records: a list of objects (or one object) with the requested data.
- `detail`: Extra error detail from the API, e.g. which filter is required.
- `endpoint`: DataPorium API endpoint that answered, e.g. /company-info.
- `error`: Present when the call failed, with the reason.
- `filters_sent`: Filters sent to the API for this answer.
- `note`: Present when the answer was shortened, with how to get the rest.
- `rows`: Number of records the API returned (before any shortening).

### `get_healthcare_market` (~241 tokens)

Healthcare market data: drug/brand revenue by quarter (brand_revenue, filter symbol), company revenue by
    healthcare industry, market size by country/region, company market share, industry market size and therapy-area
    market size. industry values: Pharmaceutical, Medical Device, Diagnostic Life Science, Consumer Healthcare,
    Health Insurance, Healthcare, Distributor, Veterinary, and others.

Input parameters:

- `company_name`: Exact company name as listed, e.g. 'Apple Inc.'. Use search_symbols to find it.
- `dataset` (string, required): Which dataset, e.g. 'brand_revenue', 'company_revenue', 'market_share' or 'therapy_market_size'.
- `filters`: Optional extra filters as a JSON object of API parameter names and values, e.g. {"fiscal_year": 2025}. Call list_filters with this tool's name to see every accepted filter.
- `industry`: Healthcare industry, e.g. 'Pharmaceutical', 'Medical Device' or 'Health Insurance'.
- `symbol`: Ticker symbol, e.g. AAPL, MSFT or NVDA. Use search_symbols if you only know the company name.

Output parameters:

- `allowed_filters`: On an unknown-filter error: the filters this endpoint accepts.
- `data`: The records: a list of objects (or one object) with the requested data.
- `detail`: Extra error detail from the API, e.g. which filter is required.
- `endpoint`: DataPorium API endpoint that answered, e.g. /company-info.
- `error`: Present when the call failed, with the reason.
- `filters_sent`: Filters sent to the API for this answer.
- `note`: Present when the answer was shortened, with how to get the rest.
- `rows`: Number of records the API returned (before any shortening).

### `get_property_listings` (~285 tokens)

US property listings with price, beds, baths, size, dates, photos and agent. Give a location (zip_code is best).
    active_only=True (for_sale, pending, rent) returns current listings and supports filters beds_gte, beds_lte,
    list_price_gte, list_price_lte, style, list_date_gte. 'sold' needs a last_sold_date filter
    (e.g. filters={'last_sold_date_gte': '2025-01-01'}); history endpoints need a list_date filter.

Input parameters:

- `active_only` (boolean): True returns current listings only (for_sale, pending, rent); False searches the listing history.
- `city`: City name, e.g. 'Austin'.
- `county`: County name, e.g. 'Travis'.
- `filters`: Optional extra filters as a JSON object of API parameter names and values, e.g. {"fiscal_year": 2025}. Call list_filters with this tool's name to see every accepted filter.
- `listing` (string, required): Listing status: 'for_sale', 'pending', 'rent', 'sold' or 'off_market'.
- `state`: US state as a 2-letter code, e.g. 'TX'.
- `zip_code`: 5-digit US ZIP code, e.g. '78701'.

Output parameters:

- `allowed_filters`: On an unknown-filter error: the filters this endpoint accepts.
- `data`: The records: a list of objects (or one object) with the requested data.
- `detail`: Extra error detail from the API, e.g. which filter is required.
- `endpoint`: DataPorium API endpoint that answered, e.g. /company-info.
- `error`: Present when the call failed, with the reason.
- `filters_sent`: Filters sent to the API for this answer.
- `note`: Present when the answer was shortened, with how to get the rest.
- `rows`: Number of records the API returned (before any shortening).

### `get_housing_market` (~257 tokens)

Housing market time series (home values, rents, inventory, sales, affordability) by region. Examples:
    region_name='77493', region_type='zip'; region_name='United States', region_type='country'.

Input parameters:

- `data_type`: Housing data series, e.g. home values, rentals or inventory. Leave empty to see all available series.
- `date`: Date filter in YYYY-MM-DD format, e.g. '2026-06-30'.
- `filters`: Optional extra filters as a JSON object of API parameter names and values, e.g. {"fiscal_year": 2025}. Call list_filters with this tool's name to see every accepted filter.
- `region_name`: Region to look up, e.g. a ZIP code ('77493'), city ('Austin, TX'), county, metro or 'United States'.
- `region_type`: Type of region: 'country', 'state', 'msa' (metro area), 'county', 'city', 'zip' or 'neighborhood'.
- `report_name`: Housing report name. Leave empty to see all available reports for the region.
- `state`: US state as a 2-letter code, e.g. 'TX'.

Output parameters:

- `allowed_filters`: On an unknown-filter error: the filters this endpoint accepts.
- `data`: The records: a list of objects (or one object) with the requested data.
- `detail`: Extra error detail from the API, e.g. which filter is required.
- `endpoint`: DataPorium API endpoint that answered, e.g. /company-info.
- `error`: Present when the call failed, with the reason.
- `filters_sent`: Filters sent to the API for this answer.
- `note`: Present when the answer was shortened, with how to get the rest.
- `rows`: Number of records the API returned (before any shortening).

### `get_property_tax` (~130 tokens)

Property tax rates by state, county, city or ZIP code.

Input parameters:

- `city`: City name, e.g. 'Austin'.
- `county`: County name, e.g. 'Travis'.
- `filters`: Optional extra filters as a JSON object of API parameter names and values, e.g. {"fiscal_year": 2025}. Call list_filters with this tool's name to see every accepted filter.
- `state`: US state as a 2-letter code, e.g. 'TX'.
- `zip`: 5-digit US ZIP code, e.g. '78701'.

Output parameters:

- `allowed_filters`: On an unknown-filter error: the filters this endpoint accepts.
- `data`: The records: a list of objects (or one object) with the requested data.
- `detail`: Extra error detail from the API, e.g. which filter is required.
- `endpoint`: DataPorium API endpoint that answered, e.g. /company-info.
- `error`: Present when the call failed, with the reason.
- `filters_sent`: Filters sent to the API for this answer.
- `note`: Present when the answer was shortened, with how to get the rest.
- `rows`: Number of records the API returned (before any shortening).

### `get_neighborhood_data` (~244 tokens)

Area data for US places: crime rates, census demographics, environmental hazards, climate risk, air quality and
    a neighborhood profile (schools, amenities, walkability, noise). level e.g. state, county, city or zip.

Input parameters:

- `city`: City name, e.g. 'Austin'.
- `county`: County name, e.g. 'Travis'.
- `dataset` (string, required): Which dataset: 'crime', 'demographics', 'environmental_hazards', 'climate_risk', 'air_quality' or 'neighborhood_profile'.
- `filters`: Optional extra filters as a JSON object of API parameter names and values, e.g. {"fiscal_year": 2025}. Call list_filters with this tool's name to see every accepted filter.
- `level`: Geographic level: 'state', 'county', 'metro', 'city' or 'zip'.
- `state`: US state name, e.g. 'Texas'.
- `state_abbr`: US state as a 2-letter code, e.g. 'TX'.
- `zip`: 5-digit US ZIP code, e.g. '78701'.

Output parameters:

- `allowed_filters`: On an unknown-filter error: the filters this endpoint accepts.
- `data`: The records: a list of objects (or one object) with the requested data.
- `detail`: Extra error detail from the API, e.g. which filter is required.
- `endpoint`: DataPorium API endpoint that answered, e.g. /company-info.
- `error`: Present when the call failed, with the reason.
- `filters_sent`: Filters sent to the API for this answer.
- `note`: Present when the answer was shortened, with how to get the rest.
- `rows`: Number of records the API returned (before any shortening).

### `describe_screen_fields` (~129 tokens)

Fields you can filter and rank on in screen_stocks / screen_areas, with unit, description and typical range
    (10th, 50th, 90th percentile). Call this before screening to choose realistic thresholds. For areas pass the
    level you will screen (ranges differ between states, cities and ZIPs).

Input parameters:

- `dataset` (string, required): 'stocks' for screen_stocks fields or 'areas' for screen_areas fields.
- `level`: For areas: the level you will screen ('state', 'county', 'metro', 'city' or 'zip').

Output parameters:

- `allowed_filters`: On an unknown-filter error: the filters this endpoint accepts.
- `data`: The records: a list of objects (or one object) with the requested data.
- `detail`: Extra error detail from the API, e.g. which filter is required.
- `endpoint`: DataPorium API endpoint that answered, e.g. /company-info.
- `error`: Present when the call failed, with the reason.
- `filters_sent`: Filters sent to the API for this answer.
- `note`: Present when the answer was shortened, with how to get the rest.
- `rows`: Number of records the API returned (before any shortening).

### `screen_stocks` (~454 tokens)

START HERE for broad stock questions (no specific company named). Ranks ~45,000 companies in one call.
    filters: {"field": [min, max]} using fields from describe_screen_fields("stocks"), e.g.
    {"market_cap": [2e9, null], "forward_pe": [5, 15], "revenue_growth_pct": [10, null], "debt_to_equity": [null, 1]}.
    Percent fields are in percent (10 = 10%). sector/industry/country/exchange: lists, partial match
    (e.g. sector ["Technology"], country ["United States"]). sort_by any field, e.g. "fcf_yield_pct".
    Returns at most 50 rows plus total_matches; use offset for the next page.

Input parameters:

- `country`: Countries to keep, e.g. ["United States"].
- `exchange`: Exchanges to keep, e.g. ["NASDAQ", "NYSE"].
- `fields`: Extra fields to include in each result row, from describe_screen_fields.
- `filters`: Ranges as {"field": [min, max]} using fields from describe_screen_fields("stocks"); use null for an open end, e.g. {"forward_pe": [5, 15], "revenue_growth_pct": [10, null]}.
- `industry`: Industries to keep (partial match), e.g. ["Semiconductors"].
- `limit` (integer): Rows to return, 1 to 50.
- `offset` (integer): Number of rows to skip, for the next page of results (e.g. 20 after a first call with limit 20).
- `pending_target`: True keeps only companies that are targets of a pending M&A deal.
- `query`: Free-text search on company name or ticker.
- `sector`: Sectors to keep (partial match), e.g. ["Technology"].
- `sort_by` (string): Field to rank by, e.g. 'market_cap', 'forward_pe' or 'fcf_yield_pct'.
- `sort_order`: Sort direction: 'asc' (ascending) or 'desc' (descending).

Output parameters:

- `allowed_filters`: On an unknown-filter error: the filters this endpoint accepts.
- `data`: The records: a list of objects (or one object) with the requested data.
- `detail`: Extra error detail from the API, e.g. which filter is required.
- `endpoint`: DataPorium API endpoint that answered, e.g. /company-info.
- `error`: Present when the call failed, with the reason.
- `filters_sent`: Filters sent to the API for this answer.
- `note`: Present when the answer was shortened, with how to get the rest.
- `rows`: Number of records the API returned (before any shortening).

### `screen_areas` (~465 tokens)

START HERE for broad real-estate questions (where to buy, rent out, or live). Ranks every state, county,
    metro, city or ZIP in one call on home values and 1-year change, rent and rent yield, Zillow forecast, market
    speed (metros), active listings, crime, population and income, unemployment, air quality, flood/earthquake
    risk, weather and property tax. filters: {"field": [min, max]}, e.g. {"gross_rent_yield_pct": [7, null],
    "population": [50000, null], "crime_rate_per_1000": [null, 30]}. states: ["TX", "FL"]. flood_risk: ["Low"].
    Then use search_listings for homes in the best areas.

Input parameters:

- `city`: Cities to keep, e.g. ["Austin"].
- `county`: Counties to keep, e.g. ["Travis"].
- `fields`: Extra fields to include in each result row, from describe_screen_fields.
- `filters`: Ranges as {"field": [min, max]} using fields from describe_screen_fields("areas"), e.g. {"gross_rent_yield_pct": [7, null], "population": [50000, null]}.
- `flood_risk`: List of flood risk levels to keep, e.g. ["Low"].
- `level` (string, required): Which places to rank: 'state', 'county', 'metro', 'city' or 'zip'.
- `limit` (integer): Rows to return, 1 to 50.
- `metro`: List of metro area names, e.g. ["Dallas"].
- `offset` (integer): Number of rows to skip, for the next page of results (e.g. 20 after a first call with limit 20).
- `sort_by` (string): Field to rank by, e.g. 'population', 'gross_rent_yield_pct' or 'home_value_change_1y_pct'.
- `sort_order`: Sort direction: 'asc' (ascending) or 'desc' (descending).
- `states`: List of US state codes, e.g. ["TX", "FL"].

Output parameters:

- `allowed_filters`: On an unknown-filter error: the filters this endpoint accepts.
- `data`: The records: a list of objects (or one object) with the requested data.
- `detail`: Extra error detail from the API, e.g. which filter is required.
- `endpoint`: DataPorium API endpoint that answered, e.g. /company-info.
- `error`: Present when the call failed, with the reason.
- `filters_sent`: Filters sent to the API for this answer.
- `note`: Present when the answer was shortened, with how to get the rest.
- `rows`: Number of records the API returned (before any shortening).

### `screen_ma_deals` (~402 tokens)

Find M&A deals across the market (default: the 12 months up to the newest deal). stage e.g.
    ["Completed"] or ["Announced/Pending"]; sectors and countries are partial matches (e.g. target_sector
    ["Health Care"], target_country ["United States"]); values in USD millions. Compact rows (date, buyer,
    target, tickers, value, stage, sectors, countries); use get_ma_transactions for full details of one deal.

Input parameters:

- `buyer`: Buyer company name or ticker (partial match).
- `buyer_country`: Country of the buyer, e.g. ["United States"] (partial match).
- `buyer_sector`: Sector of the buyer, e.g. ["Technology"] (partial match).
- `date_from`: Start date in YYYY-MM-DD format.
- `date_to`: End date in YYYY-MM-DD format.
- `limit` (integer): Rows to return, 1 to 50.
- `offset` (integer): Number of rows to skip, for the next page of results (e.g. 20 after a first call with limit 20).
- `sort_by` (string): 'date' (newest first by default) or 'value'.
- `sort_order`: Sort direction: 'asc' (ascending) or 'desc' (descending).
- `stage`: Deal stage list, e.g. ["Completed"] or ["Announced/Pending"].
- `target`: Acquired company name or ticker (partial match).
- `target_country`: Country of the acquired company, e.g. ["United States"] (partial match).
- `target_sector`: Sector of the acquired company, e.g. ["Health Care"] (partial match).
- `value_max_usd_mm`: Maximum deal value in US dollars, millions.
- `value_min_usd_mm`: Minimum deal value in US dollars, millions (e.g. 1000 = $1 billion).

Output parameters:

- `allowed_filters`: On an unknown-filter error: the filters this endpoint accepts.
- `data`: The records: a list of objects (or one object) with the requested data.
- `detail`: Extra error detail from the API, e.g. which filter is required.
- `endpoint`: DataPorium API endpoint that answered, e.g. /company-info.
- `error`: Present when the call failed, with the reason.
- `filters_sent`: Filters sent to the API for this answer.
- `note`: Present when the answer was shortened, with how to get the rest.
- `rows`: Number of records the API returned (before any shortening).

### `search_listings` (~426 tokens)

Active homes for sale or rent in areas you already picked (use screen_areas first for broad questions).
    Needs zips (up to 25), or state + city, or state + county. style e.g. ["single_family", "condos",
    "townhomes", "multi_family"]. For rentals list_price is the monthly rent. At most 25 homes per call.

Input parameters:

- `baths_min`: Minimum number of bathrooms.
- `beds_min`: Minimum number of bedrooms.
- `city`: City name, e.g. 'Austin'.
- `county`: County name, e.g. 'Travis'.
- `limit` (integer): Homes to return, 1 to 25.
- `listing_type` (string): 'sale' for homes for sale or 'rent' for rentals.
- `max_days_on_market`: Only homes listed for at most this many days.
- `new_construction`: True for new construction only; False to exclude it.
- `offset` (integer): Number of rows to skip, for the next page of results (e.g. 20 after a first call with limit 20).
- `price_max`: Maximum price in US dollars (monthly rent for rentals).
- `price_min`: Minimum price in US dollars (monthly rent for rentals).
- `sort` (string): Sort order: price_asc, price_desc, ppsf_asc (price per square foot), newest, dom_asc (fewest days on market) or sqft_desc.
- `sqft_min`: Minimum living area in square feet.
- `state`: US state as a 2-letter code, e.g. 'TX' (use with city or county).
- `style`: Property styles, e.g. ["single_family", "condos", "townhomes", "multi_family"].
- `year_built_min`: Oldest acceptable year built, e.g. 2000.
- `zips`: List of up to 25 US ZIP codes, e.g. ["78701", "78702"].

Output parameters:

- `allowed_filters`: On an unknown-filter error: the filters this endpoint accepts.
- `data`: The records: a list of objects (or one object) with the requested data.
- `detail`: Extra error detail from the API, e.g. which filter is required.
- `endpoint`: DataPorium API endpoint that answered, e.g. /company-info.
- `error`: Present when the call failed, with the reason.
- `filters_sent`: Filters sent to the API for this answer.
- `note`: Present when the answer was shortened, with how to get the rest.
- `rows`: Number of records the API returned (before any shortening).

### `list_filters` (~84 tokens)

List every filter (API parameter) a tool accepts, with descriptions, for use in its `filters` argument.
    tool is a tool name such as 'get_property_listings' or 'get_financial_statements'.

Input parameters:

- `tool` (string, required): Name of a DataPorium tool, e.g. 'get_property_listings' or 'get_financial_statements'.

Output parameters:

- `error`: Present when the tool name is unknown.
- `filters_by_endpoint`: For each API endpoint of the tool: filter name -> description.
- `tool`: Tool the filters belong to.
- `tools`: On an unknown tool name: the valid tool names.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/tech-dataporium-mcp/mcp#diagnostics

## Score history

- 2026-09-29: 66
- 2026-09-28: 65

## Common questions

### What is the DataPorium MCP server?

DataPorium is an MCP server listed in the public MCP registry as tech.dataporium/mcp. Stock, ETF, crypto, forex, economic and US housing market data by ZIP code for AI assistants. This page covers its hosted endpoint (https://mcp.dataporium.io/mcp).

### Is the DataPorium MCP server safe to use?

DataPorium scores 66 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the DataPorium MCP server expose?

DataPorium exposes 36 tools: search_symbols, get_company_profile, get_industry_classification, get_company_logo, get_stock_prices, and 31 more. Their descriptions and schemas cost roughly 7,555 tokens of context every time the server is loaded.

### Does the DataPorium MCP server require authentication?

No. We connected to DataPorium without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the DataPorium MCP server still maintained?

DataPorium is still listed as active in the MCP registry. We last reached this channel on 29 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://mcp.dataporium.io/mcp
- Authorisation metadata: https://mcp.dataporium.io/.well-known/oauth-protected-resource/mcp
- Website: https://dataporium.tech/api-docs
- Changelog RSS feed: https://verifymcp.io/servers/tech-dataporium-mcp/mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/tech-dataporium-mcp/mcp.json
- HTML version of this page: https://verifymcp.io/servers/tech-dataporium-mcp/mcp
