AyaSend API · v1

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.

Try It Now

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 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

💰 Payroll Platforms
🏥 Staffing Agencies
📱 Fintech Apps
🌍 Community Portals
🏗️ HR Systems

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.

http
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
Getting an API Key

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:

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

http
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

json
{
  "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

FieldTypeDescription
providerstringProvider display name (e.g. "Wise", "Remitly")
provider_idstringStable provider slug for referencing in your system
rankintegerAyaSend rank — 1 is best by overall score
receive_amountfloatAmount the recipient receives (in destination currency)
fx_ratefloatExchange rate applied (source → destination currency)
feefloatTransfer fee in source currency. 0.0 means no fee.
fee_displaystringHuman-readable fee: "FREE" or "$3.50"
speed_labelstringEstimated delivery time in plain English
payout_methodsarrayList of payout options: bank_transfer, mobile_wallet, cash_pickup
confidence_scoreintegerData quality score 0–100. See Confidence Scores section.
source_badgestringData source label: "Live API", "Scraped", "Historical", "Indicative"
reasonstringPlain-English reason this provider was recommended. Ready to display directly to users.
redirect_urlstringURL 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.

ScoreSourceMeaning
95Live APIRate fetched directly from provider's API in real time
90VerifiedRate manually verified by our team
80ScrapedRate collected via automated web scraping
55HistoricalBased on recent historical corridor data
35IndicativeEstimated from mid-market FX rates plus provider fee models
Displaying confidence to users

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

python
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

javascript
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.

Ready to start?

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.