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)
cURL
Python
JavaScript
JSON

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
cURL
Python
JavaScript
JSON

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
cURL
Python
JavaScript
JSON

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
cURL
Python
JavaScript
JSON

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)
cURL
Python
JavaScript
JSON

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)
cURL
Python
JavaScript
JSON

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)
cURL
Python
JavaScript
JSON

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)
cURL
Python
JavaScript
JSON

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')
cURL
Python
JavaScript
JSON

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
cURL
Python
JavaScript
JSON

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
cURL
Python
JavaScript
JSON

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
cURL
Python
JavaScript
JSON

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)
cURL
Python
JavaScript
JSON

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)
cURL
Python
JavaScript
JSON

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
cURL
Python
JavaScript
JSON

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
cURL
Python
JavaScript
JSON

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)
cURL
Python
JavaScript
JSON

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)
cURL
Python
JavaScript
JSON

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)
cURL
Python
JavaScript
JSON

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)
cURL
Python
JavaScript
JSON

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)
cURL
Python
JavaScript
JSON

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
cURL
Python
JavaScript
JSON

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)
cURL
Python
JavaScript
JSON

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)
cURL
Python
JavaScript
JSON

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)
cURL
Python
JavaScript
JSON

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)
429 Response
Python
JavaScript
cURL

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
400 Bad Request
401 Unauthorized
429 Rate Limited
Python
JavaScript
cURL
Exponential Backoff