APIHub
Back to Explore

Halal Terminal

The Halal Terminal API delivers Islamic‑finance data through REST endpoints, offering Sharia‑compliant stock and ETF screening, market quotes, portfolio compliance checks, zakat and dividend‑purification calculations, as well as news, SEC filings, and related market information.

Finance
apiKeyHeader
HTTPS
CORS: Yes
Description enriched
Visit official documentation

Latency

871ms p95

Uptime

100.0% 30d

Playground

Verified

live

Endpoints

REST · JSON
POST

/api/screen/{symbol}

Screen Symbol

  • symbol (path, required) — Ticker symbol, e.g. AAPL.
  • force_refresh (query) — Bypass the 7-day result cache and recompute a fresh verdict.
GET

/api/education/screening-criteria

Get Screening Criteria

GET

/api/education/purification

Get Purification Guide

GET

/api/health

Health Check

GET

/api/screen-bulk/indices

List Indices

GET

/api/screen-bulk/source-health

Source Health

  • force (query) — Force recomputation instead of returning the cached health snapshot.
GET

/api/screen-bulk/status

Bulk Status

  • run_id (query) — Specific run ID to check; defaults to the active or most recent run.
GET

/api/screen-bulk/runs

List Runs

  • index_name (query) — Filter runs by index name, e.g. SP500.
  • status (query) — Filter runs by status, e.g. completed or running.
  • page (query, page) — Page number, 1-indexed.
  • page_size (query, limit) — Number of runs per page.
GET

/api/screen-bulk/compare

Compare Runs

  • run_a (query, required) — Run ID of the first (baseline) screening run.
  • run_b (query, required) — Run ID of the second (comparison) screening run.
POST

/api/screen-bulk

Screen Bulk

POST

/api/screen-bulk/{run_id}/cancel

Cancel Run

  • run_id (path, required) — Bulk-run ID returned by POST /api/screen-bulk.
GET

/api/screen-bulk/{run_id}/results

Get Run Results

  • run_id (path, required) — Bulk-run ID returned by POST /api/screen-bulk.
  • compliant (query) — Filter by compliance status.
  • methodology (query) — Filter by methodology, e.g. aaoifi or djim.
  • sector (query) — Filter by sector.
  • has_error (query) — Filter to results that errored during screening.
  • sort_by (query) — Field to sort results by.
  • sort_order (query) — Sort direction, asc or desc.
  • page (query, page) — Page number, 1-indexed.
  • page_size (query, limit) — Number of results per page.
GET

/api/screen-bulk/{run_id}/summary

Get Run Summary

  • run_id (path, required) — Bulk-run ID returned by POST /api/screen-bulk.
GET

/api/screen-bulk/{run_id}/export/csv

Export Csv

  • run_id (path, required) — Bulk-run ID returned by POST /api/screen-bulk.
GET

/api/screen-bulk/{run_id}/export/json

Export Json

  • run_id (path, required) — Bulk-run ID returned by POST /api/screen-bulk.
DELETE

/api/screen-bulk/{run_id}

Delete Run

  • run_id (path, required) — Bulk-run ID returned by POST /api/screen-bulk.
GET

/api/results/updates

Get Results Updates

  • since (query, required) — ISO-8601 timestamp; only results modified after this instant are returned.
  • run_id (query) — Accepted for forward compatibility; not currently used to filter results.
GET

/api/results

Get Results

GET

/api/result/{symbol}

Get Result

  • symbol (path, required) — Ticker symbol, e.g. AAPL.
GET

/api/screen/{symbol}

Screen Symbol

  • symbol (path, required) — Ticker symbol, e.g. AAPL.
  • force_refresh (query) — Bypass the 7-day result cache and recompute a fresh verdict.
GET

/api/sukuk/search

Search Sukuk

  • issuer (query) — Filter by issuer LEI.
  • country (query) — Filter by issuer country (ISO code or name).
  • structure (query) — Filter by sukuk structure (e.g. ijara, murabaha, wakala).
  • documentation_basis (query) — Filter by documentation basis (e.g. AAOIFI Standard 62).
  • currency (query) — Filter by issue currency (ISO 4217, e.g. USD).
  • maturity_from (query) — Earliest maturity date, inclusive (YYYY-MM-DD).
  • maturity_to (query) — Latest maturity date, inclusive (YYYY-MM-DD).
  • limit (query, limit) — Maximum number of instruments to return (1-500).
  • offset (query, offset) — Number of matches to skip, for pagination.
GET

/api/sukuk/issuer/{lei}

Get issuer sukuk

  • lei (path, required) — Issuer Legal Entity Identifier (LEI).
POST

/api/sukuk/portfolio-impact

Sukuk portfolio impact

GET

/api/sukuk/{isin}

Get sukuk by ISIN

  • isin (path, required) — ISIN of the sukuk instrument.
GET

/api/suggest

Suggest Symbol

  • q (query) — Symbol prefix to search for, e.g. AAP.
GET

/api/database/search

Search Database

  • q (query) — Free-text search query.
  • asset_type (query) — Asset category to search, e.g. equities, etfs, funds.
  • sector (query) — Filter by sector name.
  • country (query) — Filter by country of listing.
  • exchange (query) — Filter by exchange code.
  • limit (query, limit) — Max results to return.
  • offset (query, offset) — Number of results to skip, for pagination.
GET

/api/database/stock/{symbol}

Get Stock From Database

  • symbol (path, required) — Ticker symbol, e.g. AAPL.
GET

/api/database/stats

Get Database Stats

POST

/api/symbols/canonical

Canonical Symbols

GET

/api/fx

Fx Rates

  • base (query) — Currency to convert into
  • symbols (query) — Comma-separated currency codes
GET

/api/ohlc/{symbol}

Get Ohlc

  • symbol (path, required) — Ticker symbol, e.g. AAPL.
  • period (query) — Lookback period, e.g. 1d, 5d, 1mo, 1y, 5y, max.
  • interval (query) — Candle interval, e.g. 1m, 5m, 1d, 1wk.
GET

/api/quote/{symbol}

Get Quote

  • symbol (path, required) — Ticker symbol, e.g. AAPL.
POST

/api/quotes/batch

Get Quotes Batch

GET

/api/asset/{symbol}/full

Get Asset Full

  • symbol (path, required) — Ticker symbol, e.g. AAPL.
GET

/api/trending

Get Trending

POST

/api/portfolio/scan

Portfolio Scan

GET

/api/watchlists

List Watchlists

POST

/api/watchlists

Create Watchlist

GET

/api/watchlists/{watchlist_id}

Get Watchlist

  • watchlist_id (path, required) — Watchlist ID.
DELETE

/api/watchlists/{watchlist_id}

Delete Watchlist

  • watchlist_id (path, required) — Watchlist ID.
POST

/api/watchlists/{watchlist_id}/symbols

Add Symbol To Watchlist

  • watchlist_id (path, required) — Watchlist ID.
DELETE

/api/watchlists/{watchlist_id}/symbols/{symbol}

Remove Symbol From Watchlist

  • watchlist_id (path, required) — Watchlist ID.
  • symbol (path, required) — Ticker symbol to remove from the watchlist.
POST

/api/compare

Compare Symbols

GET

/api/education/glossary

Get Glossary

  • q (query) — Free-text search term to filter glossary entries.
GET

/api/education/methodologies

Get Methodologies

GET

/api/education/methodologies/{name}

Get Methodology

  • name (path, required) — Methodology name or ID (e.g. aaoifi, sec, djim).
GET

/api/news

Get News

  • source (query) — Filter by news source name.
  • category (query) — Filter by article category.
  • q (query) — Free-text search query.
  • page (query, page) — Page number, 1-indexed.
  • page_size (query, limit) — Number of articles per page.
GET

/api/news/sources

Get Sources

GET

/api/news/{symbol}

Get News For Symbol

  • symbol (path, required) — Ticker symbol, e.g. AAPL.
  • limit (query, limit) — Max articles to return.
  • compliance_relevance (query) — Filter to only articles at or above this compliance-event relevance bar. 'high' surfaces debt issuances, M&A, dividend policy changes, distress events — the corporate actions that actually move a Shariah verdict. Omit to get all articles.
GET

/api/filings/{symbol}

Get Filings

  • symbol (path, required) — Ticker symbol, e.g. AAPL.
  • filing_type (query) — Filter by filing type, e.g. 10-K, 10-Q, 8-K.
  • limit (query, limit) — Max filings to return.
GET

/api/filings/{symbol}/facts

Get Facts

  • symbol (path, required) — Ticker symbol, e.g. AAPL.
GET

/api/filings/{symbol}/provenance

Get Provenance

  • symbol (path, required) — Ticker symbol, e.g. AAPL.
  • limit (query, limit) — Max filings to return provenance for.
GET

/api/filings/{symbol}/events

Get Events

  • symbol (path, required) — Ticker symbol, e.g. AAPL.
  • compliance_relevant (query) — Return only events with at least one item that can move a Shariah-compliance verdict.
  • limit (query, limit) — Max events to return.
GET

/api/dividends/{symbol}

Get Dividend History

  • symbol (path, required) — Ticker symbol, e.g. AAPL.
GET

/api/dividends/{symbol}/purification

Get Dividend Purification

  • symbol (path, required) — Ticker symbol, e.g. AAPL.
GET

/api/dividends/{symbol}/purification-rate

Get Purification Rate As Of

  • symbol (path, required) — Ticker symbol, e.g. IBM.
  • as_of (query, required) — Date, YYYY-MM-DD.
POST

/api/zakat/calculate

Calculate Zakat

POST

/api/purification/calculate

Calculate Purification

GET

/api/reports/screening/{symbol}

Get Screening Report

  • symbol (path, required) — Ticker symbol to generate the screening report for.
POST

/api/reports/portfolio

Get Portfolio Report

GET

/api/reports/export/csv

Export Csv

GET

/api/etf/{symbol}/holdings

Get Etf Holdings

  • symbol (path, required) — ETF ticker symbol.
GET

/api/etf/{symbol}/info

Get Etf Info

  • symbol (path, required) — ETF ticker symbol.
POST

/api/etf/{symbol}/screen

Screen Etf

  • symbol (path, required) — ETF ticker symbol.
  • force_refresh (query) — Bypass cached results when true. Only enterprise and internal plans honor this; other plans treat it as false.
GET

/api/etf/{symbol}/screening

Get Etf Screening

  • symbol (path, required) — ETF ticker symbol.
POST

/api/etf/{symbol}/purification

Calculate Etf Purification

  • symbol (path, required) — ETF ticker symbol.
POST

/api/etf/compare

Compare Etfs

POST

/api/etf/screen-bulk

Screen Bulk

GET

/api/etf/directory

Rated-ETF directory

  • q (query) — Free-text search over ticker and fund name.
  • family (query) — Filter by issuer family (e.g. iShares, Invesco).
  • labelled (query) — Self-description filter: "shariah", "conventional", or "" for all.
  • status (query) — Verdict filter: "compliant", "non_compliant", "insufficient_data", or "" for all.
  • limit (query, limit) — Maximum funds to return.
  • offset (query, offset) — Number of matches to skip, for pagination.
POST

/api/keys/generate

Generate Key

POST

/api/keys/revoke

Revoke Key

GET

/api/keys/token-costs

Get Token Costs

GET

/api/keys/{api_key}/usage

Get Usage

  • api_key (path, required) — API key whose usage to read.
GET

/api/keys/{api_key}/usage/daily

Get Daily Usage

  • api_key (path, required) — API key whose usage to read.
  • days (query) — Trailing days to include.
GET

/api/keys/{api_key}/usage/recent

Get Recent Requests

  • api_key (path, required) — API key whose usage to read.
  • limit (query, limit) — Maximum number of recent requests to return.
POST

/api/keys/{api_key}/regenerate

Regenerate Key

  • api_key (path, required) — API key to deactivate and replace.
GET

/api/keys/plans

List Plans

GET

/api/auth/me

Me

GET

/api/auth/me/usage/daily

Me Usage Daily

  • days (query) — Trailing days to include.
GET

/api/auth/me/usage/recent

Me Usage Recent

  • limit (query, limit) — Maximum number of recent requests to return.
POST

/api/auth/me/regenerate

Me Regenerate

POST

/api/billing/checkout

Create Checkout

POST

/api/billing/portal

Create Portal Session

GET

/api/insights/{symbol}/alternatives

Halal alternatives for a non-compliant ticker

  • symbol (path, required) — Ticker symbol, e.g. AAPL.
  • limit (query, limit) — Max alternatives to return.
GET

/api/insights/{symbol}/staleness

Detect screening staleness from recent SEC filings

  • symbol (path, required) — Ticker symbol, e.g. AAPL.
GET

/api/insights/{symbol}/trajectory

Compliance ratio trajectory from XBRL facts

  • symbol (path, required) — Ticker symbol, e.g. AAPL.
  • quarters (query) — Number of trailing quarters to return.
GET

/api/insights/{symbol}/cashflow

Annual cash flow and capital allocation from XBRL facts

  • symbol (path, required) — Ticker symbol, e.g. AAPL.
  • years (query) — Number of recent fiscal years to return.
GET

/api/insights/{symbol}/peer-percentiles

Where a symbol ranks within its sector

  • symbol (path, required) — Ticker symbol, e.g. AAPL.
GET

/api/disclaimers

Canonical disclaimer registry

GET

/api/disclaimers/{disclaimer_id}

Lookup a single disclaimer by ID

  • disclaimer_id (path, required) — Stable disclaimer ID from the registry.
POST

/api/terminal/agent

Terminal AI research agent

91 endpoints auto-detected

Authentication

This API uses an API key, passed in the "X-API-Key" header. No OAuth required.

curl -X POST \
  "https://api.halalterminal.com/docs/api/screen/{symbol}" \
  -H "X-API-Key: YOUR_API_KEY"

api.halalterminal.com · HTTPS only