Form 8-K API
Catch material events within minutes. The Form 8-K API streams current reports — earnings, executive changes, M&A, and more — as structured JSON with item codes and exhibits.
What is Form 8-K?
Form 8-K is the "current report" companies file to announce material events between periodic reports: earnings releases, leadership changes, acquisitions, bankruptcies, and other developments investors must know about.
Each 8-K is organized into numbered items (for example, Item 2.02 Results of Operations, Item 5.02 Departure of Directors or Officers) that tell you exactly what happened.
The Finsider Form 8-K API exposes those item codes, event dates, and attached exhibits so you can build real-time alerts and event-driven strategies.
Fetch Form 8-K filings
List recent Form 8-K filings, filterable by company, ticker, and date.
curl -s "https://api.secapi.dev/v1/filings?formTypes=8-K&limit=20" \
-H "x-api-key: $SECAPI_KEY"import requests
resp = requests.get(
"https://api.secapi.dev/v1/filings?formTypes=8-K&limit=20",
headers={"x-api-key": "YOUR_API_KEY"},
timeout=30,
)
resp.raise_for_status()
data = resp.json()
print(data)const res = await fetch("https://api.secapi.dev/v1/filings?formTypes=8-K&limit=20", {
method: "GET",
headers: { "x-api-key": process.env.SECAPI_KEY },
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
const data = await res.json();
console.log(data);package main
import (
"fmt"
"io"
"log"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://api.secapi.dev/v1/filings?formTypes=8-K&limit=20", nil)
req.Header.Set("x-api-key", os.Getenv("SECAPI_KEY"))
resp, err := http.DefaultClient.Do(req)
if err != nil {
log.Fatal(err)
}
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}Download an 8-K’s exhibits
List every document and exhibit attached to a specific 8-K.
curl -s "https://api.secapi.dev/v1/filings/320193/0000320193-24-000080/documents" \
-H "x-api-key: $SECAPI_KEY"import requests
resp = requests.get(
"https://api.secapi.dev/v1/filings/320193/0000320193-24-000080/documents",
headers={"x-api-key": "YOUR_API_KEY"},
timeout=30,
)
resp.raise_for_status()
data = resp.json()
print(data)const res = await fetch("https://api.secapi.dev/v1/filings/320193/0000320193-24-000080/documents", {
method: "GET",
headers: { "x-api-key": process.env.SECAPI_KEY },
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
const data = await res.json();
console.log(data);package main
import (
"fmt"
"io"
"log"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://api.secapi.dev/v1/filings/320193/0000320193-24-000080/documents", nil)
req.Header.Set("x-api-key", os.Getenv("SECAPI_KEY"))
resp, err := http.DefaultClient.Do(req)
if err != nil {
log.Fatal(err)
}
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}Who files Form 8-K?
| Filer | Requirement |
|---|---|
| U.S. public companies | On the occurrence of a triggering event |
| Timing | Generally within 4 business days of the event |
| Item-driven | Each disclosure maps to a numbered 8-K item |
| Exhibits | Press releases and agreements attach as exhibits |
Deadlines & coverage
| Aspect | Detail |
|---|---|
| Trigger | Filed on demand when a material event occurs |
| Deadline | Usually 4 business days after the event |
| Item codes | Sections 1–9 (e.g. 2.02, 5.02, 1.01) |
| Availability | Indexed within minutes of acceptance |
Key data fields
A sample of the structured fields returned for Form 8-K data.
| Field | Description |
|---|---|
items | Array of 8-K item codes disclosed (e.g. 5.02) |
eventDate | Date the material event occurred |
exhibits | Attached documents with direct URLs |
companyCik / ticker | Filer identifiers |
accessionNumber | Unique SEC identifier |
filingUrl | Link to the source filing on EDGAR |
Related API endpoints
Deep-link into the interactive reference to try these live.
Frequently asked questions
What is the Form 8-K API?
How do I monitor 8-K filings in real time?
/v1/filings?formTypes=8-K&startDate=YYYY-MM-DD on a schedule, or filter by ticker to watch a single company.Can I detect CEO or CFO changes?
How do I get the press release attached to an 8-K?
Build with the Form 8-K API
Create a free account, grab an API key, and make your first request in under a minute.