The coupon {{ discount }} discount will be applied to your subscription!
Whoops! This coupon code is invalid.
We found your invitation to the {{ invitation.team.name }} team!
Whoops! This invitation code is invalid.
{{ registerForm.errors.get('plan') }}

TradingHours Pro — free for 30 days!

You won't be charged until after your free month ends

{{ __(plan.interval) | capitalize }}

{{ plan.price | currency }}
{{ plan.type == 'user' && spark.chargesUsersPerSeat ? '/ '+ spark.seatName : '' }} {{ plan.type == 'user' && spark.chargesUsersPerTeam ? '/ '+ __('teams.team') : '' }} {{ plan.type == 'team' && spark.chargesTeamsPerSeat ? '/ '+ spark.teamSeatName : '' }} {{ plan.type == 'team' && spark.chargesTeamsPerMember ? '/ user' : '' }} / {{ __(plan.interval) | abbreviate }}
  • Customize Dashboard
  • Ad Free
  • Unlimited Pageviews
  • Unlimited Users
  • Save 45%

Data Access

Want to our data in your own system or application?
  • Download Trading Calendars
  • API Access
  • CSV, Excel, or Json format
  • Updated Continuously
  • Premium Support



Details Register
{{ registerForm.errors.get('form') }}
{{ registerForm.errors.get('invitation') }}
{{ registerForm.errors.get('name') }}
{{ registerForm.errors.get('email') }}
{{ registerForm.errors.get('team') }}
{{ registerForm.errors.get('password') }}
{{ registerForm.errors.get('password_confirmation') }}
{{ registerForm.errors.get('terms') }}



Billing Information
We had trouble validating your card. It's possible your card provider is preventing us from charging the card. Please contact your card provider or customer support.
{{ cardForm.errors.get('card') }}
{{ registerForm.errors.get('address') }}
{{ registerForm.errors.get('address_line_2') }}
{{ registerForm.errors.get('city') }}
{{ registerForm.errors.get('state') }}
{{ registerForm.errors.get('zip') }}
{{ registerForm.errors.get('country') }}
{{ registerForm.errors.get('vat_id') }}
{{ registerForm.errors.get('zip') }}
{{ registerForm.errors.get('coupon') }}
{{ registerForm.errors.get('terms') }}
Tax: {{ taxAmount(selectedPlan) | currency }}

Total Price Including Tax: {{ priceWithTax(selectedPlan) | currency }} {{ selectedPlan.type == 'user' && spark.chargesUsersPerSeat ? '/ '+ spark.seatName : '' }} {{ selectedPlan.type == 'user' && spark.chargesUsersPerTeam ? '/ '+ __('teams.team') : '' }} {{ selectedPlan.type == 'team' && spark.chargesTeamsPerSeat ? '/ '+ spark.teamSeatName : '' }} {{ selectedPlan.type == 'team' && spark.chargesTeamsPerMember ? '/ '+ __('teams.member') : '' }} / {{ __(selectedPlan.interval) | capitalize }}
  • You will not be billed today
  • Cancel anytime before Dec 29, 2020
  • 100% risk free
  • Secure payment powered by stripe

Questions? [email protected]




Common Billing Questions

What do I get access to with "Pro"?

TradingHours Pro gives you unlimited, ad-free browsing of TradingHours.com. Free accounts are limited in the number of page views allowed each day. As a subscriber you will also have access to the customizable dashboard as well.

Can I cancel at anytime?

You can cancel at anytime with one click. Once you create an account, just go to your subscription page and click the big red "unsubscribe" button.

You have a 30-day free trial so will not be charged if you cancel before Dec 29, 2020.

Will I be able to download the data?

No, TradingHours Pro does not come with direct data access. If you'd like to download our data in Excel or CSV format or us the API to integrate our data into your system you will need an Enterprise Data Access account.

Learn more and contact sales »

Can I add my whole team?

Yes, you will have a team account. You can add as many users as you need. Each user will have their own login and dashboard. Billing for the entire team will be managed by the admin account. The admin account can add or remove users at anytime.

If you have a team of 10 or more, please contact us for discount rates.