Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/edgar-tools:edgar-tools-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.1.0
info:
title: edgar.tools API
version: '2026-11-06'
description: 'GENERATED FROM DOCUMENTATION by API Evangelist on 2026-11-06: 21 operation(s) read from 4 public documentation page(s) (each operation
names its page in x-source). This is not the provider''s published contract; edgar.tools has published no machine-readable contract that the
pipeline could find. Engine: local.'
x-evidence-tiers:
code-example: 6
documentation: 15
pages-with-code: 4
pages-read: 4
x-generated-from: documentation
x-provenance: generated
x-authored-by: API Evangelist
x-generated: '2026-11-06'
x-generator: generate-contract-from-docs.py
x-engine: local
x-sources:
- https://app.edgar.tools/docs/api/search
- https://app.edgar.tools/docs/api/filings
- https://app.edgar.tools/docs/api/persons
- https://app.edgar.tools/docs/api/advisers
servers:
- url: https://api.edgar.tools
paths:
/tools/cik-lookup.json:
get:
operationId: get_tools_cik_lookup_json
tags:
- Tools
summary: Free CIK lookup (no key required).
description: Zero‑auth endpoint on the app host; returns cik, cik_padded, name, ticker, exchange, company_url.
x-source: https://app.edgar.tools/docs/api/search
parameters:
- name: q
in: query
required: true
schema:
type: string
description: Ticker, company name, or numeric CIK
responses:
'200':
description: Success (status as documented)
content:
application/json:
schema:
$ref: '#/components/schemas/GetToolsCikLookupJsonResponse'
x-evidence:
kind: documentation
/v1/advisers/{crd}:
get:
operationId: get_v1_advisers_crd
tags:
- Advisers
summary: Get the full Form ADV profile for one adviser, including nested executives, private funds, and related persons.
description: 'Returns 404 with { "error": "Adviser not found" } when the CRD has no profile on file.'
x-source: https://app.edgar.tools/docs/api/advisers
parameters:
- name: crd
in: path
required: true
schema:
type: string
responses:
'200':
description: Success (status as documented)
content:
application/json:
schema:
$ref: '#/components/schemas/GetV1AdvisersCrdResponse'
x-evidence:
kind: documentation
/v1/advisers/{crd}/executives:
get:
operationId: get_v1_advisers_crd_executives
tags:
- Advisers
summary: Return just the executives array from an adviser's profile.
x-source: https://app.edgar.tools/docs/api/advisers
parameters:
- name: crd
in: path
required: true
schema:
type: string
responses:
'200':
description: Success (status as documented)
content:
application/json:
schema:
$ref: '#/components/schemas/GetV1AdvisersCrdExecutivesResponse'
x-evidence:
kind: documentation
/v1/advisers/{crd}/private-funds:
get:
operationId: get_v1_advisers_crd_private_funds
tags:
- Advisers
summary: Return just the private funds array from an adviser's profile.
x-source: https://app.edgar.tools/docs/api/advisers
parameters:
- name: crd
in: path
required: true
schema:
type: string
responses:
'200':
description: Success (status as documented)
content:
application/json:
schema:
$ref: '#/components/schemas/GetV1AdvisersCrdPrivateFundsResponse'
x-evidence:
kind: documentation
/v1/advisers/{crd}/related-persons:
get:
operationId: get_v1_advisers_crd_related_persons
tags:
- Advisers
summary: Return just the related persons array from an adviser's profile.
x-source: https://app.edgar.tools/docs/api/advisers
parameters:
- name: crd
in: path
required: true
schema:
type: string
responses:
'200':
description: Success (status as documented)
content:
application/json:
schema:
$ref: '#/components/schemas/GetV1AdvisersCrdRelatedPersonsResponse'
x-evidence:
kind: documentation
/v1/companies:
get:
operationId: get_v1_companies
tags:
- Companies
summary: List companies with optional sector and exchange filters.
description: 'Tier: Free – returns basic company info (cik, name, ticker, sic_description).'
x-source: https://app.edgar.tools/docs/api/search
parameters:
- name: page
in: query
required: false
schema:
type: integer
description: Page number
- name: limit
in: query
required: false
schema:
type: integer
description: Results per page
- name: sector
in: query
required: false
schema:
type: string
description: Filter by sector code
- name: exchange
in: query
required: false
schema:
type: string
description: Filter by exchange code
responses:
'200':
description: Success (status as documented)
content:
application/json:
schema:
$ref: '#/components/schemas/GetV1CompaniesResponse'
x-evidence:
kind: documentation
/v1/companies/{cik}:
get:
operationId: get_v1_companies_cik
tags:
- Companies
summary: Get detailed information about a specific company by CIK or ticker.
description: 'Tier: Free – returns full company record with entity_type, sic_description, state_of_incorporation, fiscal_year_end.'
x-source: https://app.edgar.tools/docs/api/search
parameters:
- name: cik
in: path
required: true
schema:
type: string
responses:
'200':
description: Success (status as documented)
content:
application/json:
schema:
$ref: '#/components/schemas/GetV1CompaniesCikResponse'
x-evidence:
kind: documentation
/v1/companies/{cik}/filings:
get:
operationId: get_v1_companies_cik_filings
tags:
- Companies
summary: Get filings for a specific company with optional form type filter.
description: 'Tier: Free – each filing includes accession_number, form, filing_date, acceptance_datetime, description, size, items.'
x-source: https://app.edgar.tools/docs/api/search
parameters:
- name: cik
in: path
required: true
schema:
type: string
- name: page
in: query
required: false
schema:
type: integer
description: Page number
- name: limit
in: query
required: false
schema:
type: integer
description: Results per page
- name: form_type
in: query
required: false
schema:
type: string
description: Filter by form type (e.g. 10-K, 8-K)
responses:
'200':
description: Success (status as documented)
content:
application/json:
schema:
$ref: '#/components/schemas/GetV1CompaniesCikFilingsResponse'
x-evidence:
kind: documentation
/v1/companies/{identifier}/disclosures/search:
get:
operationId: get_v1_companies_identifier_disclosures_search
tags:
- Companies
summary: Search a company's XBRL narrative disclosures for a phrase.
description: 'Tier: Analyst – searches risk factors, MD&A, etc., returning snippets with novelty scores.'
x-source: https://app.edgar.tools/docs/api/search
parameters:
- name: identifier
in: path
required: true
schema:
type: string
- name: q
in: query
required: true
schema:
type: string
description: Phrase to search for (max 200 chars)
- name: form
in: query
required: false
schema:
type: string
description: Filter to 10-K or 10-Q
- name: year
in: query
required: false
schema:
type: integer
description: Filter to a fiscal year
- name: max_results
in: query
required: false
schema:
type: integer
description: Max matches to return (default 10, 1‑25)
- name: proximity
in: query
required: false
schema:
type: integer
description: Max character distance between terms (default 1000)
- name: min_novelty
in: query
required: false
schema:
type: number
description: Minimum novelty score (0.0‑1.0)
- name: diff_only
in: query
required: false
schema:
type: boolean
description: Only return passages that changed from a prior year
- name: diff_base_year
in: query
required: false
schema:
type: integer
description: Prior year to diff against when diff_only is set
responses:
'200':
description: Success (status as documented)
content:
application/json:
schema:
$ref: '#/components/schemas/GetV1CompaniesIdentifierDisclosuresSearchResponse'
x-evidence:
kind: documentation
/v1/exchanges:
get:
operationId: get_v1_exchanges
tags:
- Exchanges
summary: Get the list of available stock exchanges.
description: 'Tier: Professional – each exchange includes code, name, country.'
x-source: https://app.edgar.tools/docs/api/search
responses:
'200':
description: Success (status as documented)
content:
application/json:
schema:
$ref: '#/components/schemas/GetV1ExchangesResponse'
x-evidence:
kind: documentation
/v1/exchanges/{exchange}/companies:
get:
operationId: get_v1_exchanges_exchange_companies
tags:
- Exchanges
summary: Get companies listed on a specific exchange.
description: 'Tier: Professional – each company includes cik, name, ticker, sic_description.'
x-source: https://app.edgar.tools/docs/api/search
parameters:
- name: exchange
in: path
required: true
schema:
type: string
- name: limit
in: query
required: false
schema:
type: integer
description: Max results
responses:
'200':
description: Success (status as documented)
content:
application/json:
schema:
$ref: '#/components/schemas/GetV1ExchangesExchangeCompaniesResponse'
x-evidence:
kind: documentation
/v1/filings:
get:
operationId: get_v1_filings
tags:
- Filings
summary: 'Retired: unified /v1/filings timeline (returns 410 Gone).'
x-source: https://app.edgar.tools/docs/api/filings
responses:
'200':
description: Success (status as documented)
content:
application/json:
schema:
$ref: '#/components/schemas/GetV1FilingsResponse'
x-evidence:
kind: documentation
/v1/filings/find:
get:
operationId: get_v1_filings_find
tags:
- Filings
summary: Resolve a SEC EDGAR URL or accession number to a filing detail.
x-source: https://app.edgar.tools/docs/api/filings
parameters:
- name: q
in: query
required: true
schema:
type: string
description: A SEC EDGAR URL or accession number (dashed or compact format)
responses:
'200':
description: Success (status as documented)
content:
application/json:
schema:
$ref: '#/components/schemas/GetV1FilingsFindResponse'
x-evidence:
kind: documentation
/v1/filings/{cik}/{accessionNumber}:
get:
operationId: get_v1_filings_cik_accessionNumber
tags:
- Filings
summary: Get detailed information for a specific filing.
x-source: https://app.edgar.tools/docs/api/filings
parameters:
- name: cik
in: path
required: true
schema:
type: string
- name: accessionNumber
in: path
required: true
schema:
type: string
responses:
'200':
description: Success (status as documented)
content:
application/json:
schema:
$ref: '#/components/schemas/GetV1FilingsCikAccessionnumberResponse'
x-evidence:
kind: documentation
/v1/live/filings:
get:
operationId: get_v1_live_filings
tags:
- Live
summary: GET /v1/live/filings
x-source: https://app.edgar.tools/docs/api/filings
parameters:
- name: form
in: query
required: false
schema:
type: string
- name: limit
in: query
required: false
schema:
type: string
responses:
'200':
description: Success (shape read from the example response on the page)
content:
application/json:
schema:
$ref: '#/components/schemas/GetV1LiveFilingsResponse'
x-evidence:
kind: code-example
language: curl
snippet: 'curl "https://api.edgar.tools/v1/live/filings?form=8-K&limit=50" -H "Authorization: Bearer etk_your_key_here" '
/v1/live/stats:
get:
operationId: get_v1_live_stats
tags:
- Live
summary: Get statistics about the live filings cache.
x-source: https://app.edgar.tools/docs/api/filings
responses:
'200':
description: Success (status as documented)
content:
application/json:
schema:
$ref: '#/components/schemas/GetV1LiveStatsResponse'
x-evidence:
kind: documentation
/v1/search:
get:
operationId: get_v1_search
tags:
- Search
summary: GET /v1/search
x-source: https://app.edgar.tools/docs/api/search
parameters:
- name: q
in: query
required: false
schema:
type: string
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: "curl \"https://api.edgar.tools/v1/search?q=Apple\" -H \"Authorization: Bearer etk_your_key_here\" Copy {\n \"entities\" : [\n\
\ {\n \"cik\" : \"0000320193\" ,\n \"name\" : \"Apple Inc.\" ,\n \"ticker\" : \"AAPL\" ,\n \"entity_type\" : \"company\" ,\n \"sic_description\"\
\ : \"Electronic Computers\" ,\n \"state_of_incorporation\" : \"CA\" ,\n \"fiscal_year_end\" : \"0930\" \n }\n ],\n \"total\" : 1 ,\n\
\ \"query\" : \"Apple\" \n} To look up a fund manager "
/v1/search/full-text:
get:
operationId: get_v1_search_full_text
tags:
- Search
summary: GET /v1/search/full-text
x-source: https://app.edgar.tools/docs/api/search
parameters:
- name: date_from
in: query
required: false
schema:
type: string
- name: forms
in: query
required: false
schema:
type: string
- name: q
in: query
required: false
schema:
type: string
- name: size
in: query
required: false
schema:
type: string
responses:
'200':
description: Success (shape read from the example response on the page)
content:
application/json:
schema:
$ref: '#/components/schemas/GetV1SearchFullTextResponse'
x-evidence:
kind: code-example
language: curl
snippet: "curl \"https://api.edgar.tools/v1/search/full-text?q=%22material+weakness%22&forms=10-K&date_from=2024-01-01&size=5\" -H \"\
Authorization: Bearer etk_your_key_here\" Response # Copy {\n \"results\" : [\n {\n \"id\" : \"0000320193-24-000123:filing.htm\" ,\n\
\ \"score\" : 12.4 ,\n \"accession\" : \"0000320193-24-000123\" ,\n \"form\" : \"10-K\" ,\n \"root_forms\" : [ \"10-K\" ],\n \"file_type\"\
\ : \"10-K\" ,\n \"file_date\" : \"2024-11-01\" ,"
/v1/sectors:
get:
operationId: get_v1_sectors
tags:
- Sectors
summary: Get the list of available industry sectors.
description: 'Tier: Professional – each sector includes code, name, description.'
x-source: https://app.edgar.tools/docs/api/search
responses:
'200':
description: Success (status as documented)
content:
application/json:
schema:
$ref: '#/components/schemas/GetV1SectorsResponse'
x-evidence:
kind: documentation
/v1/subsets:
get:
operationId: get_v1_subsets
tags:
- Subsets
summary: Get available company subsets — curated collections like S&P 500.
description: 'Tier: Professional – each subset includes name, display_name, description, company_count, tier_required, tags.'
x-source: https://app.edgar.tools/docs/api/search
responses:
'200':
description: Success (status as documented)
content:
application/json:
schema:
$ref: '#/components/schemas/GetV1SubsetsResponse'
x-evidence:
kind: documentation
/v1/subsets/{subsetName}:
get:
operationId: get_v1_subsets_subsetName
tags:
- Subsets
summary: Get companies in a specific subset.
description: 'Tier: Professional – returns cik, name, ticker, sic_description for each company.'
x-source: https://app.edgar.tools/docs/api/search
parameters:
- name: subsetName
in: path
required: true
schema:
type: string
responses:
'200':
description: Success (status as documented)
content:
application/json:
schema:
$ref: '#/components/schemas/GetV1SubsetsSubsetnameResponse'
x-evidence:
kind: documentation
components:
schemas:
GetToolsCikLookupJsonResponse:
type: object
properties:
query:
type: string
description: Echoed query
count:
type: integer
description: Number of results
results:
type: array
description: Array of lookup results
GetV1AdvisersCrdResponse:
type: object
properties:
crd_number:
type: string
legal_name:
type: string
business_name:
type: string
firm_type:
type: string
sec_file_number:
type: string
cik:
type: string
aum:
type: integer
aum_discretionary:
type: integer
aum_non_discretionary:
type: integer
client_count:
type: integer
employee_count:
type: integer
main_office_city:
type: string
main_office_state:
type: string
registration_date:
type: string
latest_filing_date:
type: string
website:
type: string
is_private_fund_adviser:
type: boolean
executives:
type: array
private_funds:
type: array
related_persons:
type: array
GetV1AdvisersCrdExecutivesResponse:
type: object
properties:
crd_number:
type: string
executives:
type: array
count:
type: integer
GetV1AdvisersCrdPrivateFundsResponse:
type: object
properties:
crd_number:
type: string
private_funds:
type: array
count:
type: integer
GetV1AdvisersCrdRelatedPersonsResponse:
type: object
properties:
crd_number:
type: string
related_persons:
type: array
count:
type: integer
GetV1CompaniesResponse:
type: object
properties:
companies:
type: array
description: Array of company summaries
pagination:
type: object
description: Pagination info
filters:
type: object
description: Applied filters
GetV1CompaniesCikResponse:
type: object
properties:
company:
type: object
description: Detailed company object
GetV1CompaniesCikFilingsResponse:
type: object
properties:
filings:
type: array
description: List of filing objects
pagination:
type: object
description: Pagination info
filters:
type: object
description: Applied filters
company_cik:
type: string
description: CIK of the company
GetV1CompaniesIdentifierDisclosuresSearchResponse:
type: object
properties:
company:
type: object
description: Company info
query:
type: string
description: Echoed query
filters:
type: object
description: Applied filters
matches:
type: array
description: Matching disclosure passages
total:
type: integer
description: Total matches
metadata:
type: object
description: Metadata about the response
GetV1ExchangesResponse:
type: object
properties:
exchanges:
type: array
description: Exchange objects
total:
type: integer
description: Total exchanges
GetV1ExchangesExchangeCompaniesResponse:
type: object
properties:
exchange:
type: string
description: Exchange code
companies:
type: array
description: Companies on the exchange
total:
type: integer
description: Total companies returned
limit:
type: integer
description: Limit applied
GetV1FilingsResponse:
type: object
properties:
error:
type: string
replacement:
type: string
GetV1FilingsFindResponse:
type: object
properties:
cik:
type: string
accession_number:
type: string
form:
type: string
company:
type: string
filing_date:
type: string
acceptance_datetime:
type: string
primary_doc_url:
type: string
filing_url:
type: string
GetV1FilingsCikAccessionnumberResponse:
type: object
properties:
cik:
type: string
accession_number:
type: string
form:
type: string
company:
type: string
filing_date:
type: string
acceptance_datetime:
type: string
primary_doc_url:
type: string
filing_url:
type: string
GetV1LiveFilingsResponse:
type: object
properties:
error:
type: string
replacement:
type: string
GetV1LiveStatsResponse:
type: object
properties:
status:
type: string
cache:
type: object
description: Cache details
timestamp:
type: string
GetV1SearchFullTextResponse:
type: object
properties:
results:
type: array
items:
type: object
properties:
id:
type: string
score:
type: number
accession:
type: string
form:
type: string
root_forms:
type: array
items:
type: string
file_type:
type: string
file_date:
type: string
format: date
period_ending:
type: string
format: date
filename:
type: string
url:
type: string
entities:
type: array
items:
type: object
properties:
cik:
type: string
name:
type: string
ticker:
type: string
ciks:
type: array
items:
type: string
biz_states:
type: array
items:
type: string
biz_locations:
type: array
items:
type: string
inc_states:
type: array
items:
type: string
sics:
type: array
items:
type: string
items:
type: array
items: {}
is_primary:
type: boolean
is_amendment:
type: boolean
total:
type: integer
total_relation:
type: string
from:
type: integer
size:
type: integer
tier:
type: string
tier_cap:
type: integer
tier_capped:
type: boolean
applied_default_window:
type:
- string
- 'null'
also_matched:
type:
- string
- 'null'
query_understanding:
type:
- string
- 'null'
facets:
type: object
properties:
forms:
type: array
items:
type: object
properties:
key:
type: string
doc_count:
type: integer
entities:
type: array
items:
type: object
properties:
cik:
type: string
name:
type: string
ticker:
type: string
count:
type: integer
sics:
type: array
items:
type: object
properties:
key:
type: string
doc_count:
type: integer
biz_states:
type: array
items:
type: object
properties:
key:
type: string
doc_count:
type: integer
query:
type: object
properties:
q:
type: string
forms:
type: array
items:
type: string
ciks:
type: array
items: {}
date_from:
type: string
format: date
date_to:
type:
- string
- 'null'
location_codes:
type: array
items: {}
location_type:
type:
- string
- 'null'
items:
type: array
items: {}
sort:
type: string
GetV1SectorsResponse:
type: object
properties:
sectors:
type: array
description: Sector objects
total:
type: integer
description: Total sectors
GetV1SubsetsResponse:
type: object
properties:
subsets:
type: array
description: Array of subset descriptors
user_tier:
type: string
description: Tier of the caller
GetV1SubsetsSubsetnameResponse:
type: object
properties:
subset_name:
type: string
description: Name of the subset
companies:
type: array
description: Companies belonging to the subset
total:
type: integer
description: Total number of companies in the subset
securitySchemes:
bearer:
type: http
scheme: bearer
security:
- bearer: []
tags:
- name: Advisers
- name: Companies
- name: Exchanges
- name: Filings
- name: Live
- name: Search
- name: Sectors
- name: Subsets
- name: Tools