Source trail
Every profile record (officer, capital, shareholder, article, change) carries a kaynak object, so your own UI can answer "where does this come from?" in one click.
Kaynak
ilan_idintegerrequiredThe notice the fact comes from.ilan_tarihistring (date)requiredPublication date of the notice.ilan_turustringrequiredTrade Registry Gazette notice type.alintistringrequiredVerbatim quote from the notice text.alinti_dogrulandibooleanrequiredWhether the quote was found verbatim in the notice.gazete_pdfstring (uri)requiredGazette PDF.vurguVurgurequirednullablesayfaintegerrequiredGazette page (from 1).sayfa_gorselstring (uri)requiredPNG image of the page.kutularnumber[][]requiredWhere the fact sits on the page: proportional [x0, y0, x1, y1] boxes (0–1, top-left origin).kutu_birimistringrequiredDescription of the box unit.
Verbatim quote
alinti is copied word for word from the notice. alinti_dogrulandi: false means the quote was not found verbatim in the notice text (e.g. an old gazette whose text could not be read); check the gazette in that case.
Page highlight boxes
vurgu.kutular are proportional [x0, y0, x1, y1] boxes (0–1, top-left origin). Draw them over the vurgu.sayfa_gorsel PNG:
// img: sayfa_gorsel yüklenmiş <img>, kap: position:relative sarmalayıcı
function vurguCiz(kap, img, kutular) {
for (const [x0, y0, x1, y1] of kutular) {
const k = document.createElement("div");
Object.assign(k.style, {
position: "absolute", left: `${x0 * 100}%`, top: `${y0 * 100}%`,
width: `${(x1 - x0) * 100}%`, height: `${(y1 - y0) * 100}%`,
background: "rgba(255, 229, 138, .45)", outline: "2px solid #8a5200",
});
kap.appendChild(k);
}
}Page images and PDFs also need the API key; fetch them on your server and serve them from your own address to show them in a browser.
If the gazette is not archived yet, the PDF endpoint returns 404 arsivde_yok (tekrar_denenebilir: true). The notice's gazete_arsivde field tells you in advance.