> For the complete documentation index, see [llms.txt](https://docs.sportradar.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.sportradar.com/uof/custombet-cb/api/pre-built-bet-recommendation.md).

# Pre-Built Bet Recommendation

The **Pre-Built endpoint** delivers AI-powered, personalised pre-built combos to provide a fast and frictionless user experience. This enables users to quickly place bets, thereby increasing the overall bet volume for operators. Recommendations can be requested for general popular combos or for a specific user by providing a user ID.

### Best Practice <a href="#prebuiltbetrecommendation-2.bestpractice" id="prebuiltbetrecommendation-2.bestpractice"></a>

* Highlight pre-built bet combos on key touchpoints: Home page, Sport page, League page & Event Page.
* Offer personalized or popular recommendations:
  * Logged-in users: Pass the user\_id in the request to receive personalized pre-built bet recommendations.
  * Guest users: Pass user\_id=0 in the request to receive the most popular pre-built bet recommendations.
* Types of pre-built recommendations
  * Currently, recommendations are available per event.
  * Future releases will support more flexible requests (by sport, tournament, or specific market).

Try out now on our [Demo Page](https://sports-demo.vaix.ai/?test_user_id=demo_user_football_epl#home)

<figure><img src="/files/m2PrdIUdrA35WoNbwmnO" alt=""><figcaption></figcaption></figure>

### Supported Sports & Markets <a href="#prebuiltbetrecommendation-3.supportedsports-and-markets" id="prebuiltbetrecommendation-3.supportedsports-and-markets"></a>

We support all Sports for both Pre-match and Live events.

Check out this document to find the markets we support for Pre-Built Recommendation: [Supported Markets List](https://resources.sportradar.com/custom-bet/custom-bet-market-list)&#x20;

### Product Access & Data Availability <a href="#prebuiltbetrecommendation-4.productaccess-and-dataavailability" id="prebuiltbetrecommendation-4.productaccess-and-dataavailability"></a>

* To access this feature, you need to activate the **Pre-Built package** per sport. Please get in touch with your sales representative for more information.
* After the package is activated, we will set up your database, which usually takes 3–5 days. Once complete, you will receive personalized recommendations based on your users’ preferences. During this setup period, you can still access the endpoint and continue integration, but the data returned will not yet reflect your exact ticket data.
* The prebuilt recommendation would be available when the match is available in Custom Bet.

### API Endpoint <a href="#prebuiltbetrecommendation-5.request" id="prebuiltbetrecommendation-5.request"></a>

## Get Pre-Built Bet Recommendations

> Returns pre-built bet recommendations for a specific event.

```json
{"openapi":"3.0.3","info":{"title":"Betradar Pre-Built Bet Recommendations API","version":"1.0.0"},"servers":[{"url":"https://api.betradar.com"}],"security":[{"key":[]}],"components":{"securitySchemes":{"key":{"type":"apiKey","in":"header","name":"x-access-token"}}},"paths":{"/v1custombet/prebuilt":{"get":{"summary":"Get Pre-Built Bet Recommendations","description":"Returns pre-built bet recommendations for a specific event.","parameters":[{"name":"sub_bookmaker_id","in":"header","required":true,"schema":{"type":"string"},"description":"Sub bookmaker ID found in the MTS console."},{"name":"event_urn","in":"query","required":true,"schema":{"type":"string"},"description":"Unique event identifier."},{"name":"count","in":"query","required":false,"schema":{"type":"integer","default":1,"minimum":1,"maximum":20},"description":"Number of recommendations to return (1–20)."},{"name":"length","in":"query","required":false,"schema":{"type":"integer","default":2,"minimum":2,"maximum":10},"description":"Number of selections in each bet builder (2–10), The API will attempt to return a Bet Builder with the requested length. However, in some cases, it may return a Bet Builder with fewer selections than requested. If a fixed length is required, we recommend applying an additional filter on your side. Alternatively, you can configure a fixed length on the frontend and collapse any additional market lines to provide the best user experience."},{"name":"user","in":"query","required":false,"schema":{"type":"string"},"description":"The user to get recommended bet builder for. If 0, defaults to most popular combos."}],"responses":{"200":{"description":"Successful response with pre-built bet recommendations.","content":{"application/json":{"schema":{"type":"object","properties":{"event":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"provided_recommendation":{"type":"integer"},"source":{"type":"string","nullable":true},"recommendations":{"type":"array","items":{"type":"object","properties":{"odds":{"type":"number","format":"float"},"probability":{"type":"number","format":"float"},"selection":{"type":"array","items":{"type":"object","properties":{"market_id":{"type":"string"},"outcome_id":{"type":"string"},"specifiers":{"type":"string","nullable":true}}}}}}}}}},"requested_recommendations":{"type":"integer"},"generated_at":{"type":"string","format":"date-time"}}}}}},"400":{"description":"Invalid request","content":{"application/json":{}}},"401":{"description":"Unauthorized. Token is missing or invalid."},"403":{"description":"Forbidden. Access to Custom Bet not allowed."},"404":{"description":"No data for the event (match id). Invalid event."},"409":{"description":"Custom Bet API currently unavailable or betting not allowed."},"429":{"description":"Too many requests. Rate limit reached."},"500":{"description":"Internal Server Error - VAIX. Retry or contact support."}}}}}}
```

### Response Explanation&#x20;

<table data-full-width="true"><thead><tr><th>Parameter</th><th>Type</th><th>Description</th><th>Sample</th></tr></thead><tbody><tr><td>pre_built_bets</td><td>Object</td><td>Root element containing all pre-built bet recommendations.</td><td>—</td></tr><tr><td>requested_recommendations</td><td>Integer</td><td><p>Number of recommendations requested in the API call.</p><p>If not set, we will return 0.</p></td><td>5</td></tr><tr><td>event</td><td>Object</td><td>Event object containing recommended combos for a specific events.</td><td>—</td></tr><tr><td>event.id</td><td>String</td><td>Unique event identifier for the recommendations.</td><td>sr:match:56328351</td></tr><tr><td>event.provided_recommendation</td><td>Integer</td><td>Number of recommendations returned for the event.</td><td>5</td></tr><tr><td>recommendations</td><td>Object</td><td>A recommended pre-built combo with odds, probability, and selections.</td><td>—</td></tr><tr><td>recommendations.odds</td><td>Number</td><td>Odds value for the recommended pre-built combo.</td><td>4.927841099580573</td></tr><tr><td>recommendations.probability</td><td>Number</td><td>Fair probability of the recommended pre-built combo.</td><td>0.16083858971602788</td></tr><tr><td>selection</td><td>Object</td><td>A selection within the recommended combo.</td><td>—</td></tr><tr><td>selection.market_id</td><td>Integer</td><td>Market identifier.</td><td>219</td></tr><tr><td>selection.outcome_id</td><td>String</td><td>Outcome identifier</td><td>4 or pre:playerprops:56328351:1153254:9</td></tr><tr><td>selection.specifiers</td><td>String</td><td>Additional specifiers for player props or special markets.</td><td>variant=pre:playerprops:56328351:1153254</td></tr></tbody></table>

### FAQs <a href="#prebuiltbetrecommendation-7.faqs" id="prebuiltbetrecommendation-7.faqs"></a>

<table data-full-width="true"><thead><tr><th>Questions</th><th>Answers</th></tr></thead><tbody><tr><td>Can I personalize recommendations by user?</td><td>Yes. Pass a user value to generate combos based on historical behavior. Use user=0 for most popular bets, which is not personalized for a specific user.</td></tr><tr><td>What happens if the event has no available markets?</td><td>You’ll receive a 400 response with a message explaining that the event lacks sufficient markets for a valid recommendation.</td></tr><tr><td>Can I request for recommendations without providing an event_urn?</td><td>No, you need to select an event for recommendation. In the future, we will enable you to request recommendation without an event id, meaning that the API will pick the most relevant event based on user or global data.</td></tr><tr><td>Is this endpoint available for all sports?</td><td>Yes, it supports all sports available in Custom Bet, both Pre-match and Live events. Check this page for the most up-to-date coverage.</td></tr><tr><td>Will odds always be returned?</td><td><p>Yes — each recommendation includes odds and fair probability in the same response. </p><p><em>Note: the odds provided via the endpoint is using the Custom Bet Ladder you selected in CTRL. To get the harmonization odds, you would need to call the Custom Bet calculation API with the same selections.</em></p></td></tr><tr><td>What factor does the AI model uses to generate recommendation?</td><td>Our AI model generates recommendations primarily based on the ticket data you share with us, ensuring that suggestions are aligned with your users’ actual betting behavior.</td></tr></tbody></table>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.sportradar.com/uof/custombet-cb/api/pre-built-bet-recommendation.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
