openapi: 3.2.0 info: title: Parlay Live & In-Play API description: Real-time sports odds aggregation from **33 books and data sources** updated every 2-120 seconds depending on source cadence. version: 3.2.0 x-credit-currency: credits x-credit-cost-catalogue-url: /v1/meta/credit-costs x-pricing-url: /v1/pricing x-usage-url: /v1/usage contact: name: ParlayAPI support url: https://parlay-api.com/support email: support@parlay-api.com license: name: ParlayAPI Terms of Service url: https://parlay-api.com/terms termsOfService: https://parlay-api.com/terms servers: - url: https://parlay-api.com description: Production (primary; HTTP/2, TLS 1.3). - url: https://api.parlay-api.com description: Production (high-volume; bypasses Cloudflare edge for trading bots above 30 req/min). Same origin, same auth, same endpoints. tags: - name: Live & In-Play description: Live odds, in-play arbs, and SSE streaming for active games. paths: /v1/inplay/arbs: get: summary: Get Inplay Arbs description: 'Real-time in-play arbitrage opportunities. 5 credits. Background scanner checks all live/upcoming games every 5 seconds for cross-book arbs. Returns the most recent flagged opportunities with best_over@book_A, best_under@book_B, profit %, and optimal stake split. Updates are also broadcast to /ws/live subscribers as `{"type": "arb_flagged", "data": [...]}`. Parameter aliases (iter_042 #348): we accept `minProfit`, `min_profit`, and `min_profit_pct` interchangeably; same for `sport`, `sport_key`, and `sports`. First non-None wins. Earlier callers using natural-language guesses got silent param drop; fixed.' operationId: get_inplay_arbs_v1_inplay_arbs_get parameters: - name: minProfit in: query required: false schema: anyOf: - type: number - type: 'null' description: Minimum profit % to include title: Minprofit description: Minimum profit % to include - name: min_profit in: query required: false schema: anyOf: - type: number - type: 'null' description: Alias for minProfit (snake-case) title: Min Profit description: Alias for minProfit (snake-case) - name: min_profit_pct in: query required: false schema: anyOf: - type: number - type: 'null' description: Alias for minProfit (alt snake-case) title: Min Profit Pct description: Alias for minProfit (alt snake-case) - name: sport in: query required: false schema: anyOf: - type: string - type: 'null' description: Filter by sport_key title: Sport description: Filter by sport_key - name: sport_key in: query required: false schema: anyOf: - type: string - type: 'null' description: Alias for sport title: Sport Key description: Alias for sport - name: sports in: query required: false schema: anyOf: - type: string - type: 'null' description: CSV alias for sport (single value) title: Sports description: CSV alias for sport (single value) - name: limit in: query required: false schema: type: integer maximum: 100 minimum: 1 default: 50 title: Limit responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' x-credit-cost: 5 x-credit-cost-type: fixed x-credit-cost-description: Live arbitrage across all sports security: - apiKeyHeader: [] - apiKeyQuery: [] - bearerAuth: [] tags: - Live & In-Play components: schemas: HTTPValidationError: properties: detail: items: $ref: '#/components/schemas/ValidationError' type: array title: Detail type: object title: HTTPValidationError ValidationError: properties: loc: items: anyOf: - type: string - type: integer type: array title: Location msg: type: string title: Message type: type: string title: Error Type input: title: Input ctx: type: object title: Context type: object required: - loc - msg - type title: ValidationError securitySchemes: apiKeyHeader: type: apiKey in: header name: X-API-Key description: API key passed in the X-API-Key header. Recommended. apiKeyQuery: type: apiKey in: query name: apiKey description: API key passed as the ?apiKey= query parameter. Useful for browser fetch() and webhooks where header control is limited. Equivalent to X-API-Key. bearerAuth: type: http scheme: bearer bearerFormat: APIKey description: 'API key passed via Authorization: Bearer . Equivalent to X-API-Key for compatibility with auth libraries that expect bearer tokens.'