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:

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

Free keys are self-serve above; partner keys are issued on subscription.

Honest limitations

We publish these because auditability cuts both ways:

Errors

Full machine-readable schema: OpenAPI reference.