ParseForge Scrapers

Seat61 Train Route Guides Scraper

parseforge/seat61-routes-scraper

TravelDeveloper tools

Scrapes train route guides from Seat61 by country, route, or search term. Returns each guide as a row with title, URL, summary, and headings. Export to CSV, JSON, Excel, or XML.

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

Overview

ParseForge

Seat61 Train Route Guides Scraper

Scrape train route guides from Seat61, the definitive source for rail travel worldwide. Get every guide's title, summary, and structured headings for any country, route, or search term. Export to CSV, JSON, Excel, or XML.

Seat61 publishes the web's most detailed independent train travel guides, but there is no API and no bulk export. Manually copying route details across hundreds of pages is slow and error-prone. This Actor reads the public guide index and each guide page on demand, returning a clean dataset of titles, summaries, and section headings you can filter and analyse.

Who uses it What they scrape Seat61 for
Travel content teams Building a rail travel directory or inspiration feed from Seat61's guide catalogue.
Transport researchers Cataloguing which international rail connections have dedicated public guides.
SEO analysts Auditing guide titles and heading structures across a large content site.
Rail enthusiasts Creating a personal index of routes they want to explore or have travelled.

What it does

This Actor collects Seat61 train route guides by country, named route, or free-text search, and returns each guide as a flat row with its title, URL, summary, and top-level headings.

  • 🌍 Country guides: scrape every guide for a whole country, such as France, Italy, or Japan.
  • πŸš„ Named route guides: target specific connections like London to Paris or the Caledonian Sleeper.
  • πŸ” Free-text search: filter guides by any word in the title, such as sleeper, night, or Eurostar.
  • πŸ“„ Detail fetch on/off: toggle full page scraping for summaries and headings, or stay on the index for speed.

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

What you can do with Seat61 data

πŸ—ΊοΈ Build a rail route directory.

A travel startup scrapes all country guides, extracts every heading, and populates a searchable database of international train connections.

πŸ“ Audit guide coverage.

A transport blogger runs a search for night trains, collects all matching guides, and identifies gaps where new content is needed.

πŸ”Ž Monitor new guides.

A rail forum moderator schedules weekly runs filtered by route type, spotting newly added guides within hours of publication.

πŸ“Š Analyse heading structure.

An SEO consultant fetches detail pages for the top 200 guides and reviews heading hierarchies to inform a content reorganisation.

Why choose this scraper

What you get
One fixed schema Every guide returns the same fields: title, URL, summary, and headings, so you can merge runs without cleaning.
No API key needed Reads the public Seat61 site directly. No registration, no OAuth, no rate-limit headaches.
Bulk export ready Download as CSV, JSON, Excel, or XML and feed straight into your content pipeline or spreadsheet.

How it compares

No other Store actor targets Seat61 the same way, so the honest comparison is with the alternatives teams actually weigh.

Seat61 Train Route Guides Scraper Build it in-house By hand
Setup Run it now, zero config Days of engineering None, but hours per pull
When Seat61 changes Maintained for you You fix it You re-learn the page
Proxies, retries, anti-bot Built in Your problem Browser only
Output Fixed JSON schema, CSV/Excel export Whatever you build Copy-paste
Cost Pay per result Engineering time Analyst hours

Configure the run

Drive the Actor by guide type (country, route, or both) and an optional search term. The max items cap stops the run after your chosen number of guides, and the detail toggle controls whether each guide page is opened for its full content. The Input tab lists every parameter.

A first run with the defaults:

{
 "maxItems": 10
}

A larger pull:

{
 "maxItems": 200
}

Pricing

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

Results collected Approximate cost
100 results $0.55
1,000 results $5.50
10,000 results $55.00

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 Seat61 Train Route Guides 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 Seat61 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/seat61-routes-scraper"

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

Troubleshooting

Why am I getting no results?

Check your search term. It matches against guide titles only, so a term like TGV works but a station name like Gare du Nord may not appear in any title. Try a broader term or set guideType to all and leave search empty to see everything.

The summary field is empty for some guides.

Not every guide page has a visible summary paragraph. When the page does not include one, the field is left blank. The title and headings are still returned.

The run is taking longer than expected.

When fetchDetails is on, each guide page is opened individually. Reduce maxItems or turn fetchDetails off to scrape only the index, which is much faster.

Some headings are missing from the output.

The Actor extracts top-level headings only. Sub-headings nested inside sections are not captured. This keeps the output clean and predictable.

I see a 403 or blocked error.

Seat61 may temporarily rate-limit aggressive scraping. Try reducing maxItems or spacing out runs. The Actor uses standard request handling, but very large concurrent runs can trigger defences.

FAQ

Question Answer
Does this scrape every page on Seat61? No. It reads the main guide index and, when detail fetch is on, opens only the guide pages that match your filters. Other sections of the site such as news or fare advice are not touched.
What is the difference between country guides and route guides? Country guides cover all rail travel within and from a single country, such as train travel in Italy. Route guides cover a specific city-to-city connection, such as London to Edinburgh. You can scrape either or both.
Can I search for sleeper trains only? Yes. Set the search field to sleeper and the Actor returns every guide whose title contains that word, including the Caledonian Sleeper, Nightjet routes, and other overnight services.
How long does a full scrape take? With detail fetch on, each guide page is opened individually, so a run of 200 guides takes a few minutes. With detail fetch off, the index alone is read and a run of thousands of guides completes quickly.
What data does each row contain? Every row includes the guide title, its URL on Seat61, a short summary paragraph, and the top-level headings from the guide page when detail fetch is enabled.
Is this an official Seat61 API? No. This Actor reads the publicly available web pages. It is not affiliated with or endorsed by The Man in Seat Sixty-One.
Can I limit the number of guides returned? Yes. Set the max items field to any number from 1 to 1,000,000. The Actor stops after collecting that many matching guides.
Does the Actor handle Seat61's page structure changes? The Actor targets the standard guide index and page layout. If the site undergoes a major redesign, the scraper may need an update, which the maintainer typically ships quickly.
Can I export the results to Google Sheets? You can export to CSV or Excel from the Apify dataset tab and then import that file into Google Sheets in a few clicks.
What happens if a guide page is temporarily unavailable? The Actor logs the error and continues with the next guide. You can re-run the scraper later to pick up any pages that were missed.

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 Man in Seat Sixty-One. 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
guideType string (3 options) Which set of guides to scrape: country guides (e.g. France, Italy), named route guides (e.g. London to Paris), or both. all
search string Optional. Only return guides whose title contains this text (for example Paris, Italy, sleeper). not set
fetchDetails boolean When on, open each guide page to pull its title, summary, and heading. When off, only the link text and URL from the index are returned (faster). true
maxItems integer How many routes to collect per run. 10

Pricing

from $4.98 per 1,000 results

Charged forWhat it isPrice each
result Single result in the default dataset. $0.00498 to $0.0055

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~seat61-routes-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 Seat61 Train Route Guides Scraper on Apify All scrapers