REST API for retrieving SEC EDGAR filings. Returns filing metadata and direct links to official SEC documents.
- Single endpoint for all supported filing types
- Returns structured JSON with direct SEC EDGAR URLs
- Supports 10-K, 10-Q, 8-K, S-1, S-2, S-3, DEF14A, 13D
- Filings are cached for fast API responses and minimal load on SEC servers.
- 5,000 requests/month on free tier
- Example Response:
[
{
"symbol": "GOOG",
"filing_type": "10-K",
"submitted_on": "2025-02-05",
"filing_link": "https://www.sec.gov/Archives/edgar/data/1652044/000165204425000014/goog-20241231.htm"
}
]- Create account at omkar.cloud
- Get API key from omkar.cloud/api-key
- Include
API-Keyheader in requests
Note: 5000 requests/month free.
curl -X GET "https://sec-api.omkar.cloud/sec?ticker=GOOG&filing=10-K" \
-H "API-Key: YOUR_API_KEY"[
{
"symbol": "GOOG",
"filing_type": "10-K",
"submitted_on": "2025-02-05",
"filing_link": "https://www.sec.gov/Archives/edgar/data/1652044/000165204425000014/goog-20241231.htm"
}
]pip install requestsimport requests
response = requests.get(
"https://sec-api.omkar.cloud/sec",
params={"ticker": "GOOG", "filing": "10-K"},
headers={"API-Key": "YOUR_API_KEY"}
)
filings = response.json()npm install axiosimport axios from "axios";
const response = await axios.get("https://sec-api.omkar.cloud/sec", {
params: { ticker: "GOOG", filing: "10-K" },
headers: { "API-Key": "YOUR_API_KEY" }
});
const filings = response.data;GET https://sec-api.omkar.cloud/sec
| Header | Required | Description |
|---|---|---|
API-Key |
Yes | API key from omkar.cloud/api-key |
| Parameter | Required | Default | Description |
|---|---|---|---|
ticker |
Yes | — | Stock ticker symbol |
filing |
No | 10-K |
Filing type |
| Type | Description |
|---|---|
10-K |
Annual report |
10-Q |
Quarterly report |
8-K |
Current report (material events) |
S-1 |
IPO registration statement |
S-2 |
Simplified registration |
S-3 |
Shelf registration |
DEF14A |
Proxy statement |
13D |
Beneficial ownership (>5%) |
[
{
"symbol": "string",
"filing_type": "string",
"submitted_on": "YYYY-MM-DD",
"filing_link": "string"
}
]| Field | Type | Description |
|---|---|---|
symbol |
string | Ticker symbol |
filing_type |
string | SEC form type |
submitted_on |
string | Submission date |
filing_link |
string | SEC EDGAR URL |
response = requests.get(
"https://sec-api.omkar.cloud/sec",
params={"ticker": "AAPL", "filing": "10-K"},
headers={"API-Key": "YOUR_API_KEY"}
)
for filing in response.json():
print(f"{filing['submitted_on']}: {filing['filing_link']}")response = requests.get(
"https://sec-api.omkar.cloud/sec",
params={"ticker": "TSLA", "filing": "8-K"},
headers={"API-Key": "YOUR_API_KEY"}
)
latest = response.json()[0]const { data } = await axios.get("https://sec-api.omkar.cloud/sec", {
params: { ticker: "MSFT", filing: "10-Q" },
headers: { "API-Key": "YOUR_API_KEY" }
});
const lastFourQuarters = data.slice(0, 4);response = requests.get(
"https://sec-api.omkar.cloud/sec",
params={"ticker": "INVALID"},
headers={"API-Key": "YOUR_API_KEY"}
)
if response.status_code == 200:
data = response.json()
if not data:
# No filings found
pass
elif response.status_code == 401:
# Invalid API key
pass
elif response.status_code == 429:
# Rate limit exceeded
pass| Plan | Price | Requests/Month |
|---|---|---|
| Free | $0 | 5,000 |
| Starter | $25 | 100,000 |
| Grow | $75 | 1,000,000 |
| Scale | $150 | 10,000,000 |
If this tool has been helpful, please give us a star ⭐ on GitHub.

