openapi: 3.0.3 info: title: Factset Analytics Datastore About DFSnapshot API description: Allow clients to fetch precalculated Analytics through predeterministic URLs. contact: name: FactSet Research Systems url: https://developer.factset.com/contact email: api@factset.com license: name: Apache License, Version 2.0 url: https://www.apache.org/licenses/LICENSE-2.0 version: 1.0.0 servers: - url: https://api.factset.com description: Production - url: https://api-sandbox.factset.com description: Sandbox security: - basicAuth: [] tags: - name: DFSnapshot paths: /DFSnapshot: get: summary: Factset Request a snapshot of exchange data for a list of symbols. operationId: get_DFSnapshot tags: - DFSnapshot description: "\n`ids` and `oc` are required parameters, but only one can be used based on request. Use `ids` for regular snapshot requests, and `oc` for requesting an option chain. \n\n**Try it Out** feature is available using a pre-recorded sandbox environment. Follow Try it Out inscrutions on each parameter to develop a request and view a sample server response.\n\n'*You must be logged into the Developer Portal and obtain an **[API Key](https://developer.factset.com/factset/api-key-listing)** for ''Try it Out'' to receive a successful server response. Select **Authorize** button or visit **[Authentication Support](https://developer.factset.com/authentication)** for more details.*'\n" parameters: - $ref: '#/components/parameters/ids' - $ref: '#/components/parameters/oc' - $ref: '#/components/parameters/fields' - $ref: '#/components/parameters/sf' - $ref: '#/components/parameters/format' - $ref: '#/components/parameters/serv' - $ref: '#/components/parameters/req_id' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/DFSnapshot_Response' example: Error: - 0 - '' FDS-USA: Key: FDS-USA:D Stale: '' Fields: '50': LAST_Price: '291.7' '509': BID: '291.6' '609': ASK: '291.78' Host: FactSet IBM-USA: Key: IBM-USA:D Stale: '' Fields: '50': LAST_Price: '140.84' '509': BID: '140.83' '609': ASK: '140.85' Request ID: '' Requested Fields: ASK,BID,LAST_Price Requested Symbols: FDS-USA,IBM-USA,TSLA-USA Service: '' TSLA-USA: Key: TSLA-USA:D Stale: '' Fields: '50': LAST_Price: '236.45' '509': BID: '236.43' '609': ASK: '236.5' application/xml: schema: $ref: '#/components/schemas/DFSnapshot_Response' example: IBM-USA FactSet text/csv: schema: $ref: '#/components/schemas/DFSnapshot_Response' example: REQ_SYM,KEY,ASK,BID,LAST_Price FDS-USA,FDS-USA:D,291.12,291.01,291.06 IBM-USA,IBM-USA:D,140.72,140.7,140.7 TSLA-USA,TSLA-USA:D,235.73,235.61,235.69 '402': $ref: '#/components/responses/402' '403': $ref: '#/components/responses/403' post: summary: Factset Snap exchange data. Use if URL lengh of 2,048 is exceeded. operationId: post_DFSnapshot tags: - DFSnapshot description: Request Snapshot exchange data. Use POST when your URL length exceeds 2,048 characters. parameters: - $ref: '#/components/parameters/ids' - $ref: '#/components/parameters/oc' - $ref: '#/components/parameters/fields' - $ref: '#/components/parameters/sf' - $ref: '#/components/parameters/format' - $ref: '#/components/parameters/serv' - $ref: '#/components/parameters/req_id' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/DFSnapshot_Response' example: Error: - 0 - '' FDS-USA: Key: FDS-USA:D Stale: '' Fields: '50': LAST_Price: '291.7' '509': BID: '291.6' '609': ASK_1: '291.78' Host: FactSet IBM-USA: Key: IBM-USA:D Stale: '' Fields: '50': LAST_Price: '140.84' '509': BID: '140.83' '609': ASK: '140.85' Request ID: '' Requested Fields: ASK_1,BID_1,LAST_1 Requested Symbols: FDS-USA,IBM-USA,TSLA-USA Service: '' TSLA-USA: Key: TSLA-USA:D Stale: '' Fields: '50': LAST_Price: '236.45' '509': BID: '236.43' '609': ASK: '236.5' application/xml: schema: $ref: '#/components/schemas/DFSnapshot_Response' example: IBM-USA FactSet text/csv: schema: $ref: '#/components/schemas/DFSnapshot_Response' example: REQ_SYM,KEY,ASK,BID,LAST_Price FDS-USA,FDS-USA:D,291.12,291.01,291.06 IBM-USA,IBM-USA:D,140.72,140.7,140.7 TSLA-USA,TSLA-USA:D,235.73,235.61,235.69 '402': $ref: '#/components/responses/402' '403': $ref: '#/components/responses/403' components: parameters: req_id: name: req_id in: query description: Request Identification String. Can be used by the application to keep track of requests. The id is not used by this service, however, it is included in the XML response.

**Try it Out** - any value can be passed through.

required: false schema: type: string format: name: format description: The format of the output file.

**Try it Out** - All formats available

in: query schema: type: string default: XML enum: - XML - JSON - CSV sf: description: "Symbol Filters, ability to apply filtering to the result of an option chain `oc` request based on available fields and values for the symbols. `sf`=VALUE_[filter],[field],[value]\n * **VALUE_MINMAX** - Field value will be within specified interval. ex. - VALUE_MINMAX,BID_1,min,max\n * **VALUE_EQUALS** - Field value will equal specified value. ex. - VALUE_EQUALS,BID_1,value\n * **VALUE_NOT_EQUALS** - Field value will not equal specified value. ex. - VALUE_NOT_EQUALS,BID_1,value\n \n **Try it Out** - depends on fields used. Example - VALUE_MINMAX,STRIKE_PRICE,120,130 \n" name: sf in: query schema: type: string oc: description: Option Chain, accepts one underlying symbol for which the option chain will be returned. **Required** if not using `ids`.

**Try it Out** - Only available for BABA-USA

name: oc in: query schema: type: string serv: description: "The Data Service that handles the request for the specified symbols. Available live services are - \n * **FDS1** -Production Data Service\n * **FDS_FUND** -Fundamental Data Service used for End-of-Day data.\n\n**Try it Out** - use FDS1\n" name: serv in: query schema: type: string enum: - FDS1 - FDS_FUND ids: description: Requested symbols or securities. **Required** if not using `oc`. This is a comma-seperated list with a maximum of 500. Each symbol can be a FactSet Exchange Symbol, CUSIP, or SEDOL. This can be used in combination with `chain` parameter to pull in a custom portfolio.

**Try it out** - Choose one or multiple - IBM-USA, BABA-USA, WALMEX-MX, 7203-TKS, VOD-LON, NPN-JSE, MABAX, NZF, SPY-USA, AGG-USA, GLD-USA, AOR-USA, MNA-USA, UUP-USA, SP50-SPX, ESX-STX, XAO-ASX, WD-MSX, NG00-USA, GC00-USA, CC00-USA, C00-USA, FC00-USA, ER00-USA, EURUSD-FX1, USDMXN-FX1, AUDJPY-FX1, EURCZK-FX1, USDILS-FX1, USDZAR-FX1, US10YY-TU1, FDS#190621C00145000-USA, FDS#190621P00145000-USA. *Leave blank if you are trying the `oc` parameter*.

name: ids in: query schema: type: string required: false fields: description: 'All available fields. This is a comma-seperated list (no spaces). **Required** only when using `oc`. Otherwise, leave blank to return all fields by default. See definitions for details on available field names and Field ID #s. The Data Service Manual has complete reference.

**Try it Out** - All fields available. Use either FID # or name. For `oc`, recommend to use BID_1,ASK_1,STRIKE_PRICE.' name: fields in: query schema: type: string schemas: fields: type: object description: All available fields in service. FID = Field ID Number. properties: Exchange: description: 'Field ID # 20. Exchange ISO-Code. Enumeration in Data Service Manual.' type: string product: description: 'Field ID # 4. Product identifier. Enumeration in Data Service Manual.' type: string Bid: description: 'Field ID # 509. Current bid price' type: number Bid_Date: description: 'Field ID # 386. Current bid date' type: string Bid_Time: description: 'Field ID # 385. Current bid time' type: integer Bid_Vol: description: 'Field ID # 505. Current bid size' type: integer Bid_Tick: description: 'Field ID # 518. Current bid tick direction. Enumeration in Data Service Manual.' type: string Bid_Close: description: 'Field ID # 648. Official Closing Bid' type: number Bid_Close_Date: description: 'Field ID # 1062. Official Closing Bid Date' type: string Bid_Close_Vol: description: 'Field ID # 296. Official Closing Bid Volume' type: integer Bid_Exch: description: 'Field ID # 506. Exchange of the current bid price. Enumeration in Data Service Manual.' type: string Ask: description: 'Field ID # 609. Current ask price' type: number Ask_Date: description: 'Field ID # 388. Current ask date' type: string Ask_Time: description: 'Field ID # 387. Current ask time' type: integer Ask_Vol: description: 'Field ID # 605. Current ask size' type: integer Ask_Close: description: 'Field ID # 649. Official Closing ask' type: number Ask_Close_Date: description: 'Field ID # 1064. Official Closing ask Date' type: string Ask_Close_Vol: description: 'Field ID # 297. Official Closing ask Volume' type: integer Ask_Exch: description: 'Field ID # 606. Exchange of the current ask price. Enumeration in Data Service Manual.' type: string Short_Sale_Indicator: description: 'Field ID # 277. Flag to indicate if a security is restricted from being sold short' type: integer Quote_Condition: description: 'Field ID # 38. Current Quote Condition. Enumeration in Data Service Manual.' type: string Last_Price: description: 'Field ID # 50. Official last trade price' type: number Last_Date: description: 'Field ID # 384. Last Date' type: string Last_Time: description: 'Field ID # 383. Official last traded time' type: integer Last_Vol: description: 'Field ID # 31. Official last traded volume' type: integer Last_Tick: description: 'Field ID # 25. Official last tick. Enumeration in Data Service Manual.' type: string Official_Close: description: 'Field ID # 526. Official Close/Close Range 1 Price' type: number Official_Close_Time: description: 'Field ID # 1065. Official Close/Close Range 1 Time' type: integer Last_Exch: description: 'Field ID # 33. Official last traded exchange. Enumeration in Data Service Manual.' type: string Settlement: description: 'Field ID # 815. Settle Price' type: number Traded_Price: description: 'Field ID # 912. Last traded Price' type: number Traded_Date: description: 'Field ID # 868. Last traded Date' type: string Traded_Time: description: 'Field ID # 916. Last traded Time' type: integer Traded_Vol: description: 'Field ID # 918. Last traded Volume' type: integer Traded_Condition: description: 'Field ID # 1098. Last traded trade condition' type: string Net_Change: description: 'Field ID # 662. Official last change' type: number Percent_Change: description: 'Field ID # 816. Official last percentage change' type: number Premkt_Price: description: 'Field ID # 1019. Unofficial last premarket trade price' type: number Premkt_Time: description: 'Field ID # 1075. Unofficial last premarket traded time' type: integer Premkt_Vol: description: 'Field ID # 1832. Unofficial last premarket traded volume' type: integer Premkt_CVol: description: 'Field ID # 1836. Unofficial last premarket cumulative volume' type: integer Postmkt_Price: description: 'Field ID # 2029. Unofficial last post market trade price' type: number Postmkt_Time: description: 'Field ID # 1076. Unofficial last post market traded time' type: integer Postmkt_Vol: description: 'Field ID # 1860. Unofficial last post market traded volume' type: integer Postmkt_Cvol: description: 'Field ID # 1864. Unofficial last post market cumulative volume' type: integer Offbook_Cum_Vol: description: 'Field ID # 528. Off Book Cumulative Volume' type: integer Official_Bid_Close: description: 'Field ID # 448. The bid close price of today' type: number Official_Ask_Close: description: 'Field ID # 476. The ask close price of today' type: number Mid_Date: description: 'Field ID # 136. Current mid date' type: string Mid_Time: description: 'Field ID # 135. Current mid price time' type: integer Cvol: description: 'Field ID # 132. Cumulative volume' type: integer Turnover: description: 'Field ID # 341. Turnover' type: number Vwap: description: 'Field ID # 780. Volume Weighted Average Price' type: number Trade_Count: description: 'Field ID # 267. Cumulative trade count' type: integer Block_Trade_Count: description: 'Field ID # 269. Cumulative block count' type: integer Block_Cvol: description: 'Field ID # 271. Cumulative block volume' type: integer Prev_Close: description: 'Field ID # 208. Previous trading days Close' type: number Close_Date: description: 'Field ID # 1051. Previous trading days Closing Date' type: string Prev_Close_Unadj: description: 'Field ID # 892. Unadjusted Previous trading days Close' type: number Prev_Close_2: description: 'Field ID # 1172. Previous trading days Close late rollover[1]' type: number Prev_Close_Unadj_2: description: 'Field ID # 1176. Unadjusted Previous trading days Close late rollover' type: number Lower_Trading_Band: description: 'Field ID # 1093. Lower trading band' type: number Upper_Trading_Band: description: 'Field ID # 1087. Upper trading band' type: number Buy_Imbalance: description: 'Field ID # 495. NYSE buy imbalance' type: integer Sell_Imbalance: description: 'Field ID # 496. NYSE sell imbalance' type: integer Nas_Buy_Imbalance: description: 'Field ID # 948. NAS buy imbalance' type: integer Nas_Sell_Imbalance: description: 'Field ID # 949. NAS sell imbalance' type: integer Open: description: 'Field ID # 158. The Open Range 1 or Open Price' type: number High: description: 'Field ID # 107. Current high for the day' type: number Low: description: 'Field ID # 307. Current low for the day' type: number Venue: description: 'Field ID # 530. Venue' type: string Buy_Id: description: 'Field ID # 1820. Buy Id' type: string Sell_Id: description: 'Field ID # 1824. Sell Id' type: string Auto_Trade_Vwap: description: 'Field ID # 637. VWAP including only order book (automatic) trades' type: number Auto_Trade_Cvol: description: 'Field ID # 635. Cumulative Volume calculated on all automated trading volumes for order-based segments' type: integer Auto_Trade_Count: description: 'Field ID # 636. Trade Quantity including only order book (automatic) trades' type: integer Ex_Date_Status: description: 'Field ID # 531. Ex-Date Status' type: string Premkt_Net_Change: description: 'Field ID # 896. Net change in pre-market session(US stocks only)' type: number Premkt_Percent_Change: description: 'Field ID # 897. Percent change in pre-market session(US stocks only)' type: number Closing_Vol: description: 'Field ID # 1345. Volume of the closing trade' type: integer Primary_Market: description: 'Field ID # 1517. FactSet Exchange Code of primary market for instrument. Determined by highest trading volume over a 3-day calendar period' type: string Iso_Country_Exchange: description: 'Field ID # 1621. Three Letter Country Code from ISO-3166' type: string Premkt_Exch: description: 'Field ID # 1743. Premarket Exchange. Enumeration in Data Service Manual. ' type: string Postmkt_Exch: description: 'Field ID # 1744. Post Market Exchange. Enumeration in Data Service Manual.' type: string Fref_Security_type: description: 'Field ID # 1751. The Security type returned by FREF_SECURITY_type' type: string Security_Sub_type: description: 'Field ID # 1762. Sub type of the security populated for funds right now' type: string Postmkt_Net_Change: description: 'Field ID # 1881. Post Market Net Change' type: number Postmkt_Percent_Change: description: 'Field ID # 1882. Post Market Percent Change. ' type: number Isin: description: 'Field ID # 12. ISIN' type: string Cusip: description: 'Field ID # 14. CUSIP' type: string Sedol: description: 'Field ID # 15. SEDOL' type: string description: description: 'Field ID # 8. Security Description' type: string Shares_Outstanding: description: 'Field ID # 29. Total number of shares outstanding' type: number Price_Currency: description: 'Field ID # 62. Price currency code' type: string Security_Status: description: 'Field ID # 2800. Security Status or Halt Indicator. Enumeration in Data manual' type: string Gmt_Offset: description: 'Field ID # 389. GMT Offset in Minutes' type: integer Market_Segment: description: 'Field ID # 650. Market segment' type: string Market_Sector: description: 'Field ID # 651. Market sector' type: string Period: description: 'Field ID # 633. Period' type: string Country_Code: description: 'Field ID # 652. ISO Country code' type: string Financial_Status: description: 'Field ID # 1896. Financial Status Enumeration Table' type: integer Factset_Industry: description: 'Field ID # 722. FactSet Industry Classification' type: string Factset_Sector: description: 'Field ID # 723. FactSet Sector Classification' type: string Halt_Info: description: 'Field ID # 1414. Halt Status' type: integer Homepage: description: 'Field ID # 724. Company Homepage' type: string Halt_description: description: 'Field ID # 1184. Halt description' type: string Feed_Currency: description: 'Field ID # 1182. Currency the Exchange sends the prices to FactSet in' type: string Country_Name: description: 'Field ID # 1190. Name of Country' type: string Order_Lot_Size: description: 'Field ID # 427. Number of securities in a lot' type: integer Trade_Lot_Size: description: 'Field ID # 1335. The minimum number of lots required to trade' type: integer Tick_Size: description: 'Field ID # 1499. Tick Size' type: number Tick_Group: description: 'Field ID # 1507. Tick Group' type: string Tick_Pilot_Eff_Date: description: 'Field ID # 1508. Tick Pilot effective day' type: string Avg_30Day_Vol: description: 'Field ID # 709. Average cumulative volume for last 30 days' type: number Avg_5Day_Vol: description: 'Field ID # 719. Average cumulative volume over last 5 trading days' type: number High_52Week: description: 'Field ID # 767. 52 Week High Price' type: number Low_52Week: description: 'Field ID # 768. 52 Week Low Price' type: number High_52Week_Date: description: 'Field ID # 1220. 52 Week High Price Date' type: string Low_52Week_Date: description: 'Field ID # 1295. 52 Week Low Price Date' type: string Trade_Condition: description: 'Field ID # 174. Trade Condition' type: string Total_Return_3M: description: 'Field ID # 746. 3 Month return for US mutual funds' type: number Total_Return_52W: description: 'Field ID # 747. 52-Week Total Return for US mutual funds' type: number errorResponse: type: object title: Error Response properties: status: description: status type: string example: Bad Request timestamp: description: timestamp in YYYY-MM-DD HH:MM:SS.SSS type: string example: '2019-11-01 11:09:41.918' format: date-time path: description: The Endpoint path {endpoint} type: string example: /dfsnapshot message: description: The plain text error message type: string example: Validation Error subErrors: description: subErrors related to the error message. Null if not applicable. type: object properties: field: description: Parameter Field Name type: string message: description: Error message type: string DFSnapshot_Response: type: object description: sample response properties: Error: description: error value example: 0 type: array items: $ref: '#/components/schemas/errorResponse' symbol1: description: first symbol from `ids` or `chain` type: array items: $ref: '#/components/schemas/fields' Host: description: host name example: FactSet type: string symbol2: description: second symbol from `ids` or `chain` list type: string securitySchemes: basicAuth: type: http scheme: basic externalDocs: url: https://developer.factset.com/api-catalog/analytics-datastore-api description: API Documentation