Omio Scrapper avatar

Omio Scrapper

Under maintenance
Try for free

No credit card required

Go to Store
This Actor is under maintenance.

This Actor may be unreliable while under maintenance. Would you like to try a similar Actor instead?

See alternative Actors
Omio Scrapper

Omio Scrapper

matej.vavro/omio-scrapper
Try for free

No credit card required

This actor scrapes all of the available travel options (flight, train, bus) matching the provided input's date and from/to location. It outputs the results into an Apify dataset, sorted according to the departure time, from earliest to latest.

Developer
Maintained by Community

Actor Metrics

  • 4 Monthly users

  • No reviews yet

  • 1 bookmark

  • 96% runs succeeded

  • Created in Feb 2025

  • Modified 21 days ago

Categories

Omio Scrapper is an Apify Actor designed to scrape travel data from Omio for specific dates. It fetches all available travel options matching the search criteria (e.g. schedules, prices, etc.) and outputs the results into an Apify dataset.


Overview

This open‑source actor uses Crawlee together with Playwright to automate browser activities and scrape data. The project extracts travel information for trains, buses, and planes—all with details such as departure/arrival times, durations, pricing, and other metadata.

Please note: Currency support is not fully feature‑complete. Currently, the currency shown depends on the proxy location. We plan to add improved currency handling in the future.

The Omio Scrapper is under active development. Future releases will include additional features such as exposing top‑level map, filter, and reduce operations on the results—giving users the ability to modify and transform the output however they wish.


Project Structure

  • handlers: Contains the main task handler (e.g. start.ts), which coordinates the scraping process and data extraction.

  • crawlers: Holds the browser automation and scraper modules (for both Cheerio and Playwright) responsible for parsing page content.

  • models: Defines all data structures including search input, travel results, companies, providers, positions, etc.

  • utils: Provides helper functions for cookie handling, currency, parsing, element selections, and more.

  • router: Sets up the routing for tasks and custom endpoints if needed.

This high‑level architecture allows for a clear separation of concerns and makes it easier to extend or modify specific parts of the system.


Getting Started

  1. Install Dependencies

    Ensure you have pnpm installed, then run:

    pnpm install
  2. Run the Project

    Run the TypeScript source code:

    pnpm dev
  3. Deploy as an Apify Actor

    Check the .actor/actor.json for deployment configurations and deploy via the Apify CLI or Apify web interface.


Input

The actor expects the following input fields:

  • from: Departure city (string).
  • to: Destination city (string).
  • date: Travel date in the format YYYY-MM-DD. Note: The date must be either today's date or a future date. Past dates are not supported.

Example Input:

1{
2	"from": "Berlin",
3	"to": "Munich",
4	"date": "2023-11-15"
5}

Note: These keys represent the departure location, destination, and travel day respectively.


Output

The actor writes all extracted travel data entries to an Apify dataset. Each record represents one travel option with details such as times, duration, price, and additional travel specifics. The data is sorted based on departure time, from earliest to latest.


License

This project is open source, licensed under the GNU Affero General Public License 3.0 (AGPL-3.0). Feel free to review, use, and modify the code according to the license terms.