Flight Scraper refers here to the public Go project antodippo/flight-scraper, not to every flight-data service with a similar name. It accepts a departure airport, arrival airport, travel date, and email recipients; queries Kayak.com; parses flight results; and sends an email containing the findings. The repository presents the program as a learning and experimentation project, so its README does not establish that it still works against Kayak’s current pages.
What this flight scraper actually does
The project is a small, single-workflow Go application. You provide four kinds of input:
- Departure airport code
- Arrival airport code
- A date in
YYYY-MM-DDformat - One or more email recipients
It then requests a Kayak.com flight-results page, extracts fields from the response, and sends an email. The README’s example table contains a route, departure or arrival time, airline and price. Those figures illustrate the email format; they are not current fare quotes.
This is different from a flight-search API. The repository does not document a general airline database, historical-price store, booking capability, fare alerts, or a public JSON API. Its documented output is an email generated by one executable.
Quick wins for a faster PC:
Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Repair Windows errors before they cause bigger problemsFix Now →#1 Best Overall
- COMFORTABLE ERGONOMIC HOTAS DESIGN - Fly for hours without fatigue thanks to the wide hand rest and real size ergonomically shaped throttle control that keeps your hands in a natural position. Every flight sim session feels as immersive as sitting in an actual cockpit with your favorite flight simulator controller setup.
- FULLY PROGRAMMABLE FLIGHT CONTROLS - Customize all 12 action buttons and 5 axes to match your preferred flight sim setup, giving you instant command over every function in your joystick for flight simulator games, whether you are navigating civil aviation routes or engaging in intense military combat maneuvers across your favorite titles.
- DETACHABLE THROTTLE FOR FLEXIBLE SETUP - Separate the full size throttle from the joystick to create your ideal flight sim cockpit mount configuration, or keep them connected for a compact desktop arrangement, giving you the versatility to build the perfect hotas flight stick arrangement that suits your space and play style.
- PRECISION JOYSTICK WITH ADJUSTABLE RESISTANCE - Enjoy pinpoint accuracy with a high precision flight joystick featuring a resistance dial that lets you fine tune stick tension to your liking, plus dual rudder control via handle rotation or progressive tilting lever so your aerial maneuvers feel smooth and perfectly responsive every single flight.
- PLUG AND PLAY INSTANT TAKEOFF READY - Skip complicated configuration and start flying immediately with preconfigured controls, an exclusive preset button to swap profiles on the fly, and built-in memory that saves your custom programming even when the flight stick is disconnected, ensuring you are always ready for your next mission.
What you need before running it
Go and the source code
The program is written in Go. Obtain the antodippo/flight-scraper source, inspect its current README and dependencies, and use the Go version required by the repository if one is specified. The available project documentation does not establish a current maintenance schedule or a tested Go-version matrix.
A route and date
Use airport codes accepted by Kayak and a date formatted exactly as YYYY-MM-DD. Validate the date before starting a scheduled job; a malformed value can produce an empty result or a request that Kayak does not interpret as intended.
SMTP access
Email delivery is mandatory in the documented workflow. The README gives example environment variables for the sender address, SMTP host, port, username and password. Set those values for an account that permits SMTP submission. Keep credentials outside source control and use a provider-specific app password where the provider requires one.
Permission to collect the page
The README explicitly tells users to read Kayak.com’s terms and conditions before use. That is a direction to review the site’s rules, not a legal determination that a particular collection method is permitted in every country or use case.
Configuration model
The README documents SMTP settings rather than a hosted configuration service. A typical environment should contain the following categories of values; use the exact variable names shown in the version of the README you obtained:
Rank #2
- REALISTIC FLIGHT SIMULATOR CONTROL - Experience true hands-on flying with a precision HOTAS joystick and throttle system designed for immersive flight simulator gameplay. Ideal for flight simulation.
- ERGONOMIC FLIGHT STICK DESIGN - Comfortable flight stick joystick with adjustable resistance, responsive trigger, hat switch, and multiple programmable buttons for smooth aircraft control during takeoff, landing, and combat maneuvers.
- DETACHABLE THROTTLE FOR VERSATILE SETUPS - Modular design allows the flight stick and throttle to be used together on a desk or separately on your lap, ideal for cockpit, desk, or casual flight simulator setups.
- PLUG & PLAY FOR PC & CONSOLE - Easy USB connection delivers instant compatibility with Windows PC and Xbox Series X|S. This flight simulator controller requires no complex setup and works seamlessly with most popular flight sim software.
- ADAPTED FOR ALL FLIGHT SIMULATION TYPES – Adjustable joystick resistance and ergonomically placed buttons deliver precise control across all aircraft categories. Ideal for commercial aviation, combat jets, and helicopters, making it perfect for both beginner pilots and seasoned flight sim enthusiasts.
| Setting | Purpose | Operational note |
|---|---|---|
| Sender | From address used by the message | Usually must be authorized by the SMTP account |
| SMTP host | Mail server hostname | Use the provider’s submission endpoint |
| SMTP port | Connection port | Match the provider’s TLS or STARTTLS mode |
| Username | SMTP authentication identity | Often the full mailbox address |
| Password | SMTP authentication secret | Prefer an app password or secret-store value |
| Recipients | One or more destination addresses | Confirm the project’s separator and command syntax |
Do not copy the README’s sample credentials into production. They are examples, not a working account.
How to run the project
- Read the repository README and install the documented Go dependencies.
- Export the SMTP sender, host, port, username and password variables using the exact names required by that checkout.
- Choose the departure code, arrival code, date and recipient list.
- Run the project using the repository’s documented command. The README demonstrates a command that supplies a route, a
YYYY-MM-DDdate and an email recipient; copy that syntax rather than inventing flags for a different revision. - Check the recipient mailbox, including spam and provider quarantine folders. The expected result is an email table with route, time, airline and price fields when Kayak returns parseable results.
Because the source documentation does not establish current compatibility, treat the first run as a diagnostic. Save the terminal output, HTTP errors and email-delivery response so you can distinguish a Kayak-page change from an SMTP problem.
Scheduling with cron
The author suggests running the executable as a cron job. A reliable schedule needs an absolute executable path, an explicit environment and a log destination. Cron does not automatically load your interactive shell profile, so put required variables in a protected file or a service-level secret mechanism and source it from a wrapper script.
Do these 3 things before closing this tab:
1Fix the driver behind crashes, sound loss and screen glitches2Clear out junk files and repair common Windows errors3Scan for outdated or missing drivers - takes under a minute#!/bin/sh
set -eu
. /etc/flight-scraper/smtp.env
/usr/local/bin/flight-scraper >> /var/log/flight-scraper.log 2>&1
Then schedule the wrapper at the interval you choose. The exact project command and arguments belong in the wrapper, based on the README for your checkout. Use a lock (for example, a systemd timer with a non-overlapping policy) if a slow request could overlap the next run. Avoid very short intervals: repeated requests can trigger rate limits or violate site rules.
What can break, and how to diagnose it
No email arrives
- Verify the sender, host, port, username and password independently with the SMTP provider’s documented settings.
- Check spam, quarantine and sender-verification requirements.
- Run once interactively so the SMTP error is visible instead of hidden in cron output.
Authentication or TLS errors
Common causes are a wrong port/security mode, a disabled password-login method, or a provider requiring an app password. Correct the SMTP settings; do not disable certificate verification as a first response.
Rank #3
- Military-grade Space and Flight Sim Precision. Customizable options including all the control surface options required to achieve the exact level of performance that aspiring combat pilots demand.System Requirements : Windows 11,10,8.1,7, 2x USB 2.0 Port
- New Mini Analog Stick Control Surfaces: Control pitch, roll, yaw, backwards, forwards, up, down, left and right as well as gimballed weapons that are controlled separately from the space craft
- RGB Backlighting: Many PC peripherals now feature RGB backlighting and the X-56 is no exception. Use the software to set the color of the lighting to match the rest of your gaming rig
- Ideal for VR: The X-56 places controls perfectly under your fingers where subtle distinctions in button feel and shape help you navigate the control set with ease
- Fully Featured HOTAS: Accurate 16-bit aileron and elevator axis with hall-effect sensors. Adjustable Stick Force via Advanced 4-Spring System. Twin Throttles with Friction Adjuster and Throttle Lock
The email is sent but contains no flights
Confirm the airport codes and date format. Then inspect the fetched Kayak response. A site redesign, consent interstitial, bot check, regional variation or changed HTML selector can make an older parser return no rows even when a browser shows flights.
HTTP blocking, CAPTCHA or timeouts
These indicate that the target site did not provide a normal results page. Retrying aggressively can worsen blocking. Respect Kayak’s terms, reduce frequency, and reassess whether a maintained browser or data provider is more appropriate.
Cron works manually but not on schedule
Use absolute paths, set the working directory explicitly, export every required variable in the wrapper and capture standard output and error. Cron’s network, PATH and home-directory context is usually different from an interactive shell.
Reliability and data-quality limits
The repository documentation supports a simple request, parse and email flow; it does not document retries, proxy rotation, browser rendering, historical storage, deduplication, currency normalization, or alert thresholds. Plan accordingly:
- Record the retrieval timestamp and the requested route/date in your own storage if you need history.
- Treat a missing row as “no parseable result,” not proof that no flight exists.
- Compare currency and fare conditions before acting on a price; the README does not define normalization rules.
- Expect selectors and anti-bot behavior to change when Kayak changes its site.
The author’s statement that it was built “just for learning and experimentation purposes” is the clearest maturity signal available in the project documentation. Current live operation has not been established here.
Rank #4
- 【With Vibration Function】This flight stick is ONLY for PC/Computer and ONLY compatible with Windows 7/8/10/11 (Mac/Apple computers/Apple devices/PS3/PS4/PS5/Xbox One/Switch not supported).PXN2113 PRO gaming joystick for pc will never let you down with realistic fly experience. Compatible with many flight joystick pc games: World of Tanks,World of Warplanes,War Thunder,Assault Horizon,Microsoft Flight Simulator,X Plane 10,etc. Vibration Switch is at the bottom,please switch to“ON”.If less than 20%,you will almost not feel the vibration.Please set the vibration strength in the driver to 50% or higher for this joystick pc flight simulator.
- 【Immersive Fly Experience for Your Flying Dream】You can make the right moves with rapid fire trigger,4 axis controlling,8-Way hat switch and 12 programmable buttons of this computer joystick for gaming pc flight.Advanced software,Support various custom adjustment and keyboard mapping,enjoy exciting joystick flight simulator controls for pc games now! Not only a game, but also a dream of flying!
- 【FAQ】:Q1:Why doesn't it work on my pc/Xbox? A: It is ONLY for PC and Windows 7/8/10/11(Not for Mac/Apple devices/Xbox).Please turn on pc First and then connect with this joystick.If not,some pc may not identify it. Q2: How to install the driver? A: No need to install the driver and can play games directly.If you need driver,please find "Installation" section in manual or follow below steps: 1:Visit PXN official website→Support→Driver→Find PXN-2113PRO driver to download. 2:Extract the driver and install. 3:Plug joystick into PC USB port,pc will identify new hardware and install automatically. 4:Play games or set the joystick in driver.The drive can test and calibrate the pc flight joystick.
- 【Comfortable to Hold, Agile to Operate】This usb joystick for pc is with a solid and smooth feeling,very comfortable.Four power-grip suction cups at the bottom of this pc joystick for flight simulator pc games,they can fix firmly and easily when the table is smooth.Precise throttle control,Ergonomic design,Single hand control full function with this flight joystick for pc games.(Note:Force Feedback/Minecraft/Asphalt 8/Ace Combat 7 not supported).This Flight simulation pc controller with Friendly and Easy-to-Reach Customer Service.If any problem,please contact us directly(Contact Seller),Fengying will reply within 12 hours.
- 【Setup Guide for Microsoft Flight Simulator】For PXN 2113 flight sim joystick pc setup in Microsoft Flight Simulation,please refer to below images and follow below steps: Step 1: Launch the game and click"MENU.FLOWBAR_ OPTIONS",select“MENU.OPTIONS CONTROLS". Step 2: Except the keyboard and mouse mode, also have joystick mode in game.Please click“GENERIC USB JOYSTICK" to map the key. (Note:The joystick should be plugged into PC before this setting). Step 3: For function settings,take “INPUT.KEY_ _SWITCH_ CAMERA"as an example,scroll down to select“Select an input",click No.12 button,finally click“VALIDATE”to save.
When a managed service is a better fit
A small Go scraper is reasonable for a personal experiment with one route and infrequent email. Consider another architecture when you need several regions, concurrent collection, structured delivery, browser rendering, or operational monitoring.
| Option | What its published material describes | How it differs from this repository |
|---|---|---|
| Bright Data flight scraper | Scheduled collection, structured data delivery and managed proxy/unblocking infrastructure; its product page lists 5,000 free monthly credits and paid usage options, which should be rechecked because pricing and limits change. | A managed service rather than a local Go parser. |
| Browserbase | Cloud browser execution, geolocated sessions and concurrent collection for flight-scraping workflows. | Browser infrastructure you build around; not a drop-in command-line replacement. |
| ScrapingBee | Markets a managed API for flight-page extraction. | The repository documentation does not show an integration with it. |
Evaluate any alternative on target-site coverage, browser-rendering requirements, geolocation and blocking controls, structured output, scheduling and concurrency, integration effort, and total cost at your volume. Vendor success-rate or benchmark claims should be treated as vendor claims, not independent guarantees.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Or skip the browser setup
If your immediate need is a clean visual record of a flight-results page rather than parsed fare data, ScreenshotNeo provides a single HTTP call. It accepts consent banners before capture and removes more than 60 known consent platforms, newsletter popups and chat widgets. Bot checks, blank pages, timeouts, failed loads and cache hits are not billed, and response headers identify the page verdict and billing status. It also offers an MCP server for AI agents with take_screenshot, get_page_info and capture_pdf.
Use the documented options to set a full-page capture, wait for a selector or network idle, choose a device and viewport, apply custom headers or cookies, hide selectors, block requests, or schedule asynchronous jobs. A screenshot does not replace structured fare extraction; it is useful for audit trails, visual checks and human review.
See the ScreenshotNeo API documentation for the current parameter list. The following cURL request captures a Kayak URL (replace it with the exact results URL you are authorized to access):
Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchPC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://www.kayak.com -o shot.webp
Python
import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://www.kayak.com"}, timeout=90)
r.raise_for_status()
open("shot.webp", "wb").write(r.content)
Node.js
const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://www.kayak.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);
const fs = await import('node:fs/promises');
await fs.writeFile('shot.webp', Buffer.from(await res.arrayBuffer()));
The Free plan includes 1,000 screenshots per month with no card. Paid plans start at $5 for 3,000 shots; every feature is on every plan, and yearly billing gives two months free. Create a free ScreenshotNeo account to get started.
Best Value
- PINPOINT HALL EFFECT PRECISION - Experience drift free accuracy that never degrades over time thanks to Thrustmaster's patented H.E.A.R.T magnetic sensor technology, giving you the reliable and consistent control you need for every flight simulator joystick session, from delicate landings to intense dogfights, so your inputs always translate perfectly into the cockpit.
- FULLY AMBIDEXTROUS ERGONOMIC DESIGN - Fly comfortably whether you are left handed or right handed with three removable and swappable components that let you tailor this pc joystick to your dominant hand, ensuring hours of fatigue free flying with a grip that feels custom built just for you, no matter which flight sim controller setup you prefer.
- 16 BUTTONS PLUS HAT SWITCH - Command every function at your fingertips with 16 action buttons featuring braille style physical identification so you never need to look away from the screen, plus an 8 way point of view hat switch that gives you instant situational awareness in any flight simulator controller scenario you encounter.
- FOUR INDEPENDENT AXES WITH RUDDER - Take full control of pitch, roll, yaw, and throttle using four independent axes including a built in twist rudder, eliminating the need for separate pedals and giving you a complete experience that handles every maneuver in your favorite joystick for flight simulator titles with smooth responsiveness.
- CUSTOMIZABLE PROFILES WITH TARGET SOFTWARE - Load or create detailed button mapping profiles for every game in your library using Thrustmaster's powerful T.A.R.G.E.T programming software, so your flight stick is always perfectly configured whether you are exploring space sims, combat missions, or civilian aviation with fully personalized controls.
Practical decision checklist
- Choose this Go project for learning, a small personal schedule and an email-shaped result.
- Choose a maintained or managed workflow when Kayak rendering, blocking, geography or concurrency is central to the job.
- Store timestamps and raw evidence if a fare decision must be auditable.
- Read Kayak’s terms before collecting data and keep request frequency conservative.
- Use ScreenshotNeo when a clean, billable-only screenshot or PDF is the actual requirement rather than a parsed fare feed.
Frequently Asked Questions
Does this project book or purchase flights?
No. Its documented behavior is to query Kayak, parse displayed results and email a table; booking is not described.
Can I treat the README’s sample prices as live fares?
No. They are illustrative values in the README, not current quotes.
Is the project’s current Kayak compatibility guaranteed?
No. The documentation presents it as a learning and experimentation project and does not establish present-day successful operation.
The Bottom Line
Bottom line: antodippo/flight-scraper is a compact Go experiment for emailing parsed Kayak results from a route and date. It can be useful for learning and a low-frequency personal job, but its README does not promise current compatibility, reliability or legal permission. Validate the site terms, SMTP setup and parser behavior before depending on it.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

