API documentation
Sağlama API
Dated October 22, 2026No. SGL-v1-API
The API serves the same data as the records on the site. Every response carries its source, date and method version. The read endpoints need a key; keys are given on request.
Status: access with a key. Since October 22, 2026, every read endpoint needs a key. To get one, write to savas@saglama.com.
Endpoints
- GET
/api/v1/hisse/{kod}The current record of one company: the three ratios, thresholds, status, comparison with the declaration and source references. - GET
/api/v1/hisse/{kod}/tarihcePoint-in-time period records. Each row is stored with what was known on that day; corrections are added as separate rows. - GET
/api/v1/listeMember list: official index status and Sağlama measurement, with filter parameters. - GET
/api/v1/sapmaCompanies where the official list and the independent calculation give different results, with a period label. Proven divergences and records that depend on the declaration are listed separately. - GET
/api/v1/cagriReview forecast: the expectation for each member at the next periodic review (stays, within the band, expected to leave, declaration awaited), with the reason, the declaration and the measured range; a result note after the announcement.
Response format: JSON, UTF-8. Field names are in Turkish and match the export contract. In the ratio blocks, value_pct is the cautious upper bound; lower_pct is the lower bound proven from the statements and notes; certainty is kesin (settled), beyana_bagli (depends on the declaration) or okuma_bekliyor (the statements will be read again). When okuma_tam is false, the reading of that ratio's statements is not complete: the ratio rests on the items read, it is not a bound, and certainty is never kesin. Status values: uygun (all three ratios within the threshold), yakin (near the threshold), degil (at least one ratio above the threshold), beyana_bagli (depends on the declaration).
Sample response
Field names and structure come from the export contract. The values in the sample are illustrative.
{
"ticker": "ORNMK",
"name": "Örnek Makina Sanayi ve Ticaret A.Ş.",
"official": { "in_katilim_tum": true, "indices": ["XKTUM", "XK100"],
"as_of": "2026-07-17", "source": "bist_csv" },
"olcum": {
"status": "uygun",
"period": "2025/12",
"computed_at": "2026-05-13",
"method_version": "tkbb_current@2025-08.v3",
"ratios": {
"borc": { "value_pct": 21.4, "threshold_pct": 33, "grace_pct": 36.3 },
"varlik": { "value_pct": 9.8, "threshold_pct": 33, "grace_pct": 36.3 },
"gelir": { "value_pct": 1.9, "lower_pct": 0.4, "upper_pct": 1.9,
"certainty": "kesin", "okuma_tam": true, "threshold_pct": 5, "grace_pct": 5.5 }
},
"sources": [
{ "label": "2025 yıllık finansal rapor (şirket İR)",
"url": "https://…", "sha256": "…", "date": "2026-03-06" }
]
},
"beyan": { "gelir_pct": 1.9, "varlik_pct": 9.8, "borc_pct": 21.4,
"period": "2025/12" }
}Calculation date May 13, 2026 · method tkbb_current@2025-08.v2
Keys and limits
Send the key with every request in the x-api-key header. A request with a missing or unrecognized key gets a 401 response, and its body gives the reason in Turkish and English. Responses may be cached for 5 minutes. Rate limits and changes will be announced on this page with their dates. The data in the responses comes from the same source as the pages; the records on the site can be read without a key.