Akinda API Reference

API Documentation

Integrate Akinda's proprietary Shariah compliance data into your application. All endpoints are REST over HTTPS, return JSON, and are authenticated with a single API key.

Authentication

Universal Endpoint URL

https://b2b-api.akinda.io/api/v1/{api_endpoint}/{ticker}?apikey={api_key}

Substitute {api_endpoint} with one of compliance, basic-report, or full-report; {ticker} with an uppercase stock symbol (e.g. AAPL); and {api_key} with your Akinda API key from the API Keys dashboard.

Query param: ?apikey=YOUR_KEY  |   Header: X-API-Key: YOUR_KEY

Rate Limits & Bandwidth

TierRateBandwidthEndpoints
Basic Free200 / day1 GB / mo/compliance
Personal Standard 300 / min30 GB / mo/compliance/basic-report
Personal Ultimate 2,000 / min150 GB / mo/compliance/basic-report/full-report
Business Standard 1,000 / min300 GB / mo/compliance/basic-report
Business Ultimate 3,000 / min200 GB / mo/compliance/basic-report/full-report
Business Enterprise UnlimitedUnlimitedAll endpoints

License and Usage

Personal Use License

For individual developers, students, and personal research projects. Bundled with every Personal-tier plan (Basic, Standard, Ultimate).

  • Use in non-commercial apps, dashboards, and scripts.
  • No attribution required.
  • You may not redistribute the raw response data as a competing dataset.

Commercial Use License

For companies embedding Akinda data inside a product, paid SaaS, or B2B integration. Bundled with every Business-tier plan (Standard, Ultimate, Enterprise).

  • Required for any monetised app, paid feature, or partner integration.
  • Enterprise customers can negotiate custom SLA, dedicated support, and multi-country market access.
  • Contact contact@akinda.io for redistribution rights.

Use Cases

Shariah-compliant stock screener

Filter the broad market by halal_status so only compliant tickers surface in your screener or watchlist.

Halal / haram badges in a finance app

Hit /compliance on every quote render to attach a real-time status badge next to each ticker.

Purification calculations

Use non_compliant_revenue_perc and the dollar counterparts to compute the exact purification amount for portfolio holdings.

Institutional compliance audits

Pull full reports across a portfolio nightly; flag any ticker whose ratios cross the AAOIFI thresholds.

Multi-country tickers

The Akinda API audits three markets today — United States, United Kingdom, and Canada. Country is auto-detected from the ticker, so you never pass a country parameter on the per-ticker path. The response carries the matching listing_country (ISO-2) and reporting_currency (ISO-4217) fields so downstream code can format dollar amounts in the company's native currency. No FX conversion ever happens — every numeric field is denominated in reporting_currency.

CountryTicker formatExchangelisting_countryreporting_currency
🇺🇸 United StatesAAPL (no suffix)NYSE, NASDAQ"US""USD"
🇬🇧 United KingdomAZN.L (.L suffix)LSE"GB""GBP"
🇨🇦 CanadaRY.TO (.TO suffix)TSX"CA""CAD"

Coverage launched with the 2026-06-15 Coverage Expansion release (LSE-UK ~355 names + TSX-Canada ~72 names). Live uptime and per-endpoint coverage stats are on /developer/docs/status — those numbers come straight from the backend and update in real time, never from a static cache. Additional markets are tracked on the Roadmap.

MCP Server

Connect Claude to Akinda's Shariah screening and ask in plain language — check compliance, pull reports, screen a portfolio, or calculate purification without leaving the chat. Each tool call is a metered API request on your plan.

Who can connect

The MCP Server is available on paid plans only. A free plan can sign in, but its tool calls return an upgrade message until you move to a paid plan.

Plans that can connect

  • Personal Standard
  • Personal Ultimate
  • Business Standard
  • Business Ultimate
  • Business Enterprise (and legacy Enterprise)

Basic (Free) — blocked

MCP access requires a paid Akinda plan. Upgrade at b2b.akinda.io/pricing to connect your AI tools.

403 mcp_not_enabled_on_plan

The five tools

Each tool call counts as one metered API request and is gated by the same tier rules as the matching REST endpoint. Verdicts are HALAL, NOT HALAL, DOUBTFUL, or a no-verdict “no data” state (ERROR_DATA / INCOMPLETE_DATA — not a haram signal). Markets: US, UK (.L) and Canada (.TO), reported in each company's native currency with no FX conversion.

ToolWhat it returnsMinimum plan
akinda_check_complianceShariah verdict for a single tickerAny paid plan
akinda_basic_reportVerdict + the three core AAOIFI ratiosPersonal Standard +
akinda_full_reportFull report incl. AI-extracted figures + $ valuesPersonal Ultimate +
akinda_screen_portfolioVerdict for a list of tickersAny paid plan
akinda_calculate_purificationDividend purification amountPersonal Standard +

Connector URL

https://b2b-api.akinda.io/mcp

Add this as a custom MCP connector in Claude, then sign in with Google — no separate credential to create.

Connect to Claude

Sign in with Google — no key to manage. The screenshots below are the Claude desktop app; claude.ai (web) is the same. Sign in with the email your subscription is under (a free plan can sign in, but tool calls return an upgrade message until you're on a paid plan).

  1. 1

    Open your profile in Claude

    In the Claude desktop app, click your profile at the bottom-left of the sidebar.

    Claude desktop home screen with the profile at the bottom-left highlighted
Show the full step-by-step — 9 more steps, with screenshots
  1. 2

    Open Settings

    Click Settings — or just press Ctrl + ,.

    Claude profile menu open with Settings highlighted
  2. 3

    Go to Connectors

    In the Settings window, scroll the left menu down to Connectors and open it.

    Claude Settings with Connectors highlighted in the left menu
  3. 4

    Click Add

    At the top-right of the Connectors panel, click the Add dropdown.

    Claude Connectors panel with the Add button highlighted
  4. 5

    Choose Add custom connector

    In the dropdown, click Add custom connector.

    Add dropdown open with Add custom connector highlighted
  5. 6

    The dialog opens

    You'll see two fields — a Name and a Remote MCP server URL. Leave Advanced settings empty — Claude registers itself automatically.

    Add custom connector dialog with Name and Remote MCP server URL fields
  6. 7

    Enter the name and the URL

    Give it a name — e.g. Akinda MCP — and paste this into Remote MCP server URL: https://b2b-api.akinda.io/mcp

    Add custom connector dialog filled with Akinda MCP and the server URL
  7. 8

    Click Add

    Click Add to save the connector.

    Add custom connector dialog with the Add button highlighted
  8. 9

    Connect and sign in with Google

    Find Akinda MCP in your connectors and click Connect. A browser tab opens — choose the Google account on your Akinda subscription (the paid account you already use), approve, and it returns to Claude. Akinda never sees your Google password.

  9. 10

    Done — the tools are ready

    Claude now shows Akinda connected with its five read-only tools. Ask something like “Is AAPL halal?” and Claude will use them.

    Claude showing the Akinda MCP connector connected with five read-only tools

Disclaimer

Informational screening based on reported financial data. Not a fatwa; does not replace a qualified scholar. Values are in the stock's native currency — never FX-converted.

1. Shariah Compliance Status — /COMPLIANCE

Available to all tiers. The fastest halal / non-halal verdict — send a ticker, get a single AAOIFI-aligned status string back. Use it in search bars, watchlists, and live-feed filters where you just need a yes-or-no answer.

Endpoint

https://b2b-api.akinda.io/api/v1/compliance/AAPL?apikey=YOUR_API_KEY
ParameterTypeDescription
ticker *stringUppercase ticker symbol (path param). Example: AAPL.
apikey *stringYour Akinda API key (query param or X-API-Key header).
FieldTypeDescription
tickerstringUppercase ticker symbol echoed back from the request
company_namestringFull legal company name
halal_statusstringOne of HALAL, DOUBTFUL, or HARAM
Response — /compliance
1
2
3
4
5
6
7
{
  "ticker": "AAPL",
  "company_name": "Apple Inc.",
  "listing_country": "US",
  "reporting_currency": "USD",
  "halal_status": "HALAL"
}

2. Basic Shariah Compliance Report — /BASIC-REPORT

Requires Personal Standard tier or above. Returns the three core AAOIFI ratios on top of the compliance status — everything you need to display a transparent screening breakdown.

Endpoint

https://b2b-api.akinda.io/api/v1/basic-report/AAPL?apikey=YOUR_API_KEY
ParameterTypeDescription
ticker *stringUppercase ticker symbol (path param). Example: AAPL.
apikey *stringYour Akinda API key (query param or X-API-Key header).
FieldTypeDescription
tickerstringUppercase ticker symbol (UK suffixed with .L, Canada with .TO)
company_namestringFull legal company name
halal_statusstringHALAL, DOUBTFUL, or HARAM
listing_countrystringISO-2 country code of the primary listing exchange — US (NYSE/NASDAQ), GB (LSE), CA (TSX). Auto-detected from the ticker, so callers never pass a country parameter on the per-ticker path.
reporting_currencystringISO-4217 currency the company reports in — USD, GBP, or CAD. Every dollar/percentage field on this payload is denominated in this currency; the API performs NO FX conversion.
debt_ratio_percfloatInterest-bearing debt as % of 12-quarter average market cap. CAN legitimately exceed 100% on leveraged or financials-adjacent names; consumers must accept ratio values > 100% and never clamp to [0, 100].
liquidity_ratio_percfloatCash & equivalents + short-term investments as % of 12-quarter average market cap. Can legitimately exceed 100% on cash-rich firms; do not clamp.
non_compliant_revenue_percfloatNon-compliant (impermissible) revenue as % of total revenue. Can legitimately exceed 100% on interest-heavy or pre-revenue companies (interest income > operating revenue).
Response — /basic-report
1
2
3
4
5
6
7
8
9
10
{
  "ticker": "AAPL",
  "company_name": "Apple Inc.",
  "listing_country": "US",
  "reporting_currency": "USD",
  "halal_status": "HALAL",
  "debt_ratio_perc": 3.07,
  "liquidity_ratio_perc": 1.70,
  "non_compliant_revenue_perc": 0
}

3. Full Shariah Compliance Report — /FULL-REPORT

Requires Personal Ultimate tier or above. Adds AI-extracted SEC filing analysis, USD dollar amounts for every ratio, doubtful / compliant revenue pairs, and per-source revenue breakdowns. This is the full payload behind every stock detail page on the Akinda dashboard.

Endpoint

https://b2b-api.akinda.io/api/v1/full-report/AAPL?apikey=YOUR_API_KEY
ParameterTypeDescription
ticker *stringUppercase ticker symbol (path param). Example: AAPL.
apikey *stringYour Akinda API key (query param or X-API-Key header).
FieldTypeDescription
tickerstringUppercase ticker symbol (UK suffixed with .L, Canada with .TO)
company_namestringFull legal company name
halal_statusstringHALAL, DOUBTFUL, or HARAM
halal_ratingintShariah compliance score 1–10 (AI-derived)
listing_countrystringISO-2 country code of the primary listing exchange — US (NYSE/NASDAQ), GB (LSE), CA (TSX). Auto-detected from the ticker.
reporting_currencystringISO-4217 currency the company reports in — USD, GBP, or CAD. Every dollar/percentage field on this payload is in this currency; the API performs NO FX conversion.
force_harambooleanBusiness-activity screen tripped — primary line of business sits in an outright-prohibited sector (conventional banking, insurance, gambling, alcohol, pork, tobacco, weapons, adult entertainment). When true, halal_status is HARAM regardless of financial ratios.
debt_ratio_percfloatInterest-bearing debt as % of 12-quarter average market cap. CAN legitimately exceed 100% on leveraged firms or financials — consumers must accept ratio > 100% and never clamp to [0, 100].
liquidity_ratio_percfloatCash & equivalents + short-term investments as % of 12-quarter average market cap. Can legitimately exceed 100% on cash-rich firms; do not clamp.
non_compliant_revenue_percfloatNon-compliant revenue as % of total revenue. Can legitimately exceed 100% on interest-heavy or pre-revenue companies.
interest_debtint64AI-extracted interest-bearing debt from SEC filings (USD)
prohibited_revenueint64AI-extracted prohibited revenue amount (USD)
operating_leaseint64AI-extracted operating lease obligations (USD)
last_scannedstringISO-8601 timestamp of the last AI scan (e.g. 2026-03-14T04:49:00Z)
debt_ratio_dollarfloat | nullTotal interest-bearing debt in USD. null until the daily-updater microservice has computed it for this ticker.
liquidity_ratio_dollarfloat | nullTotal liquid-asset position in USD. null until computed.
non_compliant_revenue_dollarfloat | nullNon-compliant revenue in USD. null until computed.
doubtful_revenue_percfloat | nullDoubtful-source revenue as % of market cap. null until computed.
doubtful_revenue_dollarfloat | nullDoubtful-source revenue in USD. null until computed.
compliant_revenue_percfloat | nullHalal (compliant) income as % of market cap. null until computed.
compliant_revenue_dollarfloat | nullHalal income in USD. null until computed.
halal_revenue_sourceSource[] | nullPer-source breakdown of halal revenue. null = breakdown not extracted yet; [] = breakdown ran and found none. Element shape below.
non_compliant_revenue_sourceSource[] | nullPer-source breakdown of non-compliant revenue. Same null / [] semantics as above.
doubtful_revenue_sourceSource[] | nullPer-source breakdown of doubtful revenue. Same null / [] semantics as above.

Field notes — interest_debt, prohibited_revenue, operating_lease

These three USD totals are extracted by an AI pipeline that reads SEC filings. In rare cases, a 0 value may indicate that the extraction missed the underlying number rather than the company genuinely having zero of that quantity.

When 0 is likely the real number

  • Small or pure-play companies with clear absence of these categories
  • Halal-classified consumer goods, technology services, or software firms
  • Tickers where halal_status = HALAL and other dollar fields are consistent (e.g., very low debt_ratio_dollar)

When 0 may be an extraction miss

  • Large-cap companies known to carry significant debt or operating leases
  • debt_ratio_dollar or liquidity_ratio_dollar are populated with large values but these three return 0
  • The ticker's halal_status is DOUBTFUL or NOT HALAL but all three legacy fields are 0

Reliable cross-references

FieldWhy
debt_ratio_dollar, liquidity_ratio_dollar, non_compliant_revenue_dollarEmit JSON null (not 0) when uncomputed — stricter null semantics
last_scannedConfirms when the ticker was last processed
halal_status + halal_ratingDraw on a broader input set than these three fields alone

For automated compliance workflows, treat the three legacy USD totals as advisory and prefer the newer *_dollar columns and halal_status for primary decisions. If your use case requires explicit “extraction confidence” signals on these fields, contact contact@akinda.io and we'll prioritize accordingly.

Source element shape

Each item inside halal_revenue_source, non_compliant_revenue_source, and doubtful_revenue_source follows the shape below. A field set to null means the daily updater hasn't computed the breakdown yet; an empty array [] means it ran and found none — semantically different.

FieldTypeDescription
namestringRevenue-source label extracted from SEC filings (e.g. "Services", "iPhone", "Apple Card interest")
percentfloatSource amount as % of market cap, rounded to 2 decimals
amount_usdfloatOriginal dollar amount in USD (as reported by stock-analyzer)

Ranking Score Business Ultimate & Enterprise

These eight fields are included only for clients on the Business Ultimate and Business Enterprise tiers. Other tiers receive the response without them. A null on any pillar means the upstream calculation failed for that ticker — it does not mean a score of 0. A value of 0.00 is a real "Poor" rating.

FieldTypeDescription
ranking_scorefloat | nullOverall Akinda ranking — average of non-null pillars (0.00–10.00)
profitability_scorefloat | nullProfitability pillar (0.00–10.00). null = calculation failed
liquidity_scorefloat | nullLiquidity pillar (0.00–10.00). null = calculation failed
financial_strength_scorefloat | nullFinancial strength pillar (0.00–10.00). null = calculation failed
value_scorefloat | nullValue pillar (0.00–10.00). null = calculation failed
growth_scorefloat | nullGrowth pillar (0.00–10.00). null = calculation failed
momentum_scorefloat | nullMomentum pillar (0.00–10.00). null = calculation failed
dividend_scorefloat | nullDividend pillar (0.00–10.00). Contributes to overall only when > 0
Response — /full-report
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
{
  "ticker": "AAPL",
  "company_name": "Apple Inc.",
  "listing_country": "US",
  "reporting_currency": "USD",
  "halal_status": "HALAL",
  "halal_rating": 7,
  "force_haram": false,
  "debt_ratio_perc": 12.34,
  "liquidity_ratio_perc": 7.89,
  "non_compliant_revenue_perc": 1.74,
  "interest_debt": 110000000000,
  "prohibited_revenue": 5000000000,
  "operating_lease": 14000000000,
  "last_scanned": "2026-03-14T04:49:00Z",
  "debt_ratio_dollar": 110000000000,
  "liquidity_ratio_dollar": 65000000000,
  "non_compliant_revenue_dollar": 4920000000,
  "doubtful_revenue_perc": 1.15,
  "doubtful_revenue_dollar": 2600000000,
  "compliant_revenue_perc": 97.84,
  "compliant_revenue_dollar": 218000000000,
  "halal_revenue_source": [
    { "name": "Services", "percent": 85.25, "amount_usd": 189000000000 },
    { "name": "iPhone", "percent": 12.51, "amount_usd": 27000000000 }
  ],
  "non_compliant_revenue_source": [
    { "name": "Apple Card interest", "percent": 1.01, "amount_usd": 4920000000 }
  ],
  "doubtful_revenue_source": [
    { "name": "Apple Music streaming", "percent": 1.15, "amount_usd": 2600000000 }
  ],
  "ranking_score": 7.80,
  "profitability_score": 8.20,
  "liquidity_score": 7.40,
  "financial_strength_score": 8.50,
  "value_score": 5.90,
  "growth_score": 7.60,
  "momentum_score": 8.10,
  "dividend_score": 5.20
}

Error Codes

401 UnauthorizedInvalid or missing API key
403 ForbiddenSubscription tier too low for this endpoint
429 Too Many RequestsRate limit or bandwidth quota exceeded