Nordnet External API - REST services Revision 1.16

All REST services are located at https://BASE_URL/API_VERSION.

JSON or XML replies

The services can reply XML or JSON. You can choose result format by setting the HTTP header “Accept” to “application/json”
or “application/xml”. If omitted XML is used in the reply. In XML replies all – and _ in the field names will be - so
session_key will be session-key. In the JSON reply _ is always used so the field will be session_key.

The response is always UTF-8.

NOTE: Please use the JSON option. The JSON is faster to generate and normally uses less bandwidth. The XML option will be removed in future versions.
h3. Localization

Some resources contain text that can be localized. To specify the language you want, set the "Accept-Language" header to include one of these: en, sv, da, no, fi, de.

System status info

Information about the system status can be retrieved by a REST service. This is the only service that can be called without authentication.

Request: GET -> https://BASE_URL/API_VERSION
Result:

Key Type Description Example
timestamp integer Server timestamp. UNIX millisecond timestamp 1294652664000
valid-version boolean True if API_VERSION is a valid version. true
system-running boolean Indicates if the system is running or stopped true
skip-phrase boolean True if the phrase in the login should be ignored. This will always be true true
message string Additional info. Usually empty.

Session

Authentication

All resources require authentication via HTTP basic auth; any attempt to get a resource without basic auth will result in a standard HTTP authentication challenge response. The first time you connect, you'll need to send in a valid username, password, and unix timestamp to login service; upon successful authentication, you receive a session key which is used for the remainder of your session.

The session key from the login should be used as both the HTTP auth username AND password in every request you send. In the login reply you will also get the session timeout information. If more time passes then the session timeout without any use of the session key, it will expire, and you'll have to log in again.

Login

Before any other of the services (except for the system info request) can be called the user must login. The username, password and phrase must be sent encrypted.

Three steps is required:
  1. First Base64-encode the username, password and timestamp (UNIX timestamp in milliseconds) and combine them with the character ‘:’.
  2. Use the public key for the application and encrypt the string.
  3. Base64 encode the encrypted string.

See login examples.

Note: The public key is unique for the service type and can only be used together with the service. The name of the service and the public key is provided by Nordnet.

Request: POST -> https://BASE_URL/API_VERSION/login

Key Type Description Example
service string The application system identification (not encrypted) MY_APP, IPHONE
auth string Base 64 encoded encrypted username, password and timestamp
Result:
Key Type Description
session_key string The session key used for identification in all requests.
environment string The server environment “TEST”, “PRODUCTION” or “DEVELOPMENT”.
expires_in int The session expire interval in seconds. Note: this is not the remaining time until session timeout it is the interval.
public_feed node Key Type Description
port int Port for the public feed.
hostname string Hostname for the public feed.
encrypted boolean True if the public feed is encrypted. This value is always true in production.
private_feed node Key Type Description
port int Port for the private feed.
hostname string Hostname for the private feed.
encrypted boolean True if the private feed is encrypted. This value is always true in production.

Example

Request: POST -> https://BASE_URL/API_VERSION/login?service=MY_APP&auth=[BIG_BLOB]

Result:

<?xml version="1.0" encoding="UTF-8"?>
<hash>
   <private-feed>
      <port type="integer">2100</port>
      <hostname>test1</hostname>
      <encrypted type="boolean">false</encrypted>
   </private-feed>
   <environment>test</environment>
   <session-key>fegwegewgt4swg4wg4wg4wg4gwg4w</session-key>
   <public-feed>
      <port type="integer">2020</port>
      <hostname> test2</hostname>
      <encrypted type="boolean">false</encrypted>
   </public-feed>
   <expires-in type="integer">300</expires-in>
</hash>

Logout

To logout call delete on the login method.

Request: DELETE -> https://BASE_URL/API_VERSION/login/<session_key>

Result:
Key Type Description
logged-in boolean Should be false if everything was ok.

Example

Request: DELETE -> https://BASE_URL/API_VERSION/login/334242423423423

Result:

<?xml version="1.0" encoding="UTF-8"?>
<hash>
    <logged-in type="boolean">false</logged-in>
</hash>

Touch session

If the application needs to keep the session alive the session can be touched. Note the basic auth header field must be set as for all other calls. All calls to any REST service is touching the session. So touching the session manually is only needed if no other calls are done during the session timeout interval.

Request: PUT -> https://BASE_URL/API_VERSION/login/[session_key]

Result:
Key Type Description
logged-in boolean True if the user still is logged in.

Example

Request: PUT -> https://BASE_URL/API_VERSION/login/334242423423423

Result:

<?xml version="1.0" encoding="UTF-8"?>
<hash>
    <logged-in type="boolean">true</logged-in>
</hash>

Realtime access

Returns a list of markets where the user has real time access.

Request: GET -> https://BASE_URL/API_VERSION/realtime_access

Result:
Key Type Description
realtime_access array[realtime_access] Key Type Description
marketID int The nordnet market id.
level int Level 1 - Only price ticks.
Level 2 - Price ticks + order depth.

Example

Request: GET -> https://BASE_URL/API_VERSION/realtime_access

Result:

<realtime-accesses type="array">
    <realtime-access>
        <level type="integer">1</level>
        <marketID>6</marketID>
    </realtime-access>
    <realtime-access>
        <level type="integer">1</level>
        <marketID>11</marketID>
    </realtime-access>
</realtime-accesses>

News

News sources

Get all news sources that the user has the right to see.

Request: GET -> https://BASE_URL/API_VERSION/news_sources

Result:

Key Type Description
news_sources array[news_source] Key Type Description
name string The name of the news source
code string Nordnet news source code.
level string What can the user see.
DELAYED - The user can see the news with a 15 minute delay.
REALTIME - The user can see the news in realtime.
FLASH - The user can see FLASH news (FLASH also implies realtime for ordinary news).
sourceid int The Nordnet news source id
imageurl string The location of the logotype.
countries array[country] Key Type Description
country string Country code

Example

Request: GET -> https://BASE_URL/API_VERSION/news_sources

Result:

<news-sources type="array">
    <news-source>
        <name>Kauppalehti Online</name>
        &lt;code&gt;kol&lt;/code&gt;;
        &lt;level&gt;FLASH&lt;/level&gt;
        &lt;sourceid type="integer"&gt;35&lt;/sourceid&gt;
        &lt;imageurl&gt;/now/images/loggaKOL.gif&lt;/imageurl&gt;
    &lt;/news-source&gt;
    &lt;news-source&gt;
        &lt;name&gt;Cision&lt;/name&gt;
        &lt;code&gt;wkr&lt;/code&gt;
        &lt;level&gt;REALTIME&lt;/level&gt;
        &lt;sourceid type="integer"&gt;11&lt;/sourceid&gt;
        &lt;imageurl&gt;/now/images/loggaCision.gif&lt;/imageurl&gt;
    &lt;/news-source&gt;
&lt;/news-sources&gt;

News search

Search for news or get all news after a specific timestamp.

Request: GET -> "https://BASE_URL/API_VERSION/news_items":https://BASE_URL/API_VERSION/news_items

Key Type Description Example
query string The query string if omitted or empty all news are returned for the time period and sources. Nordnet, riksbanken.
sourceids string Comma separated list of news sources. If empty or omitted all news sources that the user has the right to see is used. 2,4,7
count integer Max number of items in the result 5
after timestamp Specify a starting point for the search. If empty only news from today will be included in the search. 2011-01-10 15:00:00

Result:

Key Type Description
news_items array[news_item] Key Type Description
datetime timestamp Time of the news
headline string The news headline
itemid int News item id.
sourceid int The news source id
type string News type (differs with the news sources).

Example

Request: GET -> https://BASE_URL/API_VERSION/news_items?count=2

Result:

<news-items type="array">
    <news-item>
        <datetime type="timestamp">2011-01-10 11:26:43 +0100</datetime>
        <headline>LONDON MARKETS: BP Falls, Smith &amp;amp; Nephew Soars In London</headline>
        <itemid>159619003</itemid>
        <sourceid type="integer">3</sourceid>
        <type>NEWS</type>
    </news-item>
    <news-item>
        <datetime type="timestamp">2011-01-10 11:25:42 +0100</datetime>
        <headline>DJ EANS-DD: Henkel AG &amp;amp; Co. KGaA / Mitteilung vºber..</headline>
        <itemid>470605004</itemid>
        <sourceid type="integer">4</sourceid>
        <type>NEWS</type>
    </news-item>
</news-items>

News item

To get one news item with body use the following request.

Request: GET -> https://BASE_URL/API_VERSION/news_items/[ID]

Result:

Key Description
news-item Key Type Description
datetime timestamp The publication time.
body string The news body
headline string The news headline.
itemid int News id in the Nordnet system.
lang string The language of the news.
preamble string The preamble of the news. Usually empty.
sourceid int The Nordnet id of the news source.
type string News type (differs with the news sources).

Example

Request: GET -> https://BASE_URL/API_VERSION/news_items/4711

Result:

<?xml version="1.0" encoding="UTF-8"?>
<news-item>
    <datetime type="timestamp">2010-03-01 10:40:19 UTC</datetime>
    <headline>Danske Equities h&amp;#230;ver Thrane &amp;amp; Thrane til K&amp;#248;b</headline>
    <body>The news body text</body>
    <itemid>4711</itemid>
    <lang>da</lang>
    <preamble></preamble>
    <sourceid type="integer">6</sourceid>
    <type>NEWS</type>
</news-item>

Account based queries

Get accounts

Get all accounts that this session has the right to see.

Request: GET -> https://BASE_URL/API_VERSION/accounts

Result:
Key Type Description
accounts array[account] Key Type Description
id string The account id used used for retrieving more information about an account
default bool True if the account is the default account.

Example

Request: GET -> https://BASE_URL/API_VERSION/accounts

Result:

<?xml version="1.0" encoding="UTF-8"?>
<accounts type="array">
    <account>
        <id>4711</id>
    </account>
    <account>
        <id>4712</id>
    </account>
</accounts>

Get account summary

Request: GET -> https://BASE_URL/API_VERSION/accounts/[caccount id]

Result:
Key Type Description
account node Key Type Description
accountSum float Money available
fullMarketvalue float The value of the account including money and positions
accountCurrency string The currency of the account
tradingPower float Highest amount to available for trading.

Example

Request: GET -> https://BASE_URL/API_VERSION/accounts/4711/

Result:

<account>
   <accountCurrency>SEK</accountCurrency>
   <accountSum>-936.4909380000001</accountSum>
   <collateral>0.0</collateral>
   <forwardSum>0.0</forwardSum>
   <fullMarketvalue>24829.306552805017</fullMarketvalue>
   <futureSum>0.0</futureSum>
   <has_bank_services>false</has_bank_services>
   <interest>-4.006244</interest>
   <loanLimit>1000000.0</loanLimit>
   <ownCapital>23888.80937080502</ownCapital>
   <ownCapitalMorning>22925.02191374664</ownCapitalMorning>
   <pawnValue>18021.07</pawnValue>
   <tradingPower>17040.16</tradingPower>
</account>

Get account ledgers

Request: https://BASE_URL/API_VERSION/accounts/[account id]/ledgers

Result:
Key Type Description
ledgers array[ledger] Key Type Description
currency String Currency for this currency account
accountSum float The amount of money in this currency.
accountSumAcc float The amount of money including accrued intersest.
accIntCred float Accrued interest credit.
accIntDeb float Accrued interest debit.

Example

Request: GET -> https://BASE_URL/API_VERSION/accounts/4711/ledgers

Result:

<ledgers>
    <ledger>
        <currency>SEK</currency>
        <accountSum>-248492.35</accountSum>
        <accountSumAcc>-248492.35</accountSumAcc>
        <accIntCred>0.0</accIntCred>
        <accIntDeb>-189.64</accIntDeb>
    </ledger>
</ledgers>

Get account positions

Request: GET -> https://BASE_URL/API_VERSION/accounts/[account_id]/positions

Key Type Description
positions array[position] Key Type Description
acqPrice float Acquire price.
acqPriceAcc float Acquire price in the account currency.
pawnPercent float Max percent the user can borrow using this position as security.
qty float Quantity
marketValue float Market value.
marketValueAcc float Market value in the account currency.
instrumentID node Key Type Description
mainMarketId int Nordnet market id
identifier string Instrument identifier
type string Instrument type
currency string Currency for the instrument on the main market
mainMarketPrice float The last price of the instrument on the main market

Example

This example shows positions in one fund and one stock. The position elements contain the same sub-elements for both funds and stocks, but the embedded instrument elements differ depending on the type of instrument.

Request: GET -> https://BASE_URL/API_VERSION/accounts/4711/positions

Result:

<positions>
    <position>
        <acqPrice>100.0</acqPrice>
        <acqPriceAcc>100.0</acqPriceAcc>
        <pawnPercent>80</pawnPercent>
        <qty>0.0912</qty>
        <marketValue>100.85535</marketValue>
        <marketValueAcc>100.85535</marketValueAcc>
        <instrument>
            <mainMarketId>0</mainMarketId>
            <identifier>157958</identifier>
            <type>FND</type>
            <currency>SEK</currency>
        </instrument>
    </position>
    <position>
        <acqPrice>700.1524</acqPrice>
        <acqPriceAcc>700.1524</acqPriceAcc>
        <pawnPercent>85</pawnPercent>
        <qty>9.0</qty>
        <marketValue>642.6</marketValue>
        <marketValueAcc>642.6</marketValueAcc>
        <instrument>
            <mainMarketId>11</mainMarketId>
            <identifier>101</identifier>
            <type>A</type>
            <currency>SEK</currency>
            <mainMarketPrice>55</mainMarketPrice>
        </instrument>
    </position>
</positions>

Exchange orders

Get exchange traded orders for an account.

Request: GET -> https://BASE_URL/API_VERSION/accounts/[account_id]/orders

Result:

Key Type Description
securityOrders array[order] Key Type Description
exchangeOrderID string Order id on the exchange. The format is different on different exchanges
orderID int Nordnet internal order id.
activationCondition node Key Type Description
type string "NONE".
"DATE" - The order is activated on a certain day and time.
"TRIGGER_ON_PRICE" - The order is activated when the market price of the instrument reaches a trigger price
date date The date to activate the order - only set when type is "DATE"
price node Only set when type is "TRIGGER_ON_PRICE"
Key Type Description
curr string Currency.
value float The price.
regdate timestamp The date when the order is registred in the Nordnet system. Not when it enters the market.
priceCondition string "LIMIT" or "AT_MARKET".
price node Key Type Description
curr string Currency.
value float The price.
volumeCondition string "NORMAL" - All types of fills are accepted.
"ALL_OR_NOTHING" - Partial fills not accepted.
volume float The remaining volume of the order.
side string BUY or SELL
tradedVolume float Total volume of all trades of the order.
accno string The Nordnet account number.
instrumentID node Key Type Description
marketID int The Nordnet market identifier.
identifier string The exchange specific identifier (feedcode, orderbookid or similar)
validity node Key Type Description
type string Validity period "DAY", "UNTIL_DATE", "UNTIL_CANCELLED" or "IMMEDIATE"
date date Cancel date, only used when type is "UNTIL_DATE"
orderState string DEL_FAIL - Delete request failed and the order is still active on market.
DEL_PEND - Delete request in progress and unconfirmed from the market.
DELETED - Order is deleted.
INS_FAIL - Insert failed.
INS_PEND - Pending insert.
LOCAL - Order is offline/local and eligible for activation.
MOD_FAIL - Modification failed and the previous order values are still valid.
MOD_PEND - Modification in progress and waiting confirmation from market.
MOD_CONF - Modification is confirmed by the market.
ON_MARKET - Order is active on market
statusText string Status message from the exchange/market.

Example

Request: GET -> https://BASE_URL/API_VERSION/accounts/4711/orders

Result:

<securityOrders type="array">
    <securityOrder>
        <priceCondition>LIMIT</priceCondition>
        <price>
        <value type="float">54.0</value>
        <curr>SEK</curr>
        </price>
        <side>BUY</side>
        <orderID type="integer">6596</orderID>
        <volumeCondition>NORMAL</volumeCondition>
        <tradedVolume type="float">0.0</tradedVolume>
        <instrumentID>
            <marketID type="integer">11</marketID>
            <identifier>101</identifier>
        </instrumentID>
        <orderState>ON_MARKET</orderState>
        <openVolume type="float">0.0</openVolume>
        <accno type="integer">4711</accno>
        <volume type="float">2.0</volume>
        <activationCondition>
            <type>NONE</type>
            <triggerPrice type="float">0.0</triggerPrice>
        </activationCondition>
        <modDate type="integer">1276165000007</modDate>
    </securityOrder>
</securityOrders>

Exchange trades

Get exchange trades for an account.

Request: GET -> https://BASE_URL/API_VERSION/accounts/[account_id]/trades

Result:

Key Type Description
trades array[trade] Key Type Description
accno string The Nordnet account number.
orderID int The Nordnet orderid of the traded order.
instrumentID node Key Type Description
marketID int The Nordnet market identifier.
identifier string The exchange specific identifier (feedcode, orderbookid or similar)
volume float The volume of the trade
price node Key Type Description
curr string Currency.
value float The price.
side string "BUY" or "SELL"
tradeID string The exchange tradid
counterparty string The trade counterparty.
tradetime datetime The exchange time of trade.

Example

Request: GET -> https://BASE_URL/API_VERSION/accounts/4711/trades

Result:

<securityTrades type="array">
    <securityTrade>
        <volume>2</volume>
        <accno>4711</accno>
        <intrumentID>
            <identifier>101</identifier>
            <marketID>11</marketID>
        </intrumentID>
        <side>BUY</side>
        <tradeID>B6567-20100610</tradeID>
        <tradetime>11:01:49</tradetime>
        <price>
            <value>81</value>
            <curr>SEK</curr>
        </price>
        <counterparty>MCF</counterparty>
        <orderID>6562</orderID>
    </securityTrade>
</securityTrades>

Instrument information

Instruments in the Nordnet system are always identified by market and identifier.

Instrument search

Instruments can be searched by parts of the name, type and country.

Request: GET -> https://BASE_URL/API_VERSION/instruments?query=%3cpart of the name>&amp;type=[instrument_type]&amp;country=[SE, DK, NO, FI, DE, US, CA]

Key Type Description Example
query string The search string to use ERI, VOL
type string The type of the instrument A, O, WNT, FND, FUT
country string The country to search in SE, DK, NO, FI, DE, US, CA

Result:

Key Type Description
instrument array[instrument] Key Type Description
currency string Currency of the instrument
type string A-Stock
O-Option
FUT-Future
F-Fund
WNT-Warrant
country string Country
identifier string Nordnet instrument identifier
marketID string The Nordnet market identifier
shortname string Shortname of the instrument (ticker)
isinCode string ISIN code of the instrument
longname string Name of the instrument

Example

Request: GET -> https://BASE_URL/API_VERSION/instruments?query=abb&type=A&country=SE

Result:

<instruments type="array">
    <instrument>
        <currency>SEK</currency>
        <type>A</type>
        <country>SE</country>
        <identifier>3966</identifier>
        <marketID>11</marketID>
        <shortname>ABB</shortname>
        <isinCode>CH0012221716</isinCode>
        <longname>ABB Ltd</longname>
        </instrument>
        <instrument>
        <currency>SEK</currency>
        <type>A</type>
        <country>SE</country>
        <identifier>1954</identifier>
        <marketID>30</marketID>
        <shortname>ABB</shortname>
        <isinCode>CH0012221716</isinCode>
        <longname>ABB Ltd</longname>
    </instrument>
</instruments>

Instrument lookup

Get information about one instrument from the identifier and marketID.

Request: GET -> https://BASE_URL/API_VERSION/instruments

Key Type Description Example
identifier string Nordnet instrument identifier 101
marketID integer Nordnet market identifier 11

Result:

Key Type Description
instrument Key Type Description
currency string Currency of the instrument
type string A-Stock
O-Option
FUT-Future
F-Fund
WNT-Warrant
country string Country
identifier string Nordnet instrument identifier
marketID string The Nordnet market identifier
shortname string Shortname of the instrument (ticker)
isinCode string ISIN code of the instrument
longname string Name of the instrument
ticksizeID int Identifier of the valid ticksize.

Example

Request: GET -> https://BASE_URL/API_VERSION/instruments?identifier=101&amp;marketID=11

Result:

<instrument>
    <currency>SEK</currency>
    <type>A</type>
    <country>SE</country>
    <identifier>101</identifier>
    <marketID>11</marketID>
    <shortname>ERIC B</shortname>
    <isinCode>SE0000108656</isinCode>
    <longname>Ericsson B</longname>
    <ticksizeID>12</ticksizeID>
</instrument>

Multiple instrument lookup

Get information about multiple instruments. The information is the same as in Instrument lookup.

Request: GET -> https://BASE_URL/API_VERSION/instruments

Key Type Description Example
list string A semicolon separated list of marketID,identifier. 11,101;11,817;11,939

Result:

Key Type Description
instruments instrument[array] Key Type Description
currency string Currency of the instrument
type string A-Stock
O-Option
FUT-Future
F-Fund
WNT-Warrant
country string Country
identifier string Nordnet instrument identifier
marketID string The Nordnet market identifier
shortname string Shortname of the instrument (ticker)
isinCode string ISIN code of the instrument
longname string Name of the instrument
ticksizeID int Identifier of the valid ticksize.

Example

Request: GET -> https://BASE_URL/API_VERSION/instruments?list=11,101;11,817;11,939

Result:

<instruments type="array">
    <instrument>
        <type>A</type>
        <country>SE</country>
        <shortname>ERIC B</shortname>
        <longname>Ericsson B</longname>
        <identifier>101</identifier>
        <isinCode>SE0000108656</isinCode>
        <marketID>11</marketID>
        <currency>SEK</currency>
        <ticksizeID>11002</ticksizeID>
    </instrument>
    <instrument>
        <type>A</type>
        <country>SE</country>
        <shortname>HLDX</shortname>
        <longname>Haldex AB</longname>
        <identifier>817</identifier>
        <isinCode>SE0000105199</isinCode>
        <marketID>11</marketID>
        <currency>SEK</currency>
        <ticksizeID>12</ticksizeID>
    </instrument>
    <instrument>
        <type>A</type>
        <country>SE</country>
        <shortname>SKIS B</shortname>
        <longname>SkiStar AB ser. B</longname>
        <identifier>939</identifier>
        <isinCode>SE0000241614</isinCode>
        <marketID>11</marketID>
        <currency>SEK</currency>
        <ticksizeID>11002</ticksizeID>
    </instrument>
</instruments>

Chart data

Chart data gives price data for an instrument for today. The information is for each minute during the day.

Request: GET -> https://BASE_URL/API_VERSION/chart_data

Key Type Description Example
identifier string Nordnet instrument identifier 101
marketID integer Nordnet market identifier 11

Result:

Key Type Description
ticks array[tick] Key Type Description
timestamp string On the format HH:MM.
change float Change since opening
volume integer Traded volume (no of shares) during this minute.
price Float The price.

Example

Request: GET -> https://BASE_URL/API_VERSION/chart_data?marketID=11&identifier=101

Result:

<ticks type="array">
    <tick>
        <timestamp>09:38</timestamp>
        <change type="float">12.18</change>
        <volume type="integer">10000</volume>
        <price type="float">82.0</price>
    </tick>
    <tick>
        <timestamp>09:39</timestamp>
        <change type="float">12.18</change>
        <volume type="integer">0</volume>
        <price type="float">82.0</price>
    </tick>
        <tick>
        <timestamp>09:40</timestamp>
        <change type="float">12.18</change>
        <volume type="integer">0</volume>
        <price type="float">82.0</price>
    </tick>
    <tick>
        <timestamp>09:41</timestamp>
        <change type="float">12.18</change>
        <volume type="integer">0</volume>
        <price type="float">82.0</price>
    </tick>
</ticks>

Get lists

Get all Nordnet predefined instrument lists. This data is static during the day and the service should be called once after login and the result should be cached in the application.

Request: GET -> https://BASE_URL/API_VERSION/lists

Key Type Description
lists array[list] Key Type Description
name string Name of the market
id string Nordnet list id
country string The country of the list (SE, DK, NO, FI, DE and NORDIC)

Example

Request: GET -> https://BASE_URL/API_VERSION/lists

Result:

<lists type="array">
    <list>
        <name>Nordic List</name>
        <country>NORDIC</country>
        <id>1</id>
    </list>
    <list>
        <name>Nordic Large Cap</name>
        <country>NORDIC</country>
        <id>2</id>
    </list>
    <list>
        <name>Small Cap Stockholm</name>
        <country>SE</country>
        <id>10</id>
    </list>
    <list>
        <name>OMXS30</name>
        <country>SE</country>
        <id>26</id>
    </list>
    <list>
        <name>Exchange traded commodities (ETC)</name>
        <country>NO</country>
        <id>626284</id>
    </list>
    <list>
        <name>Certifikat (ETN)</name>
        <country>SE</country>
        <id>626283</id>
    </list>
</lists>

Get list items

Get all instruments in a predefined list. This data is static during the day and the service should be called once after login and the result should be cached in the application.

Request: GET -> https://BASE_URL/API_VERSION/lists/id

Key Type Description
listItems array[listItem] Key Type Description
shortname string Instrument shortname (ticker)
identifier string Nordnet instrument identifier
marketID int The Nordnet market identifier

Example

Request: GET -> https://BASE_URL/API_VERSION/lists/26

Result:

<listItems type="array">
    <listItem>
        <shortname>SSAB A</shortname>
        <marketID>11</marketID>
        <identifier>300</identifier>
    </listItem>
    <listItem>
        <shortname>ABB</shortname>
        <marketID>11</marketID>
        <identifier>3966</identifier>
    </listItem>
    <listItem>
        <shortname>ALFA</shortname>
        <marketID>11</marketID>
        <identifier>18634</identifier>
    </listItem>
    <listItem>
        <shortname>LUPE</shortname>
        <marketID>11</marketID>
        <identifier>22335</identifier>
    </listItem>
    <listItem>
        <shortname>ERIC B</shortname>
        <marketID>11</marketID>
        <identifier>101</identifier>
    </listItem>
    <listItem>
        <shortname>GETI B</shortname>
        <marketID>11</marketID>
        <identifier>812</identifier>
    </listItem>
</listItems>

Get markets

Get all marketID to market name connections. This data is static during the day and the service should be called once after login and the result should be cached in the application.

Request: GET -> https://BASE_URL/API_VERSION/markets

Result:
Key Description Description
markets array[market] Key Type Description
name string Name of the market
marketID Int Nordnet market id
country string Country
ordertypes array[ordertype] Key Type Description
type string NORMAL, FAK or FOK
text string Describing text of the ordertypes.

Get valid trading days

Get all valid trading days for a market. The trading days could be used in the client when the customer wants to enter a long time order.

Request: GET -> https://BASE_URL/API_VERSION/markets/<marketID>/trading_days

Result:
Key Description Description
trading_days array[trading_days] Key Type Description
date date The date on the same format as the enter order valid_date parameter
display_date string The date as a localized string

Get indices

Get all indices available in the public feed. This data is static during the day and the service should be called once after login and the result should be cached in the application.

Note: The name of this request is a bit misleading since it is not only indices in the reply. The request should be renamed to indicators.

Request: GET -> https://BASE_URL/API_VERSION/indices

Result:
Key Description Description
indices array[index] Key Type Description
longname string Name of the index
source string Source id to use in subscription
id string Index id to use in subscription.
type string The type of the indicator. CURRENCY, INTEREST, COMMODITY or INDEX
country string Country code if available. This fields is left out if country is not applicable.

Get ticksize table

Get one ticksize table. The ticksize table should be cached in the client and not fetched for all instrument

Request: GET -> https://BASE_URL/API_VERSION/ticksizes/[ID]

Result:
Key Description Description
ticksizes array[ticksize] Key Type Description
decimals int Number of decimals
above float The ticksize is valid above this value (until a new above is found)
tick float The actual tick size.

Example

Request: GET -> https://BASE_URL/API_VERSION/ticksizes/11002

Result:

<ticksizes type="array">
    <ticksize>
        <decimals type="integer">4</decimals>
        <tick type="float">0.0001</tick>
        <above type="float">0.0</above>
    </ticksize>
    <ticksize>
        <decimals type="integer">4</decimals>
        <tick type="float">0.0005</tick>
        <above type="float">0.5</above>
    </ticksize>
    <ticksize>
        <decimals type="integer">3</decimals>
        <tick type="float">0.001</tick>
        <above type="float">1.0</above>
    </ticksize>
    [...]
    <ticksize>
        <decimals type="integer">0</decimals>
        <tick type="float">10.0</tick>
        <above type="float">10000.0</above>
    </ticksize>
    <ticksize>
        <decimals type="integer">0</decimals>
        <tick type="float">50.0</tick>
        <above type="float">50000.0</above>
    </ticksize>
</ticksizes>

Derivatives

List of derivatives for a specific underlying can be retrieved and a list of underlyings for a specific derivate type and county can be found.

Get countries

Fetch valid countries where a specific derivate type can be found.

Request: GET -> https://BASE_URL/API_VERSION/derivatives/[derivative_type]

Key Type Description
derivate type string Nordnet instrument type identifier eg. O, WNT.

Result:

Key Type Description
countries array[country] Key Type Description
name string Short name of the country, SE, NO, DK or FI.

Get underlyings

Fetch all underlyings for a specific derivative type and country. Used to create a list of underlyings to for example warrants in Sweden. The underlyings
can come from any country.

Request: GET -> https://BASE_URL/API_VERSION/derivatives/[derivative_type]/underlyings/[country]

Key Type Description
derivate type string Nordnet instrument type identifier eg. O, WNT.
country string Country code. SE, NO and so on.
Result:
Key Type Description
underlying array[underlying] Key Type Description
shortname string Shortname of the instrument e.g ERIC B
marketID int Nordnet market place identifier
Identifier String Nordnet instrument identifier.

Get derivatives

Get all derivatives of a specific type for a specific underlying instrument. If the underlying instrument isn't found the empty list is returned.

Request: GET -> https://BASE_URL/API_VERSION/derivatives/[derivative_type]/derivatives

Key Type Description
derivate type string Nordnet instrument type identifier eg. O, WNT.
marketID int Nordnet market identifier.
identifier string Nordnet instrument identifier.

Result:

Key Type Description
derivatives array[derivative] Key Type Description
shortname string Shortname of the derivative.
multiplier int Multiplier.
strikeprice float Strike price
expirydate date Expiry date
marketID int Nordnet market identifier
identifier string Nordnet instrument identifier
kind string Type of the instrument
expirytype string American or European
currency string Currency
callPut string Describes call or put type.

Examples derivatives

Get all countries where warrants can be traded.

Request: GET -> https//BASE_URL/API_VERSION/derivatives/WNT

Result:

<countries type="array">
    <country>
        <name>SE</name>
    </country>
    <country>
        <name>FI</name>
    </country>
    <country>
        <name>NO</name>
    </country>
</countries>

Get all Swedish instruments that are underlyings for warrants.

Request: GET -> https//BASE_URL/API_VERSION/derivatives/WNT/underlyings/SE

Result:

<underlyings type="array">
    <underlying>
        <shortname>ERIC B</shortname>
        <marketID>11</marketID>
        <identifier>101</identifier>
    </underlying>
    [...]
    <underlying>
        <shortname>VOLV B</shortname>
        <marketID>11</marketID>
        <identifier>366</identifier>
    </underlying>
</underlyings>

Get all warrants with underlying ERIC B

Request: GET -> https//BASE_URL/API_VERSION/derivatives/WNT/derivatives?marketID=11&amp;identifier=101

Result:

<derivatives type="array">
    <derivative>
        <shortname>ERI1N 60SHB</shortname>
        <multiplier>1</multiplier>
        <strikeprice>60.000000</strikeprice>
        <expirydate>2011-02-18 00:00:00</expirydate>
        <marketID>11</marketID>
        <expirytype>European</expirytype>
        <kind>WNT</kind>
        <identifier>76987</identifier>
        <currency>SEK</currency>
        <callPut>Warrant Put</callPut>
    </derivative>
    [...]
    <derivative>
        <shortname>ERI1J 60SHB</shortname>
        <multiplier>1</multiplier>
        <strikeprice>60.000000</strikeprice>
        <expirydate>2011-10-21 00:00:00</expirydate>
        <marketID>11</marketID>
        <expirytype>European</expirytype>
        <kind>WNT</kind>
        <identifier>77571</identifier>
        <currency>SEK</currency>
        <callPut>Warrant Call</callPut>
    </derivative>
</derivatives>

Related markets

Get all markets where an instrument can be traded. The reply contains both marketID and identifier for all markets where the instrument can be traded.

Request: GET -> https://BASE_URL/API_VERSION/related_markets

Parameters:

Key Description
identifier Nordnet instrument identifier
marketID Nordnet market identifier
Result:
Key Type Description
related_markets array[related_market] Key Type Description
identifier String Nordnet instrument identifier.
marketID int Nordnet market place identifier

Example

Get all markets where ERIC B can be traded.

Request: GET -> https://BASE_URL/API_VERSION/related_markets?marketID=11&identifier=101

Result:

<related-markets type="array">
    <related-market>
        <identifier>101</identifier>
        <marketID type="integer">11</marketID>
    </related-market>
    <related-market>
        <identifier>1965</identifier>
        <marketID type="integer">30</marketID>
    </related-market>
</related-markets>

Order handling

Order entry

Request: POST -> https://BASE_URL/API_VERSION/accounts/[account_id]/orders

Parameters:

Key Description
identifier Nordnet instrument identifier
marketID Nordnet market identifier
price The price limit of the order
volume The volume of the order.
side Buy or sell
currency The currency that the instrument is traded in.
order_type FAK, FOK or NORMAL, NORMAL is the default if order_type is left out.
valid_until Date on format YYYY-MM-DD, if left out the order is a day order. (Same behavior as if valid_date should be set to today). Can't be set when smart_order=true.
open_volume The visible part of an iceberg order. If left out the whole volume of the order is visible on the market
smart_order Can be set to true or false. If true Nordnet Smart Order router decides which market the order is routed to.If left out smart_order defaults to false. Smart_order is only valid for day orders.
Result:
Key Type Description
orderID int The orderid of the created order.
resultCode string OK or error.
orderState string The state of the order.
actionState string The state of this transaction.

Example

Buy 2 ERIC B at OMX for 54 SEK for account 4711

Request: POST -> https://BASE_URL/API_VERSION/accounts/4711/orders?identifier=101&amp;marketID=11&amp;price=54&amp;side=buy&amp;volume=2&amp;currency=SEK

Result:

<?xml version="1.0" encoding="UTF-8"?>
<orderstatus>
    <orderID type="integer">6670</orderID>
    <resultCode>OK</resultCode>
    <orderState>LOCAL</orderState>
    <actionState>INS_PEND</actionState>
</orderstatus>

Order modify

Request: PUT -> https://BASE_URL/API_VERSION/accounts/[account id]/orders/<order id>

Parameters:

Key Description
Price The new price limit of the order
Volume The new volume of the order.

Note: price or volume is needed. If only the price is changed only the price field is needed and if only the volume should change only the volume field is needed.

Result:

Key Type Description
orderID int The orderid of the modified order.
resultCode string OK or error.
orderState string The state of the order.
actionState string The state of this transaction.

Example

Modify the order 6670 to price 53 and volume 3

Request: PUT -> https://BASE_URL/API_VERSION/accounts/4711/orders/6670?price=53&amp;volume=3

Result:

<?xml version="1.0" encoding="UTF-8"?>
<orderstatus>
    <orderID type="integer">6670</orderID>
    <resultCode>OK</resultCode>
    <orderState>ON_MARKET</orderState>
    <actionState>MOD_PEND</actionState>
</orderstatus>

Order delete

Request: DELETE -> https://BASE_URL/API_VERSION/accounts/[account id]/orders/<order id>

Result:
Key Type Description
orderID int The orderid of the deleted order.
resultCode string OK or error.
orderState string The state of the order.
actionState string The state of this transaction.

Example

Delete the order 6670

Request: DELETE ->https://BASE_URL/API_VERSION/accounts/4711/orders/6670

Result:

<?xml version="1.0" encoding="UTF-8"?>
<orderstatus>
    <orderID type="integer">6670</orderID>
    <resultCode>OK</resultCode>
    <orderState>ON_MARKET</orderState>
    <actionState>DEL_PEND</actionState>
</orderstatus>