# listETFs

Returns ETF ticker symbols supported by the ETF API, paginated up to 1000 per call. Increment the offset parameter by 1000 until fewer than 1000 results are returned to walk the entire list. Available to Business, Professional, or annual subscribers only.

Agent View of the PolicyLayer registry record for `listETFs`. HTML page: https://policylayer.com/tools/com-api-ninjas-mcp/listetfs

## Facts

- Tool: `listETFs`
- Server: API Ninjas (`https://mcp.api-ninjas.com/mcp`) — https://policylayer.com/tools/com-api-ninjas-mcp.md
- Homepage: https://github.com/https://mcp.api-ninjas.com/mcp
- Risk category: Read (Low risk)
- Registry record: grade D, identity unverified
- Server auth posture: open
- Server rate-limited: no
- Parameters: 1
- Recommended policy verdict: Allowed

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `offset` | integer | no | Number of results to skip for pagination. Page size is 1000. |

Parameters from the server's own tool schema.

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "listETFs",
    "arguments": {}
  }
}
```

## Why listETFs is rated Low

Even though listETFs only reads data, uncontrolled read access leaks sensitive information and racks up API costs: an agent caught in a retry loop can make thousands of calls a minute without anyone noticing.

Risk signals: Bulk/mass operation — affects multiple targets

## Use case

AI agents call listETFs to retrieve information from API Ninjas without modifying anything. It is typically the context-gathering step in research, monitoring, and reporting workflows, before the agent takes action elsewhere.

## Recommended policy (PolicyLayer)

Verdict: **Allowed**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches API Ninjas:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "listETFs": {}
  }
}
```

## Other tools on API Ninjas (243)

- `parseUserAgent` — Execute — https://policylayer.com/tools/com-api-ninjas-mcp/parseuseragent.md
- `airportDistance` — Read — https://policylayer.com/tools/com-api-ninjas-mcp/airportdistance.md
- `airportSuggest` — Read — https://policylayer.com/tools/com-api-ninjas-mcp/airportsuggest.md
- `analyzeSentiment` — Read — https://policylayer.com/tools/com-api-ninjas-mcp/analyzesentiment.md
- `binLookup` — Read — https://policylayer.com/tools/com-api-ninjas-mcp/binlookup.md
- `calculateCaloriesBurned` — Read — https://policylayer.com/tools/com-api-ninjas-mcp/calculatecaloriesburned.md
- `calculateIncomeTax` — Read — https://policylayer.com/tools/com-api-ninjas-mcp/calculateincometax.md
- `calculateMortgage` — Read — https://policylayer.com/tools/com-api-ninjas-mcp/calculatemortgage.md
- `calculateSalesTax` — Read — https://policylayer.com/tools/com-api-ninjas-mcp/calculatesalestax.md
- `checkDisposableEmail` — Read — https://policylayer.com/tools/com-api-ninjas-mcp/checkdisposableemail.md
- `classifyNaics` — Read — https://policylayer.com/tools/com-api-ninjas-mcp/classifynaics.md
- `closestAirport` — Read — https://policylayer.com/tools/com-api-ninjas-mcp/closestairport.md
- `computeTextSimilarity` — Read — https://policylayer.com/tools/com-api-ninjas-mcp/computetextsimilarity.md
- `detectFaces` — Read — https://policylayer.com/tools/com-api-ninjas-mcp/detectfaces.md
- `detectLanguage` — Read — https://policylayer.com/tools/com-api-ninjas-mcp/detectlanguage.md
- `detectObjects` — Read — https://policylayer.com/tools/com-api-ninjas-mcp/detectobjects.md
- `encodeText` — Read — https://policylayer.com/tools/com-api-ninjas-mcp/encodetext.md
- `extractTextFromImage` — Read — https://policylayer.com/tools/com-api-ninjas-mcp/extracttextfromimage.md
- `filterProfanity` — Read — https://policylayer.com/tools/com-api-ninjas-mcp/filterprofanity.md
- `findSwiftCodes` — Read — https://policylayer.com/tools/com-api-ninjas-mcp/findswiftcodes.md
- `Get_a_list_of_planets` — Read — https://policylayer.com/tools/com-api-ninjas-mcp/get-a-list-of-planets.md
- `Get_a_list_of_stars` — Read — https://policylayer.com/tools/com-api-ninjas-mcp/get-a-list-of-stars.md
- `Get_ZIP_Code_details` — Read — https://policylayer.com/tools/com-api-ninjas-mcp/get-zip-code-details.md
- `getAdvice` — Read — https://policylayer.com/tools/com-api-ninjas-mcp/getadvice.md
- `getAircraft` — Read — https://policylayer.com/tools/com-api-ninjas-mcp/getaircraft.md
- `getAirlines` — Read — https://policylayer.com/tools/com-api-ninjas-mcp/getairlines.md
- `getAirports` — Read — https://policylayer.com/tools/com-api-ninjas-mcp/getairports.md
- `getAirportsList` — Read — https://policylayer.com/tools/com-api-ninjas-mcp/getairportslist.md
- `getAirQuality` — Read — https://policylayer.com/tools/com-api-ninjas-mcp/getairquality.md
- `getAllCatNames` — Read — https://policylayer.com/tools/com-api-ninjas-mcp/getallcatnames.md
- …and 213 more: https://policylayer.com/tools/com-api-ninjas-mcp.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=com-api-ninjas-mcp · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/com-api-ninjas-mcp
