Skip to content

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.