Get Filtered Equities

Retrieve equities sorted by a particular field and split into multiple pages

Overview

This GET endpoint enables you to retrieve equites sorted by a specified field.

There are seven required parameters that must be provided in the request:

  1. Authorization (header). This is the authorization token from the very first token request. The value of this header must have the following format: Bearer BQ898r9fefi (Bearer + 1 space + the token).

  2. API version (path). Unless necessary, leave it at "1.0".

  3. pageNumber (query). This is the page number (there are thousands of equities split into pages).

  4. pageSize (query). This is the number of equities that should be retrieved from this page.

  5. sortField (query). This is the field by which all equities should be sorted. For example, if you specify Type, first you'll receive stocks, then ETFs, etc.

  6. Desc (query). This is a boolean field that indicates if the returned equities should be sorted in the descending order.

There's also one optional parameter worth examining:

  • filter (query). This is an SQL query used to retrieve only those equities that satisfy the conditions of the query. The following table outlines the parameter's syntax.

Note that you can combine different queries to create more complex requests:

  • AllowMargin = true and AllowShort = false

Here's the final template for this API request:

GET apiURL/v1.0/equities?pageNumber=0&pageSize=2&sortField=Type&desc=true&filter=Exchange%3D'NSD'

Sample CURLs

  • Fetch FANG stocks:

curl -X GET --header 'Accept: application/json' --header 'Authorization: Bearer yourAuthenticationToken' --header 'Et-App-Key: yourEtAppKey' 'https://pub-api-trader-demo-prod.etnasoft.us/api/v1.0/equities?pageNumber=0&pageSize=10&sortField=Id&desc=true&filter=Symbol%20in%20('AMZN'%2C%20'GOOG'%2C%20'FB'%2C%20'NFLX')'
  • Fetch securities disabled from trading:

curl -X GET --header 'Accept: application/json' --header 'Authorization: Bearer yourAuthenticationToken' --header 'Et-App-Key: yourEtAppKey' 'https://pub-api-trader-demo-prod.etnasoft.us/api/v1.0/equities?pageNumber=0&pageSize=10&sortField=Id&desc=true&filter=AllowTrade%20%3D%20false'
  • Fetch securities traded on NASDAQ:

curl -X GET --header 'Accept: application/json' --header 'Authorization: Bearer yourAuthenticationToken' --header 'Et-App-Key: yourEtAppkey' 'https://pub-api-trader-demo-prod.etnasoft.us/api/v1.0/equities?pageNumber=0&pageSize=10&sortField=Id&desc=true&filter=Exchange%20%3D%20'XNAS''

Response

In response to this API request, you'll receive the following JSON that lists the equities sorted by the specified parameter.

{
    "Result": [
        {
            "Id": 681777,
            "Symbol": "INDY",
            "Description": "iShares S&P India Nifty 50 Index Fund",
            "Exchange": "XNAS",
            "Currency": "USD",
            "AddedDate": "2012-11-30T07:22:20.667Z",
            "ModifyDate": "2018-03-26T07:00:05.944571Z",
            "Type": "ETF",
            "Precision": 2,
            "VolumePrecision": 0,
            "TickSize": 0.01,
            "Enabled": true,
            "AllowTrade": true,
            "AllowMargin": true,
            "AllowShort": true
        },
        {
            "Id": 684344,
            "Symbol": "QQQ",
            "Description": "Invesco QQQ Trust, Series 1",
            "Exchange": "XNAS",
            "Currency": "USD",
            "AddedDate": "2012-11-30T07:22:20.67Z",
            "ModifyDate": "2018-05-29T07:00:05.8792207Z",
            "Type": "ETF",
            "Precision": 2,
            "VolumePrecision": 0,
            "TickSize": 0.01,
            "Enabled": true,
            "AllowTrade": true,
            "AllowMargin": true,
            "AllowShort": true
        }
    ],
    "NextPageLink": "https://pub-api-etnatrader-dev.etnasoft.us/api/v1.0/equities?pageNumber=1&pageSize=2&sortField=Type&desc=true",
    "PreviousPageLink": "",
    "TotalCount": 12130
}

where:

Common Mistakes

Here are some of the common mistakes that developers make when attempting to retrieve sorted equities.

Failing to Specify the Et-App-Key Parameter

If you specify the wrong Et-App-Key parameter or fail to include it in the header altogether, you'll get the following error:

{
    "error": "Application key is not defined or does not exist"
}

Failing to Specify the Query Parameters

It's crucial to understand that all four query parameters must be indicated in the request; otherwise you'll receive the 404 status code and the following message:

{
    "Message": "No HTTP resource was found that matches the request URI 'https://pub-api-etnatrader-dev.etnasoft.us/api/v1.0/equities?pageNumber=0&pageSize=2&sortField=Type'."
}

The following article covers the syntax for this API request in detail.

Last updated