The Search API allows you to quickly locate assets such as stocks, ETFs, mutual funds, bonds, and indices by using a flexible query engine. You can search by ticker code, company name, or ISIN. This API is particularly useful for applications requiring user-friendly asset lookups or autocomplete suggestions.

The engine automatically adjusts search behavior based on the input string and considers asset popularity using metrics like market capitalization and trading volume. Filtering by asset type or exchange is supported.

In addition, there’s another ID mapping endpoint to retrieve common identifiers (CUSIP, ISIN, OpenFigi, LEI, and CIK) for a symbol or by a specific identifier.

API Endpoint

To search for financial instruments, use the following endpoint:

URL
cURL
PHP
Python
R
Chat GPT
https://eodhd.com/api/search/{query_string}?api_token={YOUR_API_TOKEN}&fmt=json
curl --location "https://eodhd.com/api/search/{query_string}?api_token={YOUR_API_TOKEN}&fmt=json"
$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => 'https://eodhd.com/api/search/{query_string}?api_token={YOUR_API_TOKEN}&fmt=json',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => '',
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 0,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => 'GET',
));

$data = curl_exec($curl);
curl_close($curl);

try {
    $data = json_decode($data, true, 512, JSON_THROW_ON_ERROR);
    var_dump($data);
} catch (Exception $e) {
    echo 'Error. '.$e->getMessage();
}
import requests

url = f'https://eodhd.com/api/search/{query_string}?api_token={YOUR_API_TOKEN}&fmt=json'
data = requests.get(url).json()

print(data)
library(httr)
library(jsonlite)

url <- 'https://eodhd.com/api/search/{query_string}?api_token={YOUR_API_TOKEN}&fmt=json'
response <- GET(url)

if (http_type(response) == "application/json") {
    content <- content(response, "text", encoding = "UTF-8")
    cat(content)
} else {
    cat("Error while receiving data\n")
}
New to coding? Our ChatGPT assistant can generate code in any language tailored to our API. Simply describe how you want to use our data, and get a working piece of code. Don’t forget to replace the API token with your own.

Try it now (it's free)!

How to use it (YouTube)

Parameters

ParameterRequiredDescription
query_stringYesThe search input. Can be a ticker symbol, company name, or ISIN. Example values: AAPL, Apple Inc, US0378331005.
limitNoLimits the number of results. Default is 15. Maximum value is 500.
bonds_onlyNoSet to 1 to include only bonds in the results. Default is 0 (bonds excluded).
exchangeNoFilter results by exchange code (e.g., US, PA, FOREX, NYSE, NASDAQ). List of Exchanges API.
typeNoFilter results by asset type. Possible values: all, stock, etf, fund, bond, index, crypto. Note: when using “all”, bonds are excluded by default. Use “type=bond” to include bonds.
api_tokenYesYour personal API key, provided after registration.

Note: The demo API key does not work for the Search API. Please register to get your free API token.

Response Fields

The response is returned in JSON format as a list of matching instruments.

FieldDescription
CodeTicker symbol of the asset
ExchangeExchange code where the asset is listed
NameFull name of the instrument
TypeType of asset (e.g., Common Stock, ETF, Fund, Bond)
CountryCountry of the exchange
CurrencyCurrency in which the asset is traded
ISINISIN code, if available
previousClosePrevious closing price
previousCloseDateDate of the previous close price
isPrimaryTrue if this is the primary exchange for the asset, otherwise false

Examples

Search by ticker code:

URL
cURL
PHP
Python
R
Chat GPT
https://eodhd.com/api/search/AAPL?api_token={YOUR_API_TOKEN}&fmt=json
curl --location "https://eodhd.com/api/search/AAPL?api_token={YOUR_API_TOKEN}&fmt=json"
$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => 'https://eodhd.com/api/search/AAPL?api_token={YOUR_API_TOKEN}&fmt=json',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => '',
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 0,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => 'GET',
));

$data = curl_exec($curl);
curl_close($curl);

try {
    $data = json_decode($data, true, 512, JSON_THROW_ON_ERROR);
    var_dump($data);
} catch (Exception $e) {
    echo 'Error. '.$e->getMessage();
}
import requests

url = f'https://eodhd.com/api/search/AAPL?api_token={YOUR_API_TOKEN}&fmt=json'
data = requests.get(url).json()

print(data)
library(httr)
library(jsonlite)

url <- 'https://eodhd.com/api/search/AAPL?api_token={YOUR_API_TOKEN}&fmt=json'
response <- GET(url)

if (http_type(response) == "application/json") {
    content <- content(response, "text", encoding = "UTF-8")
    cat(content)
} else {
    cat("Error while receiving data\n")
}
New to coding? Our ChatGPT assistant can generate code in any language tailored to our API. Simply describe how you want to use our data, and get a working piece of code. Don’t forget to replace the API token with your own.

Try it now (it's free)!

How to use it (YouTube)

Search by company name:

URL
cURL
PHP
Python
R
Chat GPT
https://eodhd.com/api/search/Apple Inc?api_token={YOUR_API_TOKEN}&fmt=json
curl --location "https://eodhd.com/api/search/Apple Inc?api_token={YOUR_API_TOKEN}&fmt=json"
$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => 'https://eodhd.com/api/search/Apple Inc?api_token={YOUR_API_TOKEN}&fmt=json',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => '',
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 0,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => 'GET',
));

$data = curl_exec($curl);
curl_close($curl);

try {
    $data = json_decode($data, true, 512, JSON_THROW_ON_ERROR);
    var_dump($data);
} catch (Exception $e) {
    echo 'Error. '.$e->getMessage();
}
import requests

url = f'https://eodhd.com/api/search/Apple Inc?api_token={YOUR_API_TOKEN}&fmt=json'
data = requests.get(url).json()

print(data)
library(httr)
library(jsonlite)

url <- 'https://eodhd.com/api/search/Apple Inc?api_token={YOUR_API_TOKEN}&fmt=json'
response <- GET(url)

if (http_type(response) == "application/json") {
    content <- content(response, "text", encoding = "UTF-8")
    cat(content)
} else {
    cat("Error while receiving data\n")
}
New to coding? Our ChatGPT assistant can generate code in any language tailored to our API. Simply describe how you want to use our data, and get a working piece of code. Don’t forget to replace the API token with your own.

Try it now (it's free)!

How to use it (YouTube)

Search with a limit of 1 result:

URL
cURL
PHP
Python
R
Chat GPT
https://eodhd.com/api/search/Apple Inc?limit=1&api_token={YOUR_API_TOKEN}&fmt=json
curl --location "https://eodhd.com/api/search/Apple Inc?limit=1&api_token={YOUR_API_TOKEN}&fmt=json"
$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => 'https://eodhd.com/api/search/Apple Inc?limit=1&api_token={YOUR_API_TOKEN}&fmt=json',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => '',
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 0,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => 'GET',
));

$data = curl_exec($curl);
curl_close($curl);

try {
    $data = json_decode($data, true, 512, JSON_THROW_ON_ERROR);
    var_dump($data);
} catch (Exception $e) {
    echo 'Error. '.$e->getMessage();
}
import requests

url = f'https://eodhd.com/api/search/Apple Inc?limit=1&api_token={YOUR_API_TOKEN}&fmt=json'
data = requests.get(url).json()

print(data)
library(httr)
library(jsonlite)

url <- 'https://eodhd.com/api/search/Apple Inc?limit=1&api_token={YOUR_API_TOKEN}&fmt=json'
response <- GET(url)

if (http_type(response) == "application/json") {
    content <- content(response, "text", encoding = "UTF-8")
    cat(content)
} else {
    cat("Error while receiving data\n")
}
New to coding? Our ChatGPT assistant can generate code in any language tailored to our API. Simply describe how you want to use our data, and get a working piece of code. Don’t forget to replace the API token with your own.

Try it now (it's free)!

How to use it (YouTube)

Sample Response

{
"Code": "AAPL",
"Exchange": "US",
"Name": "Apple Inc",
"Type": "Common Stock",
"Country": "USA",
"Currency": "USD",
"ISIN": "US0378331005",
"previousClose": 229.65,
"previousCloseDate": "2025-08-12",
"isPrimary": true
},
{
"Code": "AAPL",
"Exchange": "TO",
"Name": "Apple CDR (CAD Hedged)",
"Type": "Common Stock",
"Country": "Canada",
"Currency": "CAD",
"ISIN": null,
"previousClose": 33.14,
"previousCloseDate": "2025-08-12",
"isPrimary": false
}

Sign up & Get Data