AutoShares API
  • What is AutoShares?
  • API Documentation
    • Quick Start Guide
    • API Overview
    • Authentication
      • Authenticate with AutoShares SSO/Auth0
      • Triggering authentication with /login
      • For logout scenario
    • Onboarding Users
      • Account Setup
        • Syntax
        • Add Account To User
        • Add Account To User By Username
        • Get All Accounts Of A User
        • Get All Users Of An Account
        • Get Account Info
        • Update Alias Account For Current User
        • Remove Account From User
        • Get User's Trading Settings
        • Get User's Exchanges
      • Access Agreements
    • Account Balances and Buying Power
      • Get Balance Information For A User
      • Get Account's Balance Info
      • Get Historical Account Value
    • Order Processing and Trading
      • Place Order
        • Syntax
      • Verify Order Placement
        • Syntax
      • Verify Order Replacement
        • Syntax
      • Replace Order
        • Syntax
      • Cancel an Order
        • Syntax
      • Get Order's Info
        • Syntax
      • Get Filtered Orders
        • Syntax
      • Validate Order by ID
      • Positions
        • Get User's Positions
          • Syntax
        • Get User's Positions in a Security
          • Syntax
        • Get Market Value of all Security Groups
      • Managing Transactions
        • Get Transactions
          • Syntax
    • Streaming Data and Quotes
      • Streaming API Endpoints
        • Get Streamers' Info
        • Recover a Streamer Session
      • Quotes
      • Orders
      • Positions
      • Watchlists
      • Account Balances
      • User Balance
      • Securities
        • Get Equity Info by Internal ID
          • Syntax
        • Get Equity Info by Ticker
          • Syntax
        • Get Equity Info by Mask
          • Syntax
        • Get Filtered Equities
          • Syntax
        • Get Option Info by Internal ID
          • Syntax
        • Get Option Info by Ticker
          • Syntax
        • Get Options Expiration Dates
          • Syntax
        • Get an Option Chain
        • Get Filtered Options
          • Syntax
        • Get Company Logo By Symbol
    • Historical Chart Data
      • Get Comparison Chart Data
        • Syntax
      • Get Candles and Indicators for a Security
        • Syntax
      • Get Chart Data in the Excel Format
        • Syntax
    • Price Alerts
      • Create Price Alert
        • Syntax
      • Delete Price Alert
        • Syntax
      • Get Specific Alert
        • Syntax
      • Get User's Price Alerts
        • Syntax
      • Modify Price Alert
        • Syntax
    • Watchlists
      • Add Security to Watchlist by ID
        • Syntax
      • Add Security to Watchlist by Ticker
        • Syntax
      • Create New Watchlist
        • Syntax
      • Delete Watchlist
        • Syntax
      • Get Specific Watchlist
        • Syntax
      • Get User's Watchlists
        • Syntax
      • Remove Security From Watchlist by ID
        • Syntax
      • Remove Security from Watchlist by Ticker
        • Syntax
      • Rename Watchlist
        • Syntax
      • News
        • Get News for a Security
        • Get Corporate Actions for a Security
    • [Webhooks and SDKs]
    • Wires, ACH, and Account Transfers
      • ACH Setup
        • Create A New ACH Relationship
        • Get an ACH Relationship
        • Modify an ACH Relationship
      • Deposit / Withdraw Funds
        • Deposit / Withdraw Funds via ACH
      • Get a Transfer's Info
        • Get an ACH Transfer's Info
        • Get All Transfers
    • Terms and Definitions
      • Part I
      • Part II
      • Part III
Powered by GitBook
On this page
  • Overview
  • Response
  • Common Mistakes
  • Failing to Specify the Et-App-Key Parameter
  • Failing to Specify the Query Parameters
  1. API Documentation
  2. Streaming Data and Quotes
  3. Securities

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.

Syntax
Description
Example
  • AddedDate (>, >=, <, <=) Date

  • AddedDate between Range

This query enables you to retrieve equities that were added in the time period specified in the Range parameter or exactly at the time specified in the Date parameter.

  • AddedDate between #2019-03-13T18:31:42# and #2019-03-17T18:31:42#

  • AddedDate >= #2019-03-13T18:31:42#

  • AddedDate < #2019-03-12T19:31:42#

  • ModifyDate (>, >=, <, <=) Date

  • ModifyDate between Range

This query enables you to retrieve equities that will expire in the time period specified in the Range parameter or exactly at the time specified in the Date parameter.

  • ModifyDate between #2019-03-13T18:31:42# and #2019-03-17T18:31:42#

  • ModifyDate >= #2019-03-13T18:31:42#

  • ModifyDate < #2019-03-12T19:31:42#

  • Symbol = String

This query enables you to retrieve equities whose Symbol parameter is equal to the string provided in the query.

  • Symbol = 'AAPL'

  • Exchange = String

This query enables you to retrieve equities whose Exchange parameter is equal to the string provided in the query.

  • Exchange = 'XNAS'

  • Currency = USD

This query enables you to retrieve equities that are denominated in the currency provided in the query.

  • Currency = 'USD'

  • Enabled = Bool

This query enables you to retrieve equities that are enabled (can be traded).

  • Enabled = false

  • Enabled = true

  • AllowTrade = Bool

This query enables you to retrieve equities that are allowed to be traded.

  • AllowTrade = true

  • AllowTrade = false

  • AllowMargin = Bool

This query enables you to retrieve equities that can be traded on margin.

  • AllowMargin = true

  • AllowMargin = false

  • AllowShort = Bool

This query enables you to retrieve equities that can be sold short.

  • AllowShort = true

  • AllowShort = false

  • Symbol in (value1, value2, etc.)

This query enables you to retrieve equities whose ticker symbol is contained in the query set

  • Symbol in ('AAPL', 'TSLA')

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:

Parameter
Description

Id

This is the internal ID of the security in AutoShares.

Symbol

This is the ticker symbol under which the security is listed on the exchange.

Description

Usually this is the full name of the underlying company.

Exchange

This is the exchange on which the security is listed.

Currency

This is the currency in which the security is denominated.

AddedDate

This is the date on which the security was added to the database.

ModifyDate

This is the date in which the security's information was last modified.

Type

This is the type of the security.

Precision

This is the number of decimal places in the security's price.

VolumePrecision

This is the number of decimal places in the security's trading volume (might be useful for cryptocurrencies).

TickSize

This is the minimum price change of the security. For example, if this property equals 0.01 for AAPL, the minimum price change for AAPL is 0.01 (150.67 —> 150.68, but not 150.675). For securities with the market price of less than $1, the TickSize is equal to 0.0001.

Enabled

This field indicated if the security is enabled and can be traded by users.

AllowTrade

This field indicates is the security if permitted for trading.

AllowMargin

This field indicates if the security is allowed to be traded on margin.

AllowShort

This field indicates if the security can be sold short.

NextPageLink

The link of the next page of equities

PreviousPageLink

The link of the previous page of equities

TotalCount

The total number of equities available.

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.

PreviousSyntaxNextSyntax

Last updated 1 year ago