Data keuangan Diverifikasi silang REST API Server MCP Standar AAOIFI 21 Native untuk agen

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.

Buat akun gratis Anda Berkas Agent Skill

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}/halalKeputusan lengkap satu simbol: status, skor, rasio, keyakinan, alasanKunci opsional
GET /v1/screen?symbols=Keputusan massal hingga 25 ticker dipisah komaKunci opsional
GET /v1/search?q=Cari semesta saham + ETF berdasarkan nama atau tickerKunci opsional
GET /v1/screenerTemukan nama dari indeks terskrining berdasarkan status, negara, sektor, skorKunci opsional
GET /v1/top-halalSaham halal teratas berdasarkan skor, opsional per negara/sektorKunci opsional
GET /v1/stock/{symbol}/zakatZakat terutang (2,5%) atas kepemilikan; intent=investment|tradingKunci opsional
GET /v1/stock/{symbol}/purificationJumlah pemurnian dividen (porsi pendapatan tidak halal × dividen)Kunci opsional
GET /v1/stock/{symbol}/alternativesSaham halal di sektor yang samaKunci opsional
GET /v1/stock/{symbol}/historyStatus kepatuhan dari waktu ke waktu (snapshot harian)Kunci opsional
GET /v1/fundamentals/{symbol}Fundamental terverifikasi silang (kapitalisasi, utang, kas, pendapatan) dengan sumber per-fieldKunci opsional
GET /v1/ratios/{symbol}Rasio penyaringan (utang, kas, pendapatan tidak halal) dengan ambang dan lolos/gagalKunci opsional
GET /v1/profile/{symbol}Profil perusahaan: nama, sektor, industri, ringkasan bisnis, mata uang, jenisKunci opsional
GET /v1/dividends/{symbol}Angka pemurnian dividen turunan (rasio tidak halal, % pemurnian) + keputusan terbundelKunci opsional
GET /v1/financials/{symbol}Laporan keuangan multi-periode (laba rugi, neraca, arus kas)Paket berbayar
GET /v1/compliance-changesSaham yang baru berubah status halalKunci opsional
GET /v1/whale-watchYang dimiliki dana Islam besar — ikuti uang cerdas halalKunci opsional
GET /v1/sectorsRincian halal-vs-total per sektor di seluruh semestaKunci opsional
GET /v1/methodologyStandar penyaringan, ambang, dan tahap yang diterapkanTidak ada
GET /v1/marketsPasar yang dicakup, dengan akhiran tickerTidak ada
POST /v1/signupBuat akun Anda dan terima kunci APITidak ada
GET /v1/portfolio · POST · DELETESimpan dan saring portofolio kepemilikan terikat kunci AndaPerlu kunci
GET /v1/stock/{symbol}/multi-standardKepatuhan menurut AAOIFI vs DJIM vs basis total asetPaket berbayar
GET /v1/stock/{symbol}/custom-screenSaring ulang dengan ambang utang/kas/tidak halal AndaPaket berbayar
GET /v1/compare?symbols=Perbandingan kepatuhan berdampingan hingga 4 tickerPaket berbayar
GET /v1/screen.csv?symbols=Ekspor CSV massal keputusan (symbol,name,status,score,as_of) hingga 100 tickerPaket Business
GET /v1/portfolio.csvEkspor CSV massal status kepatuhan setiap kepemilikan tersimpanPaket Business
GET/POST/DELETE /v1/webhookDaftarkan SATU URL push kepatuhan; kami POST {symbol,old_status,new_status,score,as_of} saat saham yang dipantau/dimiliki berubah statusPaket 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.

Dapatkan kunci API Anda Lihat harga