screening

Screen Bulk

Trigger a new bulk Shariah screening run.

Starts asynchronous screening of all tickers in the specified index (e.g. "SP500", "DJIA"). Returns immediately with a run ID that can be used to poll status, fetch results, or cancel the run.

curl example:

curl -X POST "https://api.halalterminal.com/api/screen-bulk" \
     -H "X-API-Key: <API_KEY>" \
     -H "Content-Type: application/json" \
     -d '{"index_name": "SP500", "limit": 50, "force_refresh": false}'

Python requests example:

import requests

resp = requests.post(
    "https://api.halalterminal.com/api/screen-bulk",
    headers={"X-API-Key": "<API_KEY>"},
    json={"index_name": "SP500", "limit": 50, "force_refresh": False},
)
print(resp.json())
post/api/screen-bulk

Request

  • Base URL: https://api.halalterminal.com
  • URL: https://api.halalterminal.com/api/screen-bulk
  • Auth: API key in header X-API-Key

Request body

index_namestring required

Name of the stock index to screen, e.g. 'SP500', 'DJIA'

limitinteger nullable

Maximum number of tickers to screen (None = all)

force_refreshboolean

Re-screen symbols even if cached results exist

Example request

{
  "force_refresh": false,
  "index_name": "SP500",
  "limit": 50
}

Response

Bulk screening run accepted and queued

run_idstring required
index_namestring required

Name of the index being screened, e.g. 'SP500'

totalinteger required

Total number of tickers queued for screening

tickersstring[] required

List of ticker symbols included in this run

statusstring
created_atstring nullable
messagestring nullable
countinteger nullable
queue_job_idstring nullable

Example response

{
  "count": 503,
  "created_at": "2025-01-15T08:00:00Z",
  "index_name": "SP500",
  "message": "Bulk screening triggered for SP500",
  "run_id": "run_2025-01-15_sp500",
  "status": "triggered",
  "tickers": [
    "AAPL",
    "MSFT",
    "GOOGL",
    "AMZN",
    "..."
  ],
  "total": 503
}

Changes

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