---
title: "Search the SEC institutional positions dataset"
method: GET
path: "/datasets/sec-institutional-positions/search"
tags: ["Datasets"]
---

# Search the SEC institutional positions dataset

`GET /datasets/sec-institutional-positions/search`

## Request

- Base URL: `https://api.crawlora.net/api/v1`
- URL: `https://api.crawlora.net/api/v1/datasets/sec-institutional-positions/search`
- Auth: API key in header `x-api-key`

Searches institutional investment managers' quarterly 13F portfolio holdings stored in a search index. Filter by manager_cik for a manager's full reported portfolio (an exact, reliable filter), or by issuer_name/cusip for a best-effort view of which managers reported a position in an issuer — SEC publishes no authoritative CUSIP-to-CIK mapping, so the issuer side is never a guaranteed-resolved join. Sort enum: `value_desc`, `value_asc`, `shares_desc`. Billing: this search costs 1 credit per record returned, with a minimum of 2 (an empty result costs 2, a full page of 100 costs 100).

## Query parameters

- `manager_cik` string
- `issuer_name` string
- `cusip` string
- `sort` 'value_desc' | 'value_asc' | 'shares_desc'
- `page` integer
- `page_size` integer

## Headers

- `x-api-key` string, required

## Response `200`

OK

- DatasetsSecInstitutionalPositionsSearchResponseDoc
  - `code` integer
  - `data` DatasetsSecInstitutionalPositionsSearchResponse
    - `dataset` string: Identifier of the dataset queried (`sec-institutional-positions`).
    - `items` EsSecInstitutionalPositionRecord[]: Matching institutional position records on this page.
      - `accession_number` string: SEC accession number of the 13F filing that reported the position.
      - `cusip` string: CUSIP identifier of the held security.
      - `filing_date` string: Date the 13F filing was submitted, in YYYY-MM-DD format.
      - `investment_discretion` string: Investment discretion the manager reports for the position, such as `SOLE`.
      - `issuer_name` string: Name of the company that issued the held security, as the manager reported it.
      - `manager_cik` integer: SEC Central Index Key of the institutional manager that filed.
      - `manager_name` string: Name of the institutional manager that filed.
      - `put_call` string: Whether the position is a `Put` or `Call` option. Empty for other positions.
      - `report_date` string: Quarter-end date the holdings are reported as of, in YYYY-MM-DD format.
      - `share_type` string: Unit of the `shares` figure as reported, such as `SH` for shares.
      - `shares` number: Quantity held, in the unit given by `share_type`.
      - `synced_at` string: Time this position was last updated, in UTC (RFC 3339).
      - `title_of_class` string: Class of the held security as reported, such as `COM`.
      - `value` number: Value of the position as the manager reported it in the 13F filing, in US dollars.
    - `page` integer: Page number returned.
    - `page_size` integer: Number of items per page.
    - `sort` string: Sort order applied.
    - `total` integer: Total number of records matching the filters.
  - `msg` string

## Other responses

- `400`: Bad Request
- `429`: Too Many Requests
- `500`: Internal Server Error

---

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