API Reference
The AyaSend Intelligence API gives your platform access to real-time remittance rate comparisons across 25 destinations. One request. One recommendation. Ready to display.
You can see a live request and response on the interactive API demo page — no account needed.
Overview
The AyaSend API is a simple, read-only JSON API. You send a corridor (source and destination country), an amount, and a currency. AyaSend returns:
- The best provider ranked by AyaSend's scoring engine (rate, fee, speed, confidence)
- The full list of alternatives in ranked order
- For each provider: receive amount, exchange rate, fee, speed, payout methods, confidence score, and a plain-English recommendation reason
The API is designed to be embedded in platforms, portals, and apps — not just used by developers. The response is structured to support non-technical displays without additional processing.
Who It's For
Any platform with users who send money internationally can embed AyaSend's intelligence. Your users get a trustworthy recommendation; you add a meaningful financial wellness feature without building provider integrations yourself.
Authentication
Include your API key in every request using the X-API-Key header.
GET /api/v1/compare?from_country=US&to_country=NG&send_amount=200 HTTP/1.1 Host: ayasend.com X-API-Key: aya_live_your_key_here
During the pilot phase, API keys are issued manually. Contact us to request access. Keys are prefixed with aya_live_ (production) or aya_test_ (sandbox).
Rate Limits
Current limits during the pilot phase:
- 100 requests / minute per API key
- 10,000 requests / day per API key
Rate limit headers are included in every response. If you exceed the limit, you will receive a 429 Too Many Requests response. Contact us if you need higher limits.
Compare Rates
The primary endpoint. Returns a ranked comparison of all available remittance providers for a given corridor and amount.
GET/api/v1/compare
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| from_country | string | required | ISO 3166-1 alpha-2 country code. Supported: US, GB, CA, FR |
| to_country | string | required | ISO 3166-1 alpha-2 destination country code. 25 destinations supported. See /corridors. |
| send_amount | number | required | Amount to send. Minimum: 10. Maximum: 10,000. |
| currency | string | optional | Source currency code. Defaults to the primary currency of from_country. E.g. USD, GBP, CAD. |
| lang | string | optional | Response language for reason and label fields. Supported: en, fr, es. Default: en. |
Example Request
GET /api/v1/compare?from_country=US&to_country=NG&send_amount=200¤cy=USD HTTP/1.1 Host: ayasend.com X-API-Key: aya_live_your_key_here
Example Response
{
"request": {
"request_id": "a3f9b21c-...",
"quoted_at": "2026-04-22T14:30:00Z",
"platform": "api",
"duration_ms": 312
},
"corridor": {
"from_country": "United States",
"to_country": "Nigeria",
"send_currency": "USD",
"receive_currency": "NGN",
"send_amount": 200.0,
"quote_mode": "send"
},
"best_option": {
"provider": "Wise",
"provider_id": "wise",
"rank": 1,
"receive_amount": 327841.0,
"receive_currency": "NGN",
"fx_rate": 1640.2,
"fee": 3.50,
"fee_display": "$3.50",
"speed_label": "Within minutes",
"payout_methods": ["bank_transfer", "mobile_wallet"],
"confidence_score": 95,
"source_badge": "Live API",
"reason": "Best rate · high data confidence",
"redirect_url": "https://wise.com/...",
"logo_url": "/static/img/providers/wise.svg"
},
"alternatives": [
{
"provider": "Remitly",
"provider_id": "remitly",
"rank": 2,
"receive_amount": 321200.0,
"receive_currency": "NGN",
"fx_rate": 1606.0,
"fee": 0.0,
"fee_display": "FREE",
"speed_label": "Within minutes",
"payout_methods": ["bank_transfer", "mobile_wallet"],
"confidence_score": 80,
"source_badge": "Scraped",
"reason": "No transfer fee · competitive rate",
"redirect_url": "https://remitly.com/...",
"logo_url": "/static/img/providers/remitly.svg"
}
],
"recommendation_summary": {
"best_rate": "Wise",
"best_rate_amount": 327841.0,
"lowest_fee": "Remitly",
"lowest_fee_value": 0.0,
"fastest": "Wise"
}
}
best_option Response Fields
| Field | Type | Description |
|---|---|---|
| provider | string | Provider display name (e.g. "Wise", "Remitly") |
| provider_id | string | Stable provider slug for referencing in your system |
| rank | integer | AyaSend rank — 1 is best by overall score |
| receive_amount | float | Amount the recipient receives (in destination currency) |
| fx_rate | float | Exchange rate applied (source → destination currency) |
| fee | float | Transfer fee in source currency. 0.0 means no fee. |
| fee_display | string | Human-readable fee: "FREE" or "$3.50" |
| speed_label | string | Estimated delivery time in plain English |
| payout_methods | array | List of payout options: bank_transfer, mobile_wallet, cash_pickup |
| confidence_score | integer | Data quality score 0–100. See Confidence Scores section. |
| source_badge | string | Data source label: "Live API", "Scraped", "Historical", "Indicative" |
| reason | string | Plain-English reason this provider was recommended. Ready to display directly to users. |
| redirect_url | string | URL to send users to the provider's transfer page |
Confidence Scores
Every provider result includes a confidence_score between 0 and 100, indicating how reliable the rate data is.
| Score | Source | Meaning |
|---|---|---|
| 95 | Live API | Rate fetched directly from provider's API in real time |
| 90 | Verified | Rate manually verified by our team |
| 80 | Scraped | Rate collected via automated web scraping |
| 55 | Historical | Based on recent historical corridor data |
| 35 | Indicative | Estimated from mid-market FX rates plus provider fee models |
We recommend showing a trust indicator for scores below 60. Use the source_badge field for user-facing labels — it's already formatted for display.
List Providers
GET/api/v1/providers
Returns the current list of supported providers with their capabilities: supported corridors, payout methods, API availability.
List Corridors
GET/api/v1/corridors
Returns all supported source → destination corridor combinations with their currencies.
Health Check
GET/api/v1/health
Returns the engine status, data freshness for key corridors, and a list of degraded providers. Useful for monitoring integrations.
Python Example
import requests
API_KEY = "aya_live_your_key_here"
BASE_URL = "https://ayasend.com/api/v1"
def get_best_remittance(from_country, to_country, amount, currency="USD"):
"""
Get the best remittance option for a corridor.
Returns the best_option dict from AyaSend.
"""
response = requests.get(
f"{BASE_URL}/compare",
params={
"from_country": from_country,
"to_country": to_country,
"send_amount": amount,
"currency": currency,
},
headers={"X-API-Key": API_KEY},
timeout=10
)
response.raise_for_status()
data = response.json()
return data["best_option"]
# Example: Show a worker their best option for $200 USD → Nigeria
best = get_best_remittance("US", "NG", 200)
print(f"Send via: {best['provider']}")
print(f"Recipient gets: {best['receive_amount']:,.0f} {best['receive_currency']}")
print(f"Fee: {best['fee_display']}")
print(f"Speed: {best['speed_label']}")
print(f"Why: {best['reason']}")
JavaScript / Node.js Example
const API_KEY = "aya_live_your_key_here";
const BASE_URL = "https://ayasend.com/api/v1";
async function getBestRemittance(fromCountry, toCountry, amount, currency = "USD") {
const params = new URLSearchParams({ from_country: fromCountry, to_country: toCountry, send_amount: amount, currency });
const res = await fetch(`${BASE_URL}/compare?${params}`, {
headers: { "X-API-Key": API_KEY }
});
if (!res.ok) throw new Error(`AyaSend API error: ${res.status}`);
const data = await res.json();
return data.best_option;
}
// Example: Embed in a payroll platform
const best = await getBestRemittance("US", "NG", 200);
console.log(`Best option: ${best.provider}`);
console.log(`Worker receives: ${best.receive_amount.toLocaleString()} ${best.receive_currency}`);
console.log(`Reason: ${best.reason}`);
Platform Use Case Examples
Payroll Platform
On payday, your platform shows each worker their best transfer option for the amount they earned. Call /api/v1/compare with the worker's home country and their net pay. Display the recommendation inline in your payslip or dashboard.
Staffing Agency Worker Portal
Add a "Send Money Home" tab to your worker portal. Use AyaSend's White Label for a full experience, or call the API to build a custom card inside your existing design.
Community Organization
Embed a comparison widget on your website or WhatsApp group. Let members compare options without leaving your space. The White Label experience requires no code to embed.
Get Access
During the pilot phase, API keys are issued manually so we can support each integration properly.
Try the interactive demo first. When you're ready for API access or a White Label pilot, visit our business page to get in touch.