Powerball Winning Numbers Scraper
Pricing
from $4.80 / 1,000 item extracteds
Powerball Winning Numbers Scraper
Extract official Powerball draw dates, five white balls, the Powerball, Power Play, estimated jackpot, cash value, and source metadata across requested date windows.
Pricing
from $4.80 / 1,000 item extracteds
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Extract Powerball winning numbers from the official Powerball website into a clean, analysis-ready dataset. Choose a date window or supply exact draw URLs and receive draw dates, five white balls, the red Powerball, Power Play, estimated jackpot, cash value, and source metadata.
This Actor is designed for recurring result archives, lottery dashboards, data verification, spreadsheets, and historical analysis. It reads public draw information from powerball.com and does not buy tickets, predict future numbers, or determine whether a ticket is a legal winner.
What does this Powerball scraper do?
The Actor turns official result pages into one typed record per draw.
It can:
- discover every Powerball draw in a requested date window;
- follow the official archive across multiple result pages;
- process one or more exact official draw-result URLs;
- normalize jackpot and cash values to numeric USD fields;
- preserve the source's display values for audits;
- cap output with
maxItems, newest first; - export results through Apify datasets, APIs, integrations, or MCP.
Unlike a bare list of number strings, each record keeps the draw identity, multiplier, monetary context, official source URL, and retrieval timestamp together.
Who is it for?
Lottery publishers
Refresh result pages or internal archives after new drawings without manually copying six numbers and jackpot context.
Data analysts and researchers
Create a consistent historical table for frequency analysis, visualization, education, and statistical demonstrations.
App and dashboard teams
Feed official historical results into a database, spreadsheet, dashboard, or scheduled ETL pipeline.
Verification workflows
Convert a specific powerball.com result page into a machine-readable record with a traceable source link.
What data is extracted?
| Field | Type | Meaning |
|---|---|---|
drawDate | string | Official draw date in YYYY-MM-DD format |
drawDay | string | Weekday abbreviation shown by Powerball |
whiteBalls | number[] | Five official white-ball numbers |
powerball | number | Red Powerball number |
powerPlay | number or null | Power Play multiplier when published |
jackpotAmount | number or null | Estimated jackpot normalized to USD |
jackpotCurrency | string or null | USD when a jackpot is available |
jackpotDisplay | string or null | Jackpot text as displayed by the source |
cashValueAmount | number or null | Estimated cash value normalized to USD |
cashValueCurrency | string or null | USD when cash value is available |
cashValueDisplay | string or null | Cash-value text as displayed by the source |
sourceName | string | Official Powerball |
sourceUrl | string | Exact official draw-result URL |
retrievedAt | string | UTC retrieval timestamp |
Nullable monetary and multiplier fields accurately represent source pages where that context is not available.
How to get started
- Open the Actor in Apify Console.
- Set
fromDateandtoDateinYYYY-MM-DDformat. - Set
maxItemsto the maximum draws you want. - Optionally add exact official draw URLs instead of discovering a range.
- Click Start.
- Open the Dataset tab to preview or export the records.
The prefilled January 2025 input returns real official records and is suitable for a first run.
Input parameters
| Parameter | Required | Default | Description |
|---|---|---|---|
fromDate | No | Recent date window in code; schema prefill is 2025-01-01 | Earliest included draw date. Cannot precede 1992-04-22. |
toDate | No | Today in code; schema prefill is 2025-01-31 | Latest included draw date. |
startUrls | No | [] | Exact powerball.com/draw-result URLs. Date filters still apply. |
maxItems | No | 100 | Maximum saved records, from 1 to 5,000. |
Example date-window input:
{"fromDate": "2025-01-01","toDate": "2025-01-31","maxItems": 20}
Example exact-result input:
{"startUrls": [{ "url": "https://www.powerball.com/draw-result?gc=powerball&date=2025-01-01" }],"fromDate": "2025-01-01","toDate": "2025-01-01","maxItems": 1}
Output example
A real January 1, 2025 result is normalized like this:
{"drawDate": "2025-01-01","drawDay": "Wed","whiteBalls": [6, 12, 28, 35, 66],"powerball": 26,"powerPlay": 3,"jackpotAmount": 181000000,"jackpotCurrency": "USD","jackpotDisplay": "$181 Million","cashValueAmount": 82100000,"cashValueCurrency": "USD","cashValueDisplay": "$82.1 Million","sourceName": "Official Powerball","sourceUrl": "https://www.powerball.com/draw-result?gc=powerball&date=2025-01-01","retrievedAt": "2025-01-15T12:00:00.000Z"}
retrievedAt changes on every run. All output is saved to the run's default dataset.
How date windows and exact URLs work
With no startUrls, the Actor searches the official previous-results archive using fromDate and toDate. It follows archive pages newest first and stops when the date range or maxItems is exhausted.
With startUrls, each URL must point to /draw-result on powerball.com and contain date=YYYY-MM-DD. The same date filters apply, so an exact URL outside the selected window is skipped. This keeps explicit and discovered inputs consistent.
Use date-window mode for archive creation. Use exact URLs for verification, enrichment, or replaying a known draw.
How much does it cost to extract Powerball winning numbers?
The Actor uses pay-per-event pricing:
- a $0.005 one-time start event per run;
- tiered pricing per accepted draw record;
- no item fee for invalid, duplicate, skipped, or failed records.
The measured market-target curve charges $0.008 per draw on the BRONZE tier. Prices shown in Apify Console are authoritative and decrease with plan level. Illustrative BRONZE totals are:
| Draws | Start | Item calculation | Approximate total |
|---|---|---|---|
| 1 | $0.005 | 1 × BRONZE item rate | $0.013 |
| 10 | $0.005 | 10 × BRONZE item rate | $0.085 |
| 100 | $0.005 | 100 × BRONZE item rate | $0.805 |
These are Actor charges, not lottery ticket prices. Check the live pricing panel before running because plan tiers determine the active item rate.
Scheduling recurring updates
Powerball results are naturally suited to scheduled refreshes:
- Save a Task with a recent rolling date window.
- Add a schedule after expected drawing times.
- Export the resulting dataset to your destination.
- Deduplicate downstream by
drawDateorsourceUrl.
The Actor does not maintain a cross-run database or send change alerts itself. Apify schedules and integrations provide the automation layer; your destination can upsert by draw date.
Export and integration options
Every run uses the default Apify dataset, so results can be downloaded as:
- JSON;
- CSV;
- Excel;
- XML;
- RSS;
- JSONL.
Common workflows include:
- Google Sheets archive refreshes;
- database upserts keyed by
drawDate; - dashboard ingestion;
- historical notebooks and visualizations;
- webhook-triggered processing after a scheduled run;
- Make, Zapier, or custom ETL pipelines.
Run through the Apify API
Replace YOUR_TOKEN with an Apify API token.
cURL
curl -X POST \"https://api.apify.com/v2/acts/automation-lab~powerball-historical-winning-numbers/run-sync-get-dataset-items?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"fromDate":"2025-01-01","toDate":"2025-01-31","maxItems":20}'
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/powerball-historical-winning-numbers').call({fromDate: '2025-01-01',toDate: '2025-01-31',maxItems: 20,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python
from apify_client import ApifyClientimport osclient = ApifyClient(os.environ['APIFY_TOKEN'])run = client.actor('automation-lab/powerball-historical-winning-numbers').call(run_input={'fromDate': '2025-01-01','toDate': '2025-01-31','maxItems': 20,})items = client.dataset(run['defaultDatasetId']).list_items().itemsprint(items)
Use with MCP and AI assistants
Add the Actor to Claude Code through Apify MCP:
claude mcp add --transport http apify \"https://mcp.apify.com?tools=automation-lab/powerball-historical-winning-numbers"
Claude Desktop, Cursor, and VS Code setup
Use this same HTTP MCP configuration in Claude Desktop, Cursor, or VS Code:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=automation-lab/powerball-historical-winning-numbers"}}}
Example prompts:
- “Get official Powerball winning numbers for January 2025.”
- “Extract the Powerball draw at this official result URL and return its jackpot.”
- “Create a CSV-ready dataset of 2024 Powerball results.”
Reliability and failure behavior
The Actor reads server-rendered official pages without a browser, account, or paid proxy. Requests have a 25-second timeout and two bounded retries after the initial attempt. Detail requests run at conservative concurrency.
A response that lacks recognizable result markup is treated as an upstream error, not as an empty success. A valid date window with no draws returns an empty dataset successfully. Invalid dates, reversed ranges, unsupported hosts, and malformed result URLs fail the run with a clear message.
Limits and important notes
- Supported source: public pages on
powerball.com. - Earliest accepted date:
1992-04-22. - Maximum output: 5,000 records per run.
- Results are ordered newest first.
- Jackpot fields are estimates as labeled by the source.
- Historical pages can legitimately omit Power Play, jackpot, or cash context.
- The source can change markup or availability without notice.
- The Actor does not predict numbers or improve odds.
- It does not validate ticket ownership or redemption eligibility.
Responsible use and legality
Powerball publishes result information publicly. Use the Actor responsibly, respect applicable laws and source terms, and avoid excessive scheduling. Store only the data you need.
Official winning numbers are those recorded under the observation procedures described by Powerball. If a dataset record conflicts with an official lottery record, the official record prevails. This Actor is an extraction tool, not a lottery operator, legal authority, or financial service.
Troubleshooting
Why did the run return zero records?
Confirm that the chosen window contains a scheduled Powerball draw. A one-day window on a non-draw day can correctly produce no rows. Also confirm exact URLs fall inside fromDate and toDate.
Why did an exact URL fail validation?
Use a public URL shaped like:
https://www.powerball.com/draw-result?gc=powerball&date=2025-01-01
Other hosts and Powerball content pages are intentionally rejected.
Why is a jackpot field null?
The official page did not publish that value for the draw. Null preserves the distinction between missing source data and a zero-dollar value.
What should I use as a stable key?
Use drawDate for a Powerball-only table or sourceUrl when mixing sources. Both are stable for normal upsert workflows.
FAQ
Does it scrape the official Powerball website?
Yes. Records link back to the corresponding official powerball.com draw page.
Can it retrieve a full year?
Yes. Set the year's first and last dates and choose a maxItems high enough for all draws.
Can I schedule it?
Yes. Save the input as an Apify Task and attach a schedule. Downstream systems should upsert by draw date.
Does it include Double Play or other lottery games?
No. This Actor deliberately returns the main Powerball game only.
Does it check my ticket?
No. It supplies historical result data. Ticket validation and redemption remain with authorized lottery channels.
Are jackpot values exact payouts?
No. They are the estimated jackpot and cash-value context shown on the result page.
Related scrapers
For a comparable European lottery archive workflow, see EuroMillions Results Scraper. It returns EuroMillions main numbers, Lucky Stars, draw dates, and jackpot context from its own source.
Support
If a run fails on a valid public Powerball result page, include the run URL, sanitized input, expected draw date, and observed behavior in an Actor issue. Do not include API tokens or private credentials.