Rail for Less: a fare checking site

Amtrak Unlimited Discussion Forum

Help Support Amtrak Unlimited Discussion Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.
I don't 'get' the point of Amtrak making it more difficult to shop for lower fares on their site, or not permitting third parties to make it easier to do so.
I wonder if they are hoping to sell more tickets at the higher prices, and let lower priced trains go out emptier? Not sure of that being a sound yield management strategy, but it sure won't endear them to customers...🤷‍♂️
 
Southwest Airlines started showing several days at once decades ago and I can see multiple dates on AA, DL, & UA as well. If it does not come up automatically select the flexible dates option and you're good to go. You can see several months at a time and set price alerts with third party services. Meanwhile Amtrak disables third party options while refusing to build their own.
I can do a "calendar check" for lowest fares on a given day, but I can't get Delta to kick out "list all the flights for Monday and Tuesday".
 
IMO, Sean Eddys RailForLess.us website needs a bit of further refinement but due to the complicated process of finding fares on the Amtrak website; I believe hes doing pretty well. The server that is used can get busy but it seems to be working on my searches about 90% of the time.
It is difficult to understand why Amtrak has an aversion to rail passengers checking fares over a time period. My sincerest thanks to Mr Eddy for developing this valuable resource.
 
If you've got a number for Amtrak IT, go for it. No one on the customer service lines is going to have the slightest idea.
I don't believe the 'IT' department would either...they just implement what the financial and marketing policymakers decide. And good luck trying to get an answer from anyone in those areas...
 
I can do a "calendar check" for lowest fares on a given day, but I can't get Delta to kick out "list all the flights for Monday and Tuesday".
While true you can fill this void with third party services because Delta publishes distinct service-specific inventory to Sabre, Amadeus, & Travelport.

Who ya' gonna call? I'm sure Customer Service has no idea.
I'd imagine Customer Service has a direct line to IT, and that someone in IT knows who makes those decisions, but based on my prior interactions with Amtrak staff I would expect a made-up answer rather than any actual research or finger lifting. Amtrak's official position is that multi-day searching would be made available in the future, but it has been several years since they made that claim with nothing meaningful to show for it.
 
I wonder if anyone has ever called AMTRAK and asked them?
They'd rather moan & groan on FB and forums. ;)

If anyone wants to try, they can certainly uses the Contact Us option. I have used it and usually get a good reply within 7 days. Have even gotten at least one issue posted on AU "fixed", so it is a viable means to ask these kinds of questions.
 
I don't believe the 'IT' department would either...they just implement what the financial and marketing policymakers decide. And good luck trying to get an answer from anyone in those areas...
Having had a life-long career in corporate IT, since such a thing would be an enhancement they would have to implement. They would know:
1. Whether such an enhancement had been requested.
2. If it had been, a what priority it had been assigned.
3. If it had been placed in a backlog queue to be actively worked. It's position in backlog very much subject to change based on the priority of other incoming enhancement requests. Or so low it is parked entirely, subject to periodic review.

IT would be a major participant and would be the entity response for tracking the status of all enhancement requests, since they would be the ones doing it. Marketing and finance, or other departments, would not be responsible for the work or tracking it. There is virtually always more work requested than there is capacity to do it and that must be managed.

This is assuming Amtrak IT is reasonably well organized, which may be a questionable assumption.
 
Last edited:
Hey all, I run railforless.us! I came across this thread some time ago when traffic spiked on the site and again more recently with the new discussion these past few days. I appreciate the feedback left here and on the site's feedback form, I've learned a lot about how I can improve this service. I implemented some of the simpler suggestions a while back from this thread, such as recognizing station codes and the ability to flip the direction of travel between stations. After reading through the comments left here and the feedback recorded on my site, I have made a list of improvements I plan to implement the next time I update the site. I would love to hear any additional suggestions; I am willing to implement anything that is possible within the constraints of manually scraping data from amtrak.com. Below is my list of potential improvements:

  • Allow variable departure time/route selection, perhaps allow user to enter preferred departure time and/or route? This is an issue on busier routes like northeast corridor with multiple departing trains each day and/or different routes between the same station pair, e.g. Acela vs Northeast Regional.
  • Allow users to enter travel information, like adult/senior/youth/child/infant and quantity.
  • Make 30-day search window times clearer (currently 7PM-7AM CST)
Again, I appreciate any and all feedback, so do not hesitate to leave a comment as I may be able to easily address your concern. I have a pretty open schedule this summer until I return to college in the fall so I will likely be able to implement changes relatively soon.
 
Hey all, I run railforless.us! I came across this thread some time ago when traffic spiked on the site and again more recently with the new discussion these past few days. I appreciate the feedback left here and on the site's feedback form, I've learned a lot about how I can improve this service. I implemented some of the simpler suggestions a while back from this thread, such as recognizing station codes and the ability to flip the direction of travel between stations. After reading through the comments left here and the feedback recorded on my site, I have made a list of improvements I plan to implement the next time I update the site. I would love to hear any additional suggestions; I am willing to implement anything that is possible within the constraints of manually scraping data from amtrak.com. Below is my list of potential improvements:

  • Allow variable departure time/route selection, perhaps allow user to enter preferred departure time and/or route? This is an issue on busier routes like northeast corridor with multiple departing trains each day and/or different routes between the same station pair, e.g. Acela vs Northeast Regional.
  • Allow users to enter travel information, like adult/senior/youth/child/infant and quantity.
  • Make 30-day search window times clearer (currently 7PM-7AM CST)
Again, I appreciate any and all feedback, so do not hesitate to leave a comment as I may be able to easily address your concern. I have a pretty open schedule this summer until I return to college in the fall so I will likely be able to implement changes relatively soon.
Thanks for taking your time to offer this site. It does take time to use, but is quicker than using the Amtrak site.

Good lick with the improvements!
 
Hey all, I run railforless.us! I came across this thread some time ago when traffic spiked on the site and again more recently with the new discussion these past few days. I appreciate the feedback left here and on the site's feedback form, I've learned a lot about how I can improve this service. I implemented some of the simpler suggestions a while back from this thread, such as recognizing station codes and the ability to flip the direction of travel between stations. After reading through the comments left here and the feedback recorded on my site, I have made a list of improvements I plan to implement the next time I update the site. I would love to hear any additional suggestions; I am willing to implement anything that is possible within the constraints of manually scraping data from amtrak.com. Below is my list of potential improvements:

  • Allow variable departure time/route selection, perhaps allow user to enter preferred departure time and/or route? This is an issue on busier routes like northeast corridor with multiple departing trains each day and/or different routes between the same station pair, e.g. Acela vs Northeast Regional.
  • Allow users to enter travel information, like adult/senior/youth/child/infant and quantity.
  • Make 30-day search window times clearer (currently 7PM-7AM CST)
Again, I appreciate any and all feedback, so do not hesitate to leave a comment as I may be able to easily address your concern. I have a pretty open schedule this summer until I return to college in the fall so I will likely be able to implement changes relatively soon.
Do you not run into the limit we get for doing to many searches too quickly? It seems as though after about seven searches or so I get error messages telling me I have to try later.
 
Do you not run into the limit we get for doing to many searches too quickly? It seems as though after about seven searches or so I get error messages telling me I have to try later.
Oh I definitely did! Resolving that and every other way the reCAPTCHA API flags suspicious activity was the bulk of the time and energy I put into this project. Rather than summarize again what I did to resolve this I'll just quote myself from the about page on my site:

"This website exploits the weakness that Amtrak needs at least a few requests to develop a pattern of automated activity. Using a paid proxy service, I can mask the IP of incoming requests at a regular interval. Running a real browser and funneling requests through a proxy slows down the scraping process considerably, but is the only way to get fares at scale without detection."

In layman's terms, every 3 requests I am closing the browser and opening a new browser with a new IP address (the IP address is how the API identifies users) so to the API it looks like a completely different user from a new location. That should help explain why this process takes so long as I have to wait for a new browser to open and load the page fully every 3 requests.
 
Last edited by a moderator:
The “See What Others are Searching” button near the bottom of the page is interesting. It immediately shows the results for previous searches (including train capacity) without any wait, which is handy for getting a rough idea of whether a trip might be feasible.
 
Oh I definitely did! Resolving that and every other way the reCAPTCHA API flags suspicious activity was the bulk of the time and energy I put into this project. Rather than summarize again what I did to resolve this I'll just quote myself from the about page on my site:

"This website exploits the weakness that Amtrak needs at least a few requests to develop a pattern of automated activity. Using a paid proxy service, I can mask the IP of incoming requests at a regular interval. Running a real browser and funneling requests through a proxy slows down the scraping process considerably, but is the only way to get fares at scale without detection."

In layman's terms, every 3 requests I am closing the browser and opening a new browser with a new IP address (the IP address is how the API identifies users) so to the API it looks like a completely different user from a new location. That should help explain why this process takes so long as I have to wait for a new browser to open and load the page fully every 3 requests.
So in other words ... the Captcha is only a hindrance to us normal human users. :)

Just in case I wasn't clear ... that was sarcasm ... and I'm glad you have a work-around for our benefit. I've obviously been in IT way too long (4+ decades).

Greatly appreciate your efforts tikkisean. I just found out about you because of this forum. The next time that I travel Amtrak I'll use your service ... and you'll get a cup of coffee.
 
Oh right I forgot Autotrain isn't working when I tried to fix that last time I was having issues with it using its own separate page, I'll add that to the list of things I'll try to fix with the next update. Regarding trains like the Cardinal that operate less frequently than once a day, how would you suggest I change the fare-scraping process? You can still get fares for these routes, it just might take a while as I have to first check if the train runs each day. I had to scroll a bit to find a recent example of someone who had searched for the Cardinal but you can see below it does work:

Screenshot 2023-07-19 095737.png
 
The “See What Others are Searching” button near the bottom of the page is interesting. It immediately shows the results for previous searches (including train capacity) without any wait, which is handy for getting a rough idea of whether a trip might be feasible.
That feature was actually the cause of the most recent outage, I hadn't set a maximum number of entries in the JSON file that stored all the searches and eventually there got to be so many (1000+) that it caused the server to fail when trying to send them to the client. I'll probably cap that file to ~100 searches.
 
In layman's terms, every 3 requests I am closing the browser and opening a new browser with a new IP address (the IP address is how the API identifies users) so to the API it looks like a completely different user from a new location. That should help explain why this process takes so long as I have to wait for a new browser to open and load the page fully every 3 requests.
I found a simpler way to get around this issue. Using Firefox, enabling private tabs and the "Temporary Tabs" addon as well as using a VPN, I simply open another private tab and go to the site in both private tabs. I can simultaneously put in independent searches and have both working simultaneously. I've used as many as three but I imagine more can be done since it appears Amtrak uses cookies (which are isolated when using private tabs) to determine when to slow down the user or not. Ever since Amtrak instituted that "feature", my limit has always been 3 per tab whether I use one or more so I do three in each tab then delete the tab and open a new one to go back. Since I am doing it manually, I have to re-enter all the data for each tab.

As to your site, I reported a couple of issues via the feedback. I had selected NOL -->TUC and both BR and FBR and it only showed BR and Coach columns. When selecting only BR, showed the same thing. When selecting FBR, it showed only Coach column.

Thanks for your great work.
 
I found a simpler way to get around this issue. Using Firefox, enabling private tabs and the "Temporary Tabs" addon as well as using a VPN, I simply open another private tab and go to the site in both private tabs. I can simultaneously put in independent searches and have both working simultaneously. I've used as many as three but I imagine more can be done since it appears Amtrak uses cookies (which are isolated when using private tabs) to determine when to slow down the user or not. Ever since Amtrak instituted that "feature", my limit has always been 3 per tab whether I use one or more so I do three in each tab then delete the tab and open a new one to go back. Since I am doing it manually, I have to re-enter all the data for each tab.

As to your site, I reported a couple of issues via the feedback. I had selected NOL -->TUC and both BR and FBR and it only showed BR and Coach columns. When selecting only BR, showed the same thing. When selecting FBR, it showed only Coach column.

Thanks for your great work.
That's a clever way to get around the CAPTCHA, using a VPN is the same in principle to using a proxy like I do in that it masks the true IP address of the server. I think there's more to the CAPTCHA algorithm than just tracking cookies, as countless times in the past when I would get blocked I would remain unable to make new searches for a period of time despite the fact that new searches used a new session of an incognito browser so there wouldn't be any cookies to tie that session to the flagged one, only the IP.

I just ran the search you did from NOL -> TUS on 11/1 and I see the issue with the family bedroom. Family bedrooms are now listed as "FAMILY ROOM" in the private rooms menu instead of "FAMILY BEDROOM", should be a quick fix in the code.
 
I found a simpler way to get around this issue. Using Firefox, enabling private tabs and the "Temporary Tabs" addon as well as using a VPN, I simply open another private tab and go to the site in both private tabs. I can simultaneously put in independent searches and have both working simultaneously. I've used as many as three but I imagine more can be done since it appears Amtrak uses cookies (which are isolated when using private tabs) to determine when to slow down the user or not. Ever since Amtrak instituted that "feature", my limit has always been 3 per tab whether I use one or more so I do three in each tab then delete the tab and open a new one to go back. Since I am doing it manually, I have to re-enter all the data for each tab.

As to your site, I reported a couple of issues via the feedback. I had selected NOL -->TUC and both BR and FBR and it only showed BR and Coach columns. When selecting only BR, showed the same thing. When selecting FBR, it showed only Coach column.

Thanks for your great work.
Just pushed an update that fixes the family room issue, Amtrak seems to have renamed family bedrooms as family rooms across their site so I updated any references to the old name in my code.
 
Back
Top