Temel veriler, oranlar, mali tablolar ve temettüler — artı AAOIFI uyumluluk kararı — tek bir REST çağrısından veya tek bir MCP aracından. Her sayı birden çok bağımsız kaynakla (SEC EDGAR, Yahoo, Finnhub) çapraz doğrulanır; iki kaynağın altındaki her şey doğrulanmamış olarak işaretlenir. Körfez ve ABD piyasaları, 7 dil, ajan-yerel.
Ücretsiz bir hesapla 3 ay boyunca ücretsiz — her kontrole, Zekât araçlarına ve API + MCP sunucusuna tam erişim. Kart gerekmez; ücretli planlar lansman döneminden sonra başlar. Aşağıdaki tablodaki plan etiketleri gelecekteki fiyatlandırmayı gösterir; lansman döneminde ücret alınmaz.
Hızlı başlangıç — 3 adım
Sıfırdan uyumluluk kararına birkaç dakikada.
1. API anahtarınızı alın
Hesap oluştur
2. Uç noktayı çağırın
3. Kararı okuyun
Örnek istek ve yanıt
curl https://halalstock.net/v1/stock/2222.SR/halal?profile=standard \
-H "Authorization: Bearer thl_your_key"
{
"symbol": "2222.SR",
"name": "Saudi Arabian Oil Company",
"status": "halal",
"compliance_score": 82,
"confidence": "likely",
"corroborated_by": [], // Sharia-screened funds that also hold it (independent scholar check) — not data sources
"ratios": [
{"name": "debt_ratio", "value": 0.09, "threshold": 0.30, "passed": true},
{"name": "cash_ratio", "value": 0.04, "threshold": 0.30, "passed": true},
{"name": "impure_income_ratio", "value": null, "threshold": 0.05, "passed": null}
],
"risk_level": "safe",
"purification_pct": null,
"reasons": ["Business is permissible and all computable financial ratios pass."],
"explanation": {"en": "...", "ar": "..."},
"disclaimer": "Screening analysis for information only — not a fatwa..."
}
İpucu: kod bloğuna tıklayıp seçin, sonra kopyalayın.
Canlı deneyin
Bir sembol yazın ve genel uç noktada gerçek bir tarama çalıştırın — anahtar yok, kayıt yok. Kodunuzun alacağı JSON'un aynısı.
Bu, mevcut verilerin otomatik tarama sonucudur — bir şirketin helal olduğuna dair fetva veya hüküm değildir. status'ü confidence ile okuyun ve daima disclaimer alanını iletin.
SDK'lar ve kopyala-yapıştır örnekler
Python ve JavaScript için bağımlılıksız resmi istemciler, ham bir curl çağrısı ve MCP yapılandırması. Anahtarınızı bir kez HALALSTOCK_API_KEY olarak ayarlayın (thl_ ile başlar).
import os
from halalstock import HalalStock, HalalStockError
# key from your account (starts with thl_); keyless works too but is IP-metered
hs = HalalStock(api_key=os.environ.get("HALALSTOCK_API_KEY"))
try:
v = hs.check("AAPL") # GET /v1/stock/AAPL/halal
# status is a screening result, not a fatwa — read it with confidence
print(v["status"], v["compliance_score"], v["confidence"])
print(v["disclaimer"]) # always relay this to the user
res = hs.screen(["AAPL", "TSLA", "2222.SR"]) # batch, up to 25
print(res["count"], "screened")
except HalalStockError as e:
print("error", e.status, e.message)
import { HalalStock, HalalStockError } from "./halalstock.js";
// key from your account (starts with thl_); keyless works too but is IP-metered
const hs = new HalalStock(process.env.HALALSTOCK_API_KEY);
try {
const v = await hs.check("AAPL"); // GET /v1/stock/AAPL/halal
// status is a screening result, not a fatwa — read it with confidence
console.log(v.status, v.compliance_score, v.confidence);
console.log(v.disclaimer); // always relay this to the user
const res = await hs.screen(["AAPL", "TSLA", "2222.SR"]); // batch, up to 25
console.log(res.count, "screened");
} catch (e) {
if (e instanceof HalalStockError) console.error(e.status, e.detail);
}
# public — no key needed (metered per IP)
curl "https://halalstock.net/v1/stock/AAPL/halal?profile=standard"
# with your key (starts with thl_) for a higher quota
curl "https://halalstock.net/v1/stock/2222.SR/halal" \
-H "Authorization: Bearer $HALALSTOCK_API_KEY"
# batch screen up to 25 tickers
curl "https://halalstock.net/v1/screen?symbols=AAPL,TSLA,2222.SR" \
-H "Authorization: Bearer $HALALSTOCK_API_KEY"
# add to your MCP client config (e.g. Claude Desktop)
{
"mcpServers": {
"halalstock": {
"command": "python",
"args": ["-m", "tahleel.mcp_server"],
"env": {
"HALALSTOCK_API_URL": "https://halalstock.net",
"HALALSTOCK_API_KEY": "thl_your_key"
}
}
}
}
# then just ask: "Is Aramco (2222.SR) halal?" — the agent calls check_halal()
İstemcileri depodan alın: /sdk/python/halalstock.py ve /sdk/javascript/halalstock.js. İkisi de aşağıdaki aynı REST uç noktalarını sarar.
Yapay zekâ ajanları için (MCP)
HalalStock bir Model Context Protocol sunucusu sunar. Claude Desktop, Cursor veya herhangi bir MCP istemcisini ona yönlendirin ve bir hissenin helal olup olmadığını sorun.
MCP istemci yapılandırması
# add to your MCP client config (e.g. Claude Desktop)
{
"mcpServers": {
"halalstock": {
"command": "python",
"args": ["-m", "tahleel.mcp_server"],
"env": {
"HALALSTOCK_API_URL": "https://halalstock.net",
"HALALSTOCK_API_KEY": "thl_your_key"
}
}
}
}
Araçlar ve kullanım
# the server exposes two tools:
# check_halal(symbol, profile="standard")
# screen_portfolio(symbols, profile="standard")
# then just ask the agent:
"Is Aramco (2222.SR) halal?"
"Screen AAPL, TSLA and JPM for Sharia compliance."
# With HALALSTOCK_API_URL + HALALSTOCK_API_KEY set, calls
# go to the hosted, metered API. Without them, the server
# screens locally with no API key (best-effort, via Yahoo —
# US names degrade gracefully; still needs a network connection).
Uç nokta referansı
Çoğu okuma uç noktası anahtar gerektirmez (IP başına ölçülür); bazıları anahtar, birkaçı ücretli plan gerektirir.
| Uç nokta | Döndürür | Kimlik |
|---|---|---|
GET /v1/stock/{symbol}/halal | Bir sembol için tam karar: durum, puan, oranlar, güven, gerekçeler | İsteğe bağlı anahtar |
GET /v1/screen?symbols= | Virgülle ayrılmış en fazla 25 sembol için toplu kararlar | İsteğe bağlı anahtar |
GET /v1/search?q= | Ad veya sembolle hisse + ETF evrenini arayın | İsteğe bağlı anahtar |
GET /v1/screener | Önceden taranmış dizinden duruma, ülkeye, sektöre, puana göre adlar bulun | İsteğe bağlı anahtar |
GET /v1/top-halal | Uyumluluk puanına göre en iyi helal hisseler, isteğe bağlı ülke/sektör | İsteğe bağlı anahtar |
GET /v1/stock/{symbol}/zakat | Bir varlık üzerindeki zekât (%2,5); intent=investment|trading | İsteğe bağlı anahtar |
GET /v1/stock/{symbol}/purification | Temettü arındırma tutarı (gayrimeşru gelir payı × temettüler) | İsteğe bağlı anahtar |
GET /v1/stock/{symbol}/alternatives | Aynı sektördeki helal hisseler | İsteğe bağlı anahtar |
GET /v1/stock/{symbol}/history | Zaman içinde uyumluluk durumu (günlük anlık görüntüler) | İsteğe bağlı anahtar |
GET /v1/fundamentals/{symbol} | Çapraz doğrulanmış temel veriler (piyasa değeri, borç, nakit, gelir) alan bazlı kaynaklarla | İsteğe bağlı anahtar |
GET /v1/ratios/{symbol} | Tarama oranları (borç, nakit, gayrimeşru gelir) eşikler ve geçti/kaldı ile | İsteğe bağlı anahtar |
GET /v1/profile/{symbol} | Şirket profili: ad, sektör, sanayi, iş özeti, para birimi, tür | İsteğe bağlı anahtar |
GET /v1/dividends/{symbol} | Türetilmiş temettü arındırma rakamları (gayrimeşru oran, arındırma %) + paketli karar | İsteğe bağlı anahtar |
GET /v1/financials/{symbol} | Çok dönemli mali tablolar (gelir, bilanço, nakit akışı) | Ücretli plan |
GET /v1/compliance-changes | Yakın zamanda helal durumu değişen hisseler | İsteğe bağlı anahtar |
GET /v1/whale-watch | Büyük İslami fonların elindekiler — helal akıllı parayı izleyin | İsteğe bağlı anahtar |
GET /v1/sectors | Evren genelinde sektöre göre helal-toplam dağılımı | İsteğe bağlı anahtar |
GET /v1/methodology | Uygulanan tarama standardı, eşikler ve aşamalar | Yok |
GET /v1/markets | Kapsanan piyasalar ve sembol ekleri | Yok |
POST /v1/signup | Hesabınızı oluşturun ve API anahtarı alın | Yok |
GET /v1/portfolio · POST · DELETE | Anahtarınıza bağlı bir varlık portföyünü kaydedin ve tarayın | Anahtar gerekli |
GET /v1/stock/{symbol}/multi-standard | AAOIFI'ye karşı DJIM'e karşı toplam varlık bazına göre uyumluluk | Ücretli plan |
GET /v1/stock/{symbol}/custom-screen | Kendi borç/nakit/gayrimeşru eşiklerinizle yeniden tarayın | Ücretli plan |
GET /v1/compare?symbols= | En fazla 4 sembolün yan yana uyumluluk karşılaştırması | Ücretli plan |
GET /v1/screen.csv?symbols= | En fazla 100 sembol için kararların toplu CSV dışa aktarımı (symbol,name,status,score,as_of) | Business planı |
GET /v1/portfolio.csv | Kayıtlı her varlığın uyumluluk durumunun toplu CSV dışa aktarımı | Business planı |
GET/POST/DELETE /v1/webhook | BİR uyumluluk-bildirim URL'si kaydedin; izlenen/sahip olunan bir hisse durum değiştirince {symbol,old_status,new_status,score,as_of} POST ederiz | Business planı |
Piyasa kapsamı: ABD'de işlem gören hisseler tam desteklenir (SEC EDGAR + Yahoo + Finnhub). Körfez ve diğer uluslararası piyasalar en iyi çabayla, güvenilir veri bulunan yerlerde kapsanır; bir sayı doğrulanamadığında tahmin etmek yerine status 'unknown' veya verified=false döndürürüz.
Hız sınırları ve hatalar
Günlük kotanın yanı sıra dakika başına bir patlama sınırı da vardır: Pro = 300 istek/dk, Business = 600 istek/dk. Büyük işleri yayın — dakika sınırına takılmak gövdesinde "max N requests/minute on your plan" yazan bir 429 döndürür (günlük kota 429'undan farklı).
401
Anahtar gerektiren bir uç noktada eksik veya geçersiz API anahtarı.
402
Ücretsiz katman anahtarıyla yalnızca ücretli özellik çağrıldı. Planınızı yükseltin.
429
Günlük kota doldu veya dakika başına patlama sınırına ulaşıldı. Gövde hangisi olduğunu söyler. Bekleyin, anahtar alın veya planınızı yükseltin.