---
title: "Get Facts"
method: GET
path: "/api/filings/{symbol}/facts"
tags: ["filings"]
---

# Get Facts

`GET /api/filings/{symbol}/facts`

## Request

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

Retrieve XBRL company facts for a ticker symbol.

Returns structured financial data extracted from the company's SEC filings
via the EDGAR XBRL API. Facts are organized by taxonomy (e.g. us-gaap)
and concept (e.g. Revenue, Assets). This data is used internally for
financial-ratio-based Shariah compliance screening.

**curl example:**
```bash
curl -X GET "http://localhost:8000/api/filings/MSFT/facts"
```

**Python requests example:**
```python
import requests

resp = requests.get("http://localhost:8000/api/filings/MSFT/facts")
facts = resp.json()["facts"]
# Access US-GAAP revenue data
revenue = facts.get("us-gaap", {}).get("Revenue", {})
print(revenue)
```

## Path parameters

- `symbol` string, required: Ticker symbol, e.g. AAPL.

## Response `200`

XBRL company facts from SEC EDGAR

- CompanyFactsResponse: XBRL company facts from SEC EDGAR.
  - `symbol` string, required: Ticker symbol of the company
  - `cik` string, required: SEC Central Index Key (CIK) number for the company
  - `company_name` string, nullable: Official company name as registered with the SEC
  - `facts` object, required: XBRL facts organized by taxonomy (e.g. 'us-gaap', 'dei') and concept
  - `fundamentals` CompanyFundamentals: Canonical Shariah-screening fundamentals normalized from XBRL facts. Each metric is null when the issuer tags no usable us-gaap concept for it. `total_debt` includes finance and operating lease liabilities.
    - `total_debt` NormalizedFactModel: A canonical metric value with its XBRL provenance.
      - `value` number, required: The normalized numeric value (USD).
      - `concept` string, required: us-gaap concept(s) the value derived from; '+'-joined when summed.
      - `period_end` string, required: ISO date of the reported period end.
      - `form` string, required: Filing form type, e.g. '10-K' or '10-Q'.
      - `accession` string, required: SEC accession number of the source filing.
      - `filed` string, required: ISO date the source filing was filed.
    - `cash_and_investments` NormalizedFactModel: A canonical metric value with its XBRL provenance.
      - `value` number, required: The normalized numeric value (USD).
      - `concept` string, required: us-gaap concept(s) the value derived from; '+'-joined when summed.
      - `period_end` string, required: ISO date of the reported period end.
      - `form` string, required: Filing form type, e.g. '10-K' or '10-Q'.
      - `accession` string, required: SEC accession number of the source filing.
      - `filed` string, required: ISO date the source filing was filed.
    - `total_assets` NormalizedFactModel: A canonical metric value with its XBRL provenance.
      - `value` number, required: The normalized numeric value (USD).
      - `concept` string, required: us-gaap concept(s) the value derived from; '+'-joined when summed.
      - `period_end` string, required: ISO date of the reported period end.
      - `form` string, required: Filing form type, e.g. '10-K' or '10-Q'.
      - `accession` string, required: SEC accession number of the source filing.
      - `filed` string, required: ISO date the source filing was filed.
    - `total_revenue` NormalizedFactModel: A canonical metric value with its XBRL provenance.
      - `value` number, required: The normalized numeric value (USD).
      - `concept` string, required: us-gaap concept(s) the value derived from; '+'-joined when summed.
      - `period_end` string, required: ISO date of the reported period end.
      - `form` string, required: Filing form type, e.g. '10-K' or '10-Q'.
      - `accession` string, required: SEC accession number of the source filing.
      - `filed` string, required: ISO date the source filing was filed.
    - `net_income` NormalizedFactModel: A canonical metric value with its XBRL provenance.
      - `value` number, required: The normalized numeric value (USD).
      - `concept` string, required: us-gaap concept(s) the value derived from; '+'-joined when summed.
      - `period_end` string, required: ISO date of the reported period end.
      - `form` string, required: Filing form type, e.g. '10-K' or '10-Q'.
      - `accession` string, required: SEC accession number of the source filing.
      - `filed` string, required: ISO date the source filing was filed.
    - `stockholders_equity` NormalizedFactModel: A canonical metric value with its XBRL provenance.
      - `value` number, required: The normalized numeric value (USD).
      - `concept` string, required: us-gaap concept(s) the value derived from; '+'-joined when summed.
      - `period_end` string, required: ISO date of the reported period end.
      - `form` string, required: Filing form type, e.g. '10-K' or '10-Q'.
      - `accession` string, required: SEC accession number of the source filing.
      - `filed` string, required: ISO date the source filing was filed.
    - `accounts_receivable` NormalizedFactModel: A canonical metric value with its XBRL provenance.
      - `value` number, required: The normalized numeric value (USD).
      - `concept` string, required: us-gaap concept(s) the value derived from; '+'-joined when summed.
      - `period_end` string, required: ISO date of the reported period end.
      - `form` string, required: Filing form type, e.g. '10-K' or '10-Q'.
      - `accession` string, required: SEC accession number of the source filing.
      - `filed` string, required: ISO date the source filing was filed.
    - `interest_income` NormalizedFactModel: A canonical metric value with its XBRL provenance.
      - `value` number, required: The normalized numeric value (USD).
      - `concept` string, required: us-gaap concept(s) the value derived from; '+'-joined when summed.
      - `period_end` string, required: ISO date of the reported period end.
      - `form` string, required: Filing form type, e.g. '10-K' or '10-Q'.
      - `accession` string, required: SEC accession number of the source filing.
      - `filed` string, required: ISO date the source filing was filed.

## Other responses

- `401`: Authentication required
- `404`: Company or filing not found
- `422`: Validation Error
- `429`: Rate limit exceeded — SEC EDGAR enforces strict rate limits

---

[API](https://skmtc.dev/halalterminal/apis/halal-terminal-api.md) · [All operations](https://skmtc.dev/halalterminal/apis/halal-terminal-api/llms.txt) · [OpenAPI document](https://skmtc.dev/halalterminal/apis/halal-terminal-api/revisions/78768b250943?raw)
