Asas, nisbah, penyata kewangan dan dividen — serta keputusan pematuhan AAOIFI — daripada satu panggilan REST atau satu alat MCP. Setiap angka disahkan silang merentas beberapa sumber bebas (SEC EDGAR, Yahoo, Finnhub); apa-apa di bawah dua sumber ditanda belum disahkan. Pasaran Teluk dan AS, 7 bahasa, asli untuk ejen.
Percuma 3 bulan dengan akaun percuma — akses penuh ke setiap semakan, alat Zakat, dan API + pelayan MCP. Tiada kad; pelan berbayar bermula selepas tempoh pelancaran. Label pelan dalam jadual di bawah menunjukkan harga akan datang; tiada caj sepanjang tempoh pelancaran.
Mula pantas — 3 langkah
Dari sifar ke keputusan pematuhan dalam beberapa minit.
1. Dapatkan kunci API anda
Cipta akaun
2. Panggil titik akhir
3. Baca keputusan
Contoh permintaan & respons
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..."
}
Petua: klik blok kod untuk memilihnya, kemudian salin.
Cuba secara langsung
Taip ticker dan jalankan saringan sebenar pada titik akhir awam — tiada kunci, tiada pendaftaran. Ini JSON yang sama yang kod anda akan terima.
Ini hasil saringan automatik atas data yang tersedia — bukan fatwa atau putusan bahawa syarikat itu halal. Baca status dengan confidence, dan sentiasa sertakan medan disclaimer.
SDK & contoh salin-tampal
Klien rasmi tanpa kebergantungan untuk Python dan JavaScript, serta panggilan curl mentah dan konfigurasi MCP. Tetapkan kunci anda sekali sebagai HALALSTOCK_API_KEY (bermula dengan thl_).
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()
Dapatkan klien dari repo: /sdk/python/halalstock.py dan /sdk/javascript/halalstock.js. Kedua-duanya membungkus titik akhir REST yang sama di bawah.
Untuk ejen AI (MCP)
HalalStock menyediakan pelayan Model Context Protocol. Halakan Claude Desktop, Cursor, atau mana-mana klien MCP kepadanya dan tanya sama ada sesuatu saham halal.
Konfigurasi klien MCP
# 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"
}
}
}
}
Alat & penggunaan
# 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).
Rujukan titik akhir
Kebanyakan titik akhir baca tidak perlu kunci (diukur per IP); sebahagian perlu kunci, beberapa perlu pelan berbayar.
| Titik akhir | Memulangkan | Auth |
|---|---|---|
GET /v1/stock/{symbol}/halal | Keputusan penuh satu simbol: status, skor, nisbah, keyakinan, sebab | Kunci pilihan |
GET /v1/screen?symbols= | Keputusan kelompok sehingga 25 ticker dipisah koma | Kunci pilihan |
GET /v1/search?q= | Cari alam saham + ETF mengikut nama atau ticker | Kunci pilihan |
GET /v1/screener | Cari nama dari indeks prapenyaringan mengikut status, negara, sektor, skor | Kunci pilihan |
GET /v1/top-halal | Saham halal teratas mengikut skor, pilihan mengikut negara/sektor | Kunci pilihan |
GET /v1/stock/{symbol}/zakat | Zakat tertunggak (2.5%) atas pegangan; intent=investment|trading | Kunci pilihan |
GET /v1/stock/{symbol}/purification | Jumlah penyucian dividen (bahagian pendapatan tidak suci × dividen) | Kunci pilihan |
GET /v1/stock/{symbol}/alternatives | Saham halal dalam sektor yang sama | Kunci pilihan |
GET /v1/stock/{symbol}/history | Status pematuhan dari masa ke masa (petikan harian) | Kunci pilihan |
GET /v1/fundamentals/{symbol} | Asas disahkan silang (permodalan, hutang, tunai, hasil) dengan sumber setiap medan | Kunci pilihan |
GET /v1/ratios/{symbol} | Nisbah saringan (hutang, tunai, pendapatan tidak suci) dengan ambang dan lulus/gagal | Kunci pilihan |
GET /v1/profile/{symbol} | Profil syarikat: nama, sektor, industri, ringkasan perniagaan, mata wang, jenis | Kunci pilihan |
GET /v1/dividends/{symbol} | Angka penyucian dividen terbitan (nisbah tidak suci, % disucikan) + keputusan terkumpul | Kunci pilihan |
GET /v1/financials/{symbol} | Penyata kewangan pelbagai tempoh (pendapatan, kunci kira-kira, aliran tunai) | Pelan berbayar |
GET /v1/compliance-changes | Saham yang baru menukar status halal | Kunci pilihan |
GET /v1/whale-watch | Apa yang dipegang dana Islam utama — ikut wang pintar halal | Kunci pilihan |
GET /v1/sectors | Pecahan halal-lwn-jumlah mengikut sektor merentas alam | Kunci pilihan |
GET /v1/methodology | Standard penyaringan, ambang, dan peringkat yang digunakan | Tiada |
GET /v1/markets | Pasaran diliputi, dengan akhiran ticker | Tiada |
POST /v1/signup | Cipta akaun anda dan terima kunci API | Tiada |
GET /v1/portfolio · POST · DELETE | Simpan dan saring portfolio pegangan terikat kunci anda | Kunci diperlukan |
GET /v1/stock/{symbol}/multi-standard | Pematuhan di bawah AAOIFI lwn DJIM lwn asas jumlah aset | Pelan berbayar |
GET /v1/stock/{symbol}/custom-screen | Saring semula dengan ambang hutang/tunai/tidak suci anda | Pelan berbayar |
GET /v1/compare?symbols= | Perbandingan pematuhan bersebelahan sehingga 4 ticker | Pelan berbayar |
GET /v1/screen.csv?symbols= | Eksport CSV pukal keputusan (symbol,name,status,score,as_of) sehingga 100 ticker | Pelan Business |
GET /v1/portfolio.csv | Eksport CSV pukal status pematuhan setiap pegangan tersimpan | Pelan Business |
GET/POST/DELETE /v1/webhook | Daftar SATU URL tolak pematuhan; kami POST {symbol,old_status,new_status,score,as_of} apabila saham diikut/dimiliki menukar status | Pelan Business |
Liputan pasaran: saham tersenarai di AS disokong sepenuhnya (SEC EDGAR + Yahoo + Finnhub). Pasaran Teluk dan antarabangsa lain adalah usaha terbaik, diliputi di mana data boleh dipercayai tersedia; apabila sesuatu angka tidak dapat disahkan kami pulangkan status 'unknown' atau verified=false dan bukan meneka.
Had kadar & ralat
Terdapat juga had pecutan seminit di atas kuota harian: Pro = 300 permintaan/min, Business = 600 permintaan/min. Sebarkan kerja besar — terkena had seminit memulangkan 429 yang badannya menyebut "max N requests/minute on your plan" (berbeza daripada 429 kuota harian).
401
Kunci API hilang atau tidak sah pada titik akhir yang memerlukannya.
402
Ciri berbayar dipanggil dengan kunci percuma. Naik taraf pelan anda.
429
Kuota harian dicapai, atau had pecutan seminit dilanggar. Badan respons memberitahu yang mana. Tunggu, dapatkan kunci, atau naik taraf pelan.