API Platformu
Backlink API
Herhangi bir domain, subdomain veya sayfa için backlink profili, referans domainler, anchor metinleri, rakipler ve geçmiş link verilerini alın.
Herhangi bir domain, subdomain veya sayfa için backlink profili, referans domainler, anchor metinleri, rakipler ve geçmiş link verilerini alın. Tek bir endpoint, type parametresiyle seçilen sekiz farklı rapor sunar.
Ürün sayfası: Backlink API.
Kimlik Doğrulama
Tüm istekler header tabanlı kimlik doğrulama gerektirir. Her istekte API kimlik bilgilerinizi ekleyin.
| Header | Type | Açıklama |
|---|---|---|
SEMUST-API-USER | string | API kullanıcınızın kullanıcı adı |
SEMUST-API-PASSWORD | string | API kullanıcınızın şifresi |
API kimlik bilgilerinizi API Erişim sayfasından oluşturabilirsiniz.
SEMUST-API-USER: your_username
SEMUST-API-PASSWORD: your_passwordRapor Tipleri
type parametresi hangi raporu alacağınızı belirler. Sekiz raporun tamamı aynı endpoint, kimlik doğrulama ve fiyatlandırmayı paylaşır.
type | Döndürdüğü veri |
|---|---|
summary | Tek bir metrik bloğu: toplamlar, referans domainler, spam skorları ve dağılımlar |
history | Aynı metriklerin aylık serisi |
backlinks | Backlinklerin kendisi |
referring_domains | Hedefe link veren domainler, gruplanmış |
anchors | Anchor metinleri, gruplanmış |
competitors | Backlink profili örtüşen domainler |
pages | Hedefin kendi sayfaları, aldıkları backlink sayısına göre |
timeseries | Zaman içinde kazanılan ve kaybedilen link sayıları |
Varsayılan summary raporudur. Tek bir row döndürür, böylece type belirtilmeden gönderilen bir request en düşük ücreti alır.
{
"target": "example.com",
"type": "backlinks",
"limit": 100
}Request Parameters
application/json bir Body gönderin. Seçilen type için geçerli olmayan parametreler yok sayılmaz, reddedilir — böylece bir yazım hatası sessizce beklediğinizden farklı bir sonuç döndürmez.
Body
targetstringrequiredDomain, subdomain veya sayfa URL'i. Domain sorgularında protokol ve www. otomatik olarak temizlenir.
typestringdefault: summaryHangi raporun döneceğini belirler. Yukarıdaki Rapor Tipleri bölümüne bakın.
scopestringdefault: domaindomain tüm subdomainleri kapsar, host yalnızca belirtilen host'u, url tek bir sayfayı kapsar. url kullanırken target http:// veya https:// içermelidir.
statusstringdefault: livelive hâlâ duran linkleri, lost kaybolmuş linkleri, all ikisini birden döndürür. history, timeseries ve competitors raporlarında kabul edilmez — bu raporlarda link durumu boyutu yoktur.
limitintegerdefault: 100Dönecek row sayısı, 1–1000. Row döndüren raporlar için geçerlidir.
offsetintegerdefault: 0Atlanacak row sayısı, 0–20000. Daha ilerisi için cursor kullanın.
cursorstringnext_cursor alanından gelen sayfalama token'ı. Yalnızca type: "backlinks" destekler. offset ile birlikte kullanılamaz.
group_bystringdefault: nonenone tüm backlinkleri, domain her referans domain için bir tane, anchor her anchor metni için bir tane döndürür. Yalnızca type: "backlinks" için.
include_subdomainsbooleandefault: trueHedefin subdomainlerine gelen linkleri dahil eder. history raporunda kabul edilmez.
exclude_internalbooleandefault: trueHedefin kendi domaininden gelen linkleri hariç tutar. history ve timeseries raporlarında kabul edilmez.
include_redirectsbooleandefault: trueHedefe redirect veya canonical üzerinden ulaşan linkleri dahil eder. history, timeseries ve competitors raporlarında kabul edilmez.
filtersarrayResponse alanları üzerinde filtre ifadesi. Aşağıdaki Filtreler bölümüne bakın.
order_byarrayEn fazla 3 sıralama kuralı; her biri "field,asc" veya "field,desc" biçiminde.
date_fromstringBaşlangıç tarihi, YYYY-MM-DD. history ve timeseries için. Default olarak 12 ay öncesidir; 2019-02-01 öncesi bu tarihe sabitlenir.
date_tostringBitiş tarihi, YYYY-MM-DD. Default olarak bugündür.
granularitystringdefault: monthtimeseries için periyot boyutu: day, week, month veya year.
include_breakdownsbooleandefault: falsehistory response'unda her noktaya links_by_* dağılımlarını ekler. Payload'ı belirgin şekilde büyüttüğü için default olarak kapalıdır.
breakdown_limitintegerdefault: 25Her links_by_* dağılımında tutulacak kayıt sayısı, 1–1000. Sayıya göre azalan sırada tutulur.
idempotency_keystringOpsiyonel. 24 saat içinde aynı key ile tekrarlanan request, saklanan response'u ücretsiz döndürür; böylece timeout alan bir request güvenle tekrarlanabilir.
Tarih aralığı ücreti etkiler
history raporu, aralıktaki her ay için bir row ücretlendirir. Tarih belirtmezseniz tüm arşiv yerine son 12 ay döner; bu da tarih verilmeyen bir request'i ucuz tutar.
{
"target": "example.com",
"type": "backlinks",
"scope": "domain",
"status": "live",
"limit": 100,
"filters": [
["is_dofollow", "=", true],
"and",
["source_domain_rate", ">=", 40]
],
"order_by": ["source_domain_rate,desc"]
}Filtreler
filters tek bir koşul ya da "and" / "or" ile birleştirilmiş koşul dizisi alır. Bir koşul [field, operator, value] biçimindedir. İki operatörü birlikte kullanmak için diziyi iç içe yazın — tek bir grup ikisini karıştıramaz, bu da öncelik belirsizliğini önler.
Kullanılabilir operatörler alanın tipine göre değişir:
| Type | Operatörler |
|---|---|
| boolean | =, <> |
| integer | <, <=, >, >=, =, <>, in, not_in |
| string | =, <>, in, not_in, like, not_like, ilike, not_ilike, match, not_match, regex, not_regex |
| enum | =, <>, in, not_in |
| datetime | <, <=, >, >=, = |
like kalıplarında % joker karakterdir. Datetime değerleri RFC3339 biçimindedir.
Limitler: 8 koşul, 3 sıralama kuralı, 3 seviye iç içe yapı, regex için 1000 karakter, diğer string'ler için 255 karakter.
GET /v1/backlinks/filters, her rapor tipi için filtrelenebilir ve sıralanabilir alanları kabul ettikleri operatörlerle birlikte döndürür — tek bir rapor için ?type=backlinks ekleyin.
{
"target": "example.com",
"type": "backlinks",
"filters": ["source_domain", "like", "%.edu"]
}{
"target": "example.com",
"type": "backlinks",
"filters": [
["is_dofollow", "=", true],
"and",
["source_spam_score", "<", 20]
]
}{
"target": "example.com",
"type": "backlinks",
"filters": [
["source_domain_rate", ">=", 50],
"and",
[
["link_position", "=", "content"],
"or",
["anchor_text", "ilike", "%seo%"]
]
]
}{
"target": "example.com",
"type": "backlinks",
"filters": ["link_type", "in", ["text", "image"]]
}Kod Örnekleri
Farklı dillerde backlink listesi çeken tam örnekler.
curl -X POST https://data.semust.com/v1/backlinks \
-H "SEMUST-API-USER: your_username" \
-H "SEMUST-API-PASSWORD: your_password" \
-H "Content-Type: application/json" \
-d '{
"target": "example.com",
"type": "backlinks",
"limit": 100,
"filters": [["is_dofollow", "=", true]],
"order_by": ["source_domain_rate,desc"]
}'import requests
response = requests.post(
"https://data.semust.com/v1/backlinks",
headers={
"SEMUST-API-USER": "your_username",
"SEMUST-API-PASSWORD": "your_password",
},
json={
"target": "example.com",
"type": "backlinks",
"limit": 100,
"filters": [["is_dofollow", "=", True]],
"order_by": ["source_domain_rate,desc"],
},
timeout=120,
)
if response.status_code != 200:
raise SystemExit(f"Request failed: {response.status_code} {response.text}")
data = response.json()
print(f"{data['count']} of ~{data['total']} backlinks, cost ${data['cost']:.6f}")
for link in data["results"]:
print(link["source_domain"], "->", link["anchor_text"], link["source_domain_rate"])const response = await fetch("https://data.semust.com/v1/backlinks", {
method: "POST",
headers: {
"SEMUST-API-USER": "your_username",
"SEMUST-API-PASSWORD": "your_password",
"Content-Type": "application/json",
},
body: JSON.stringify({
target: "example.com",
type: "backlinks",
limit: 100,
filters: [["is_dofollow", "=", true]],
order_by: ["source_domain_rate,desc"],
}),
});
if (!response.ok) {
throw new Error(`Request failed: ${response.status}`);
}
const data = await response.json();
console.log(`${data.count} of ~${data.total} backlinks, cost $${data.cost}`);
for (const link of data.results) {
console.log(link.source_domain, "->", link.anchor_text, link.source_domain_rate);
}package main
import (
"bytes"
"encoding/json"
"fmt"
"net/http"
)
func main() {
body, _ := json.Marshal(map[string]any{
"target": "example.com",
"type": "backlinks",
"limit": 100,
"filters": []any{[]any{"is_dofollow", "=", true}},
"order_by": []string{"source_domain_rate,desc"},
})
req, _ := http.NewRequest("POST", "https://data.semust.com/v1/backlinks", bytes.NewReader(body))
req.Header.Set("SEMUST-API-USER", "your_username")
req.Header.Set("SEMUST-API-PASSWORD", "your_password")
req.Header.Set("Content-Type", "application/json")
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
if resp.StatusCode != http.StatusOK {
panic(fmt.Sprintf("request failed: %d", resp.StatusCode))
}
var data struct {
Count int `json:"count"`
Total int64 `json:"total"`
Cost float64 `json:"cost"`
Results []struct {
SourceDomain string `json:"source_domain"`
AnchorText string `json:"anchor_text"`
SourceDomainRate float64 `json:"source_domain_rate"`
} `json:"results"`
}
json.NewDecoder(resp.Body).Decode(&data)
fmt.Printf("%d of ~%d backlinks, cost $%.6f\n", data.Count, data.Total, data.Cost)
for _, l := range data.Results {
fmt.Println(l.SourceDomain, "->", l.AnchorText, l.SourceDomainRate)
}
}<?php
$payload = json_encode([
"target" => "example.com",
"type" => "backlinks",
"limit" => 100,
"filters" => [["is_dofollow", "=", true]],
"order_by" => ["source_domain_rate,desc"],
]);
$ch = curl_init("https://data.semust.com/v1/backlinks");
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POSTFIELDS => $payload,
CURLOPT_HTTPHEADER => [
"SEMUST-API-USER: your_username",
"SEMUST-API-PASSWORD: your_password",
"Content-Type: application/json",
],
]);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($status !== 200) {
exit("Request failed: $status\n");
}
$data = json_decode($response, true);
printf("%d of ~%d backlinks, cost $%.6f\n", $data["count"], $data["total"], $data["cost"]);
foreach ($data["results"] as $link) {
echo $link["source_domain"], " -> ", $link["anchor_text"], "\n";
}Sayfalama
Row döndüren raporlar 20.000'e kadar offset kabul eder. Bunun ötesi için bir önceki response'taki next_cursor değerini bir sonraki request'te cursor olarak gönderin. Cursor'lar hesabınıza ve onu üreten sorgunun tam haline bağlıdır; bu yüzden sayfalama sırasında filtreler değiştirilemez ve cursor'lar 30 dakika sonra geçersiz olur.
Başka row kalmadığında next_cursor değeri null olur. Yalnızca type: "backlinks" cursor döndürür.
{
"target": "example.com",
"type": "backlinks",
"limit": 1000
}{
"target": "example.com",
"type": "backlinks",
"limit": 1000,
"cursor": "bl_4f2c8a91d0e34b7c9a15e8f60b2d7c43"
}Response
Her rapor aynı zarfı döndürür. results row'ları içerir; summary bunun yerine tek bir result nesnesi döndürür.
total, sorgunuzla eşleşen kayıtların yaklaşık sayısıdır; dönen row sayısı değildir — bunun için count alanını kullanın.
{
"success": true,
"cached": false,
"cost": 0.030360,
"type": "backlinks",
"target": "example.com",
"scope": "domain",
"total": 337785,
"count": 100,
"limit": 100,
"next_cursor": "bl_4f2c8a91d0e34b7c9a15e8f60b2d7c43",
"results": [
{
"source_url": "https://blog.example.de/seo-tools",
"source_domain": "blog.example.de",
"target_url": "https://example.com/",
"target_domain": "example.com",
"source_tld": "de",
"anchor_text": "example seo tools",
"anchor_type": "branded",
"image_url": null,
"image_alt": null,
"context_before": "we recommend",
"context_after": "for link research",
"link_type": "text",
"link_position": "content",
"is_dofollow": true,
"is_ugc": false,
"is_sponsored": false,
"rel_attributes": [],
"via_redirect": false,
"identical_links_count": 1,
"is_new": false,
"is_live": true,
"is_broken": false,
"first_seen": "2024-02-12T03:09:59Z",
"last_seen": "2026-08-16T18:51:04Z",
"link_rate": 70,
"source_page_rate": 81,
"source_domain_rate": 65,
"source_spam_score": 0,
"target_spam_score": 0,
"source_type": "blog",
"source_country": "DE",
"source_language": "de",
"source_page_title": "The best SEO tools in 2026",
"source_page_status_code": 200,
"source_page_size_bytes": 28259,
"source_page_internal_links": 31,
"source_page_external_links": 4,
"target_status_code": 200,
"target_redirect_url": null
}
]
}{
"success": true,
"cached": false,
"cost": 0.026440,
"type": "summary",
"target": "example.com",
"scope": "domain",
"total": 1,
"count": 1,
"next_cursor": null,
"result": {
"target": "example.com",
"first_seen": "2019-04-11T08:22:13Z",
"lost_at": null,
"is_live": true,
"semust_rate": 78,
"total_backlinks": 337785,
"dofollow_backlinks": 291204,
"nofollow_backlinks": 46581,
"broken_backlinks": 812,
"broken_pages": 96,
"avg_spam_score": 6,
"referring_domains": 12840,
"referring_domains_dofollow": 9903,
"referring_domains_nofollow": 2937,
"referring_root_domains": 11002,
"referring_root_domains_nofollow": 2410,
"referring_ips": 9781,
"referring_subnets": 6204,
"referring_pages": 210433,
"referring_pages_nofollow": 40122,
"text_links_count": 298110,
"image_links_count": 31245,
"redirect_links_count": 8430,
"internal_links_count": 54221,
"outgoing_links_count": 9877,
"links_by_tld": { "com": 201334, "de": 30122, "org": 18400 },
"links_by_type": { "text": 298110, "image": 31245, "redirect": 8430 },
"links_by_attribute": { "nofollow": 46581, "noopener": 12034 },
"links_by_position": { "content": 240188, "footer": 51203, "sidebar": 30122 },
"links_by_country": { "US": 140233, "DE": 30122, "unknown": 4021 },
"links_by_source_type": { "blog": 90233, "news": 41022, "other": 120544 },
"target_ip": "93.184.216.34",
"target_country": "US",
"target_cms": null,
"target_server": "nginx",
"target_spam_score": 3,
"organic_traffic_estimate": null,
"organic_keywords_count": null
}
}{
"success": true,
"cached": false,
"cost": 0.026876,
"type": "history",
"target": "example.com",
"scope": "domain",
"date_from": "2025-09-01",
"date_to": "2026-08-29",
"total": 12,
"count": 12,
"next_cursor": null,
"results": [
{
"date": "2026-08-01",
"semust_rate": 78,
"total_backlinks": 337785,
"dofollow_backlinks": 291204,
"referring_domains": 12840,
"new_backlinks": 4210,
"lost_backlinks": 3894,
"new_referring_domains": 312,
"lost_referring_domains": 287
}
]
}Response Alanları
Zarf
| Alan | Type | Açıklama |
|---|---|---|
success | boolean | Request başarılıysa true |
cached | boolean | Cache'den indirimli ücretle sunulduysa true |
cost | number | Bu request'in USD cinsinden ücreti |
type | string | Dönen rapor tipi |
target | string | Normalize edilmiş target |
scope | string | Uygulanan scope |
total | integer | Eşleşen kayıtların yaklaşık sayısı |
count | integer | Bu response'taki row sayısı |
limit | integer | Uygulanan limit |
offset | integer | Uygulanan offset |
next_cursor | string | null | Sonraki sayfa için cursor olarak gönderin |
results | array | summary dışındaki tüm raporlarda row'lar |
result | object | summary için tek metrik bloğu |
Backlink
| Alan | Type | Açıklama |
|---|---|---|
source_url | string | Linki içeren sayfa |
source_domain | string | Link veren sayfanın host'u, www. olmadan |
target_url | string | Link verilen URL |
target_domain | string | Link verilen host |
source_tld | string | Link veren domainin TLD'si |
anchor_text | string | Görünen tıklanabilir metin |
anchor_type | string | exact, branded, naked_url, generic, partial, image, empty veya other |
image_url | string | null | Görsel linklerinde görselin kaynağı |
image_alt | string | null | Linklenen görselin alt metni |
context_before | string | null | Anchor'dan hemen önceki metin |
context_after | string | null | Anchor'dan hemen sonraki metin |
link_type | string | text, image, redirect, canonical, alternate, meta, feed, form veya other |
link_position | string | content, nav, header, footer veya sidebar |
is_dofollow | boolean | Linkin otorite aktarıp aktarmadığı |
is_ugc | boolean | Kullanıcı içeriği olarak işaretlenmiş |
is_sponsored | boolean | Ücretli olarak işaretlenmiş |
rel_attributes | array | Anchor üzerindeki rel değerleri |
via_redirect | boolean | Redirect veya canonical üzerinden ulaşılmış |
identical_links_count | integer | Kaynak sayfadaki aynı linkin kopya sayısı |
is_new | boolean | En son tarama döneminde ortaya çıkmış |
is_live | boolean | Link hâlâ yerinde |
is_broken | boolean | 4xx veya 5xx dönen bir sayfayı işaret ediyor |
first_seen | string | null | İlk görülme zamanı, RFC3339 |
last_seen | string | null | En son görülme zamanı, RFC3339 |
link_rate | number | Bu linkin aktardığı otorite, 0–100 |
source_page_rate | number | Link veren sayfanın otoritesi, 0–100 |
source_domain_rate | number | Link veren domainin otoritesi, 0–100 |
source_spam_score | integer | Kaynağın spam olasılığı, 0–100 |
target_spam_score | integer | null | Linklenen sayfanın spam olasılığı |
source_type | string | blog, forum, news, business, wiki, ecommerce veya other |
source_country | string | null | Link veren sunucunun ülkesi, ISO 3166-1 alpha-2 |
source_language | string | null | Link veren sayfanın tespit edilen dili |
source_page_title | string | null | Link veren sayfanın başlığı |
source_page_status_code | integer | null | Link veren sayfanın HTTP status'ü |
source_page_size_bytes | integer | null | Link veren sayfanın byte boyutu |
source_page_internal_links | integer | null | Link veren sayfadaki internal link sayısı |
source_page_external_links | integer | null | Link veren sayfadaki external link sayısı |
target_status_code | integer | null | Linklenen sayfanın HTTP status'ü |
target_redirect_url | string | null | Linklenen sayfanın yönlendirdiği adres |
Buradaki null sıfır değil, bilinmiyor demektir — crawler'ın çekmediği bir sayfanın status code'u yoktur ve bunu 0 saymak yanıltıcı olurdu.
Summary ve history metrikleri
| Alan | Type | Açıklama |
|---|---|---|
semust_rate | number | Hedefin otoritesi, 0–100 |
total_backlinks | integer | Tüm backlinkler |
dofollow_backlinks | integer | Otorite aktaran backlinkler |
nofollow_backlinks | integer | Nofollow işaretli backlinkler |
broken_backlinks | integer | Kırık sayfalara işaret eden backlinkler |
broken_pages | integer | 4xx veya 5xx dönen hedef sayfalar |
avg_spam_score | integer | Backlinklerin ortalama spam skoru |
referring_domains | integer | Hedefe link veren benzersiz domainler |
referring_domains_dofollow | integer | Yalnızca dofollow link veren domainler |
referring_domains_nofollow | integer | En az bir nofollow linki olan domainler |
referring_root_domains | integer | Benzersiz kök domainler |
referring_ips | integer | Benzersiz IP adresleri |
referring_subnets | integer | Benzersiz subnet sayısı |
referring_pages | integer | Hedefe link veren benzersiz sayfalar |
text_links_count | integer | Metin linkleri |
image_links_count | integer | Görsel linkleri |
redirect_links_count | integer | Redirect linkleri |
internal_links_count | integer | Hedefteki internal link sayısı |
outgoing_links_count | integer | Hedeften çıkan link sayısı |
links_by_tld | object | TLD'ye göre link sayısı |
links_by_type | object | Link tipine göre link sayısı |
links_by_attribute | object | rel özelliğine göre link sayısı |
links_by_position | object | Sayfadaki konuma göre link sayısı |
links_by_country | object | Ülkeye göre link sayısı |
links_by_source_type | object | Site türüne göre link sayısı |
referring_domains_dofollow
referring_domains_nofollow, en az bir nofollow linki olan her domaini sayar. Bu nedenle referring_domains_dofollow, yalnızca dofollow link veren domain sayısıdır — en az bir dofollow linki olanların sayısı değil.
history her noktaya date, new_backlinks, lost_backlinks, new_referring_domains ve lost_referring_domains alanlarını ekler. include_breakdowns true olmadıkça links_by_* dağılımları boş döner.
Hata Kodları
| Status | Code | Açıklama |
|---|---|---|
| 400 | INVALID_REQUEST | Body hatalı veya bir parametre bu type için geçerli değil |
| 400 | TARGET_REQUIRED | target alanı eksik |
| 400 | INVALID_TARGET | target geçerli bir domain veya URL değil |
| 400 | INVALID_TYPE | Bilinmeyen type |
| 400 | INVALID_FILTER | Bilinmeyen alan, alana uygun olmayan operatör veya çok fazla koşul |
| 400 | INVALID_ORDER_BY | Bilinmeyen sıralama alanı veya 3'ten fazla kural |
| 400 | INVALID_DATE_RANGE | date_from, date_to'dan sonra veya tarihler okunamıyor |
| 400 | INVALID_CURSOR | Cursor bilinmiyor, süresi dolmuş veya bu request için geçerli değil |
| 401 | INVALID_CREDENTIALS | Kullanıcı adı veya şifre hatalı |
| 402 | INSUFFICIENT_CREDITS | Bu request için yeterli bakiye yok |
| 403 | SERVICE_NOT_ENABLED | Backlink servisi hesabınızda etkin değil |
| 403 | IP_NOT_WHITELISTED | IP adresiniz whitelist'te değil |
| 409 | REQUEST_IN_PROGRESS | Aynı idempotency_key ile bir request zaten çalışıyor |
| 413 | REQUEST_TOO_LARGE | Request body 64 KB sınırını aşıyor |
| 429 | RATE_LIMIT_EXCEEDED | Çok fazla request |
| 502 | REQUEST_FAILED | Request tamamlanamadı |
| 504 | TIMEOUT | Request zaman aşımına uğradı |
Yukarıdaki tüm 4xx durumları ücretlendirmeden önce kontrol edilir; reddedilen bir request hiçbir ücret oluşturmaz.
Hatalar bir request_id içerir. Destek ile iletişime geçerken bu değeri paylaşırsanız nedenini tam olarak bulabiliriz.
{
"error": "invalid filter: unknown field \"domain_rating\"",
"code": "INVALID_FILTER"
}Krediler & Rate Limits
Krediler
Fiyatlandırma, her request için sabit bir ücret ve dönen her row için ek ücretten oluşur:
cost = $0.0264 + (rows / 1000) x $0.0396| Dönen row | Ücret |
|---|---|
| 0 | $0.026400 |
1 (summary) | $0.026440 |
| 100 | $0.030360 |
| 500 | $0.046200 |
| 1000 (maksimum) | $0.066000 |
Hiçbir sonuç bulunmayan bir request de sabit ücreti öder. Daha az row istemek daha ucuzdur; bu yüzden limit değerini gerçekten ihtiyacınız olan sayıya ayarlayın.
history ve timeseries, aralıktaki her periyot için bir row ücretlendirir.
Cache
Aynı request'ler cache'lenir ve response'ta "cached": true ile birlikte sabit $0.005 ücretle sunulur. Çoğu rapor 24 saat, history ise aylık güncellendiği için 7 gün cache'lenir.
Rate Limits
Rate limitler API kullanıcısı bazındadır ve hesabınızda tanımlıdır. Aşıldığında 429 RATE_LIMIT_EXCEEDED döner. Ayrıntılar için Rate Limits sayfasına bakın.
