screening

Get Result

Get the cached screening result for a single symbol.

Returns the most recent Shariah compliance screening result for the given ticker symbol. Costs 1 token per call (including misses). The platform re-screens cached results nightly, most-requested symbols first, against a 7-day freshness target: last_checked_at gives the screening date and is_stale is true once a result is older than 7 days. Returns 404 if the symbol has never been screened — POST /api/screen/{symbol} (5 tokens) computes a fresh verdict.

curl example:

curl -X GET "https://api.halalterminal.com/api/result/AAPL" \
     -H "X-API-Key: <API_KEY>"

Python requests example:

import requests

resp = requests.get(
    "https://api.halalterminal.com/api/result/AAPL",
    headers={"X-API-Key": "<API_KEY>"},
)
print(resp.json())
get/api/result/{symbol}

Request

  • Base URL: https://api.halalterminal.com
  • URL: https://api.halalterminal.com/api/result/{symbol}
  • Auth: API key in header X-API-Key

Path parameters

symbolstring required

Ticker symbol, e.g. AAPL.

Response

Shariah compliance screening result for the requested symbol

symbolstring required
namestring nullable

Issuer / fund display name.

asset_typestring nullable

Asset class label derived during screening: 'Equity', 'ETF', 'ClosedEndFund', 'REIT', etc. Drives downstream methodology dispatch.

is_staleboolean nullable

True when last_checked_at is older than the 7-day refresh policy (SCREENING_STALENESS_HOURS, default 168). The platform re-screens cached results nightly, most-requested symbols first.

is_compliantboolean nullable

Overall Shariah compliance verdict (True = compliant under at least one methodology)

shariah_compliance_status'compliant' | 'non_compliant' | 'insufficient_data' nullable

Canonical string mirror of is_compliant in lowercase vocabulary (matches the ETF response and MethodologyVerdict). Synthesized by the service normalizer if absent on cached rows.

business_screen_passboolean nullable

Whether the company's primary business activities are permissible

business_screen_reasonstring nullable

Human-readable explanation for the business screen verdict

financial_screen_passboolean nullable

Whether the company passes all financial ratio thresholds

errorstring nullable
error_messagestring nullable
sectorstring nullable
industrystring nullable
countrystring nullable
websitestring nullable
long_business_summarystring nullable
total_assetsnumber nullable
total_debtnumber nullable
cash_and_equivalentsnumber nullable
accounts_receivablenumber nullable
total_revenuenumber nullable
interest_incomenumber nullable
debt_to_assets_rationumber nullable

Total debt / total assets — must be below threshold (e.g. 33% for AAOIFI)

cash_to_assets_rationumber nullable

Cash and equivalents / total assets

accounts_receivable_to_assets_rationumber nullable

Accounts receivable / total assets

interest_income_to_revenue_rationumber nullable

Interest income / total revenue — measures impermissible income proportion

debt_to_market_cap_rationumber nullable

Total debt / market capitalization — the AAOIFI debt screen since June 2026, and an input to DJIM and S&P. Computed on the same capitalization the AAOIFI verdict was rendered against: spot market cap by default, or the trailing average when a trailing basis is in force for that screen.

cash_to_market_cap_rationumber nullable
receivables_to_market_cap_rationumber nullable
liquidity_to_market_cap_rationumber nullable
liquidity_to_assets_rationumber nullable
purification_ratenumber nullable

Percentage of dividend income to purify (donate) due to impermissible revenue

aaoifi_compliantboolean nullable

Pass/fail for AAOIFI (Shari'ah Standard 21). For ratio, basis and reason, see by_methodology.AAOIFI.

djim_compliantboolean nullable

Pass/fail for the Dow Jones Islamic Market methodology. Detail in by_methodology.DJIM.

ftse_compliantboolean nullable

Pass/fail for the FTSE Shariah methodology. Detail in by_methodology.FTSE.

msci_compliantboolean nullable

Pass/fail for the MSCI Islamic methodology. Detail in by_methodology.MSCI.

sp_compliantboolean nullable

Pass/fail for the S&P Shariah methodology. Detail in by_methodology.SP.

methodology_summaryobject nullable

Mapping of methodology name to compliance verdict: true = compliant, false = non-compliant, null = insufficient data (see data_quality.methodologies_insufficient).

by_methodologyobject nullable

Structured per-methodology block. Mirrors methodology_summary for the verdict but adds an verified audit flag and a reason string. Synthesized by the service normalizer if absent on cached rows.

questionable_businessobject nullable

ADVISORY (does not affect the verdict): {flag, reasons} when the issuer's video-game portfolio includes simulated-gambling content (social casino, slots, poker). Video gaming itself passes the business screen; this flag marks the scholars-differ cases the way analyst-based screeners label them 'questionable'.

ifi_exemptboolean nullable

True when the issuer is a certified Islamic financial institution (curated registry / regulated name markers): exempt from the conventional-finance exclusion and the accounting screens per the DJIM/MSCI/S&P IFI carve-outs. Null for ordinary issuers.

business_incomeobject nullable

ADVISORY (does not affect the verdict): per-segment revenue breakdown extracted from the issuer's latest 10-K, with each segment classified permissible / impermissible / questionable / unknown by a versioned rules map. Includes the combined impure ratio (interest + impermissible) and a separate with-questionable figure — the split where reputable screeners legitimately differ. Null when no segment analysis exists yet.

fx_normalizationobject nullable

Present when the issuer reports financials in a different currency than its listing (ADR-style): {rate, from, to} used to convert the market-cap-ratio numerators into the listing currency. Null when no mismatch existed or no rate could be resolved (in which case MC-basis methodologies abstain).

compliance_explanationstring nullable

Plain-English summary of the compliance verdict: which methodologies pass, which fail, and which ratio tripped the failures. Empty for ticker_unknown or rows where the financial screen could not run.

return_on_equitynumber nullable
net_profit_marginnumber nullable
revenue_growthnumber nullable
pe_rationumber nullable
pb_rationumber nullable
intrinsic_valuenumber nullable
dcf_upside_percentagenumber nullable

Upside/downside percentage based on DCF intrinsic value vs current price

momentum_trendstring nullable
rsi_statusstring nullable
current_rationumber nullable
market_capnumber nullable
betanumber nullable
dividend_yieldnumber nullable
dispositionstring nullable

ETF-only. Non-verdict scholar-derived label: 'scholar_certified', 'data_quality_flag', 'contested', 'unrated'. See v2 cert spec §11.

scholar_attestationsobject[] nullable

ETF-only. List of scholar-board attestations; empty list when none on file.

holdings_analysisobject nullable

ETF-only. Aggregate holdings-based compliance metrics (compliant_weight, etc.).

detail_urlstring nullable

ETF-only. Path to the richer first-class ETF endpoint (/api/etf/{symbol}/screen).

Example response

{
  "aaoifi_compliant": true,
  "accounts_receivable": 60932000000,
  "accounts_receivable_to_assets_ratio": 0.173,
  "business_screen_pass": true,
  "business_screen_reason": "Technology hardware and equipment — permissible primary activity",
  "cash_and_equivalents": 29965000000,
  "cash_to_assets_ratio": 0.085,
  "cash_to_market_cap_ratio": 0.009,
  "country": "US",
  "debt_to_assets_ratio": 0.315,
  "debt_to_market_cap_ratio": 0.032,
  "djim_compliant": true,
  "financial_screen_pass": true,
  "ftse_compliant": true,
  "industry": "Consumer Electronics",
  "interest_income": 3999000000,
  "interest_income_to_revenue_ratio": 0.01,
  "is_compliant": true,
  "last_checked_at": "2025-01-15T12:30:00Z",
  "methodology_summary": {
    "aaoifi": true,
    "djim": true,
    "ftse": true,
    "msci": true,
    "sp": true
  },
  "msci_compliant": true,
  "purification_rate": 0.012,
  "sector": "Technology",
  "sp_compliant": true,
  "symbol": "AAPL",
  "total_assets": 352583000000,
  "total_debt": 111088000000,
  "total_revenue": 394328000000
}

Changes

No recorded changes to this operation across all 1 revision of this API.