Developers
Build ACH payments into your product with our ACH API.
One documented API for ACH payments, bank account tokenization, and verification. Clear requests and responses, sandbox parity with production, and integration help from real engineers.
▍ACH API features
Everything your code needs to send, track, and reconcile ACH payments.
Payments API
Create, update, hold, cancel, and refund ACH and eCheck payments. One-time or recurring, debits or credits, with your own transaction ID on every call.
Bank account tokenization
Turn a routing and account number into a reusable ACHQToken and charge the token from then on. Plaid and MX processor tokens are accepted too.
Bank account tools
Check whether an account is open and in good standing, confirm the owner, and set automatic verification rules before you debit.
Settlements and status
Track every payment from submitted to settled or returned, and pull settlement reports to reconcile your books.
Sandbox environment
Identical API surface to production. Simulate every transaction state, including return codes, with test bank accounts before you go live.
Built for speed
Fast responses, signed webhooks, and predictable performance under load. SDKs for Node, Python, Ruby, and PHP.
What is an ACH API?
New to ACH APIs? Here's what one does and what to look for when you choose one.
What it handles
An ACH API lets your software send payments to and from U.S. bank accounts without a person keying them in: create the payment, save the bank account, and track the result.
API or web portal
Not every business needs code. The ACHQ web portal takes keyed and batch payments. The API is for when payments should happen inside your own product.
What to look for
Bank account tokens so you don't store account numbers, verification before you debit, clear return reporting, and a sandbox you can test against.
Where to start
Read the docs at developers.achq.com, request sandbox access, and apply for a production account when you are ready to go live.
ACH API FAQ
Does ACHQ have an ACH API?
Yes. The ACHQ ACH API covers payments, bank account tokenization, bank account checks, settlement reports, and payment status tracking. Full documentation is at developers.achq.com.
Which programming languages can I use?
Any language that can send an HTTPS request. The API takes standard form posts, so it works from Node, Python, PHP, Ruby, Java, .NET, or a plain cURL call.
Do I have to store customer bank account numbers?
No. Save the account once as a reusable ACHQToken and charge the token for future payments, so account numbers stay out of your own systems.
How do I know when an ACH payment is returned?
Payment status tracking shows when a payment settles or comes back, along with its ACH return code. The ACH return codes page explains what each code means and what to do next.
Can I test the ACH API before going live?
Yes. Request sandbox access and test against sandbox bank accounts set up for each outcome, including returns, before you switch to production.
Can I build ACH payments into my software platform?
Yes. Software platforms can embed ACH payments for their own merchants under their own brand, or simply refer merchants to ACHQ. See the partner program for how it works.
Looking up a return? See ACH return codes. Comparing ways to connect without code? See the ACH payment gateway. Building for your own merchants? See the partner program. ACH pricing starts at $0.15 per transaction, with final pricing set at underwriting. Details on the pricing page.
Move money cheaper, faster, and with fewer headaches.
Apply for an ACH merchant account online. Complete applications often get a decision within hours.

