ACH vs Wire Routing Number API

ACH vs Wire Routing Number API

An ACH vs wire routing number API is the same ABA lookup with an explicit rails flag. On BankDataStack, POST https://www.bankdatastack.com/api/v1/routing/validate with header X-API-Key and JSON routing_number plus optional payment_type: ach or wire. Omit the type to auto-detect the first available rail. Official example: 021000021 (JPMorgan Chase).

Starter is $49.99/mo (1,000 calls, then $0.002) with a 7-day trial. This H1 is ACH vs wire on one number — not IBAN, BIN, or SWIFT. Docs: bankdatastack.com (Routing). MCP worker host did not resolve at last probe — do not assume MCP is live.

Use cases

  • Payout form. If the user picked ACH, send payment_type: "ach" so you store Tampa — not the wire desk in New York.
  • Same-day wire. Same body with "wire"; read fundsTransferEligible before you release.
  • Unknown rail. Omit payment_type and inspect the returned paymentType.

Request: ACH then wire

curl -X POST https://www.bankdatastack.com/api/v1/routing/validate \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"routing_number": "021000021", "payment_type": "ach"}'

curl -X POST https://www.bankdatastack.com/api/v1/routing/validate \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"routing_number": "021000021", "payment_type": "wire"}'

Response: official ACH sample

{
"status": "success",
"data": {
"routingNumber": "021000021",
"paymentType": "ach",
"name": "Jpmorgan Chase Bank, Na",
"addressFull": "Tampa, FL",
"city": "Tampa",
"state": "FL",
"type": "Main Office",
"phone": "813-432-3700",
"active": true,
"lastUpdated": "2025-11-12"
}
}

Response: official wire sample

{
"status": "success",
"data": {
"routingNumber": "021000021",
"paymentType": "wire",
"name": "JPMORGAN CHASE BANK",
"addressFull": "NEW YORK, NY",
"city": "NEW YORK",
"state": "NY",
"telegraphicName": "JPMORGAN",
"fundsTransferEligible": "Eligible",
"bookEntrySecuritiesTransferEligible": "Eligible",
"lastUpdated": "2025-11-10"
}
}

Same nine-digit number; ACH city is Tampa, wire city is New York. Invalid payment_type must be ach or wire.

Go live

1. Register — 7-day trial.

2. Copy X-API-Key.

3. POST /api/v1/routing/validate twice — ach and wire.

4. Persist data.city with the rail you actually send.

Validate ACH and wire on 021000021 →

Ready to get started?

Get your API key and start validating bank data in minutes.

Get API Key

Related posts