API reference
Status
API version, data freshness and the number of covered companies. Needs no API key; limited to 60 requests per minute per IP address.
GET /api/v1/status
Needs no API key.
Request
curl
curl "https://studyingstocks.com/api/v1/status"
Python
import os
import requests
response = requests.get("https://studyingstocks.com/api/v1/status")
response.raise_for_status()
print(response.json())
JavaScript
const response = await fetch("https://studyingstocks.com/api/v1/status");
if (!response.ok) throw new Error(await response.text());
console.log(await response.json());
Response
The API is up.
{
"data": {
"status": "ok",
"api_version": "v1",
"companies_covered": 4210,
"data_updated_at": "2026-10-16T02:00:00Z"
},
"meta": {
"source": "SEC EDGAR",
"api_version": "v1",
"generated_at": "2026-10-16T02:00:00Z"
}
}
Response fields
| Field | Type | Description |
|---|---|---|
data.status |
string | |
data.api_version |
string | |
data.companies_covered |
integer | |
data.data_updated_at |
string or null | When the most recent company was synchronized with SEC EDGAR. |
meta.source |
string | Where the data comes from: always SEC EDGAR (calculated items are derived from it). |
meta.api_version |
string | |
meta.generated_at |
string | When this response was generated (responses are cached for a few hours). |
Errors
| Status | Code | When |
|---|---|---|
| 422 | invalid_parameter |
An unknown query parameter was sent. |
| 429 | rate_limited |
Rate limit reached. |
| 500 | server_error |
Something went wrong on our side. |
All errors have the same shape.