# Nasdaq Short Interest Scraper (`scrapesmith/nasdaq-short-interest-scraper`) Actor

Track short interest, days to cover, and short-squeeze signals for any Nasdaq-listed stock. Get the full bi-monthly short interest history enriched with company data, live quotes, and period-over-period change — clean and ready for Excel, BI tools, and trading models.

- **URL**: https://apify.com/scrapesmith/nasdaq-short-interest-scraper.md
- **Developed by:** [Scrape Smith](https://apify.com/scrapesmith) (community)
- **Categories:** Automation, Developer tools, Other
- **Stats:** 15 total users, 14 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $6.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Nasdaq Short Interest Scraper 📉 — Short Interest, Days to Cover & Short-Squeeze Data

**Track short interest, days to cover, and short-squeeze signals for any Nasdaq-listed stock — in seconds.** This Nasdaq Short Interest Scraper pulls the complete, bi-monthly short interest history for every ticker you give it and returns clean, analysis-ready rows you can drop straight into Excel, Google Sheets, pandas, BigQuery, Snowflake, or your own trading dashboard.

No login. No API keys. No manual copy-pasting from finance websites. Just a list of symbols in, structured short interest data out.

Whether you are building a **short-squeeze screener**, back-testing a **quant strategy**, powering a **finance dashboard**, or fact-checking a market story, this actor gives you the exact short selling numbers the market watches — enriched with company data, a live quote, and period-over-period change so every row is immediately useful.

***

### 💡 Why traders and analysts use this scraper

Short interest is one of the most-watched signals in the market. A stock with **high short interest** and a **high days-to-cover ratio** can be primed for a short squeeze — and spotting that trend early is worth real money. But the raw data is buried on slow finance pages, updated on an awkward bi-monthly settlement schedule, and painful to pull for more than one ticker at a time.

This scraper solves that. Feed it 1 symbol or 3,000 symbols and get back every reported settlement period for each, complete with:

- **Short interest** (total shares sold short)
- **Days to cover** (short interest ÷ average daily volume — the classic squeeze pressure gauge)
- **Average daily share volume**
- **Period-over-period change** in short interest, so you can instantly see whether short pressure is building or unwinding

***

### ⭐ Key features

- 🔍 **Full short interest history** — every reported bi-monthly settlement date, not just the latest snapshot
- 📊 **Days-to-cover included** — the short-squeeze pressure ratio, pre-calculated on every row
- 📈 **Period-over-period change** — absolute and percentage change vs the prior settlement, so trends jump out
- 🏢 **Company enrichment** — company name, listing exchange, and Nasdaq-100 membership on every row
- 💵 **Live quote** — latest price and daily move alongside the short interest data
- ⚡ **Bulk-friendly** — scan a single ticker or your entire watchlist / the whole market in one run
- 🧹 **Clean, typed output** — numbers come back as numbers, ready for BI tools with zero cleanup
- 🗓️ **Schedule it** — run daily or on every settlement date to keep a rolling short interest database

***

### 🎯 Who it is for

| Audience | Use case |
|---|---|
| 📊 Quant & systematic traders | Build short-interest factors and squeeze signals for models |
| 📈 Retail & swing traders | Screen watchlists for building short pressure and squeeze setups |
| 🏦 Analysts & researchers | Assemble short selling datasets across the market in seconds |
| 📰 Financial journalists | Verify short interest figures for a story in one click |
| 🧑‍💻 Fintech developers | Pipe clean short interest data into apps, dashboards, and alerts |
| 🎓 Students & educators | Work with real market data instead of stale textbook examples |

***

### 📊 Output data

Each row is a single settlement period for one symbol. Fields include:

| Field | Description |
|---|---|
| `symbol` | Ticker symbol |
| `company_name` | Full company name |
| `exchange` | Listing exchange (e.g. NASDAQ-GS) |
| `is_nasdaq100` | Whether the stock is a member of the Nasdaq-100 |
| `settlement_date` | Short interest settlement date |
| `short_interest` | Reported short interest (shares sold short) |
| `avg_daily_volume` | Average daily share volume |
| `days_to_cover` | Short interest ÷ average daily volume |
| `short_interest_change` | Change in short interest vs the prior settlement period |
| `short_interest_pct_change` | Percentage change vs the prior settlement period |
| `is_latest` | Flags the most recent settlement row |
| `last_price` | Latest trade price |
| `currency` | Price currency |
| `price_net_change` | Daily price change |
| `price_pct_change` | Daily percentage price change |
| `scraped_at` | Timestamp the row was collected |

Export as JSON, CSV, Excel, XML, or HTML — or pull it straight through the API into your own stack.

***

### 📥 Input

Just a list of ticker symbols:

```json
{
  "symbols": ["AAPL", "TSLA", "NVDA", "AMD", "INTC"],
  "maxRecordsPerSymbol": 0
}
```

- **`symbols`** — one or many Nasdaq-listed ticker symbols
- **`maxRecordsPerSymbol`** — cap how many settlement periods to return per symbol (0 = full available history, newest first)

That is it. Start the run and download your short interest dataset within seconds.

***

### 🚀 Popular use cases

- **Short-squeeze screening** — rank your watchlist by days to cover and rising short interest to catch squeeze setups early
- **Quant factor building** — turn short interest and its rate of change into features for systematic models
- **Rolling market database** — schedule a run every settlement date to maintain a full short interest history across thousands of tickers
- **Dashboards & alerts** — power a Slack/Discord/email alert when short interest on a name spikes
- **Research & journalism** — pull verifiable short selling figures for reports and articles in seconds

***

### 🔌 Automation & integrations

Connect this actor to **Make, Zapier, n8n, Slack, Discord, Google Sheets, Airtable, BigQuery, Snowflake, Postgres**, or any REST/webhook endpoint. Use the native Apify scheduler to run it every weekday or on each short interest settlement date, and get results pushed straight to your tools.

***

### ❓ Frequently asked questions

**Do I need an account or API key?** No API keys and no login are required for the data — a free Apify account is all you need to run the actor.

**Which stocks are supported?** Short interest is reported for Nasdaq-listed securities. Symbols that are not Nasdaq-listed, or that have no reported short interest, are skipped automatically — so you can safely feed mixed watchlists.

**How far back does the history go?** The actor returns every reported bi-monthly settlement period available for each symbol, newest first.

**How often is short interest updated?** Short interest is reported on a bi-monthly settlement schedule. Schedule a run to always capture the latest release.

**Can I scan the whole market?** Yes — pass a large list of symbols (hundreds or thousands) in a single run.

**What export formats are available?** JSON, CSV, Excel, XML, JSONL, and HTML, plus direct API access.

**Is the output ready for Excel and BI tools?** Yes — numeric fields are returned as real numbers, so data drops in cleanly with no manual formatting.

***

### 📈 Start tracking short interest now

Give it your watchlist and get a complete, structured short interest history — days to cover, short-squeeze signals, and trend — in seconds. Perfect for traders, quants, analysts, and developers who need reliable Nasdaq short selling data without the manual work.

# Actor input Schema

## `symbols` (type: `array`):

Nasdaq-listed ticker symbols to fetch short interest for (e.g. AAPL, TSLA, NVDA).

## `maxRecordsPerSymbol` (type: `integer`):

Limit how many settlement periods to return per symbol (newest first). 0 = full available history.

## `useApifyProxy` (type: `boolean`):

Route requests through Apify's free datacenter proxy. Only enable if direct requests get blocked.

## Actor input object example

```json
{
  "symbols": [
    "AAPL",
    "TSLA"
  ],
  "maxRecordsPerSymbol": 0,
  "useApifyProxy": false
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "symbols": [
        "AAPL",
        "TSLA",
        "NVDA",
        "AMD",
        "INTC"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapesmith/nasdaq-short-interest-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "symbols": [
        "AAPL",
        "TSLA",
        "NVDA",
        "AMD",
        "INTC",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("scrapesmith/nasdaq-short-interest-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "symbols": [
    "AAPL",
    "TSLA",
    "NVDA",
    "AMD",
    "INTC"
  ]
}' |
apify call scrapesmith/nasdaq-short-interest-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=scrapesmith/nasdaq-short-interest-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/rZkfuwhmi8E5kEJ9H/builds/YSK7XahURqyoxoKbO/openapi.json
