ParseForge Scrapers

Public Holidays Worldwide Scraper

parseforge/public-holidays-scraper

TravelAutomationOther

Scrapes public holidays for over 100 countries and any year range. Returns each holiday as a flat row with date, local name, and type.

Run this scraper See the API call
Total users
2
Monthly active
0
Total runs
129
Bookmarked
0
Rating
Not rated yet
Last modified
12 days ago

Overview

ParseForge

Public Holidays Worldwide Scraper

Scrape public holidays for any country and year, up to a million per run. Every row returns the date, local name, and holiday type. No API key or complex setup. Export to CSV, JSON, Excel, or XML.

Building a calendar integration, a payroll system, or a global scheduling tool means you need accurate public holiday data for dozens of countries. This Actor pulls official holidays for over 100 supported countries, for any year or range of years, and returns them in one consistent flat schema. Pick a single country or leave the country field empty to fetch every supported nation in one run.

Who uses it What they scrape Public Holidays Worldwide for
HR and payroll developers Automate leave calculations and payroll calendars with official holiday dates for every office location.
SaaS founders Populate a global holiday database to power scheduling features, deadline calculators, or notification logic.
Market researchers Analyze how national holidays affect consumer spending, travel patterns, or retail footfall across regions.
Event planners Avoid scheduling conflicts by checking public holidays in target countries before booking venues or sending invites.

What it does

This Actor collects public holidays by country and year, and returns each one as a flat row with the date, local name, and holiday type.

  • 🌍 Multi-country bulk fetch: Leave the country selector empty and set a year to pull holidays for every supported country in a single run.
  • πŸ“… Year range support: Set a start year and an optional end year to collect holidays across multiple years without separate runs.
  • 🏷️ Holiday type classification: Each row includes a type field so you can filter public holidays from observances or other days.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with Public Holidays Worldwide data

πŸ“Š Build a global leave calendar.

An HR platform ingests holidays for all 100+ supported countries to auto-calculate employee leave balances and payroll adjustments.

πŸ”” Power smart notifications.

A project management tool checks the scraped holiday list before sending deadline reminders, preventing alerts on days when offices are closed.

πŸ“ˆ Model seasonal demand.

A retail analyst pulls five years of holidays for Germany, Brazil, and Japan to correlate public holidays with sales spikes in each market.

πŸ—“οΈ Validate event dates.

A conference organizer scrapes the target year for Spain to ensure the proposed dates do not clash with a national or regional public holiday.

Why choose this scraper

What you get
One flat schema Every holiday, from any country or year, lands in your dataset with the same columns: date, name, and type.
No API registration Start scraping immediately. No OAuth, no app registration, no rate-limit headaches.
Bulk export ready Download results as CSV, JSON, Excel, or XML and feed them directly into your database or calendar tool.

How it compares

This Actor is a one-time dataset scraper built for bulk export, while the Public Holidays API is a hosted REST endpoint for on-demand queries.

Feature ParseForge Public Holidays API
Bulk multi-country export in one run Yes, leave country empty to fetch all supported nations Not listed
Year range scraping Yes, set a start and optional end year Not listed
CSV, JSON, Excel, XML export Yes, all four formats available Not listed
No API key or registration required Yes, runs directly on Apify Not listed
REST API endpoint for live queries Not listed Yes

Configure the run

Drive the Actor by selecting a country from the dropdown and setting a year or year range. The max items limit caps the total rows returned per run. The Input tab lists every parameter.

A first run with the defaults:

{
  "maxItems": 10,
  "country": "US",
  "yearStart": 2026,
  "yearEnd": 0
}

A larger pull:

{
  "maxItems": 200,
  "country": "US",
  "yearStart": 2026,
  "yearEnd": 0
}

Pricing

Pay-per-result: $0.01333 per result collected. You pay only for the results written to your dataset.

Results collected Approximate cost
100 results $1.33
1,000 results $13.33
10,000 results $133.30

New Apify accounts start with $5 in free credit.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the Public Holidays Worldwide Scraper.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to Public Holidays Worldwide through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/public-holidays-scraper"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting no results?

Check that you have selected a valid country code and a year of 1900 or later. If you set a year range, make sure the end year is not earlier than the start year. Also confirm your max items limit is not set too low.

The run stopped before collecting all holidays.

The Actor respects the 'Maximum holidays' limit you set. If you need more rows, increase that number up to 1,000,000 and run it again. For a large multi-country fetch, you may also need to raise the run timeout in your Apify account settings.

I see a country code in the results but not the full country name.

The dataset includes the ISO country code. You can join it with a lookup table of country names in your own database or spreadsheet. The Actor returns the code to keep the schema consistent across all countries.

Some holidays seem to be missing for a specific country.

The Actor returns official public holidays as published by the data source. Observances or regional holidays are not included. If a national holiday is missing, try running the Actor for a different year to see if the data source has a gap for that period.

FAQ

Question Answer
How many countries are supported? The country dropdown includes over 100 supported nations and territories. You can see the full list in the input schema or by leaving the country field empty and running the Actor for a single year.
Can I get holidays for all countries at once? Yes. Leave the country selector on 'All supported countries' and set a year. The Actor will return every public holiday for every supported country in that year, up to your max items limit.
What years can I fetch? The minimum year is 1900. You can set a single year or a range using the year start and optional year end fields. The Actor will collect holidays for each year in the range.
What data does each holiday row contain? Each row includes the holiday date, the local name, and a type classification. The exact field names and a sample record are shown in the dataset preview on the Actor's page.
Does this Actor need an API key? No. It reads public holiday data directly. You do not need to register an application or manage any third-party API keys.
Can I limit how many holidays are returned? Yes. The 'Maximum holidays' input lets you cap the total number of rows the Actor will collect in a single run, from 1 up to 1,000,000.
How do I export the data? Once the run finishes, you can download the dataset in CSV, JSON, Excel, or XML format from the Apify Console, or access it programmatically via the Apify API.
Are regional or state-level holidays included? The Actor returns national public holidays for each supported country. It does not currently break holidays down by state, province, or region.
How often is the holiday data updated? The underlying data source is maintained regularly. You can schedule the Actor to run monthly or annually to capture any official changes for future years.

Related actors

Browse the full ParseForge collection for more scrapers.

πŸ†˜ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

⚠️ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by the respective data sources. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

Input

FieldTypeWhat it doesDefault
maxItems integer Maximum number of holidays to collect per run. 10
country string (123 options) Country to fetch. Empty = every supported country in chosen year. US
yearStart integer Earliest year to fetch. 2026
yearEnd integer Latest year. Empty = same as yearStart. 0

Pricing

from $10.00 per 1,000 results

Charged forWhat it isPrice each
Result item Charged per record successfully returned in the dataset. $0.01 to $0.01333

Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.

API

One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.

POST Β· run and get results
curl -X POST "https://api.apify.com/v2/acts/parseforge~public-holidays-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "helloWorld": 123
  }'

Examples

Input that runs as-is.

input.json
{
  "helloWorld": 123
}

Reviews

No reviews yet. Be the first.

Issues

We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.

Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.

Related scrapers

Run Public Holidays Worldwide Scraper on Apify All scrapers