F Finsider
SEC Form 20-F API

Form 20-F API

Cover foreign companies’ annual reports. The Form 20-F API delivers the annual filings of foreign private issuers — financials, risk factors, and business detail — as JSON.

JSON responsesOpenAPI documentedcURL / Python / JS / GoFree tier available

What is Form 20-F?

Form 20-F is the annual report filed by foreign private issuers, equivalent to the 10-K for domestic companies. It includes audited financials, risk factors, and a business overview.

Foreign issuers may report under IFRS or U.S. GAAP, and the 20-F is the cornerstone of fundamental analysis for non-U.S. listings.

The Finsider Form 20-F API standardizes these annual filings so you can analyze foreign issuers with the same workflow you use for 10-Ks.

Fetch Form 20-F filings

List recent Form 20-F filings, filterable by company, ticker, and date.

curl -s "https://api.secapi.dev/v1/filings?formTypes=20-F&limit=20" \
  -H "x-api-key: $SECAPI_KEY"
import requests

resp = requests.get(
    "https://api.secapi.dev/v1/filings?formTypes=20-F&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=20-F&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=20-F&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))
}

Who files Form 20-F?

FilerRequirement
Foreign private issuersNon-U.S. companies listed in the U.S.
DeadlineWithin 4 months of fiscal year end
AccountingIFRS or U.S. GAAP
Related formsCurrent reports on Form 6-K

Deadlines & coverage

AspectDetail
FrequencyAnnual
Deadline4 months after fiscal year end
CoverageForeign private issuers on U.S. exchanges
AmendmentsForm 20-F/A supersedes the original

Key data fields

A sample of the structured fields returned for Form 20-F data.

FieldDescription
companyName / cikForeign issuer identity
fiscalYearFiscal year covered
formType20-F
documentsAnnual report and exhibits
accessionNumberUnique SEC identifier

Frequently asked questions

What is the Form 20-F API?
An endpoint that returns SEC Form 20-F annual reports filed by foreign private issuers, as structured JSON.
How is 20-F different from 10-K?
Form 10-K is filed by domestic U.S. companies; Form 20-F is the annual report filed by foreign private issuers and may use IFRS.

Build with the Form 20-F API

Create a free account, grab an API key, and make your first request in under a minute.