Research recipes
Follow practical examples from a question to its source records.
Build a source-linked research workflow
1. Compare reported cash and debt
Start with the filing comparison tutorial. Request GET /filing-comparisons?ticker=AAPL&limit=2, retain both source records and inspect the before-and-after values. The worked Apple example explains the disclosed periods, units and calculations. This public request requires no key.
2. Retrieve financial-note source rows
Save the following as sec-notes.mjs and run node sec-notes.mjs on Node.js 24 with a search:read API key in your server environment. This makes one metered request for up to five imported Apple source rows. Use the dataset catalog to inspect available sources and history.
const apiKey = process.env.FILINGSIFT_API_KEY;
if (!apiKey) throw new Error("Set FILINGSIFT_API_KEY in your server environment");
const url = new URL("https://api.filingsift.com/api/v1/sec-datasets/records");
url.search = new URLSearchParams({dataset: "financial_statement_notes", cik: "320193", limit: "5"});
const response = await fetch(url, {
headers: {Authorization: "Bearer " + apiKey, Accept: "application/json"},
signal: AbortSignal.timeout(15000)
});
const payload = await response.json();
if (!response.ok) throw new Error(payload.error?.code || "HTTP " + response.status);
console.log(payload.data.records); // Keep the complete source record and its evidence.
console.log(payload.data.pagination); // Continue with nextCursor and unchanged filters.
// An empty records array means no accessible rows matched; it is not a zero value.
Keep evidence, units, dimensions and reporting periods with the values. For comparisons, select compatible source rows through POST /sec-datasets/research/disclosures; see the request schema. An incomplete import or incompatible period needs a new source selection, not a substitute zero.