Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FlightMemory Exporter

A Python tool to extract and export your flight data from FlightMemory.com to CSV format.

FlightMemory.com is a popular flight logging service. It offers a PDF export of your flight history, but no export in a machine-readable format like CSV or JSON. This script fills that gap by parsing FlightMemory's HTML pages (either saved locally or scraped live) and producing a clean, structured CSV file you can load into a spreadsheet, database, or other application.

I originally built this to migrate my own flight history into Taya Flights, my (free) flight logging app, which can import this tool's CSV output directly. But the CSV is generic and can be used for anyone looking for structured data.

Features

  • Scrape flight data directly from FlightMemory.com by logging in (requires account)
  • Extract flight data from saved HTML files from FlightMemory.com
  • Handle pagination to get all flights across multiple pages
  • Parse journey information to group related flights
  • Separate aircraft type and registration information
  • Extract detailed seat, class, role, and reason information
  • Deduplicate flights when scraping across pages
  • Automatically prepend the current date to output filenames

Requirements

  • Python 3.9 or newer
  • A FlightMemory.com account (for web mode)

Installation

  1. Clone this repository:
git clone https://github.com/ehjacobs/flightmemory-exporter.git
cd flightmemory-exporter
  1. Create and activate a virtual environment:
python3 -m venv venv
source venv/bin/activate
  1. Install dependencies:
pip install -r requirements.txt

When you're finished, you can leave the virtual environment with deactivate.

Usage

For most users, this is the only command you need:

python3 fm-download.py --web

The script logs in to FlightMemory.com (it will prompt for your username and password), fetches all pages of your flight data, and writes everything to a dated CSV file. Your credentials are sent only to FlightMemory.com to log in — they are never stored or transmitted anywhere else.

You can limit the number of pages fetched:

python3 fm-download.py --web --max-pages 5

Alternative: from a saved HTML file

Useful for testing, or if you prefer not to enter your credentials into a script. Save your FlightMemory flight data page as HTML in your browser, then:

python3 fm-download.py --file path/to/saved-page.html

Note that FlightMemory paginates at 50 flights per page, and this mode processes a single saved page. If you have more than 50 flights, use web mode to fetch all pages automatically.

Options

Flag Description
--web Scrape live from FlightMemory.com
--file PATH Path to a saved HTML file
--output FILE Custom output filename (default: FlightMemory_data.csv)
--max-pages N Limit pages to scrape (web mode only)
--show-password Show password as you type instead of masking

Output

The script generates a CSV file prefixed with the current date (e.g., 2025-09-12_FlightMemory_data.csv) with these columns:

Column Description
Count Sequential flight number from FlightMemory
Departure Date ISO format (YYYY-MM-DD)
Departure Time Local departure time
Arrival Date ISO format, adjusted for overnight flights
Arrival Time Local arrival time
Departure Code IATA airport code
Departure City City name
Departure Country Country name
Departure Airport Full airport name
Arrival Code IATA airport code
Arrival City City name
Arrival Country Country name
Arrival Airport Full airport name
Flight # Flight number
Airline Airline name
Aircraft Type Aircraft model
Registration Aircraft registration
Distance Flight distance
Duration Flight duration
Seat Number Seat assignment
Seat Type Window/Aisle/Middle
Class Cabin class
Role Passenger role
Reason Travel reason
Journey Journey grouping name
Comment User-entered notes

How it works

FlightMemory displays flight data in paginated HTML tables. The script:

  1. Authenticates (web mode) via POST to FlightMemory's login endpoint
  2. Fetches pages using the dbpos pagination parameter (50 flights per page)
  3. Parses HTML tables using BeautifulSoup, identifying flight rows by valign="top" and journey headers by Journey: markers
  4. Deduplicates flights using a composite key of date, time, airports, airline, and flight number
  5. Writes CSV with all extracted fields

Known limitations

  • Date format: The parser assumes US-style dates (MM-DD-YYYY), the FlightMemory default for English accounts. If your FlightMemory account is set to a different date format (e.g., DD-MM-YYYY), dates may be parsed incorrectly. Auto-detection or a format flag may be added in the future — PRs welcome.
  • English interface: Login verification checks for the flight data table itself, but end-of-data detection, some error messages, and journey grouping (matched by the English "Journey:" label) rely on English text from FlightMemory's pages. If your account is set to another language, some features may not work correctly.

Disclaimer

This project is an independent, unofficial tool. It is not affiliated with, endorsed by, or in any way associated with FlightMemory.com or Heret Informatik Service. "FlightMemory" is a trademark of its respective owner. This tool is intended for personal use to export your own flight data.

Contributing

Contributions are welcome! If you hit a parsing issue, please open an issue and include a snippet of the offending HTML (with personal data removed). Pull requests for bug fixes and improvements are appreciated — for larger changes, please open an issue first to discuss.

License

MIT

About

Export your FlightMemory.com flight data to CSV

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages