The Daleel API
One endpoint does most of the work: give it a ticker, get back a verdict, a 0–100 score, the five-methodology audit matrix (AAOIFI, DJIM, MSCI, S&P, FTSE), the purification percentage, and the SEC filing citations behind every number.
Get a key
curl -X POST http://daleel.o11r.com/api/keys \
-H "Content-Type: application/json" \
-d '{"email": "you@example.com"}'
Returns a free-tier key (shown once; re-signup rotates it). Partner tier upgrades happen via the pricing page.
Screen a ticker
curl http://daleel.o11r.com/v1/screen/MSFT \ -H "X-API-Key: YOUR_KEY"
Without a key you're on the demo tier (10 requests/minute per IP — enough to explore, not enough to build on). Response shape:
{
"success": true,
"error": null,
"data": {
"symbol": "MSFT",
"compliance": "compliant", // compliant | questionable |
// non_compliant | not_screenable
"score": 84.5,
"components": { "interest_income": {"score": 25, "max": 25}, ... },
"ratios": { "debt_to_market_cap": 0.021, ... },
"methodologies": [
{ "name": "AAOIFI", "passed": true,
"checks": [ {"ratio": "debt_to_market_cap",
"value": 0.021, "threshold": 0.30,
"passed": true}, ... ] }, ...
],
"purification": { "pct_of_dividends_and_gains": 1.2, ... },
"evidence": [
{ "concept": "Interest income",
"xbrl_tag": "InvestmentIncomeInterest",
"value": 2913000000, "form": "10-K",
"period_end": "2025-06-30",
"accession": "0000950170-25-...",
"source_url": "https://www.sec.gov/Archives/edgar/data/..." }, ...
]
}
}
Values overlays
Advisor-oriented values/ESG flags on top of the halal screen: three
official government lists (UFLPA Entity List, DoD 1260H Chinese military
companies, Florida SBA Sudan/Iran scrutinized companies — each cited with
source URL and publication date) plus industry-derived flags
(weapons_defense, fossil_fuels,
tobacco, alcohol, gambling,
adult_entertainment, private_prisons,
civilian_firearms). Requires a key (free tier works);
overlays never change the halal verdict or score.
curl "http://daleel.o11r.com/v1/screen/GEO?overlays=all" \ -H "X-API-Key: YOUR_KEY" # or a comma list: curl "http://daleel.o11r.com/v1/screen/HSAI?overlays=dod_1260h,weapons_defense" \ -H "X-API-Key: YOUR_KEY"
Adds an overlays object to the payload:
"overlays": {
"dod_1260h": {
"flagged": true,
"basis": "official_list",
"match": { "matched_by": "ticker", "entity": "Hesai Group" },
"source": {
"list_name": "DoD Section 1260H Chinese Military Companies List",
"source_url": "https://www.federalregister.gov/documents/2026/06/10/...",
"list_date": "2026-06-10", ...
}
},
"weapons_defense": { "flagged": false,
"basis": "industry_classification", ... },
"values_summary": {
"flags_checked": 2, "flags_raised": 1, "raised": ["dod_1260h"],
"by_basis": { "official_list": 1, "industry_classification": 0 }
},
"note": "Values overlays are informational only. They never change ..."
}
Official-list matching is by known ticker or exact normalized name only — no fuzzy matching — so a clean result means "not on the list snapshot", not "no exposure". Lists, dates, and the matching policy are documented on the methodology page. Without a key, the demo tier returns the available overlay names and an upgrade note instead of results.
Batch screening
Screen up to 25 symbols per call. Requires a key (any paid or free tier).
curl -X POST http://daleel.o11r.com/v1/batch \
-H "X-API-Key: YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"symbols": ["AAPL", "MSFT", "JPM", "KO"]}'
Bulk screening (async)
Screen up to 500 symbols in one job. Submit and get a
job_id back immediately; screening runs in the background.
Requires a key (free or partner tier).
curl -X POST http://daleel.o11r.com/v1/bulk \
-H "X-API-Key: YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"symbols": ["AAPL", "MSFT", "JPM", "KO", ...]}'
# → { "success": true, "data": { "job_id": "blk_...",
# "status": "pending", "total": 4, "poll": "/v1/bulk/blk_..." } }
Poll the job until status is complete:
curl http://daleel.o11r.com/v1/bulk/blk_... -H "X-API-Key: YOUR_KEY"
# → { "data": { "status": "complete", "done": 4, "total": 4,
# "results": [ { "symbol": "AAPL", "compliance": "compliant",
# "score": 86.3, "purification_pct": 0.9 }, ... ] } }
Bulk results are compact summaries; call
/v1/screen/{ticker} for the full evidence payload of any
symbol. Symbols that fail to screen carry an error field
instead of sinking the job.
Connect your AI agent (MCP)
Daleel ships a Model Context Protocol server, so Claude, ChatGPT, and any MCP-capable agent can screen stocks directly. Streamable HTTP transport, stateless, JSON responses:
http://daleel.o11r.com/mcp
Claude Desktop / Claude Code config:
{
"mcpServers": {
"daleel": {
"type": "http",
"url": "http://daleel.o11r.com/mcp",
"headers": { "X-API-Key": "YOUR_KEY" }
}
}
}
Two tools are exposed:
screen_ticker(ticker)— full screening payload with verdict, score, five-methodology matrix, purification percentage, and SEC filing citations.screening_methodology()— the data sources, thresholds, and fail-safe rules, so your agent can explain a verdict.
The X-API-Key header is optional — without it your agent
runs on the demo tier (10 requests/minute per IP). Tier limits are the
same as the REST API.
Screening history
Dated snapshots of past screenings (foundation for compliance-drift alerts). Any key tier:
curl http://daleel.o11r.com/v1/history/MSFT -H "X-API-Key: YOUR_KEY"
ETFs are screened by holdings look-through — the response includes an
etf_look_through block with per-holding verdicts and the
coverage percentage. See the methodology page.
Tiers & limits
- demo — no key, 10 req/min per IP, single-ticker only
- free — 30 req/min, batch enabled
- partner — 300 req/min, batch enabled, support
Free keys are self-serve above; partner keys are issued on subscription.
Honest limitations
We publish these because auditability cuts both ways:
- US-listed companies only (SEC EDGAR coverage) — international markets are on the roadmap.
- DJIM and S&P specify trailing-average market-cap denominators; we
currently use point-in-time market cap and say so in every response's
approximationsfield. - Interest income is the haram-revenue proxy; segment-level revenue analysis (e.g. a hotel group's bar sales) is in development.
- Missing data is never treated as compliant — companies
without sufficient filed financials return
not_screenable.
Errors
400— malformed ticker401— invalid API key404— ticker not found in SEC EDGAR429— rate limit exceeded for your tier
Full machine-readable schema: OpenAPI reference.