Fundamental, rasio, laporan keuangan dan dividen — plus keputusan kepatuhan AAOIFI — dari satu panggilan REST atau satu alat MCP. Setiap angka diverifikasi silang di beberapa sumber independen (SEC EDGAR, Yahoo, Finnhub); apa pun di bawah dua sumber ditandai belum terverifikasi. Pasar Teluk dan AS, 7 bahasa, native untuk agen.
Gratis 3 bulan dengan akun gratis — akses penuh ke setiap pemeriksaan, alat Zakat, dan API + server MCP. Tanpa kartu; paket berbayar mulai setelah masa peluncuran. Label paket di tabel di bawah menunjukkan harga mendatang; tidak ada biaya selama masa peluncuran.
Mulai cepat — 3 langkah
Dari nol hingga keputusan kepatuhan dalam beberapa menit.
1. Dapatkan kunci API Anda
Buat akun
2. Panggil endpoint
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..."
}
Tip: klik blok kode untuk memilihnya, lalu salin.
Coba langsung
Ketik ticker dan jalankan saringan nyata ke endpoint publik — tanpa kunci, tanpa daftar. Ini JSON yang sama yang akan diterima kode Anda.
Ini hasil saringan otomatis atas data yang tersedia — bukan fatwa atau putusan bahwa perusahaan halal. Baca status bersama confidence, dan selalu sertakan field disclaimer.
SDK & contoh siap salin
Klien resmi tanpa dependensi untuk Python dan JavaScript, plus panggilan curl mentah dan konfigurasi MCP. Atur kunci Anda sekali sebagai HALALSTOCK_API_KEY (diawali 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. Keduanya membungkus endpoint REST yang sama di bawah.
Untuk agen AI (MCP)
HalalStock menyediakan server Model Context Protocol. Arahkan Claude Desktop, Cursor, atau klien MCP apa pun ke sana lalu tanyakan apakah suatu 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).
Referensi endpoint
Sebagian besar endpoint baca tanpa kunci (diukur per IP); beberapa butuh kunci, sedikit butuh paket berbayar.
| Endpoint | Mengembalikan | Auth |
|---|---|---|
GET /v1/stock/{symbol}/halal | Keputusan lengkap satu simbol: status, skor, rasio, keyakinan, alasan | Kunci opsional |
GET /v1/screen?symbols= | Keputusan massal hingga 25 ticker dipisah koma | Kunci opsional |
GET /v1/search?q= | Cari semesta saham + ETF berdasarkan nama atau ticker | Kunci opsional |
GET /v1/screener | Temukan nama dari indeks terskrining berdasarkan status, negara, sektor, skor | Kunci opsional |
GET /v1/top-halal | Saham halal teratas berdasarkan skor, opsional per negara/sektor | Kunci opsional |
GET /v1/stock/{symbol}/zakat | Zakat terutang (2,5%) atas kepemilikan; intent=investment|trading | Kunci opsional |
GET /v1/stock/{symbol}/purification | Jumlah pemurnian dividen (porsi pendapatan tidak halal × dividen) | Kunci opsional |
GET /v1/stock/{symbol}/alternatives | Saham halal di sektor yang sama | Kunci opsional |
GET /v1/stock/{symbol}/history | Status kepatuhan dari waktu ke waktu (snapshot harian) | Kunci opsional |
GET /v1/fundamentals/{symbol} | Fundamental terverifikasi silang (kapitalisasi, utang, kas, pendapatan) dengan sumber per-field | Kunci opsional |
GET /v1/ratios/{symbol} | Rasio penyaringan (utang, kas, pendapatan tidak halal) dengan ambang dan lolos/gagal | Kunci opsional |
GET /v1/profile/{symbol} | Profil perusahaan: nama, sektor, industri, ringkasan bisnis, mata uang, jenis | Kunci opsional |
GET /v1/dividends/{symbol} | Angka pemurnian dividen turunan (rasio tidak halal, % pemurnian) + keputusan terbundel | Kunci opsional |
GET /v1/financials/{symbol} | Laporan keuangan multi-periode (laba rugi, neraca, arus kas) | Paket berbayar |
GET /v1/compliance-changes | Saham yang baru berubah status halal | Kunci opsional |
GET /v1/whale-watch | Yang dimiliki dana Islam besar — ikuti uang cerdas halal | Kunci opsional |
GET /v1/sectors | Rincian halal-vs-total per sektor di seluruh semesta | Kunci opsional |
GET /v1/methodology | Standar penyaringan, ambang, dan tahap yang diterapkan | Tidak ada |
GET /v1/markets | Pasar yang dicakup, dengan akhiran ticker | Tidak ada |
POST /v1/signup | Buat akun Anda dan terima kunci API | Tidak ada |
GET /v1/portfolio · POST · DELETE | Simpan dan saring portofolio kepemilikan terikat kunci Anda | Perlu kunci |
GET /v1/stock/{symbol}/multi-standard | Kepatuhan menurut AAOIFI vs DJIM vs basis total aset | Paket berbayar |
GET /v1/stock/{symbol}/custom-screen | Saring ulang dengan ambang utang/kas/tidak halal Anda | Paket berbayar |
GET /v1/compare?symbols= | Perbandingan kepatuhan berdampingan hingga 4 ticker | Paket berbayar |
GET /v1/screen.csv?symbols= | Ekspor CSV massal keputusan (symbol,name,status,score,as_of) hingga 100 ticker | Paket Business |
GET /v1/portfolio.csv | Ekspor CSV massal status kepatuhan setiap kepemilikan tersimpan | Paket Business |
GET/POST/DELETE /v1/webhook | Daftarkan SATU URL push kepatuhan; kami POST {symbol,old_status,new_status,score,as_of} saat saham yang dipantau/dimiliki berubah status | Paket Business |
Cakupan pasar: saham yang terdaftar di AS didukung penuh (SEC EDGAR + Yahoo + Finnhub). Pasar Teluk dan internasional lain bersifat best-effort, dicakup jika data andal tersedia; bila angka tak bisa dipastikan kami kembalikan status 'unknown' atau verified=false, bukan menebak.
Batas laju & error
Ada juga batas burst per menit di atas kuota harian: Pro = 300 permintaan/menit, Business = 600 permintaan/menit. Sebarkan pekerjaan besar — kena batas per menit mengembalikan 429 yang isinya "max N requests/minute on your plan" (berbeda dari 429 kuota harian).
401
Kunci API hilang atau tidak valid pada endpoint yang memerlukannya.
402
Fitur berbayar dipanggil dengan kunci gratis. Tingkatkan paket Anda.
429
Kuota harian tercapai, atau batas burst per menit terlampaui. Isi respons memberi tahu yang mana. Tunggu, dapatkan kunci, atau tingkatkan paket.