# Financial Instrument Database & Symbol Search (`fetchfinch/global-financial-instrument-finder`) Actor

Search 300,000+ stocks, ETFs, funds, indices, currencies, cryptocurrencies, and money markets by ticker, exchange, country, sector, category, or identifier.

- **URL**: https://apify.com/fetchfinch/global-financial-instrument-finder.md
- **Developed by:** [Fetch Finch](https://apify.com/fetchfinch) (community)
- **Categories:** Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.00 / 1,000 dataset results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Financial Instrument Database & Symbol Search

Search and export a structured catalog of more than 300,000 financial instruments in seconds. Find stocks, ETFs, funds, indices, currencies, cryptocurrencies, and money-market instruments by ticker, name, exchange, country, sector, classification, or security identifier.

Use the Actor as a searchable reference database for research, data enrichment, screening, ETL pipelines, portfolio tooling, and financial applications. Results are written to an Apify dataset in normalized JSON format.

### Pricing

This Actor uses transparent pay-per-event pricing. You pay **$0.001 per record written to the default dataset**. The Apify-recommended Actor start charge remains enabled at **$0.00005 per start**, and platform usage is included rather than passed through as a separate charge. Empty searches do not produce result charges.

### What you can do

- Find stocks and funds by keyword, country, sector, industry, exchange, market, or market-cap class.
- Discover ETFs, indices, families, and categories.
- Search currency pairs by base or quote currency.
- Search cryptocurrency instruments by ticker or underlying cryptocurrency.
- Look up exact symbols, ISINs, CUSIPs, FIGIs, composite FIGIs, and share-class FIGIs.
- Explore available classifications with facet counts before building a search.
- Include delisted records when historical or reference coverage matters.
- Export results in pages using deterministic sorting and offset pagination.

This Actor provides reference and classification data. It does not provide live prices, historical prices, financial statements, quotes, or investment advice.

### Operations

#### Search instruments

Use keyword search for fast discovery across symbols, names, descriptions, websites, and identifiers. Use substring search when you need broader partial matching, such as finding currency symbols that contain `USD`.

Filters combine with AND. Multiple values within one filter combine with OR.

```json
{
  "operation": "search",
  "assetTypes": ["equities"],
  "countries": ["United States"],
  "sectors": ["Information Technology"],
  "query": "cloud",
  "primaryListingsOnly": true,
  "limit": 100
}
```

#### Look up exact instruments

Use `lookup` when you already have symbols or identifiers. Every supplied value is matched exactly, case-insensitively, against supported identifier fields.

```json
{
  "operation": "lookup",
  "lookupValues": ["AAPL", "US0378331005", "BBG000B9XRY4"]
}
```

You can also use the `symbols` field for exact symbol lookups.

#### Explore facets

Use `facets` to see the most common values for asset types, sectors, industries, exchanges, countries, currencies, categories, families, and other classifications within a filtered scope.

```json
{
  "operation": "facets",
  "assetTypes": ["equities"],
  "countries": ["United States"],
  "facetLimit": 25
}
```

### Supported asset types

`equities`, `etfs`, `funds`, `indices`, `currencies`, `cryptos`, and `moneymarkets`.

Leave `assetTypes` empty to search across the complete catalog.

### Filters and controls

The Actor supports the following input controls:

- `query` and `queryMode`: keyword or substring matching.
- `symbols` and `lookupValues`: exact symbols and security identifiers.
- `countries`, `currencies`, `sectors`, `industryGroups`, and `industries`.
- `exchanges`, `mics`, `markets`, and `marketCaps`.
- `categoryGroups`, `categories`, and `families`.
- `baseCurrencies`, `quoteCurrencies`, and `cryptocurrencies`.
- `primaryListingsOnly`: excludes dotted symbols for equities, ETFs, and funds using a consistent reference-data heuristic.
- `includeDelisted`: includes records marked delisted; it does not exclude active records.
- `sortBy` and `sortDirection`: deterministic sorting by name, symbol, or asset type.
- `offset` and `limit`: repeatable pagination for larger result sets.

The default limit is 100 records. Set `allowLargeExport` to `true` before using `limit: 0` or requesting more than 10,000 records.

### Output

Search and lookup operations write one normalized record per instrument. Missing fields are returned as `null`.

Records include:

- Instrument type, symbol, name, and description.
- Currency, country, exchange, MIC, market, and website.
- Sector, industry group, industry, market-cap class, category, and family.
- ISIN, CUSIP, FIGI, composite FIGI, and share-class FIGI.
- Base and quote currencies for currency instruments.
- Underlying cryptocurrency for crypto instruments.
- Delisted status where available.

The `facets` operation writes one summary record containing `totalMatches` and facet values with counts.

Every run also stores a `RUN_INFO` record with the selected operation, applied filters, match count, records written, pagination settings, and snapshot metadata.

### Try a ready-made example

These public tasks are preconfigured for common workflows. Open one, review the input, and click **Start**:

- [Find US Technology Stocks](https://apify.com/fetchfinch/global-financial-instrument-finder/examples/us-technology-stock-search)
- [Search Stocks, ETFs and Crypto by Topic](https://apify.com/fetchfinch/global-financial-instrument-finder/examples/global-multi-asset-search)
- [Lookup Tickers and Security Identifiers](https://apify.com/fetchfinch/global-financial-instrument-finder/examples/exact-ticker-identifier-lookup)
- [Find Technology ETFs](https://apify.com/fetchfinch/global-financial-instrument-finder/examples/technology-etf-search)
- [Find Bitcoin and Crypto Instruments](https://apify.com/fetchfinch/global-financial-instrument-finder/examples/bitcoin-crypto-search)
- [Find USD Currency Pairs](https://apify.com/fetchfinch/global-financial-instrument-finder/examples/usd-currency-pair-search)
- [Search Market Indices](https://apify.com/fetchfinch/global-financial-instrument-finder/examples/nasdaq-index-search)
- [Explore US Equity Filter Facets](https://apify.com/fetchfinch/global-financial-instrument-finder/examples/us-equity-facet-discovery)
- [Search Including Delisted Equities](https://apify.com/fetchfinch/global-financial-instrument-finder/examples/delisted-equity-search)
- [Export a Paginated Instrument Page](https://apify.com/fetchfinch/global-financial-instrument-finder/examples/paginated-instrument-export)

### Common questions

#### Is this a live market-data API?

No. It is a fast reference catalog for instrument discovery, classifications, and identifiers. Use a live market-data provider for prices, quotes, and time series.

#### Can I search all asset classes at once?

Yes. Omit `assetTypes` or provide multiple asset types in the same request.

#### How do I find all records for a country or sector?

Use the relevant classification filter and set a suitable `limit`. For very large exports, enable `allowLargeExport` and use pagination where appropriate.

#### Why do keyword results include related listings?

Keyword search covers descriptive fields as well as symbols and names. This improves discovery but can return multiple listings or instruments whose descriptions contain the search terms. Use exact `lookup` when precision is required.

# Actor input Schema

## `operation` (type: `string`):

Search returns matching records, lookup supports exact symbol/identifier matching, and facets returns available values with counts.

## `assetTypes` (type: `array`):

Leave empty to search every asset class.

## `query` (type: `string`):

Keyword search across symbols, names, summaries, websites, and security identifiers. Example: renewable energy.

## `queryMode` (type: `string`):

Substring matching is useful for partial identifiers but can be slower on large searches.

## `symbols` (type: `array`):

Exact symbol filter, such as AAPL, MSFT, or AAPL.US.

## `lookupValues` (type: `array`):

Exact values matched against symbol, ISIN, CUSIP, FIGI, composite FIGI, and share-class FIGI.

## `countries` (type: `array`):

Headquarters country for equities, or the relevant country classification where available.

## `currencies` (type: `array`):

Instrument or quote currency, such as USD or EUR.

## `sectors` (type: `array`):

Equity sectors.

## `industryGroups` (type: `array`):

Equity industry groups.

## `industries` (type: `array`):

Equity industries.

## `exchanges` (type: `array`):

Exchange codes such as NYQ, NMS, or AMS.

## `mics` (type: `array`):

ISO 10383 market identifier codes.

## `markets` (type: `array`):

Human-readable market names.

## `marketCaps` (type: `array`):

Equity classes such as Large Cap or Micro Cap.

## `categoryGroups` (type: `array`):

ETF, fund, or index category groups.

## `categories` (type: `array`):

ETF, fund, or index categories.

## `families` (type: `array`):

ETF, fund, or money-market families.

## `baseCurrencies` (type: `array`):

Base currencies for currency pairs.

## `quoteCurrencies` (type: `array`):

Quote currencies for currency pairs.

## `cryptocurrencies` (type: `array`):

Underlying cryptocurrency symbols such as BTC or ETH.

## `primaryListingsOnly` (type: `boolean`):

Exclude dotted symbols for equities, ETFs, and funds. This follows the upstream package heuristic and is not an exchange-authoritative listing flag.

## `includeDelisted` (type: `boolean`):

Include records marked delisted by the source.

## `sortBy` (type: `string`):

Sort returned records by human-readable name, symbol, or asset type.

## `sortDirection` (type: `string`):

Sort records in ascending or descending order.

## `limit` (type: `integer`):

Defaults to 100. Use 0 only with allowLargeExport enabled.

## `offset` (type: `integer`):

Number of matching records to skip before writing results.

## `allowLargeExport` (type: `boolean`):

Required for limit=0 or more than 10,000 records. Large exports can create substantial Apify dataset usage.

## `facetLimit` (type: `integer`):

Used only by the facets operation.

## Actor input object example

```json
{
  "operation": "search",
  "queryMode": "keywords",
  "primaryListingsOnly": false,
  "includeDelisted": false,
  "sortBy": "name",
  "sortDirection": "ascending",
  "limit": 100,
  "offset": 0,
  "allowLargeExport": false,
  "facetLimit": 100
}
```

# Actor output Schema

## `records` (type: `string`):

No description

## `runInfo` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {};

// Run the Actor and wait for it to finish
const run = await client.actor("fetchfinch/global-financial-instrument-finder").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {}

# Run the Actor and wait for it to finish
run = client.actor("fetchfinch/global-financial-instrument-finder").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{}' |
apify call fetchfinch/global-financial-instrument-finder --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,fetchfinch/global-financial-instrument-finder"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/XmP8hSi5dM7GJ825V/builds/LXacbBxWlBRskhUcy/openapi.json
