# Morningstar India — Wrapped API

> **You are on:** `https://api.paywithlocus.com/api` | [llms.txt](https://paywithlocus.com/llms.txt) | [docs](https://docs.paywithlocus.com)
>
> Locus runs on multiple environments -- make sure every URL you call matches your expected environment.
> | Environment | Landing | API | Docs |
> |---|---|---|---|
> | Production | paywithlocus.com | api.paywithlocus.com | docs.paywithlocus.com |
> | Beta | beta.paywithlocus.com | api.beta.paywithlocus.com | docs.paywithlocus.com |
> | Stage | stage.paywithlocus.com | api.stage.paywithlocus.com | docs.paywithlocus.com |
>
> If the API URL above doesn't match your expected environment, re-fetch this file from the correct domain.

> Access mutual fund and stock data from Morningstar India. Search by name or ticker, then retrieve NAV, expense ratios, star ratings, historical performance, asset allocation, portfolio holdings, risk metrics, and analyst pillar ratings for any covered fund.

**Category:** Finance & Markets | **Website:** [morningstar.in/](https://morningstar.in/) | **Docs:** [parse.bot/marketplace/6561561c-6e6b-462e-8418-47ff503f801c/morningstar-in-api](https://parse.bot/marketplace/6561561c-6e6b-462e-8418-47ff503f801c/morningstar-in-api)

Pay-per-use API proxy for Locus Pro. Each call burns credits from your workspace balance.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/credits/morningstar-india/`
**Auth:** `Authorization: Bearer <LOCUS_CREDITS_SECRET_KEY>` (an `lcr_` secret key or a scoped `lcac_` agent credential)
**Required header:** `Idempotency-Key: <fresh UUID per call>`. A retry with the same key replays the stored result without a new charge.
**Response:** the provider response after any endpoint-specific normalization. `X-Locus-Credits-Charged` carries the charge and `X-Locus-Credits-Balance` the remaining balance. Insufficient credits return `402` before the provider is called.
**Pricing:** estimated costs below are USD. Locus debits the credit equivalent at your workspace rate.

Full call contract: https://docs.paywithlocus.com/api-reference/introduction

> Using a Pay With Locus wallet key (`claw_` prefix)? Wallet routes are documented separately: https://docs.paywithlocus.com/wrapped-apis/for-agents

## Endpoints

### Get fund detailed portfolio

Get detailed list of fund holdings (stocks, bonds, other) with security names, weightings, sectors, market values, share counts, and holding trends. Returns equity, bond, and other holding pages with individual security details.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `fund_id` | string | Yes | Morningstar fund ID returned by search_funds (e.g. F00000T3MO) |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/morningstar-india/get-fund-detailed-portfolio \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"fund_id":"<string>"}'
```

### Get fund morningstar analysis

Get Morningstar analyst take and pillar ratings (process, people, parent, price, performance). Funds not eligible for ratings will include a reasonMissing object explaining why the fund is not rated.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `fund_id` | string | Yes | Morningstar fund ID returned by search_funds (e.g. F00000T3MO) |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/morningstar-india/get-fund-morningstar-analysis \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"fund_id":"<string>"}'
```

### Get fund overview

Get comprehensive overview of a fund including quote details (NAV, expense ratio, inception date, ratings) and growth of 10k data with fund/category/index series. The quote object contains the primary fund metadata including investmentName, isin, nav, categoryName, morningstarRating, inceptionDate, and expenseRatio.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `fund_id` | string | Yes | Morningstar fund ID returned by search_funds (e.g. F00000T3MO) |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/morningstar-india/get-fund-overview \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"fund_id":"<string>"}'
```

### Get fund performance

Get historical performance data including yearly returns, category comparisons, percentile ranks, and growth of 10k current values. The trailing_returns object contains a table with yearly returns for fund/category/index and percentile rank data.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `fund_id` | string | Yes | Morningstar fund ID returned by search_funds (e.g. F00000T3MO) |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/morningstar-india/get-fund-performance \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"fund_id":"<string>"}'
```

### Get fund portfolio

Get portfolio details including asset allocation (stock/bond/cash/other with net, long, short allocations and category comparisons) and ownership zone data with fund/benchmark/category statistics.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `fund_id` | string | Yes | Morningstar fund ID returned by search_funds (e.g. F00000T3MO) |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/morningstar-india/get-fund-portfolio \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"fund_id":"<string>"}'
```

### Get fund risk rating

Get Morningstar risk and rating metrics including risk vs category and return vs category for 3-year, 5-year, and 10-year periods. Some fund types (e.g. Arbitrage funds) may have null risk values when insufficient history exists.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `fund_id` | string | Yes | Morningstar fund ID returned by search_funds (e.g. F00000T3MO) |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/morningstar-india/get-fund-risk-rating \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"fund_id":"<string>"}'
```

### Search funds

Search for mutual funds and stocks by name or ticker on Morningstar India. Returns up to 20 matching results with fund IDs, types, tickers, and exchange information. Use the returned fund ID to fetch detailed data from other endpoints.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `query` | string | Yes | Search keyword (fund name, ticker, or company name) |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/morningstar-india/search-funds \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"query":"<string>"}'
```

## Next steps

- [All wrapped API providers](https://paywithlocus.com/wapi/index.md): pick another provider.
- [Find and call tools](https://paywithlocus.com/agent/tools.md): price ceilings, async results, and errors.
- [Credits and billing](https://paywithlocus.com/agent/billing.md): what a call costs and how to add credits.
- [Agent docs index](https://paywithlocus.com/agent/index.md): every Locus agent page.