> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mrdoge.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Mr. Doge Picks

> Get featured AI-curated betting picks - single bets or parlays

<Warning>
  **Premium Endpoint**: Costs **10 credits** per request
</Warning>

Returns Mr. Doge's featured betting picks - carefully curated AI recommendations that represent the best value opportunities. Picks can be single bets or parlays combining multiple selections.

These are our highest-confidence recommendations, combining multiple data points including:

* Team form analysis
* Statistical modeling
* Market efficiency assessment
* Historical performance data

## Authorization

<ParamField header="Authorization" type="string" required default="Bearer " placeholder="Bearer sk_live_...">
  Your API key for authentication
</ParamField>

## Query Parameters

<ParamField query="limit" type="string" default="5">
  Maximum number of picks to return
</ParamField>

<ParamField query="today" type="string">
  Only return picks for today's events

  Values: `true` or `false`
</ParamField>

<ParamField query="tomorrow" type="string">
  Only return picks for tomorrow's events

  Values: `true` or `false`
</ParamField>

<ParamField query="timezone" type="string">
  Timezone for date filtering

  Example: `America/New_York`
</ParamField>

<ParamField query="regionId" type="string">
  Filter picks by region
</ParamField>

<ParamField query="competitionId" type="string">
  Filter picks by competition
</ParamField>

## Response

Returns an array of Mr. Doge pick objects.

<ResponseField name="id" type="string">
  Unique pick ID
</ResponseField>

<ResponseField name="pickType" type="string">
  Type of pick

  Values:

  * `single` - Single bet on one event
  * `parlay` - Multiple bets combined (all must win)
</ResponseField>

<ResponseField name="recommendations" type="array">
  Array of betting recommendations included in this pick

  <Expandable title="Recommendation Object">
    <ResponseField name="id" type="string">
      Recommendation ID
    </ResponseField>

    <ResponseField name="eventId" type="string">
      Event ID
    </ResponseField>

    <ResponseField name="outcome" type="string">
      Predicted outcome (e.g., "Arsenal", "Over 2.5", "Lakers -5.5")
    </ResponseField>

    <ResponseField name="odds" type="number">
      Decimal odds for this selection
    </ResponseField>

    <ResponseField name="confidence" type="string">
      Confidence level: `High`, `Medium`, or `Low`
    </ResponseField>

    <ResponseField name="edgePercentage" type="number">
      Statistical edge over market odds (percentage)
    </ResponseField>

    <ResponseField name="kellyFraction" type="number">
      Optimal stake size using Kelly Criterion (10% fractional Kelly)
    </ResponseField>

    <ResponseField name="rationale" type="array">
      Array of reasons why this pick was made
    </ResponseField>

    <ResponseField name="riskFactors" type="array">
      Array of potential risks to consider
    </ResponseField>

    <ResponseField name="dataSupport" type="array">
      Statistical data supporting this pick
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="totalOdds" type="number">
  Combined odds for the pick

  * For single picks: Same as the individual recommendation odds
  * For parlays: Product of all individual odds
</ResponseField>

<ResponseField name="settled" type="boolean">
  Whether the pick has been settled (event completed)
</ResponseField>

<ResponseField name="result" type="string">
  Settlement result (if settled)

  Values: `won`, `lost`, or `push`
</ResponseField>

<ResponseField name="analysisInsight" type="object">
  Detailed AI analysis of both teams

  <Expandable title="Analysis Insight Object">
    <ResponseField name="homeTeamAnalysis" type="object">
      Home team analysis with `form`, `strengths`, `weaknesses`, `keyPatterns`, `offensiveThreat`, `defensiveStrength`
    </ResponseField>

    <ResponseField name="awayTeamAnalysis" type="object">
      Away team analysis with same structure
    </ResponseField>

    <ResponseField name="matchContext" type="object">
      Contains `keyMatchups`, `tacticalNotes`, `expectedIntensity`
    </ResponseField>

    <ResponseField name="dataQuality" type="string">
      Quality of available data: `excellent`, `good`, `limited`
    </ResponseField>

    <ResponseField name="confidence" type="number">
      Overall analysis confidence (0-100)
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="matchSimulation" type="object">
  AI-simulated match outcome

  <Expandable title="Match Simulation Object">
    <ResponseField name="simulatedScore" type="object">
      Predicted score with `home` and `away` values
    </ResponseField>

    <ResponseField name="goalTimeline" type="array">
      Predicted goal timeline with `team`, `minute` for each goal
    </ResponseField>

    <ResponseField name="statistics" type="object">
      Simulated match stats: `homeGoals`, `awayGoals`, `homeCorners`, `awayCorners`, `homeYellowCards`, etc.
    </ResponseField>

    <ResponseField name="confidence" type="number">
      Simulation confidence (0-100)
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="eventNews" type="object">
  Latest news affecting the event (injuries, suspensions, weather). Can be `null` if no news available.
</ResponseField>

## Example Request

<CodeGroup>
  ```bash cURL theme={null}
  curl -H "Authorization: Bearer sk_live_..." \
    "https://api.mrdoge.co/v2/ai/mrdoge-picks?today=true&limit=3"
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch('https://api.mrdoge.co/v2/ai/mrdoge-picks?today=true&limit=3', {
    headers: {
      'Authorization': 'Bearer sk_live_...'
    }
  });

  const picks = await response.json();
  console.log(picks);
  ```

  ```python Python theme={null}
  import requests

  headers = {
      'Authorization': 'Bearer sk_live_...'
  }

  response = requests.get(
      'https://api.mrdoge.co/v2/ai/mrdoge-picks',
      headers=headers,
      params={'today': 'true', 'limit': '3'}
  )

  picks = response.json()
  print(picks)
  ```
</CodeGroup>

## Response

<ResponseExample>
  ```json Response theme={null}
  {
    "data": [
      {
        "id": "cmhr6tafl0fcrs201l9wg0mhr",
        "pickType": "single",
        "recommendations": [
          {
            "market": "SOCCER_MATCH_RESULT",
            "outcome": "X",
            "bookmaker": "Novibet",
            "odds": 3.05,
            "point": null,
            "edgePercentage": 8.5,
            "confidence": "High"
          }
        ],
        "totalOdds": 3.05,
        "edgePercentage": 8.5,
        "confidence": "High",
        "kellyFraction": 0.095,
        "rationale": [
          "Simulation predicts a 1-1 draw (70% probability)",
          "Napoli's ability to grind out results despite poor form",
          "Bologna's strong defensive record makes it likely for Napoli to avoid a loss",
          "Data support: Simulated score of 1-1 indicates a strong likelihood of at least a draw; Napoli's away form shows they struggle to win but can avoid losses"
        ],
        "event": {
          "id": "43136354",
          "homeTeam": {
            "id": 7008,
            "name": "Bologna"
          },
          "awayTeam": {
            "id": 157511,
            "name": "Napoli"
          },
          "commenceTime": "2025-11-09T14:00:00.000Z",
          "startDateTime": "2025-11-09T14:00:00.000Z",
          "competition": {
            "caption": "Serie A"
          },
          "competitionId": 25,
          "status": "upcoming",
          "league": "Serie A"
        },
        "featuredOrder": 5
      },
      {
        "id": "cmhr6w2eu0feds201jedsqtbc",
        "pickType": "single",
        "recommendations": [
          {
            "market": "SOCCER_MATCH_RESULT",
            "outcome": "X",
            "bookmaker": "Novibet",
            "odds": 4.25,
            "point": null,
            "edgePercentage": 9.8,
            "confidence": "High"
          }
        ],
        "totalOdds": 4.25,
        "edgePercentage": 9.8,
        "confidence": "High",
        "kellyFraction": 0.105,
        "rationale": [
          "Simulation predicts a 2-2 draw (50% probability for Draw or Away Win)",
          "Barcelona's defensive vulnerabilities are likely to be exploited by Celta Vigo",
          "Celta's strong home attack and Barcelona's poor away form support this outcome",
          "Data support: Simulated score of 2-2 indicates a strong chance for Draw or Away Win; Barcelona's away games have shown 100% BTTS, indicating vulnerability"
        ],
        "event": {
          "id": "43074287",
          "homeTeam": {
            "id": 179609,
            "name": "Celta Vigo"
          },
          "awayTeam": {
            "id": 6985,
            "name": "Barcelona"
          },
          "commenceTime": "2025-11-09T20:00:00.000Z",
          "startDateTime": "2025-11-09T20:00:00.000Z",
          "competition": {
            "caption": "LaLiga"
          },
          "competitionId": 29,
          "status": "upcoming",
          "league": "LaLiga"
        },
        "featuredOrder": 5
      }
    ]
  }
  ```
</ResponseExample>

## Understanding Parlays

<Warning>
  **Parlay Risk**: All selections in a parlay must win for the bet to win. While parlays offer higher potential returns, they have significantly lower win probability.
</Warning>

### Parlay Win Probability

Example 3-leg parlay with 60% individual win rate:

* Probability all 3 win: 0.60³ = **21.6%**
* Individual bet at same odds would need \~55-58% win rate

We only create parlays when:

1. Each leg has High confidence (>60% expected win rate)
2. Combined edge is still positive after accounting for correlation
3. Events are independent (no overlapping outcomes)

## Credit Cost

<Info>
  **10 credits per request** - Mr. Doge Picks cost more because they include enhanced analysis, correlation checking, and curation beyond simple recommendations.
</Info>

## Use Cases

<CardGroup cols={2}>
  <Card title="Featured Picks" icon="star">
    Display top AI picks on your homepage
  </Card>

  <Card title="Daily Picks" icon="calendar">
    Show today's best opportunities
  </Card>

  <Card title="Parlay Builder" icon="layer-group">
    Use curated parlays for combined bets
  </Card>

  <Card title="Performance Tracking" icon="chart-line">
    Track Mr. Doge pick results over time
  </Card>
</CardGroup>

## Related Endpoints

<Card title="Betting Recommendations" icon="lightbulb" href="/api-reference/ai/betting-recommendations">
  For individual recommendations (2 credits) instead of curated picks
</Card>

<Card title="AI Performance" icon="chart-bar" href="/api-reference/ai/performance">
  See historical performance of Mr. Doge picks
</Card>


## OpenAPI

````yaml /api-reference/openapi.json GET /v2/ai/mrdoge-picks
openapi: 3.1.0
info:
  title: Mr. Doge API
  description: >-
    Comprehensive sports betting odds, AI predictions, and live data API
    covering 8 major sports with real-time updates and value betting
    recommendations.
  version: 1.0.0
  contact:
    name: Mr. Doge Support
    email: support@mrdoge.co
    url: https://mrdoge.co
servers:
  - url: https://api.mrdoge.co
    description: Production server
security:
  - bearerAuth: []
tags:
  - name: Odds
    description: Endpoints for accessing sports events, odds, and betting markets
  - name: AI
    description: AI-powered betting recommendations and value opportunities
paths:
  /v2/ai/mrdoge-picks:
    get:
      tags:
        - AI
      summary: Mr. Doge Picks
      description: >-
        Get featured AI-curated betting picks. These are high-confidence
        recommendations that can be single bets or parlays. Costs 10 credits per
        request.
      parameters:
        - name: limit
          in: query
          description: Maximum number of picks
          schema:
            type: string
            default: '5'
        - name: today
          in: query
          description: Only picks for today
          schema:
            type: string
            enum:
              - 'true'
              - 'false'
        - name: tomorrow
          in: query
          description: Only picks for tomorrow
          schema:
            type: string
            enum:
              - 'true'
              - 'false'
        - name: timezone
          in: query
          description: Timezone for date filtering
          schema:
            type: string
            example: America/New_York
        - name: regionId
          in: query
          description: Filter by region
          schema:
            type: string
        - name: competitionId
          in: query
          description: Filter by competition
          schema:
            type: string
      responses:
        '200':
          description: Mr. Doge picks
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/MrDogePick'
        '403':
          $ref: '#/components/responses/InsufficientCredits'
      security: []
components:
  schemas:
    MrDogePick:
      type: object
      properties:
        id:
          type: string
          example: pick_123456
        pickType:
          type: string
          enum:
            - single
            - parlay
          example: parlay
        recommendations:
          type: array
          items:
            $ref: '#/components/schemas/BettingRecommendation'
        totalOdds:
          type: number
          format: float
          example: 8.5
          description: Combined odds for parlay (product of all recommendation odds)
        settled:
          type: boolean
          example: false
        result:
          type: string
          enum:
            - won
            - lost
            - push
          nullable: true
    BettingRecommendation:
      type: object
      properties:
        id:
          type: string
          example: rec_123456
        eventId:
          type: string
          example: '123456'
        marketId:
          type: string
          example: mkt_123456
        betItemId:
          type: string
          example: bet_123456
        outcome:
          type: string
          example: Home Win
        odds:
          type: number
          format: float
          example: 2.1
        confidence:
          type: string
          enum:
            - High
            - Medium
            - Low
          example: High
        edgePercentage:
          type: number
          format: float
          example: 6.8
          description: Statistical edge over market odds
        kellyFraction:
          type: number
          format: float
          example: 0.032
          description: >-
            Optimal stake size using Kelly Criterion (10% fractional Kelly
            recommended)
        rationale:
          type: array
          items:
            type: string
          example:
            - Home team's excellent form (8 wins in last 10)
            - Away team struggling defensively (10 goals conceded in 3 games)
        riskFactors:
          type: array
          items:
            type: string
          example:
            - Away team has key players returning from injury
        dataSupport:
          type: array
          items:
            type: string
          example:
            - Simulation gives 52% home win probability vs 47.6% implied by odds
        settled:
          type: boolean
          example: false
        result:
          type: string
          enum:
            - won
            - lost
            - push
          nullable: true
    Error:
      type: object
      properties:
        statusCode:
          type: integer
          example: 400
        message:
          type: string
          example: Invalid request parameters
        error:
          type: string
          example: Bad Request
  responses:
    InsufficientCredits:
      description: Not enough credits to complete request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            statusCode: 403
            message: Insufficient credits. This endpoint costs 2 credits.
            error: Forbidden
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: >-
        Use your API key from the Mr. Doge dashboard. Format: `Bearer
        sk_live_...` or `Bearer sk_test_...`

````