Nasdaq Short Interest Scraper
Pricing
from $3.10 / 1,000 item extracteds
Nasdaq Short Interest Scraper
Export dated Nasdaq short-interest observations for stock watchlists: short shares, average daily share volume and days to cover. Retrieve bounded source-available history by symbol.
Pricing
from $3.10 / 1,000 item extracteds
Rating
0.0
(0)
Developer
Automation Lab
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 days ago
Last modified
Categories
Share
Export nasdaq short interest observations for a stock watchlist as dated, numeric rows. Supply equity symbols to retrieve source-reported short shares, average daily share volume and days to cover, with settlement dates normalized for spreadsheet joins.
This Actor retrieves the history currently returned by Nasdaq, not an unlimited historical archive. It does not calculate trading signals or provide real-time short positions.
Who is it for?
Equity researchers can track reported positioning across settlement periods. Analysts maintaining recurring watchlists can join observations to price data by symbol and settlement date. Spreadsheet and BI users receive one row per symbol and reporting date instead of parsing nested tables.
Why use it?
- Process a deduplicated watchlist in one run.
- Keep settlement dates separate from retrieval timestamps.
- Apply inclusive date filters consistently across symbols.
- Export numeric fields without comma-separated share counts.
- Review available history bounds in a per-run coverage summary.
Nasdaq short interest data
| Field | Meaning |
|---|---|
symbol | Uppercase equity ticker verified against the response |
settlementDate | Reporting settlement date, YYYY-MM-DD |
shortInterest | Reported shares sold short |
averageDailyVolume | Source-reported average daily share volume |
daysToCover | Source-reported ratio; null if explicitly unavailable |
sourceUrl | Nasdaq public JSON endpoint used |
scrapedAt | Retrieval time in UTC |
Share counts are integers. Days to cover is not recomputed. No market capitalization, quotes, short-sale volume, percent float, or period-change estimate is included.
Getting started
- Enter a list of stock symbols, such as AAPL and MSFT.
- Choose a global maximum number of observations.
- Optionally enter earliest/latest settlement dates.
- Start the Actor and inspect its terminal status.
- Export the default dataset as JSON, CSV or Excel through Apify.
- Read the coverage summary to see what Nasdaq actually returned.
{"symbols":["AAPL","MSFT"],"maxItems":100}
Input parameters
| Parameter | Behavior |
|---|---|
symbols | Required 1–100 ticker strings; trimmed, uppercased and deduplicated |
maxItems | Global accepted-row cap, default 100; integer 1–2500 |
startDate | Optional inclusive minimum settlement date YYYY-MM-DD |
endDate | Optional inclusive maximum settlement date YYYY-MM-DD |
Symbols are processed in input order. Rows within a symbol are newest first. Earlier symbols consume the global cap before later symbols; use a higher cap when you need every symbol's available history. Zero is invalid, not unlimited. URLs, exchange prefixes, unknown fields and invalid date ranges are rejected.
Date filters operate on the returned table locally. They do not retrieve earlier archived observations. A billing budget may reduce output further.
Output example
AAPL control observed on October 7, 2026:
{"symbol":"AAPL","settlementDate":"2026-09-15","shortInterest":128753092,"averageDailyVolume":45135477,"daysToCover":2.852592,"sourceUrl":"https://api.nasdaq.com/api/quote/AAPL/short-interest?assetclass=stocks","scrapedAt":"2026-10-07T20:06:07.465Z"}
The SUMMARY key-value record contains saved counts and available date bounds for processed symbols. Dataset and summary links appear in the run's output tab.
History and limitations
Nasdaq commonly reports semi-monthly observations. The tested AAPL and MSFT responses each contained 23 periods, from October 15, 2025 through September 15, 2026. This is an observation, not a guarantee of 23 records or a fixed one-year archive. Availability varies by symbol and source updates.
No pagination, all-market discovery, ETF-specific mode, monitoring state, alerts, login or paid-data credentials are provided. Symbols without a valid source response fail explicitly. A valid empty table or date range with no matches produces an empty dataset and summary rather than fabricated rows.
How much does it cost to export Nasdaq short-interest records?
Pay-per-event billing includes a $0.005 start charge and one item charge per saved settlement observation. No separate charge exists for summary records, duplicates, rejected rows, or date-filter exclusions. Per-observation prices depend on your aggregate monthly Apify Store spend tier, not the number of rows in this Actor alone:
| Tier | Per observation |
|---|---|
| FREE | $0.0059478 |
| BRONZE | $0.005172 |
| SILVER | $0.0040342 |
| GOLD | $0.0031032 |
| PLATINUM | $0.0031032 |
| DIAMOND | $0.0031032 |
At BRONZE, estimated totals including start are $0.010172 for one row, $0.05672 for 10, $0.1343 for 25, and $0.5222 for 100. At FREE, 46 observations are estimated at $0.2785988. Estimates are not guaranteed invoices; the active Pricing tab and your charge budget control billing.
Use the observation cap and Apify's maximum-total-charge budget to bound collection. A valid run may legitimately have no matching observations. The start fee covers launching a valid run even when its output is empty.
Filtering tips
To compare two consecutive reporting periods, use their inclusive settlement dates rather than retrieval timestamps:
{"symbols":["AAPL","MSFT"],"startDate":"2026-08-31","endDate":"2026-09-15","maxItems":10}
There is no fuzzy ticker search. Input aapl and AAPL select the same exact normalized symbol. Dates must exist in the calendar; filtering between reporting dates can naturally return no rows.
Integrations
Use Apify's dataset exports with Google Sheets or a BI pipeline. Join rows by symbol plus settlementDate, not retrieval time. A recurring Apify schedule can refresh the same watchlist; downstream code must compare snapshots and deduplicate if retaining history across runs. The Actor does not send alerts itself.
API usage
Create a run once and retain its ID; check that same run before downloading its dataset. Treat FAILED, TIMED-OUT or ABORTED output as partial.
curl -X POST 'https://api.apify.com/v2/acts/automation-lab~nasdaq-short-interest-records/runs' \-H "Authorization: Bearer $APIFY_TOKEN" \-H 'Content-Type: application/json' \-d '{"symbols":["AAPL","MSFT"],"maxItems":100}'
JavaScript with the Apify client:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/nasdaq-short-interest-records').call({symbols: ['AAPL', 'MSFT'], maxItems: 100,});if (run.status !== 'SUCCEEDED') throw new Error(`Run ${run.id}: ${run.status}`);const page = await client.dataset(run.defaultDatasetId).listItems({ limit: 100 });console.log(page.items);
Python:
import osfrom apify_client import ApifyClientclient = ApifyClient(os.environ['APIFY_TOKEN'])run = client.actor('automation-lab/nasdaq-short-interest-records').call(run_input={'symbols': ['AAPL', 'MSFT'], 'maxItems': 100})if run['status'] != 'SUCCEEDED':raise RuntimeError(f"Run {run['id']}: {run['status']}")print(client.dataset(run['defaultDatasetId']).list_items(limit=100).items)
MCP usage
For clients supporting remote HTTP MCP, select this Actor explicitly:
claude mcp add --transport http apify \"https://mcp.apify.com?tools=automation-lab/nasdaq-short-interest-records"
Claude Desktop, Cursor, and VS Code clients that support remote HTTP MCP can use equivalent client configuration:
{"mcpServers":{"apify":{"url":"https://mcp.apify.com?tools=automation-lab/nasdaq-short-interest-records"}}}
Authenticate through your client's supported Apify configuration. Discover actual tool names and argument schemas with tools/list; Actor selection also includes run/dataset/KV/abort helpers, not exactly one tool. Discovery itself is read-only and does not authorize execution.
Example prompts for an authorized invocation: “Export available AAPL and MSFT short-interest observations, at most 100 rows, and compare their latest source-reported days to cover.”
Start once and retain run/status/storage IDs; these are metadata, not rows. Server waiting may last 0–45 seconds. If pending, inspect the same run with 2, 4, 8 then 10-second backoff, stopping after 120 seconds. On client timeout recover the known run; do not start a duplicate. Report pending at the deadline and failed terminal statuses honestly.
After success, fetch pages of 20 untransformed rows with explicit offset and fields. Admit at most 100 source rows or 64 KiB serialized UTF-8 into model context, whichever comes first; enforce that byte budget host-side. Stop at exhaustion/budget and disclose truncation plus next source offset. Keep full exports downstream. If your client cannot intercept oversized responses, do not claim a hard byte ceiling. No universal token-saving guarantee is made.
Troubleshooting and failure behavior
Transient network failures, HTTP 429 and server errors receive at most three attempts with bounded backoff. Blocked pages, permanent HTTP errors, invalid symbols and malformed response schemas fail instead of appearing as successful empty results. No paid proxy/browser fallback is automatically enabled.
If a later symbol fails, earlier saved observations remain partial. Check run status before treating the export as complete. Recheck the ticker spelling and consult Nasdaq's public short-interest page; do not interpret absence of records as zero short interest.
Legality and privacy
Use public market data according to Nasdaq's terms and applicable rights. This Actor is not affiliated with Nasdaq and provides no financial advice. Settlement figures are delayed reports, not live borrow availability or trading recommendations. Verify important decisions against the source.
No runtime AI service is used. Results and logs remain in your Apify account under its storage retention settings; delete runs and datasets through Apify when no longer needed. There is no Actor-global cache or external market-data copy. Open an issue in the Actor's Apify Issues tab for support.
Failed operations send sanitized diagnostic input, exceptions and Actor/build/run IDs to our private GlitchTip service for repair. Secret fields and URL query strings are removed. Reports are retained for 30 days.
FAQ
Does this return all historical records? No. It exports only the table Nasdaq returns at run time, subject to filters and limits.
Why are some symbols missing? A global row cap may stop before later symbols. A source rejection fails the run; inspect its status and summary.
Is this FINRA daily short-sale volume? No. These are Nasdaq settlement-date short-interest observations, a different metric.
Are repeated runs automatically deduplicated? Only within each run. Retained snapshots require downstream deduplication by symbol and settlement date.
Related Actors
For broader current stock-universe discovery, see Nasdaq Stock Screener Scraper. It complements dated short-interest observations; it is not an archive replacement.