Authentication
All requests require an API key. API keys never expire automatically - they remain valid until manually deleted in your dashboard.
Inputs
| Parameter | Type | Description |
|---|---|---|
| API-KEY | String | Generated through the developer portal (Required) |
Filing Search
Search over 18M SEC filings with keywords, Boolean expressions, and 20+ filters. All filing types supported. Data available from the 1990s to present.
Parameters
| Parameter | Type | Description | |
|---|---|---|---|
| identifier | String | Restrict results to ticker, CIK (Required) | |
| content | String | Content to search against. Available values: sec, exhibits, agreements (Required) | |
| limit | Int | Maximum number of results to return (default: 100, max: 100) | |
| offset | Int | Used as a way to page through data | |
| start_date | Int | Start from a date with a timestamp (Unix Timestamp) | |
| end_date | Int | End at a date with a timestamp (Unix Timestamp) | |
| exp | String | Boolean expression | enterprise |
| form | String | Restrict results to passed form(s). Use ; between forms to pass more than one form |
Filing Search
Search over 18M SEC filings with keywords, Boolean expressions, and 20+ filters. All filing types supported. Data available from the 1990s to present.
Parameters
| Parameter | Type | Description | |
|---|---|---|---|
| identifier | String | Restrict results to ticker, CIK (Required) | |
| content | String | Content to search against. Available values: sec, exhibits, agreements (Required) | |
| limit | Int | Maximum number of results to return (default: 100, max: 100) | |
| start | Int | Used as a way to page through data. If end is 100 then the next start be 100 | |
| sd | Int | Start from a date with a timestamp (Unix Timestamp) | |
| ed | Int | End at a date with a timestamp (Unix Timestamp) | |
| exp | String | Boolean expression | enterprise |
| form | String | Restrict results to passed form(s). Use ; between forms to pass more than one form |
Filing Search with Boolean Expression Enterprise
Enterprise feature: Search over 18M SEC filings using advanced boolean expressions. Supports all filing types from the 1990s to present.
Parameters
| Parameter | Type | Description |
|---|---|---|
| key | String | API key for authentication (Required) |
| exp | String | Boolean expression for search (Required) |
| content | String | Content to search against. Available values: sec, exhibits, agreements. Defaults to sec |
| limit | Int | Maximum number of results to return (default: 100, max: 100) |
| offset | Int | Number of results to skip for pagination (e.g., 100 to skip first 100 results) |
| start_date | Int | Start date for search as Unix timestamp. Defaults to 4 years ago |
| end_date | Int | End date for search as Unix timestamp. Defaults to current date |
Filing Search Realtime
Get all SEC filings for the current UTC day. Returns the latest filings across all companies.
Parameters
| Parameter | Type | Description |
|---|---|---|
| key | String | API key for authentication (Required) |
| content | String | Content to search against. Available values: sec, exhibits, agreements. Defaults to sec |
| limit | Int | Maximum number of results to return (default: 100, max: 100) |
| start | Int | Number of results to skip for pagination (e.g., 100 to skip first 100 results) |
Holdings
Retrieve equity holdings from Form 13F filings for institutional managers with $100M+ in assets.
Parameters
| Parameter | Type | Description |
|---|---|---|
| identifier | String | Restrict results to cusip, ticker, CIK (Required) |
| type | String | Format: HTML, PDF, Word, XLS, XBRL, XBRL-HTML (Required) |
| limit | Int | Maximum number of results to return (default: 100, max: 100) |
Form D - Private Securities Offerings
Access exempt registrations for small companies and funds pre-IPO.
Parameters
| Parameter | Type | Description |
|---|---|---|
| identifier | String | Restrict results to acc, CIK (Required) |
| limit | Int | Maximum number of results to return (default: 100, max: 100) |
Form C - Crowdfunding
Retrieve crowdfunding offering statements filed via Form C.
Parameters
| Parameter | Type | Description |
|---|---|---|
| identifier | String | Restrict results to acc, CIK (Required) |
| limit | Int | Maximum number of results to return (default: 100, max: 100) |
Form 144 - Restricted Sales
Retrieve Form 144 filings for proposed sales of restricted or control securities by providing an identifier (accession number, timestamp, SEC file number, or issuer CIK) and optional filters.
Parameters
| Parameter | Type | Description |
|---|---|---|
| identifier | String | Unique identifier: accession number (e.g., '0001234567-23-000123'), timestamp (e.g., '1234567890'), SEC file number (e.g., '001-40244'), or issuer CIK (e.g., '0001840776') (Required) |
| name_of_person | String | Name of the insider (e.g., 'KAUFFMAN ROBERT I') |
| notice_date | String | Exact notice date of the filing (format: YYYY-MM-DD, e.g., '2025-04-28') |
| notice_date_gte | String | Start date for notice date range (format: YYYY-MM-DD, e.g., '2025-04-01') |
| notice_date_lte | String | End date for notice date range (format: YYYY-MM-DD, e.g., '2025-04-30') |
| securities_exchange_name | String | Stock exchange (e.g., 'NYSE', 'NASDAQ') |
| broker_name | String | Broker name (e.g., 'Merrill Lynch') |
| issuer_city | String | City of the issuer (e.g., 'TRAVERSE CITY') |
| limit | Int | Number of results to return (1 to 10000, default=50) |
| offset | Int | Number of results to skip for pagination (default: 0) |
| sort_by | String | Sort field: 'notice_date' or 'acc_stamp' (default='notice_date') |
| sort_order | String | Sort order: 'asc' or 'desc' (default='desc') |
Insider Transactions
Fetch insider transaction details for non-derivative and derivative securities.
Parameters
| Parameter | Type | Description |
|---|---|---|
| identifier | String | Restrict results to ticker, CIK (Required) |
| limit | Int | Maximum number of results to return (default: 100, max: 100) |
| start | Int | Start results from |
| sd | String | Start date |
| ed | String | End date |
Compensation Summary
Fetch summary compensation data for key executives.
Parameters
| Parameter | Type | Description |
|---|---|---|
| identifier | String | Restrict results to acc, CIK, ticker (Required) |
| sort | String | Sort retrieved data by asc or desc |
| year | Int | Filter retrieved data by specific year |
Compensation Director
Retrieve compensation data for company directors.
Parameters
| Parameter | Type | Description |
|---|---|---|
| identifier | String | Restrict results to acc, CIK, ticker (Required) |
| sort | String | Sort retrieved data by asc or desc |
| year | Int | Filter retrieved data by specific year |
Corporate Actions
Search corporate actions reported in Form 8-K.
Parameters
| Parameter | Type | Description |
|---|---|---|
| identifier | String | Restrict results to ticker, CIK (Required) |
| limit | Int | Maximum number of results to return (default: 100, max: 100) |
Stock Real-Time Enterprise
Access real-time stock prices with a 15-minute delay. Data from NASDAQ exchange.
Parameters
| Parameter | Type | Description |
|---|---|---|
| API-KEY | String | API key (Required) |
Stock Historical Enterprise
Retrieve historical stock prices and performance indicators.
Parameters
| Parameter | Type | Description |
|---|---|---|
| limit | Int | Maximum number of results to return (default: 100, max: 100) |
| sd | String | Start date as a timestamp |
| ed | String | End date as a timestamp |
Stock Delayed Enterprise
Enterprise feature: Access delayed stock prices and performance indicators. Requires enterprise tier access.
Parameters
| Parameter | Type | Description |
|---|---|---|
| ticker | String | Restrict results to ticker (Required) |
| limit | Int | Maximum number of results to return (default: 100, max: 100) |
| start_date | String | Start date as a timestamp |
| end_date | String | End date as a timestamp |
Search Enterprise
Search and filter the Wealth dataset by person name, CIK, title, university, city, state, or limit results.
Inputs
| Parameter | Type | Description |
|---|---|---|
| key | String | API key (Required) |
| Name | String | Search using a person name. Can be a full or partial name |
| CIK | Integer | CIK identifier |
| Name_title | String | Person Title. Searches across all person companies for a match |
| University | String | Person University. Full or partial names are accepted |
| City | String | City of residence |
| State | String | State search |
| limit | Integer | Maximum number of results to return (default: 100, max: 100) |
Gifts Enterprise
Retrieve all gift transactions for a person, identified by CIK.
Inputs
| Parameter | Type | Description |
|---|---|---|
| key | String | API key (Required) |
| cik | Integer | CIK identifier (Required) |
Bios Enterprise
Retrieve all identified bios for a person, identified by CIK.
Inputs
| Parameter | Type | Description |
|---|---|---|
| key | String | API key (Required) |
| cik | Integer | CIK identifier (Required) |
Sales Enterprise
Retrieve all sales transactions for a person, identified by CIK. Typically includes transaction codes [S,D].
Inputs
| Parameter | Type | Description |
|---|---|---|
| key | String | API key (Required) |
| cik | Integer | CIK identifier (Required) |
Compensation Enterprise
Retrieve all compensation data for a person, identified by CIK. Includes summary and/or director compensation.
Inputs
| Parameter | Type | Description |
|---|---|---|
| key | String | API key (Required) |
| cik | Integer | CIK identifier (Required) |
Holdings Enterprise
Retrieve all holdings (common shares) data for a person, identified by CIK.
Inputs
| Parameter | Type | Description |
|---|---|---|
| key | String | API key (Required) |
| cik | Integer | CIK identifier (Required) |
SEDAR
Retrieve individual SEDAR filings for Canadian companies.
Parameters
| Parameter | Type | Description |
|---|---|---|
| identifier | String | Restrict results to cusip, ticker, CIK (Required) |
| limit | Int | Maximum number of results to return (default: 100, max: 100) |
| page | Int | Returns a page of data |
| symbol | String | DEC:CA |
Press Releases
Fetch the latest press releases by ticker symbol.
Parameters
| Parameter | Type | Description |
|---|---|---|
| identifier | String | Restrict results to a ticker (Required) |
| limit | Int | Maximum number of results to return (default: 100, max: 100) |
| start | Int | Used as a way to page through data. If end is 100 then the next start be 100 |
| year | Int | Filter retrieved data by specific year |
| sort | String | Sort retrieved data by asc or desc |
| sd | Int | Start from a date with a timestamp (Unix Timestamp) |
| ed | Int | End at a date with a timestamp (Unix Timestamp) |
Realtime Transcripts Enterprise
Fetch the latest transcripts for the current day in Eastern Standard Time (EST, UTC-5).
Parameters
| Parameter | Type | Description |
|---|---|---|
| key | String | API key for authentication (Required) |
Historical Transcripts Enterprise
Fetch historical transcripts with optional filters for ticker, date, date range, call title, and status. Use 'limit' and 'offset' for pagination to navigate through large result sets.
Parameters
| Parameter | Type | Description |
|---|---|---|
| key | String | API key for authentication (Required) |
| ticker | String | Restrict results to a specific ticker symbol (e.g., TSLA) |
| start_date | Integer | Start of date range as Unix timestamp (e.g., 1704067200 for Jan 1, 2024) |
| end_date | Integer | End of date range as Unix timestamp (e.g., 1719792000 for Jun 30, 2024) |
| call_title | String | Keywords to search in call title (case-insensitive, e.g., Q4) |
| status | String | Filter by transcript status (e.g., COMPLETED) |
| limit | Int | Maximum number of results to return (default: 100, max: 100) |
| offset | Int | Number of results to skip for pagination (default: 0) |
Rate Limiting Overview
All API endpoints are rate-limited to ensure fair usage and system stability. Rate limits are applied per API key on an hourly rolling window.
Rate Limiting Details
| Aspect | Value | Description |
|---|---|---|
| Default Limit | 3,600/hour | Standard rate limit for all API endpoints |
| Time Window | 1 hour | Rolling window that resets every hour on the hour |
| Reset Time | Top of hour | Limits reset at :00 of each hour (e.g., 1:00, 2:00, 3:00) |
| Error Code | 429 | HTTP status returned when rate limit exceeded |
| Retry After | Variable | Seconds until the next hour boundary (provided in error response) |
API Error Codes
The API returns standardized error responses to help you handle issues programmatically. Every error includes detailed information to help you identify and resolve the issue quickly.
Error Code Reference
| HTTP Code | Error Type | Common Causes & Solutions |
|---|---|---|
| 400 | INPUT |
Bad Request • Missing required parameters • Invalid date format (use Unix timestamp) • Invalid ticker symbol • Malformed JSON body Solution: Check parameter names and formats |
| 401 | AUTH |
Unauthorized • Missing API key parameter • Invalid or expired API key • Key suspended or revoked Solution: Verify your API key at api.kscope.io/dashboard |
| 403 | PERMISSION |
Forbidden • Endpoint requires premium/enterprise tier • Missing specific permissions • IP restrictions in place Solution: Upgrade your plan or contact support |
| 404 | DATA |
Not Found • Invalid endpoint URL • Resource doesn't exist (e.g., invalid CIK) • Data not available for date range Solution: Verify endpoint path and identifiers |
| 429 | RATELIMIT |
Too Many Requests • Exceeded hourly rate limit • Too many concurrent requests • Burst limit exceeded Solution: Implement rate limiting and retry logic |
| 500 | SERVER_ERROR |
Internal Server Error • Unexpected server error • Database connection issue • Unhandled exception Solution: Retry after a few seconds. If persists, contact support |