# US Travel Advisories Scraper (`maximedupre/us-travel-advisories-scraper`) Actor

Scrape US travel advisories from the State Department and CDC. Export levels, countries, risks, health notices, dates, source text, and official URLs.

- **URL**: https://apify.com/maximedupre/us-travel-advisories-scraper.md
- **Developed by:** [Maxime Dupré](https://apify.com/maximedupre) (community)
- **Categories:** Travel, News, Business
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$0.01 / 1,000 scraped travel alerts

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 a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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

### 🇺🇸 US travel advisories scraper for State Department levels

US Travel Advisories Scraper collects current U.S. State Department travel advisories and CDC travel health notices in one run. It returns levels, countries, risks, health hazards, dates, source text, source IDs, and official URLs for duty-of-care dashboards, monitoring, API workflows, and exports.

- Track the [list of countries on the do not travel list](https://apify.com/maximedupre/us-travel-advisories-scraper/examples/do-not-travel-countries) with source-backed Level 4 advisory rows.
- Compare [travel advisory levels by country](https://apify.com/maximedupre/us-travel-advisories-scraper/examples/travel-advisory-levels-by-country) for travel operations, insurance, mobility, and duty-of-care teams.
- Monitor [State Department new travel advisory updates](https://apify.com/maximedupre/us-travel-advisories-scraper/examples/state-department-new-travel-advisory) with issued dates, updated dates, source IDs, and official URLs.
- Add [CDC travel health notices](https://apify.com/maximedupre/us-travel-advisories-scraper/examples/cdc-travel-health-notices) to a U.S. official travel-risk feed without running a separate actor.
- Export [advisory text, risk indicators, health hazards, and links](https://apify.com/maximedupre/us-travel-advisories-scraper/examples/travel-advisory-text-risk-indicators-export) to JSON, CSV, Excel, API clients, webhooks, or BI tools.

#### 📦 Returned data

Each dataset item is one State Department advisory or CDC travel health notice. Some fields are `null` when the official source does not provide that value.

| Field | What it means |
| --- | --- |
| `source` | `stateDepartment` or `cdcTravelHealth` |
| `title` | Advisory or health notice title |
| `level` | Numeric source level from 1 to 4 |
| `levelLabel` | Source label such as `Exercise Increased Caution` |
| `countries` | Countries, territories, or affected destinations |
| `countryCodes` | Country or territory codes when available |
| `riskCategories` | State Department risk indicators such as crime or terrorism |
| `diseaseOrHazard` | CDC disease, outbreak, or health hazard |
| `summaryText` | Short source summary when available |
| `detailsText` | Advisory body or CDC recommendations text |
| `keyPoints` | CDC key point bullets when available |
| `issuedDate` | Source issued or published date |
| `updatedDate` | Source updated date when available |
| `updateNote` | State Department update note when available |
| `sourceId` | Stable source-derived ID for dedupe and monitoring |
| `sourceUrl` | Official State Department or CDC page URL |

This Actor focuses on U.S. government travel advisory data. It does not scrape UK FCDO advisories, build a composite risk score, write AI summaries, monitor weather, book travel, or provide legal, medical, or safety advice.

#### ▶️ How to run

1. Open the Input tab.
2. Choose **Official sources**: State Department and CDC, State Department only, or CDC only.
3. Optionally add destination names in **Destinations** for a focused country or territory check.
4. Choose the **Minimum State Department level** when collecting State Department advisories.
5. Optionally set **Issued or updated since** to return recent advisory or notice changes.
6. Set **Maximum records** to cap saved rows across the run.
7. Run the Actor and open the dataset.

For a quick first run, keep **State Department and CDC** selected, leave **Destinations** empty, and keep **Maximum records** at the default. The Actor works without State Department or CDC credentials, cookies, API keys, or login.

#### ⚙️ Input options

| Field | What it does |
| --- | --- |
| `sourceScope` | Chooses `both`, `stateDepartment`, or `cdc`. |
| `destinations` | Optional country or territory names for focused runs. |
| `minimumStateDepartmentLevel` | Saves State Department rows at this level or higher. |
| `changedSince` | Optional date filter for rows issued or updated on or after this date. |
| `maxRecords` | Caps saved advisory and health notice rows across the run. |

Destination filtering uses source-backed destination text. If a destination does not match current State Department or CDC data, the run can finish successfully with no rows.

#### 📄 Output example

Example input:

```json
{
  "sourceScope": "both",
  "destinations": ["Mexico", "Democratic Republic of the Congo"],
  "minimumStateDepartmentLevel": "2",
  "changedSince": "2026-01-01",
  "maxRecords": 50
}
````

Example output row:

```json
{
  "source": "stateDepartment",
  "title": "Mexico Travel Advisory",
  "level": 2,
  "levelLabel": "Exercise increased caution",
  "countries": ["Mexico"],
  "countryCodes": ["MX"],
  "riskCategories": ["crime", "kidnapping or hostage taking"],
  "diseaseOrHazard": null,
  "summaryText": "Exercise increased caution in Mexico due to crime and kidnapping.",
  "detailsText": "Advisory summary text from the State Department page.",
  "keyPoints": null,
  "issuedDate": "2026-05-29",
  "updatedDate": "2026-05-29",
  "updateNote": "There were no changes to the advisory level or risk indicators.",
  "sourceId": "travel-advisories/mexico.html",
  "sourceUrl": "https://travel.state.gov/en/international-travel/travel-advisories/mexico.html"
}
```

#### 💳 Pricing

This Actor uses pay-per-event pricing. The primary event is `advisory-record`, priced at `$0.00001` for each successful advisory or health notice row.

Rows skipped by filters are not charged. Empty filters, no-result runs, failed source requests, and actor start are not charged.

#### 🔌 Integrations

https://www.youtube.com/watch?v=bNACk1\_S\_6w\&list=PLObrtcm1Kw6MUrlLNDbK9QRg8VDJg0gOW\&index=4

- Use the Apify API to read advisory rows into travel-risk apps, internal tools, or RAG pipelines.
- Schedule recurring runs to monitor State Department levels, Level 4 countries, CDC health notices, and changed rows.
- Export results as JSON, CSV, Excel, XML, RSS, or HTML for analysts and BI tools.
- Send completed runs to webhooks so downstream systems can diff rows by `sourceId`, `updatedDate`, or `sourceUrl`.

#### ❓ FAQ

**Can I get Level 4 travel advisory countries?**

Yes. Choose State Department data and set **Minimum State Department level** to `4`. Rows include country, level, label, risks, dates, source text, and official URL when available.

**Can I compare travel advisory levels by country?**

Yes. Leave **Destinations** empty for a full current State Department collection, or add country and territory names for a smaller run. Use `countries`, `level`, `levelLabel`, `sourceId`, and `sourceUrl` to compare rows.

**Can I use this as a State Department travel advisory map feed?**

Yes, for the advisory data feed. Rows include country or destination names and levels, so you can join them to your own map or geocoding data. The Actor does not emit coordinates or map polygons.

**Does it include CDC travel health notices?**

Yes. Choose **State Department and CDC** to collect both source families in one run, or choose CDC only when you want health notices without State Department advisory rows.

**Is there a Level 5 travel advisory?**

No. U.S. State Department travel advisories use Levels 1 through 4. The Actor returns the source-native level and label instead of inventing a Level 5 value.

**Does it require cookies or login?**

No. The Actor collects public State Department and CDC pages. You do not need source accounts, cookies, API keys, or a browser extension.

**Why not use the State Department API?**

Use official State Department pages when you only need to read one advisory. Use this Actor when you need structured rows, CDC notices in the same feed, exports, schedules, webhooks, or API access.

**What are State Department travel advisory alternatives?**

For U.S. official country advisories, the State Department source is the core surface. CDC notices cover health-specific travel risks. UK FCDO advisories, weather alerts, and composite risk scores are different products and are not part of this Actor.

### 📝 Changelog

- 0.2: Added issued-or-updated-since filtering and lowered the per-row price.
- 0.1: Initial release.

### 🆘 Support

For issues, questions, or feature requests, [file a ticket](https://console.apify.com/actors/maximedupre~us-travel-advisories-scraper/issues) and I'll fix or implement it in less than 24h 🫡

### 🔗 Other actors

- [Flight Scraper ↗](https://apify.com/maximedupre/flight-scraper) - Compare public flight prices, schedules, airlines, stops, and booking links.
- [Award Flights Scraper ↗](https://apify.com/maximedupre/award-flights-scraper) - Track award-seat availability by route, date, cabin, miles, and loyalty program.
- [Google Maps Shared List Scraper ↗](https://apify.com/maximedupre/google-maps-shared-list-scraper) - Export places from public Google Maps shared lists for trip or location workflows.
- [OpenTable + Resy Scraper ↗](https://apify.com/maximedupre/opentable-resy-scraper) - Collect restaurant profiles, ratings, prices, photos, and Resy availability.
- [Map Your Show Exhibitor Scraper ↗](https://apify.com/maximedupre/map-your-show-exhibitor-scraper) - Export trade show exhibitor names, booths, websites, categories, and contact details.

**Made with ❤️ by Maxime Dupré**

# Actor input Schema

## `sourceScope` (type: `string`):

Choose the U.S. government sources to collect.

## `destinations` (type: `array`):

Add country or territory names for focused runs.

## `minimumStateDepartmentLevel` (type: `string`):

Save State Department advisories at this level or higher.

## `changedSince` (type: `string`):

Keep rows issued or updated on or after this date.

## `maxRecords` (type: `integer`):

Limit saved advisory and health notice rows across the run.

## Actor input object example

```json
{
  "sourceScope": "both",
  "minimumStateDepartmentLevel": "1",
  "maxRecords": 25
}
```

# Actor output Schema

## `advisories` (type: `string`):

Open the default dataset with State Department advisory rows and CDC travel health notice rows.

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("maximedupre/us-travel-advisories-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 = {}

# Run the Actor and wait for it to finish
run = client.actor("maximedupre/us-travel-advisories-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 '{}' |
apify call maximedupre/us-travel-advisories-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=maximedupre/us-travel-advisories-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "US Travel Advisories Scraper",
        "description": "Scrape US travel advisories from the State Department and CDC. Export levels, countries, risks, health notices, dates, source text, and official URLs.",
        "version": "0.2",
        "x-build-id": "Qcd52OTI8Qs3hj3yT"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/maximedupre~us-travel-advisories-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-maximedupre-us-travel-advisories-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/maximedupre~us-travel-advisories-scraper/runs": {
            "post": {
                "operationId": "runs-sync-maximedupre-us-travel-advisories-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/maximedupre~us-travel-advisories-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-maximedupre-us-travel-advisories-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "sourceScope": {
                        "title": "Official sources",
                        "enum": [
                            "both",
                            "stateDepartment",
                            "cdc"
                        ],
                        "type": "string",
                        "description": "Choose the U.S. government sources to collect.",
                        "default": "both"
                    },
                    "destinations": {
                        "title": "Destinations",
                        "maxItems": 100,
                        "type": "array",
                        "description": "Add country or territory names for focused runs.",
                        "items": {
                            "type": "string",
                            "minLength": 1
                        }
                    },
                    "minimumStateDepartmentLevel": {
                        "title": "Minimum State Department level",
                        "enum": [
                            "1",
                            "2",
                            "3",
                            "4"
                        ],
                        "type": "string",
                        "description": "Save State Department advisories at this level or higher.",
                        "default": "1"
                    },
                    "changedSince": {
                        "title": "Issued or updated since",
                        "type": "string",
                        "description": "Keep rows issued or updated on or after this date."
                    },
                    "maxRecords": {
                        "title": "Maximum records",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Limit saved advisory and health notice rows across the run.",
                        "default": 25
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
