---
title: "Held stocks (grand portfolio)"
method: GET
path: "/api/v1/stocks"
tags: ["Stocks"]
---

# Held stocks (grand portfolio)

`GET /api/v1/stocks`

## Request

- Base URL: `https://foliofact.com`
- URL: `https://foliofact.com/api/v1/stocks`
- Auth: one of:
  - none
  - HTTP bearer
  - API key in header `X-Api-Key`
  - OAuth 2 (authorization code, authorization URL `/oauth/authorize`, token URL `/oauth/token`)

Every company held by any tracked fund, with screener fields, aggregated fund ownership, and activity.

## Query parameters

- `page` integer
- `per_page` integer

## Response `200`

Paginated stock screener

- StockList
  - `stocks` object[], required
    - `ticker` string, required
    - `name` string, nullable, required
    - `listing` PublicListing, nullable, required: Verified first public trading event. Null means unknown; provider history and first 13F appearance do not establish a listing date.
      - `listed_on` string, date, required
      - `event_type` 'ipo' | 'direct_listing' | 'spin_off', required
      - `recently_listed` boolean, required: True from the listing date until its twelve-month anniversary.
      - `source_url` string, uri, required
      - `disclosure_note` string, required
    - `funds_count` integer, required
    - `activity` object, required
      - `net` integer, nullable, required
      - `change` 'new' | 'add' | 'trim' | 'sold', nullable, required
    - `top_fund` object, nullable, required
      - `name` string, required
    - `top_fund_weight` number, nullable, required: Weight in percentage points on a 0-100 scale.
    - `ocf_ev_yield` number, nullable, required
    - `valuation_basis` ValuationBasis, required
      - `statement_on` string, date, nullable, required
      - `shares_on` string, date, nullable, required
      - `price_on` string, date, nullable, required
      - `measurement` string, nullable, required
      - `estimated` boolean, required
      - `description` string, required
      - `unavailable_reason` string, nullable, required
      - `ev_unavailable_reason` string, nullable, required
      - `accession_number` string, nullable, required
      - `source_url` string, nullable, required
      - `mapping_sources` string[], nullable, required
      - `calculation_version` string, required
      - `cash_flow_period` string, nullable, required
    - `share_reduction_1y` number, nullable, required
  - `pagination` Pagination, required
    - `page` integer, required
    - `per_page` integer, required
    - `total` integer, required
    - `total_pages` integer, required

## Other responses

- `429`: Rate limit exceeded
- `default`: Structured error

---

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