Quickstart & SDKs
Run a public request, install Python or TypeScript, or download examples.
Quickstart
Make a public company request with no API key. The AAPL response includes a company summary, latest filing and source-backed events; open the linked filings to inspect the evidence behind the response.
curl --fail --show-error \
-H "Accept: application/json" \
https://api.filingsift.com/api/v1/companies/AAPLimport json
from urllib.request import Request, urlopen
request = Request(
"https://api.filingsift.com/api/v1/companies/AAPL",
headers={"Accept": "application/json"},
)
with urlopen(request, timeout=15) as response:
body = json.load(response)
print(body["data"]["latestFiling"], body["data"]["events"])const response = await fetch(
"https://api.filingsift.com/api/v1/companies/AAPL",
{ headers: { Accept: "application/json" }, signal: AbortSignal.timeout(15_000) },
);
const body = await response.json();
if (!response.ok) throw new Error(body.error?.message);
console.log(body.data.latestFiling, body.data.events);No account or key needed. This request uses the public example endpoint.
For before-and-after records, request GET /filing-comparisons?ticker=AAPL&limit=2. Keep previousSource, currentSource, values and comparison.verification together. Follow meta.pagination.nextCursor for the next page. Before integrating, inspect the same source and response fields in the factual Apple workflow case study, then follow the comparison implementation guide.
Your first authenticated request
- Create free account, verify your email, and continue to API keys. No credit card is required.
- In API keys, create a named key with
filings:readfor filing lists and records, andsearch:readfor passage search. Use only the scopes your integration needs; account actions and other datasets have their own requirements in OpenAPI. Key management requires an authorized organization role. - Store the key as
FILINGSIFT_API_KEYin your server's secret environment. Never place it in a browser bundle, shared notebook, prompt, URL or repository. - Run the bounded request below. An empty list is a valid response: check your organization's companies in Monitoring, indexed date coverage before expecting AAPL results. Adding a company does not immediately populate its history.
curl --fail-with-body --max-time 15 \
-H "Authorization: Bearer $FILINGSIFT_API_KEY" \
-H "Accept: application/json" \
"https://api.filingsift.com/api/v1/filings?ticker=AAPL&limit=2"
Expect a JSON data list and meta.pagination. This is a metered data request. Continue with Python or TypeScript; browser-only saved research and account actions cannot be unlocked by an API key.
SDKs and integration guides
python -m pip install filingsift==0.2.1
npm install @filingsift/client@0.2.1Python and TypeScript SDK guide · Comparison workflow · Factual API case study. The quickstart above uses standard-library or built-in HTTP clients; the SDK guide demonstrates the installed FilingSift clients, authentication, search, pagination and errors. Python filingsift 0.2.1 and npm @filingsift/client 0.2.1 are published. Registry installation, artifact integrity, and live reads are verified, and both clients preserve the REST response schema.
Upgrade older 0.1.0 or 0.2.0 installations to 0.2.1 for timeout, transport-error and streaming fixes. Both published 0.2.1 clients handle HTTP 204/205 without a JSON parsing error. Do not blindly retry a mutation after a client error; inspect current resource state first.
Download and import
Use the same v1 contract in a notebook or API client. The notebook contains no saved output or credential. The Postman collection leaves its API-key variable blank. Its monitoring-preferences example explicitly enables advanced disclosure alerts for the selected covenant category. Saving preferences changes your organization’s Monitoring settings; review the payload and permissions before sending it. Selecting an advanced category alone does not enable delivery.
Postman users can import either downloaded file from Postman’s Import dialog. SDK source downloads are also available for Python and TypeScript/Node.js with type declarations.