# Contact

**By Hasan Şentürk** · Published August 23, 2026 · Updated September 15, 2026



Have a question, correction, or suggestion? We'd be glad to hear from you.

<div class="contact-form-wrap">
<h2>Send us a message</h2>
<form id="contact-form" class="contact-form" novalidate>
  <input type="text" name="website" class="hp-field" tabindex="-1" autocomplete="off" aria-hidden="true">
  <div class="form-row">
    <div class="form-field"><label for="cf-name">Name *</label><input type="text" id="cf-name" name="name" required maxlength="100" placeholder="Your name"></div>
    <div class="form-field"><label for="cf-email">Email *</label><input type="email" id="cf-email" name="email" required maxlength="150" placeholder="you@example.com"></div>
  </div>
  <div class="form-field"><label for="cf-subject">Subject</label><input type="text" id="cf-subject" name="subject" maxlength="200" placeholder="What is this about?"></div>
  <div class="form-field"><label for="cf-message">Message *</label><textarea id="cf-message" name="message" required rows="6" maxlength="3000" placeholder="Write your message…"></textarea></div>
  <div class="cf-turnstile" data-sitekey="0x4AAAAAAEdKbQxeO66obkwU" data-theme="light" style="margin-bottom:14px"></div>
  <button type="submit" class="btn btn-primary">Send message</button>
  <p class="form-status" id="cf-status" role="status"></p>
</form>
</div>

<script src="https://challenges.cloudflare.com/turnstile/v0/api.js" async defer></script>

<script>
(function () {
  var form = document.getElementById('contact-form');
  var status = document.getElementById('cf-status');
  form.addEventListener('submit', function (e) {
    e.preventDefault();
    status.textContent = 'Sending…';
    status.className = 'form-status';
    var data = {
      name: document.getElementById('cf-name').value,
      email: document.getElementById('cf-email').value,
      subject: document.getElementById('cf-subject').value,
      message: document.getElementById('cf-message').value,
      website: form.querySelector('.hp-field').value
    };
    var tsToken = (typeof turnstile !== 'undefined') ? turnstile.getResponse() : '';
    if (!tsToken) {
      status.textContent = 'Please wait a moment for the verification to finish, then try again.';
      status.className = 'form-status err';
      return;
    }
    data['cf-turnstile-response'] = tsToken;
    fetch('/api/contact', {
      method: 'POST',
      headers: { 'Content-Type': 'application/json' },
      body: JSON.stringify(data)
    }).then(function (r) { return r.json(); }).then(function (j) {
      if (j.ok) {
        status.textContent = 'Thanks! Your message has been sent. We will reply within 3–5 business days.';
        status.className = 'form-status ok';
        form.reset();
      } else {
        status.textContent = j.error || 'Something went wrong. Please try again.';
        status.className = 'form-status err';
      }
    }).catch(function () {
      status.textContent = 'Network error. Please try again.';
      status.className = 'form-status err';
    });
  });
})();
</script>

## General inquiries

**Email:** contact@financetrekker.com

## Corrections

Spot an error in one of our articles? Let us know. We review correction requests and update content when appropriate. See our [Editorial Policy](/editorial-policy/) for more information about how corrections are handled.

## Advertising & partnerships

**Email:** partnerships@financetrekker.com

## Press

**Email:** press@financetrekker.com

*For privacy-related requests, see our [Privacy Policy](/privacy/).*

---

Source: https://financetrekker.com/contact/
