Skip to main content

NASDAQ Options chain Scraper

Python Options Chain scraper for the old NASDAQ website : https://old.nasdaq.com

Install

pip install options-scraper

API

Use the API if you want to access the scraped data records ( as python objects ) directly.

Usage

from options_scraper.scraper import NASDAQOptionsScraper
from options_scraper.utils import batched

scraper = NASDAQOptionsScraper()
ticker_symbol = 'XOM'
kwargs = { "money": 'all',
           "expir": 'week',
           "excode": None,
           "callput": None
         }

records_generator = scraper(ticker_symbol, **kwargs)

# Either access each record individually as shown below
for item in records_generator:
    print(item)

# Or use the batched util to get a list of items
for items in batched(records_generator, batch_size=100):
    print(items)

Output

Each scraped record will have the following structure

{'Ask': '23.20',
 'Bid': '18.50',
 'Calls': 'Apr 24, 2020',
 'Chg': '',
 'Last': '19.40',
 'Open Int': '15',
 'Puts': 'Apr 24, 2020',
 'Root': 'XOM',
 'Strike': '60',
 'Vol': '0'}

{'Ask': '28.20',
 'Bid': '23.50',
 'Calls': 'Apr 24, 2020',
 'Chg': '',
 'Last': '29.67',
 'Open Int': '3',
 'Puts': 'Apr 24, 2020',
 'Root': 'XOM',
 'Strike': '65',
 'Vol': '0'}

Console Script

Use this script to scrape records and save them either in CSV or JSON format.

options-scraper --help
usage: options-scraper [-h]
                       [-l {CRITICAL,FATAL,ERROR,WARN,WARNING,INFO,DEBUG,NOTSET}]
                       [-t TICKER] 
                       [-o ODIR] 
                       [-b BATCH_SIZE] 
                       [-c {call,put}]
                       [-m {all,in,out,near}] 
                       [-e EXCODE]
                       [-x {week,stan,quart,cebo}] 
                       [-s {json,csv}]

optional arguments:
  -h, --help            show this help message and exit
  -l {CRITICAL,FATAL,ERROR,WARN,WARNING,INFO,DEBUG,NOTSET}, --log-level {CRITICAL,FATAL,ERROR,WARN,WARNING,INFO,DEBUG,NOTSET}
  -t TICKER, --ticker TICKER Ticker Symbol
  -o ODIR, --odir ODIR  Output directory
  -b BATCH_SIZE, --batch_size BATCH_SIZE Batch Size
  -c {call,put}, --callput {call,put}
  -m {all,in,out,near}, --money {all,in,out,near}
  -e EXCODE, --excode EXCODE excode
  -x {week,stan,quart,cebo}, --expir {week,stan,quart,cebo}
  -s {json,csv}, --serialize {json,csv} Serialization format

Serialization format (-s)

You have an option to output the data either in a CSV file or a JSON file. Default format is CSV.

Batch Size (-b)

Define how many records each csv or json file should have.

Examples

  1. To get all the option chain for XOM in a batch_size of 1000 and csv file format. This will make sure that each CSV file has 1000 records in it. The last file will have the remaining records
options-scraper -t XOM -o /Users/abhishek/options_data -b 1000 -s csv
  1. To get all option chain data for MSFT in a batch_size of 10 and json file format.
options-scraper -t MSFT -o /Users/abhishek/options_data -b 10 -s json
  1. To get all put options with weekly expiry.
options-scraper -t XOM -e cbo -c put -x week -o /Users/abhishek/options_data
  1. To get all call options with cebo expiry.
options-scraper -t XOM -c call -x cebo -o /Users/abhishek/options_data

Metadata

Release files for options-scraper 0.9.91

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for options-scraper 0.9.91
File Size Uploaded
options_scraper-0.9.91.tar.gz 6.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for options-scraper 0.9.91
File Interpreter ABI Platform
options_scraper-0.9.91-py3-none-any.whl Python 3 none any Details

Total release size: 13.6 kB

Release files / options_scraper-0.9.91.tar.gz

Download URL options_scraper-0.9.91.tar.gz
Size 6.3 kB
Tags Source
SHA-256 checksum
How to use checksums
cf9d0a787d4f512c423408c47ec05b5c7bbab30ec3c7f4b67ce04f5899805f50
BLAKE2b-256 checksum
How to use checksums
3f21d375dff3217fc5d0c2c7eb6d31cb6bd462132325af5b2cdb9dd28edd5319
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.7

Release files / options_scraper-0.9.91-py3-none-any.whl

Download URL options_scraper-0.9.91-py3-none-any.whl
Size 7.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
549fd132e30488537410fed069eb9fe2ffd66fd87a029bda3de71193fecdb329
BLAKE2b-256 checksum
How to use checksums
84c1c8f027655c418193759043d33346872f9a11a84be971f96d81579764cfff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.7

Release history Release notifications | RSS feed

This release

0.9.91 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page