NAV
html bash javascript php python

Introduction

Our REST API offers a powerful and easy way to access market data from all over the world. Feel free to explore the API and the examples provided. Claim your own API key and get started today by signing up for free. If you have any questions you can contact us and we will get back to you as soon as possible.

You can search through our database of supported stocks and indices here.

You can search through our database of supported forex pairs here.

Authentication

Each API request is authenticated with your own personal API token which you can obtain for free by signing up.

Include your API token in each request by passing it as a query parameter in each request.

Real Time Market Data

Stock and Index Real Time

Our real time data endpoint returns the nearest trading data for stocks and indexes worldwide. The endpoint is extremely easy to use and incredibly powerful. The endpoint allows up to 500 stocks or indexes to be returned with each request in exceptional timing.

You can try it yourself for free by signing up today.

Example request:

GET https://api.worldtradingdata.com/api/v1/stock?symbol=SNAP,TWTR&api_token=demo 
curl -X GET \
    -G "https://api.worldtradingdata.com/api/v1/stock?symbol=SNAP,TWTR&api_token=demo" 
const url = new URL(
    "https://api.worldtradingdata.com/api/v1/stock"
);

let params = {
    "symbol": "SNAP,TWTR",
    "api_token": "demo",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

fetch(url, {
    method: "GET",
})
    .then(response => response.json())
    .then(json => console.log(json));

$baseUrl = 'https://api.worldtradingdata.com/api/v1/stock?';
$queryParams = [
    'symbol' => 'SNAP,TWTR',
    'api_token' => 'demo',
];

$url = $baseUrl . http_build_query($queryParams);

$ch = curl_init();

$options = [
    CURLOPT_URL => $url,
    CURLOPT_RETURNTRANSFER => 1,
    CURLOPT_SSL_VERIFYHOST => 2,
    CURLOPT_SSL_VERIFYPEER => 2,
];

curl_setopt_array($ch, $options);

$response = curl_exec($ch);
curl_close($ch);

print_r(json_decode((string) $response));
import requests
import json

url = 'https://api.worldtradingdata.com/api/v1/stock'
params = {
  'symbol': 'SNAP,TWTR',
  'api_token': 'demo'
}
response = requests.request('GET', url, params=params)
response.json()

Example response (200):

{
    "symbols_requested": 1,
    "symbols_returned": 1,
    "data": [
        {
            "symbol": "SNAP",
            "name": "Snap Inc",
            "currency": "USD",
            "price": "11.06",
            "price_open": "11.30",
            "day_high": "11.45",
            "day_low": "10.85",
            "52_week_high": "19.75",
            "52_week_low": "7.89",
            "day_change": "0.24",
            "change_pct": "0.21",
            "close_yesterday": "11.27",
            "market_cap": "15352254464",
            "volume": "36852882",
            "volume_avg": "36852882",
            "shares": "15779962",
            "stock_exchange_long": "New York Stock Exchange",
            "stock_exchange_short": "NYSE",
            "timezone": "EDT",
            "timezone_name": "America/New_York",
            "gmt_offset": "-14400",
            "last_trade_time": "2020-04-04 16:04:51",
            "pe": "N/A",
            "eps": "-0.75"
        }
    ]
}

HTTP Request

GET https://api.worldtradingdata.com/api/v1/stock

Query Parameters

The endpoint takes up to 5 query parameters; symbol, api_token, sort_order, sort_by and output. The symbol parameter allows you to request real time data for up to 500 stocks or indexes per request on our highest advanced plan. The output=csv parameter will return the data as a CSV format but by default will return JSON. The api_token is used to verify each request. If you don't yet have an API token you can get one for free by signing up.

Parameter Default Required Description Options Example
symbol null true Comma separated values of the stocks you wish to return. - symbol=SNAP,TWTR
api_token null true The API token associated with your account for authentication. Get your own free API token here. - demo
sort_order asc false Change the sort order of values. asc, desc sort_order=desc
sort_by symbol false Sort by a particular data attribute or by the order you entered the list. symbol, name, list_order sort_by=name
output json false Change output to CSV. csv, json output=json

Intraday Market Data

Stock and Index Intraday

Our intraday data endpoint returns a stream of the latest data for stocks and indexes worldwide. The endpoint allows data to be returned in different time intervals and ranges.

You can try it yourself for free by signing up today.

Example request:

GET https://intraday.worldtradingdata.com/api/v1/intraday?symbol=SNAP&api_token=demo 
curl -X GET \
    -G "https://intraday.worldtradingdata.com/api/v1/intraday?symbol=SNAP&api_token=demo" 
const url = new URL(
    "https://intraday.worldtradingdata.com/api/v1/intraday"
);

let params = {
    "symbol": "SNAP",
    "api_token": "demo",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

fetch(url, {
    method: "GET",
})
    .then(response => response.json())
    .then(json => console.log(json));

$baseUrl = 'https://intraday.worldtradingdata.com/api/v1/intraday?';
$queryParams = [
    'symbol' => 'SNAP',
    'api_token' => 'demo',
];

$url = $baseUrl . http_build_query($queryParams);

$ch = curl_init();

$options = [
    CURLOPT_URL => $url,
    CURLOPT_RETURNTRANSFER => 1,
    CURLOPT_SSL_VERIFYHOST => 2,
    CURLOPT_SSL_VERIFYPEER => 2,
];

curl_setopt_array($ch, $options);

$response = curl_exec($ch);
curl_close($ch);

print_r(json_decode((string) $response));
import requests
import json

url = 'https://intraday.worldtradingdata.com/api/v1/intraday'
params = {
  'symbol': 'SNAP',
  'api_token': 'demo'
}
response = requests.request('GET', url, params=params)
response.json()

Example response (200):

{
    "symbol": "SNAP",
    "stock_exchange_short": "NYSE",
    "timezone_name": "America/New_York",
    "intraday": {
        "2019-12-20 15:59:00": {
            "open": "15.55",
            "close": "15.55",
            "high": "15.55",
            "low": "15.52",
            "volume": "670218"
        },
        "2019-12-20 15:58:00": {
            "open": "15.55",
            "close": "15.55",
            "high": "15.55",
            "low": "15.54",
            "volume": "284225"
        },
        "2019-12-20 15:57:00": {
            "open": "15.54",
            "close": "15.54",
            "high": "15.55",
            "low": "15.54",
            "volume": "159829"
        },
        "2019-12-20 15:56:00": {
            "open": "15.55",
            "close": "15.55",
            "high": "15.55",
            "low": "15.53",
            "volume": "254264"
        },
       ...
    }
}

HTTP Request

GET https://intraday.worldtradingdata.com/api/v1/intraday

Query Parameters

The symbol parameter allows you to request intraday data for a single stock or index. The interval parameter specifies the interval (in minutes) of time between the data. The range parameter specifies the number of days you want to return data for. The output=csv parameter will return the data as a CSV format but by default will return JSON. The api_token is used to verify each request. If you don't yet have an API token you can get one for free by signing up.

Parameter Default Required Description Options Example
symbol null true Value of the stock or index you wish to return data for. Only one symbol per request. - symbol=SNAP
api_token null true The API token associated with your account for authentication. Get your own free API token here. - api_token=demo
sort desc false Change the sort order of values. desc, asc sort=asc
output json false Change output to CSV. csv, json output=csv
formatted true false Alter JSON data format. Does not affect CSV. true, false formatted=true

Historical Market Data

Full History

Our real time data endpoint returns the nearest trading data for stocks and indexes worldwide. The endpoint is extremely easy to use and incredibly powerful. The endpoint allows up to 500 stocks or indexes to be returned with each request in exceptional timing.

You can try it yourself for free by signing up today.

Example request:

GET https://api.worldtradingdata.com/api/v1/history?symbol=SNAP&api_token=demo 
curl -X GET \
    -G "https://api.worldtradingdata.com/api/v1/history?symbol=SNAP&api_token=demo" 
const url = new URL(
    "https://api.worldtradingdata.com/api/v1/history"
);

let params = {
    "symbol": "SNAP",
    "api_token": "demo",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

fetch(url, {
    method: "GET",
})
    .then(response => response.json())
    .then(json => console.log(json));

$baseUrl = 'https://api.worldtradingdata.com/api/v1/history?';
$queryParams = [
    'symbol' => 'SNAP',
    'api_token' => 'demo',
];

$url = $baseUrl . http_build_query($queryParams);

$ch = curl_init();

$options = [
    CURLOPT_URL => $url,
    CURLOPT_RETURNTRANSFER => 1,
    CURLOPT_SSL_VERIFYHOST => 2,
    CURLOPT_SSL_VERIFYPEER => 2,
];

curl_setopt_array($ch, $options);

$response = curl_exec($ch);
curl_close($ch);

print_r(json_decode((string) $response));
import requests
import json

url = 'https://api.worldtradingdata.com/api/v1/history'
params = {
  'symbol': 'SNAP',
  'api_token': 'demo'
}
response = requests.request('GET', url, params=params)
response.json()

Example response (200):

{
    "name": "SNAP",
    "history": {
        "2020-04-03": {
            "open": "11.30",
            "close": "11.06",
            "high": "11.45",
            "low": "10.85",
            "volume": "16545881"
        },
        "2020-04-02": {
            "open": "11.18",
            "close": "11.27",
            "high": "11.82",
            "low": "11.02",
            "volume": "19925153"
        },
        ...
    }
}

HTTP Request

GET https://api.worldtradingdata.com/api/v1/history

Query Parameters

The history endpoint allows a maximum of 1 ticker per request. The symbol and api_token parameters are required for each request. If the date_from and date_to parameters are omitted from the request, the endpoint will return the entire set of historical data for that ticker. The order of the returned data can be sorted by newest or oldest data first using the sort parameter. By default the data will be returned with newest first (descending order).

Parameter Default Required Description Options Example
symbol null true Value of the stock or index you wish to return data for. Only one symbol per request, if more than one is entered the first symbol is used. - symbol=SNAP
api_token null true The API token associated with your account for authentication. Get your own free API token here. - api_token=demo
date_from start of dataset false The date you wish to start the data retrieval. - date_from=2019-01-01
date_to end of dataset false The date you wish to end the data retrieval. - date_to=2019-12-31
sort newest false Sort by date. newest, oldest, desc, asc sort=oldest
output json false Change output to CSV. csv, json output=csv
formatted true false Alter JSON data format. Does not affect CSV. true, false formatted=true

Multi Single Day History

Our historical multi single day data endpoint returns data for multiple stock or index for a single specific day. The endpoint allows you to enter multiple tickers and a date which will return each ticker with the prices for that day.

You can try it yourself for free by signing up today.

Example request:

GET https://api.worldtradingdata.com/api/v1/history_multi_single_day?symbol=SNAP,TWTR&date=2019-01-02&api_token=demo 
curl -X GET \
    -G "https://api.worldtradingdata.com/api/v1/history_multi_single_day?symbol=SNAP,TWTR&date=2019-01-02&api_token=demo" 
const url = new URL(
    "https://api.worldtradingdata.com/api/v1/history_multi_single_day"
);

let params = {
    "symbol": "SNAP,TWTR",
    "date": "2019-01-02",
    "api_token": "demo",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

fetch(url, {
    method: "GET",
})
    .then(response => response.json())
    .then(json => console.log(json));

$baseUrl = 'https://api.worldtradingdata.com/api/v1/history_multi_single_day?';
$queryParams = [
    'symbol' => 'SNAP,TWTR',
    'date' => '2019-01-02',
    'api_token' => 'demo',
];

$url = $baseUrl . http_build_query($queryParams);

$ch = curl_init();

$options = [
    CURLOPT_URL => $url,
    CURLOPT_RETURNTRANSFER => 1,
    CURLOPT_SSL_VERIFYHOST => 2,
    CURLOPT_SSL_VERIFYPEER => 2,
];

curl_setopt_array($ch, $options);

$response = curl_exec($ch);
curl_close($ch);

print_r(json_decode((string) $response));
import requests
import json

url = 'https://api.worldtradingdata.com/api/v1/history_multi_single_day'
params = {
  'symbol': 'SNAP,TWTR',
  'date': '2019-01-02',
  'api_token': 'demo'
}
response = requests.request('GET', url, params=params)
response.json()

Example response (200):

{
    "date": "2019-01-02",
    "data": {
        "SNAP": {
            "open": "5.38",
            "close": "5.79",
            "high": "5.87",
            "low": "5.35",
            "volume": "15253363"
        },
        "TWTR": {
            "open": "28.26",
            "close": "28.81",
            "high": "28.99",
            "low": "27.87",
            "volume": "15053718"
        }
    }
}

HTTP Request

GET https://api.worldtradingdata.com/api/v1/history_multi_single_day

Query Parameters

The historical multi single day allows you to enter multiple tickers for each request. The symbol, date and api_token parameters are required for each request. The order of the returned data can be sorted by ticker name either ascending or descending. By default the data will be returned by ticker in ascending order.

Parameter Default Required Description Options Example
symbol null true Comma separated values of the tickers you wish to return. - symbol=SNAP,TWTR
api_token null true The API token associated with your account for authentication. Get your own free API token here. - example
date null true The date you wish to retrieve data for. - date=2019-01-02
sort asc false Sort order by name. desc, asc sort=desc
output json false Change output to CSV. csv, json output=csv
formatted true false Alter JSON data format. Does not affect CSV. true, false formatted=true

Forex Data

Real Time

Our real time currency data endpoint returns data for over 20,000 currency combinations, updated every 5 minutes. The endpoint is extremely easy to use and incredibly powerful which will return all the conversion rates for the base currency in exceptional timing.

You can try it yourself for free by signing up today.

Example request:

GET https://api.worldtradingdata.com/api/v1/forex?base=USD&api_token=demo 
curl -X GET \
    -G "https://api.worldtradingdata.com/api/v1/forex?base=USD&api_token=demo" 
const url = new URL(
    "https://api.worldtradingdata.com/api/v1/forex"
);

let params = {
    "base": "USD",
    "api_token": "demo",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

fetch(url, {
    method: "GET",
})
    .then(response => response.json())
    .then(json => console.log(json));

$baseUrl = 'https://api.worldtradingdata.com/api/v1/forex?';
$queryParams = [
    'base' => 'USD',
    'api_token' => 'demo',
];

$url = $baseUrl . http_build_query($queryParams);

$ch = curl_init();

$options = [
    CURLOPT_URL => $url,
    CURLOPT_RETURNTRANSFER => 1,
    CURLOPT_SSL_VERIFYHOST => 2,
    CURLOPT_SSL_VERIFYPEER => 2,
];

curl_setopt_array($ch, $options);

$response = curl_exec($ch);
curl_close($ch);

print_r(json_decode((string) $response));
import requests
import json

url = 'https://api.worldtradingdata.com/api/v1/forex'
params = {
  'base': 'USD',
  'api_token': 'demo'
}
response = requests.request('GET', url, params=params)
response.json()

Example response (200):

{
    "symbols_returned": 150,
    "base": "USD",
    "data": {
        "AED": "3.673045",
        "AFN": "76.150000",
        "ALL": "116.375000",
        "AMD": "502.970000",
        "ANG": "1.790210",
        "AOA": "541.479000",
        "ARS": "64.855680",
        "AUD": "1.665265",
        "AWG": "1.800000",
        "AZN": "1.700000",
        "BAM": "1.810979",
        "BBD": "2.019287",
        "BCH": "0.004319",
        ...
    }
}

HTTP Request

GET https://api.worldtradingdata.com/api/v1/forex

Query Parameters

This endpoint takes a single base currency and returns the conversion rate for all available currencies. The base and api_token parameters are required for each request.

Parameter Default Required Description Options Example
base null true Value of the currency you wish to return data for. - base=USD
convert_to null false Value of the currency you wish to return conversion data to. - convert_to=GBP
api_token null true The API token associated with your account for authentication. Get your own free API token here. - api_token=demo
output json false Change output to CSV. csv, json output=csv

Historical

Our historical currency data endpoint contains data for over 20,000 currency combinations with up to 15 years of data.

You can try it yourself for free by signing up today.

Example request:

GET https://api.worldtradingdata.com/api/v1/forex_history?base=USD&convert_to=GBP&api_token=demo 
curl -X GET \
    -G "https://api.worldtradingdata.com/api/v1/forex_history?base=USD&convert_to=GBP&api_token=demo" 
const url = new URL(
    "https://api.worldtradingdata.com/api/v1/forex_history"
);

let params = {
    "base": "USD",
    "convert_to": "GBP",
    "api_token": "demo",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

fetch(url, {
    method: "GET",
})
    .then(response => response.json())
    .then(json => console.log(json));

$baseUrl = 'https://api.worldtradingdata.com/api/v1/forex_history?';
$queryParams = [
    'base' => 'USD',
    'convert_to' => 'GBP',
    'api_token' => 'demo',
];

$url = $baseUrl . http_build_query($queryParams);

$ch = curl_init();

$options = [
    CURLOPT_URL => $url,
    CURLOPT_RETURNTRANSFER => 1,
    CURLOPT_SSL_VERIFYHOST => 2,
    CURLOPT_SSL_VERIFYPEER => 2,
];

curl_setopt_array($ch, $options);

$response = curl_exec($ch);
curl_close($ch);

print_r(json_decode((string) $response));
import requests
import json

url = 'https://api.worldtradingdata.com/api/v1/forex_history'
params = {
  'base': 'USD',
  'convert_to': 'GBP',
  'api_token': 'demo'
}
response = requests.request('GET', url, params=params)
response.json()

Example response (200):

{
    "symbol": "USDGBP",
    "history": {
        "2020-04-04": "0.814996",
        "2020-04-03": "0.815195",
        "2020-04-03": "0.814996",
        "2020-04-02": "0.806800",
        "2020-04-02": "0.806870",
        "2020-04-01": "0.807600",
        "2020-04-01": "0.807700",
        "2020-03-31": "0.805835",
        "2020-03-31": "0.806000",
        "2020-03-30": "0.808410",
        "2020-03-30": "0.808400",
        "2020-03-29": "0.805555",
    }
}

HTTP Request

GET https://api.worldtradingdata.com/api/v1/forex_history

Query Parameters

This endpoint takes a base currency and a currency to convert to and returns the end of day conversion rate for each day of data. The base, convert_to and api_token parameters are required for each request.

Parameter Default Required Description Options Example
base null true Base of the currency you wish to return data for. - base=USD
convert_to null true Value of the currency you wish to return conversion data to. - convert_to=GBP
api_token null true The API token associated with your account for authentication. Get your own free API token here. - api_token=demo
date_from start of dataset false The date you wish to start the data retrieval. - 2019-01-02
date_to end of dataset false The date you wish to end the data retrieval. - date_to=2019-06-01
sort newest false Sort order by newest or oldest data first. newest, oldest sort=oldest
output json false Change output to CSV. csv, json output=csv
formatted true false Alter JSON data format. Does not affect CSV. true, false formatted=false

Single Day History

Our multi single day currency data endpoint can return data for over 20,000 currency combinations for a specific date. The endpoint is extremely easy to use and incredibly powerful and will return the all the conversion rates for the base currency for a specific date in exceptional timing.

You can try it yourself for free by signing up today.

Example request:

GET https://api.worldtradingdata.com/api/v1/forex_single_day?base=USD&date=2019-01-02&api_token=demo 
curl -X GET \
    -G "https://api.worldtradingdata.com/api/v1/forex_single_day?base=USD&date=2019-01-02&api_token=demo" 
const url = new URL(
    "https://api.worldtradingdata.com/api/v1/forex_single_day"
);

let params = {
    "base": "USD",
    "date": "2019-01-02",
    "api_token": "demo",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

fetch(url, {
    method: "GET",
})
    .then(response => response.json())
    .then(json => console.log(json));

$baseUrl = 'https://api.worldtradingdata.com/api/v1/forex_single_day?';
$queryParams = [
    'base' => 'USD',
    'date' => '2019-01-02',
    'api_token' => 'demo',
];

$url = $baseUrl . http_build_query($queryParams);

$ch = curl_init();

$options = [
    CURLOPT_URL => $url,
    CURLOPT_RETURNTRANSFER => 1,
    CURLOPT_SSL_VERIFYHOST => 2,
    CURLOPT_SSL_VERIFYPEER => 2,
];

curl_setopt_array($ch, $options);

$response = curl_exec($ch);
curl_close($ch);

print_r(json_decode((string) $response));
import requests
import json

url = 'https://api.worldtradingdata.com/api/v1/forex_single_day'
params = {
  'base': 'USD',
  'date': '2019-01-02',
  'api_token': 'demo'
}
response = requests.request('GET', url, params=params)
response.json()

Example response (200):

{
    "base": "USD",
    "date": "2019-01-02",
    "data": {
        "AED": "3.673200",
        "AFN": "75.350000",
        "ALL": "107.875000",
        "AMD": "485.465000",
        "ANG": "1.775800",
        "AOA": "308.920500",
        "ARS": "37.767000",
        "AUD": "1.445175",
        "AWG": "1.800250",
        "AZN": "1.702500",
    }
}

HTTP Request

GET https://api.worldtradingdata.com/api/v1/forex_single_day

Query Parameters

This endpoint takes a single base currency and returns the conversion rate for all available currencies. The base, date, and api_token parameters are required for each request.

Parameter Default Required Description Options Example
base null true Value of the currency you wish to return data for. - base=USD
date null true Date you wish to return the conversion data for. - date=2019-01-02
api_token null true The API token associated with your account for authentication. Get your own free API token here. - api_token=demo
output json false Change output to CSV. csv, json output=csv
formatted true false Alter JSON data format. Does not affect CSV. true, false formatted=true

Searching

Stocks and Indices

Our search endpoint allows you to search and filter our entire stock and index database to build your own search functionality for your applications.

You can try it yourself for free by signing up today.

Example request:

GET https://api.worldtradingdata.com/api/v1/stock_search?search_term=SNAP&limit=50&page=1&api_token=demo 
curl -X GET \
    -G "https://api.worldtradingdata.com/api/v1/stock_search?search_term=SNAP&limit=50&page=1&api_token=demo" 
const url = new URL(
    "https://api.worldtradingdata.com/api/v1/stock_search"
);

let params = {
    "search_term": "SNAP",
    "limit": 50,
    "page": 1,
    "api_token": "demo",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

fetch(url, {
    method: "GET",
})
    .then(response => response.json())
    .then(json => console.log(json));

$baseUrl = 'https://api.worldtradingdata.com/api/v1/stock_search?';
$queryParams = [
    'search_term' => 'SNAP',
    'limit' => '50',
    'page' => '1',
    'api_token' => 'demo',
];

$url = $baseUrl . http_build_query($queryParams);

$ch = curl_init();

$options = [
    CURLOPT_URL => $url,
    CURLOPT_RETURNTRANSFER => 1,
    CURLOPT_SSL_VERIFYHOST => 2,
    CURLOPT_SSL_VERIFYPEER => 2,
];

curl_setopt_array($ch, $options);

$response = curl_exec($ch);
curl_close($ch);

print_r(json_decode((string) $response));
import requests
import json

url = 'https://api.worldtradingdata.com/api/v1/stock_search'
params = {
  'search_term': 'SNAP',
  'limit': 50,
  'page': 1,
  'api_token': 'demo'
}
response = requests.request('GET', url, params=params)
response.json()

Example response (200):

{
    "total_returned": 5,
    "total_results": 5,
    "total_pages": 1,
    "limit": 50,
    "page": 1,
    "data": [
        {
            "symbol": "SNAP",
            "name": "Snap Inc",
            "currency": "USD",
            "price": "11.06",
            "stock_exchange_long": "New York Stock Exchange",
            "stock_exchange_short": "NYSE"
        },
        ...
    ]
}

HTTP Request

GET https://api.worldtradingdata.com/api/v1/stock_search

Query Parameters

Parameter Default Required Description Options Example
search_term null false Search term you wish to find stocks for. options search_term=SNAP
api_token null true The API token associated with your account for authentication. Get your own free API token here. - api_token=demo
search_by symbol,name false Search by only symbol or name, or both. symbol,name, symbol, name search_by=symbol,name
stock_exchange all false Filter by a comma separated list of stock exchanges. any supported exchanges stock_exchange=NYSE
currency all false Filter by a comma separated list of currencies. any supported stock currencies currency=USD,AUD
limit 50 false Limit the number of results returned. 1-500 limit=50
page 1 false Value of the page you wish to see values for. - page=1
sort_by symbol false Sort by a specific column. symbol, name, currency, stock_exchange_long, stock_exchange_short, market_cap, volume, change_pct sort_by=symbol
sort_order asc false Sort order of the sort_by column. asc, desc sort_order=asc
output json false Change output to CSV. csv, json output=csv

Lists

Stocks and Indices

Our ticker list endpoint allows you to download our full list of stocks and indices in one request. Please note that no demo is available for this endpoint.

You can try it yourself for free by signing up today.

Example request:

GET https://api.worldtradingdata.com/api/v1/ticker_list?type=stocks&api_token=demo 
curl -X GET \
    -G "https://api.worldtradingdata.com/api/v1/ticker_list?type=stocks&api_token=demo" 
const url = new URL(
    "https://api.worldtradingdata.com/api/v1/ticker_list"
);

let params = {
    "type": "stocks",
    "api_token": "demo",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

fetch(url, {
    method: "GET",
})
    .then(response => response.json())
    .then(json => console.log(json));

$baseUrl = 'https://api.worldtradingdata.com/api/v1/ticker_list?';
$queryParams = [
    'type' => 'stocks',
    'api_token' => 'demo',
];

$url = $baseUrl . http_build_query($queryParams);

$ch = curl_init();

$options = [
    CURLOPT_URL => $url,
    CURLOPT_RETURNTRANSFER => 1,
    CURLOPT_SSL_VERIFYHOST => 2,
    CURLOPT_SSL_VERIFYPEER => 2,
];

curl_setopt_array($ch, $options);

$response = curl_exec($ch);
curl_close($ch);

print_r(json_decode((string) $response));
import requests
import json

url = 'https://api.worldtradingdata.com/api/v1/ticker_list'
params = {
  'type': 'stocks',
  'api_token': 'demo'
}
response = requests.request('GET', url, params=params)
response.json()

Example response (200):

[
    "000001.SZ",
    "000002.SZ",
    "000004.SZ",
    "000005.SZ",
    "000006.SZ",
    "000007.SZ",
    "000008.SZ",
    "000009.SZ",
    "000010.SZ",
    "000011.SZ",
]

HTTP Request

GET https://api.worldtradingdata.com/api/v1/ticker_list

Query Parameters

Parameter Default Required Description Options Example
type null true Return stocks and indices. - type=stocks
api_token null true The API token associated with your account for authentication. Get your own free API token here. - api_token=demo
symbol_only true false Set to false to return other meta data along with the symbols. true, false symbol_only=false
stock_exchange all false Filter by a comma separated list of stock exchanges. any supported exchanges stock_exchange=NYSE
output json false Change output to CSV. csv, json output=csv

Plan Limitations

Plan name Weekly Requests
Free 1
Basic 7
Standard 14
Plus 28
500K 56
750K 84
1M 112