Drop real-time odds and player props into your React Native app with a plain fetch call. Normalized JSON, American odds, and one API key — no SDK to install.
The MoneyLine odds API is a plain REST/HTTPS API, so consuming it in React Native is just fetch — no native modules, no SDK, no platform-specific build steps. Authenticate with the x-api-key header and render normalized odds directly in your components.
Because every market is normalized to American odds under canonical event IDs, your mobile client stays thin: no per-sportsbook parsing, no reconciliation, and small paginated payloads that suit mobile networks.
No SDK or native modules — call the REST API with the built-in fetch.
Normalized, paginated responses keep mobile data and parsing minimal.
Render prices directly; no client-side odds conversion.
Game lines and player props across every major US league.
React Native — fetch odds in a component
Request
import { useEffect, useState } from 'react'
import { Text, View } from 'react-native'
const API_KEY = process.env.EXPO_PUBLIC_ML_API_KEY
export function NbaOdds() {
const [games, setGames] = useState([])
useEffect(() => {
fetch('https://mlapi.bet/v1/odds?league=nba&market=moneyline', {
headers: { 'x-api-key': API_KEY },
})
.then((r) => r.json())
.then((json) => setGames(json.data))
}, [])
return (
<View>
{games.map((g) => (
<Text key={g.eventId}>{g.eventId}</Text>
))}
</View>
)
}Response
{
"success": true,
"data": [
{
"eventId": "nba-ev-311286",
"leagueId": "nba",
"bookmakers": [
{
"bookmakerId": "draftkings",
"bookmakerName": "DraftKings",
"markets": [
{ "marketType": "moneyline", "outcomes": [
{ "name": "Boston Celtics", "price": -180 },
{ "name": "Los Angeles Lakers", "price": 155 }
] }
]
}
]
}
]
}Render live odds screens and bet slips natively from one feed.
Read the key from EXPO_PUBLIC_ env and fetch — works in managed Expo.
Show player props with hit-rate context in a mobile-friendly layout.
No. The API is REST over HTTPS, so the built-in fetch is all you need in React Native or Expo.
For production, proxy requests through your backend so the key is never shipped in the app bundle. Public env vars are fine only for prototyping.
Yes — there are no native modules to link, so it works in managed Expo and bare React Native alike.
Free tier to start, one API key, normalized responses across every league and sportsbook.