Revenue & Payouts
Earn revenue from vendor overage queries against your data. When vendors exceed their included monthly allowance, Conduit automatically tracks per-query revenue and pays out via Stripe Connect.
Revenue model
Vendor base subscriptions go entirely to Conduit. Your MLS earns revenue from overage queries — when vendors exceed their plan's included monthly allowance, each additional query generates revenue split between Conduit and your MLS:
Base subscription ($99/mo or $499/mo)
└── 100% Conduit (your MLS share: $0)
Overage queries (beyond plan allowance)
│ $0.05/query (Starter) or $0.03/query (Professional)
│
├── Conduit: (100% - your share)
└── Your MLS: your revenue_share_pct (10-70%, default 40%)
Example: 3 vendors on Professional, each doing 72K queries/mo
→ 50K included per vendor (no revenue share)
→ 22K overage per vendor × $0.03 = $660/vendor
→ Your 40% share = $264/vendor × 3 = $792/moRevenue dashboard
GET /api/mls/revenue?period=30dResponse:
{
"summary": {
"total_earned": 847.32,
"total_queries": 12450,
"avg_revenue_per_query": 0.068,
"revenue_share_pct": 40,
"pending_payout": 847.32,
"total_paid": 2341.80
},
"connect": {
"status": "active",
"onboarding_complete": true,
"connect_id": "acct_xxx"
},
"daily_revenue": [
{ "date": "2026-02-01", "revenue": 28.44, "queries": 415 },
{ "date": "2026-02-02", "revenue": 31.12, "queries": 458 }
],
"by_vendor": [
{ "vendor_id": "uuid", "vendor_name": "AI Realty Co", "revenue": 523.41, "queries": 7800 }
],
"by_tool": [
{ "tool_name": "search_properties", "revenue": 645.20, "queries": 9500 }
]
}Periods: 7d, 30d, 90d, all
Stripe Connect setup
To receive payouts, connect your Stripe account via Stripe Connect Express:
# Check Connect status
GET /api/mls/connect
→ { "connect_id": null, "status": "not_started", "onboarding_complete": false }
# Start Stripe Connect onboarding
POST /api/mls/connect
→ { "url": "https://connect.stripe.com/setup/..." }Redirect to the returned URL. After completing Stripe onboarding, your Connect status changes to active.
Requesting payouts
Revenue accumulates in your MLS revenue ledger. Request payouts for pending ledger entries:
POST /api/mls/payouts
{ "ledger_id": "uuid" }
→ { "success": true, "transfer_id": "uuid" }Payout statuses
| Status | Description |
|---|---|
pending | Revenue accumulated, payout not yet requested |
processing | Transfer initiated with Stripe |
paid | Funds transferred to your bank account |
failed | Transfer failed — can be retried |
[i]Retry failed payouts
{ "ledger_id": "uuid", "action": "retry" }