---
description: Bruno Ouvidor vs Roy Keegan ❱ 27.04.2026 ❱ Tennis ❱ UTR PTT Carvoeiro Men 06, Portugal ❱ ⚡Best Odds &amp; Picks ⭐Accurate Predictions  ✔️Live Score &amp; Stats  ✌Match Preview
title: Bruno Ouvidor vs Roy Keegan » Odds, Scores, Picks &amp; Predictions
image: https://cdn.oddspedia.bg/media/ca/1x1/bruno-ouvidor-roy-keegan-10056473.png
---

* [ Home](/ca)
* [Tennis ](/ca/tennis)
* [Portugal ](/ca/tennis/portugal)
* [UTR PTT Carvoeiro Men 06 ](/ca/tennis/portugal/utr-ptt-carvoeiro-men-06 "UTR PTT Carvoeiro Men 06")
* Bruno Ouvidor - Roy Keegan

Top Leagues 

* [ ![WTA World Tour - Finals](https://cdn.oddspedia.com/images/leagues/medium/1486.png) WTA World Tour - Finals ![WTA World Tour - Finals](https://cdn.oddspedia.com/images/leagues/medium/1486@2x.png) WTA World Tour - Finals ](/ca/tennis/world/wta-world-tour-finals "WTA World Tour - Finals")

All Leagues 

* ![World](https://cdn.oddspedia.com/images/categories/world.svg)  
World 3
* ![Andorra](https://cdn.oddspedia.com/images/categories/andorra.svg)  
Andorra
* ![Angola](https://cdn.oddspedia.com/images/categories/angola.svg)  
Angola
* ![Argentina](https://cdn.oddspedia.com/images/categories/argentina.svg)  
Argentina
* ![Australia](https://cdn.oddspedia.com/images/categories/australia.svg)  
Australia
* ![Austria](https://cdn.oddspedia.com/images/categories/austria.svg)  
Austria
* ![Bahrain](https://cdn.oddspedia.com/images/categories/bahrain.svg)  
Bahrain
* ![Belgium](https://cdn.oddspedia.com/images/categories/belgium.svg)  
Belgium
* ![Bolivia](https://cdn.oddspedia.com/images/categories/bolivia.svg)  
Bolivia
* ![Bosnia Herzegovina](https://cdn.oddspedia.com/images/categories/bosnia-herzegovina.svg)  
Bosnia Herzegovina
* ![Brazil](https://cdn.oddspedia.com/images/categories/brazil.svg)  
Brazil
* ![Bulgaria](https://cdn.oddspedia.com/images/categories/bulgaria.svg)  
Bulgaria
* ![Canada](https://cdn.oddspedia.com/images/categories/canada.svg)  
Canada
* ![Chile](https://cdn.oddspedia.com/images/categories/chile.svg)  
Chile
* ![China](https://cdn.oddspedia.com/images/categories/china.svg)  
China
* ![Colombia](https://cdn.oddspedia.com/images/categories/colombia.svg)  
Colombia 7
* ![Congo](https://cdn.oddspedia.com/images/categories/congo.svg)  
Congo
* ![Croatia](https://cdn.oddspedia.com/images/categories/croatia.svg)  
Croatia
* ![Czech Republic](https://cdn.oddspedia.com/images/categories/czech-republic.svg)  
Czech Republic
* ![Denmark](https://cdn.oddspedia.com/images/categories/denmark.svg)  
Denmark
* ![Dominican Republic](https://cdn.oddspedia.com/images/categories/dominican-republic.svg)  
Dominican Republic
* ![Ecuador](https://cdn.oddspedia.com/images/categories/ecuador.svg)  
Ecuador
* ![Egypt](https://cdn.oddspedia.com/images/categories/egypt.svg)  
Egypt
* ![Finland](https://cdn.oddspedia.com/images/categories/finland.svg)  
Finland
* ![France](https://cdn.oddspedia.com/images/categories/france.svg)  
France 4
* ![Georgia](https://cdn.oddspedia.com/images/categories/georgia.svg)  
Georgia
* ![Germany](https://cdn.oddspedia.com/images/categories/germany.svg)  
Germany
* ![Greece](https://cdn.oddspedia.com/images/categories/greece.svg)  
Greece
* ![Hong Kong](https://cdn.oddspedia.com/images/categories/hong-kong.svg)  
Hong Kong
* ![Hungary](https://cdn.oddspedia.com/images/categories/hungary.svg)  
Hungary
* ![India](https://cdn.oddspedia.com/images/categories/india.svg)  
India
* ![Indonesia](https://cdn.oddspedia.com/images/categories/indonesia.svg)  
Indonesia
* ![Ireland](https://cdn.oddspedia.com/images/categories/ireland.svg)  
Ireland
* ![Italy](https://cdn.oddspedia.com/images/categories/italy.svg)  
Italy
* ![Ivory Coast](https://cdn.oddspedia.com/images/categories/ivory-coast.svg)  
Ivory Coast
* ![Jamaica](https://cdn.oddspedia.com/images/categories/jamaica.svg)  
Jamaica
* ![Japan](https://cdn.oddspedia.com/images/categories/japan.svg)  
Japan
* ![Kazakhstan](https://cdn.oddspedia.com/images/categories/kazakhstan.svg)  
Kazakhstan
* ![Mexico](https://cdn.oddspedia.com/images/categories/mexico.svg)  
Mexico
* ![Moldova](https://cdn.oddspedia.com/images/categories/moldova.svg)  
Moldova
* ![Monaco](https://cdn.oddspedia.com/images/categories/monaco.svg)  
Monaco
* ![Morocco](https://cdn.oddspedia.com/images/categories/morocco.svg)  
Morocco
* ![Netherlands](https://cdn.oddspedia.com/images/categories/netherlands.svg)  
Netherlands
* ![New Caledonia](https://cdn.oddspedia.com/images/categories/new-caledonia.svg)  
New Caledonia
* ![New Zealand](https://cdn.oddspedia.com/images/categories/new-zealand.svg)  
New Zealand
* ![North Macedonia](https://cdn.oddspedia.com/images/categories/north-macedonia.svg)  
North Macedonia
* ![Pakistan](https://cdn.oddspedia.com/images/categories/pakistan.svg)  
Pakistan
* ![Paraguay](https://cdn.oddspedia.com/images/categories/paraguay.svg)  
Paraguay
* ![Peru](https://cdn.oddspedia.com/images/categories/peru.svg)  
Peru 6
* ![Philippines](https://cdn.oddspedia.com/images/categories/philippines.svg)  
Philippines
* ![Poland](https://cdn.oddspedia.com/images/categories/poland.svg)  
Poland
* ![Portugal](https://cdn.oddspedia.com/images/categories/portugal.svg)  
Portugal 15
* ![Qatar](https://cdn.oddspedia.com/images/categories/qatar.svg)  
Qatar
* ![Romania](https://cdn.oddspedia.com/images/categories/romania.svg)  
Romania
* ![Rwanda](https://cdn.oddspedia.com/images/categories/rwanda.svg)  
Rwanda
* ![San Marino](https://cdn.oddspedia.com/images/categories/san-marino.svg)  
San Marino
* ![Saudi Arabia](https://cdn.oddspedia.com/images/categories/saudi-arabia.svg)  
Saudi Arabia
* ![Serbia](https://cdn.oddspedia.com/images/categories/serbia.svg)  
Serbia
* ![Singapore](https://cdn.oddspedia.com/images/categories/singapore.svg)  
Singapore
* ![Slovakia](https://cdn.oddspedia.com/images/categories/slovakia.svg)  
Slovakia 2 / 3
* ![Slovenia](https://cdn.oddspedia.com/images/categories/slovenia.svg)  
Slovenia
* ![South Africa](https://cdn.oddspedia.com/images/categories/south-africa.svg)  
South Africa
* ![South Korea](https://cdn.oddspedia.com/images/categories/south-korea.svg)  
South Korea
* ![Spain](https://cdn.oddspedia.com/images/categories/spain.svg)  
Spain
* ![Sweden](https://cdn.oddspedia.com/images/categories/sweden.svg)  
Sweden 1 / 4
* ![Switzerland](https://cdn.oddspedia.com/images/categories/switzerland.svg)  
Switzerland
* ![Taiwan](https://cdn.oddspedia.com/images/categories/taiwan.svg)  
Taiwan
* ![Thailand](https://cdn.oddspedia.com/images/categories/thailand.svg)  
Thailand
* ![Tunisia](https://cdn.oddspedia.com/images/categories/tunisia.svg)  
Tunisia 2 / 3
* ![Turkey](https://cdn.oddspedia.com/images/categories/turkey.svg)  
Turkey
* ![United Arab Emirates](https://cdn.oddspedia.com/images/categories/united-arab-emirates.svg)  
United Arab Emirates
* ![United Kingdom](https://cdn.oddspedia.com/images/categories/united-kingdom.svg)  
United Kingdom
* ![Uruguay](https://cdn.oddspedia.com/images/categories/uruguay.svg)  
Uruguay
* ![USA](https://cdn.oddspedia.com/images/categories/usa.svg)  
USA 44
* ![Vietnam](https://cdn.oddspedia.com/images/categories/vietnam.svg)  
Vietnam

![](https://cdn.oddspedia.com/images/static/matchups/header/matchup-header@2x.jpg)

# Bruno Ouvidor - Roy Keegan

![Bruno Ouvidor](https://cdn.oddspedia.com/images/teams/big/5/120742.png)

![Bruno Ouvidor](https://cdn.oddspedia.com/images/teams/big/5/120742.png)

Bruno Ouvidor

Final 

2 \- 1 

27th Apr 26, 12:00 

![Roy Keegan](https://cdn.oddspedia.com/images/teams/big/5/183545.png)

![Roy Keegan](https://cdn.oddspedia.com/images/teams/big/5/183545.png)

Roy Keegan

|     | 1.Set | 2.Set | 3.Set |
| --- | ----- | ----- | ----- |
| OUV | 4     | 6     | 6     |
| KEE | 6     | 1     | 4     |

Show Momentum 

Quick Links: 

Odds 

Highlights 

Live Stats 

Betting stats 

So Far Stats 

Matches 

H2H 

Community 

Offers 

Match Info 

Point by point 

3.Set 6 - 4 

* ![Serving player](/placeholder.svg "Serving player")
0 \- 1 
* 0:15
* 15:15
* 15:30
* 15:40

* ![Serving player](/placeholder.svg "Serving player")
1 \- 1 
* 15:0
* 30:0
* 40:0
* 40:15
* 40:30

* ![Serving player](/placeholder.svg "Serving player")
1 \- 2 
* 0:15
* 15:15
* 15:30
* 30:30
* 30:40

* ![Serving player](/placeholder.svg "Serving player")
2 \- 2 
* 0:15
* 0:30
* 15:30
* 30:30
* 40:30
* 40:40
* 40:A BP
* 40:40
* 40:A BP
* 40:40
* A:40

* ![Serving player](/placeholder.svg "Serving player")
2 \- 3 
* 0:15
* 0:30
* 15:30 DF
* 15:40

* ![Serving player](/placeholder.svg "Serving player")
3 \- 3 
* 15:0
* 30:0
* 30:15
* 30:30
* 30:40 BP
* 40:40
* 40:A BP
* 40:40
* A:40

* ![Serving player](/placeholder.svg "Serving player")
3 \- 4 
* 0:15
* 0:30
* 0:40

* ![Serving player](/placeholder.svg "Serving player")
4 \- 4 
* 0:15
* 15:15
* 30:15
* 40:15

* Break
* ![Serving player](/placeholder.svg "Serving player")
5 \- 4 
* 15:0
* 30:0
* 30:15
* 30:30
* 40:30 BP

* ![Serving player](/placeholder.svg "Serving player")
* SP
6 \- 4 
* 15:0
* 30:0
* 30:15
* 40:15
* 40:30

2.Set 6 - 1 

1.Set 4 - 6 

## Odds comparison 

![All Sportsbooks](https://cdn.oddspedia.com/images/categories/canada.svg) 

Pre match odds 

Live odds 

Spread 

 Final 

+4.5/-4.5 Games 

 Main line 

Home 

![Goldenbet](https://cdn.oddspedia.com/images/bookmakers/dark-back/80x32/goldenbet.png)

1.70 

![Goldenbet](https://cdn.oddspedia.com/images/bookmakers/dark-back/80x32/goldenbet.png)

Home

1.70

Away 

![Goldenbet](https://cdn.oddspedia.com/images/bookmakers/dark-back/80x32/goldenbet.png)

2.00 

![Goldenbet](https://cdn.oddspedia.com/images/bookmakers/dark-back/80x32/goldenbet.png)

Away

2.00

Compare odds 

Match Winner 

 Final 

 1st Set 

 2nd Set 

![FanDuel](https://cdn.oddspedia.com/images/bookmakers/dark-back/80x32/fanduel.png)

Home

3.05

![BetVictor](https://cdn.oddspedia.com/images/bookmakers/dark-back/80x32/betvictor.png)

Away

1.36

Compare odds 

Total 

 Final 

20.5 Games 

 Main line 

Over 

![Goldenbet](https://cdn.oddspedia.com/images/bookmakers/dark-back/80x32/goldenbet.png)

1.84 

![Goldenbet](https://cdn.oddspedia.com/images/bookmakers/dark-back/80x32/goldenbet.png)

Over

1.84

Under 

![Goldenbet](https://cdn.oddspedia.com/images/bookmakers/dark-back/80x32/goldenbet.png)

1.83 

![Goldenbet](https://cdn.oddspedia.com/images/bookmakers/dark-back/80x32/goldenbet.png)

Under

1.83

Compare odds 

Show all markets 

## Live Stats 

![Bruno Ouvidor](https://cdn.oddspedia.com/images/teams/big/5/120742.png)

![Bruno Ouvidor](https://cdn.oddspedia.com/images/teams/big/5/120742.png)

Bruno Ouvidor 

OUV 

Roy Keegan 

KEE 

![Roy Keegan](https://cdn.oddspedia.com/images/teams/big/5/183545.png)

![Roy Keegan](https://cdn.oddspedia.com/images/teams/big/5/183545.png)

100 Points won 89 

100 

Points won 

89

82 First serve successful 68 

82 

First serve successful 

68

20 Seconds serve successful 15 

20 

Seconds serve successful 

15

2 

2

Aces 

2 

2

Aces 

0 

4

Double faults 

0 

4

Double faults 

5 

3

Breakpoints won 

5 

3

Breakpoints won 

2 

2

Aces 

2 

2

Aces 

0 

4

Double faults 

0 

4

Double faults 

5 

3

Breakpoints won 

5 

3

Breakpoints won 

6 Max points in a row 6 

6 

Max points in a row 

6

16 Games won 11 

16 

Games won 

11

4 Max games in a row 5 

4 

Max games in a row 

5

13 Total breakpoints 12 

13 

Total breakpoints 

12

52 First serve points won 41 

52 

First serve points won 

41

9 Second serve points won 7 

9 

Second serve points won 

7

61 Service points won 48 

61 

Service points won 

48

41 Service points lost 39 

41 

Service points lost 

39

11 Service games won 8 

11 

Service games won 

8

## Betting stats 

![Bruno Ouvidor](https://cdn.oddspedia.com/images/teams/big/5/120742.png)

![Bruno Ouvidor](https://cdn.oddspedia.com/images/teams/big/5/120742.png)

Bruno Ouvidor 

OUV 

Played 6 

Roy Keegan 

KEE 

Played 9 

![Roy Keegan](https://cdn.oddspedia.com/images/teams/big/5/183545.png)

![Roy Keegan](https://cdn.oddspedia.com/images/teams/big/5/183545.png)

 17%  17% Over/Under 20.5 games  50%  50% 

 17%  17% Over/Under 21.5 games  25%  25% 

 17%  17% Over/Under 22.5 games  25%  25% 

 17%  17% Over/Under 2.5 sets  25%  25% 

## So Far Stats 

![Bruno Ouvidor](https://cdn.oddspedia.com/images/teams/big/5/120742.png)

![Bruno Ouvidor](https://cdn.oddspedia.com/images/teams/big/5/120742.png)

Bruno Ouvidor 

OUV 

Roy Keegan 

KEE 

![Roy Keegan](https://cdn.oddspedia.com/images/teams/big/5/183545.png)

![Roy Keegan](https://cdn.oddspedia.com/images/teams/big/5/183545.png)

1/2 1/2 

Career W/L 

0/0 0/0 

## Last Matches 

All Leagues 

L L L W L 

L L L L D 

![](https://cdn.oddspedia.com/images/teams/big/5/120742.png)

Bruno Ouvidor OUV 

![](https://cdn.oddspedia.com/images/teams/big/5/183545.png)

Roy Keegan KEE 

Recent form: 

L L L W L 

 All 

 Home 

 Away 

Recent form: 

L L L L D 

![](https://cdn.oddspedia.com/images/categories/portugal.svg)

[03 May   Final ![](https://cdn.oddspedia.com/images/teams/small/5/43619.png) Felipe Assuncao Garla ![](https://cdn.oddspedia.com/images/teams/small/5/120742.png) Bruno Ouvidor @ 2 0 L ](/ca/tennis/felipe-assuncao-garla-bruno-ouvidor-1922796 "Felipe Assuncao Garla Bruno Ouvidor") 

[02 May   Final ![](https://cdn.oddspedia.com/images/teams/small/5/83125.png) Rafael Kis Balazs ![](https://cdn.oddspedia.com/images/teams/small/5/120742.png) Bruno Ouvidor @ 0 2 W ](/ca/tennis/rafael-kis-balazs-bruno-ouvidor-1921294 "Rafael Kis Balazs Bruno Ouvidor") 

[30 Apr   Final ![](https://cdn.oddspedia.com/images/teams/small/5/120742.png) Bruno Ouvidor ![](https://cdn.oddspedia.com/images/teams/small/5/145521.png) Otso Martikainen @ 0 2 L ](/ca/tennis/bruno-ouvidor-otso-martikainen-1910393 "Bruno Ouvidor Otso Martikainen") 

[29 Apr   Final ![](https://cdn.oddspedia.com/images/teams/small/5/120742.png) Bruno Ouvidor ![](https://cdn.oddspedia.com/images/teams/small/5/182628.png) Sander Juuhl Sivertsen @ 0 2 L ](/ca/tennis/bruno-ouvidor-sander-juuhl-sivertsen-1910402 "Bruno Ouvidor Sander Juuhl Sivertsen") 

[28 Apr   Final ![](https://cdn.oddspedia.com/images/teams/small/5/120742.png) Bruno Ouvidor ![](https://cdn.oddspedia.com/images/teams/small/5/67955.png) Diego Fernandez Flores @ 0 2 L ](/ca/tennis/diego-fernandez-flores-bruno-ouvidor-1910396 "Bruno Ouvidor Diego Fernandez Flores") 

Recent form: 

L L L W L 

 All 

 Home 

 Away 

Recent form: 

L L L L D 

![](https://cdn.oddspedia.com/images/categories/portugal.svg)

[ ![](https://cdn.oddspedia.com/images/teams/small/5/160532.png) Dino Molokova Ferreira ![](https://cdn.oddspedia.com/images/teams/small/5/183545.png) Roy Keegan @ 0 0 L ](/ca/tennis/dino-molokova-ferreira-roy-keegan-1921295 "Dino Molokova Ferreira Roy Keegan") 

[01 May   Final ![](https://cdn.oddspedia.com/images/teams/small/5/183545.png) Roy Keegan ![](https://cdn.oddspedia.com/images/teams/small/5/67955.png) Diego Fernandez Flores @ 0 2 L ](/ca/tennis/diego-fernandez-flores-roy-keegan-1910400 "Roy Keegan Diego Fernandez Flores") 

[29 Apr   Final ![](https://cdn.oddspedia.com/images/teams/small/5/183545.png) Roy Keegan ![](https://cdn.oddspedia.com/images/teams/small/5/145521.png) Otso Martikainen @ 0 2 L ](/ca/tennis/otso-martikainen-roy-keegan-1910379 "Roy Keegan Otso Martikainen") 

[28 Apr   Final ![](https://cdn.oddspedia.com/images/teams/small/5/183545.png) Roy Keegan ![](https://cdn.oddspedia.com/images/teams/small/5/182628.png) Sander Juuhl Sivertsen @ 0 2 L ](/ca/tennis/sander-juuhl-sivertsen-roy-keegan-1910395 "Roy Keegan Sander Juuhl Sivertsen") 

[27 Apr   Final ![](https://cdn.oddspedia.com/images/teams/small/5/120742.png) Bruno Ouvidor ![](https://cdn.oddspedia.com/images/teams/small/5/183545.png) Roy Keegan @ 2 1 L ](/ca/tennis/bruno-ouvidor-roy-keegan-1910390 "Bruno Ouvidor Roy Keegan") 

Show more 

## Head To Head 

Last 9 years

![Bruno Ouvidor](https://cdn.oddspedia.com/images/teams/big/5/120742.png)

![Bruno Ouvidor](https://cdn.oddspedia.com/images/teams/big/5/120742.png)

OUV 

1

Win 

0

Wins 

1 played 

![Roy Keegan](https://cdn.oddspedia.com/images/teams/big/5/183545.png)

![Roy Keegan](https://cdn.oddspedia.com/images/teams/big/5/183545.png)

KEE 

![](https://cdn.oddspedia.com/images/categories/portugal.svg)

[27 Apr 2026   Final ![](https://cdn.oddspedia.com/images/teams/small/5/120742.png) Bruno Ouvidor ![](https://cdn.oddspedia.com/images/teams/small/5/183545.png) Roy Keegan @ 2 1 ](/ca/tennis/bruno-ouvidor-roy-keegan-1910390 "Bruno Ouvidor Roy Keegan")

## Community Picks 

0 

Sort by 

Latest 

Only cappers I follow 

![No results found](https://cdn.oddspedia.com/images/static/not-found/no-results-background.svg) 

Be the first to call it! Add your prediction

## Оffer 

* [![Stake.com logo](/placeholder.svg)](/ca/sportsbooks/stake-com)  
200% Deposit Match up to $5,600  
[Stake.com Review ](/ca/sportsbooks/stake-com)  
200% Deposit Match up to $5,600  
[Terms & conditions ](#)  
[Stake.com Review ](/ca/sportsbooks/stake-com) ODDSMAX Get offer  
Must be 19+ and resident of Canada. T&Cs apply. Gambling can be addictive, please play responsibly.
* [![Rainbet logo](/placeholder.svg)](/ca/sportsbooks/rainbet)  
250% Bonus up to $2100 + 60 Free Spins  
[Rainbet Review ](/ca/sportsbooks/rainbet)  
250% Bonus up to $2100 + 60 Free Spins  
[Terms & conditions ](#)  
[Rainbet Review ](/ca/sportsbooks/rainbet) ODDSMAX Get offer  
Account registration is restricted to individuals aged 18 years or over. rainbet reserves the right to request proof of age at any time and to close accounts and withhold funds if Users are found to be underage. Users must not be located in jurisdictions where online gambling is prohibited.
* [![bet365 logo](/placeholder.svg)](/ca/sportsbooks/bet365)  
Bet $10 & Get $50 in Bonus Bets  
[bet365 Review ](/ca/sportsbooks/bet365)  
Bet $10 & Get $50 in Bonus Bets  
[Terms & conditions ](#)  
[bet365 Review ](/ca/sportsbooks/bet365) ODDSPEDIA Get offer  
Available to new customers only. Must be 19yo+ and CA resident. T&Cs, time limits and exclusions apply.

## About the Match 

Bruno Ouvidor plays against Roy Keegan in a UTR PTT Carvoeiro Men 06 game, and Tennis fans are looking forward to it. The event takes place on 27/04/2026 at 10:00 UTC. Oddspedia provides Bruno Ouvidor Roy Keegan betting odds from 5 betting sites on 6 markets. Bookmakers place Roy Keegan as favourites to win the game at @ 1.33\. Check the Bruno Ouvidor and Roy Keegan team form, standings and head-to-head statistics here on the page. Additionally to the comprehensive pre-match and live betting odds, fast live scores, team lineups and commentary.  
Will Bruno Ouvidor, as the home team, take advantage and win the game?

### Find the best lines on Bruno Ouvidor vs Roy Keegan!

Compare the Bruno Ouvidor - Roy Keegan betting odds and win more on [Tennis](https://oddspedia.com/ca/tennis).

[Oddspedia](https://oddspedia.com/ca) provides Bruno Ouvidor - Roy Keegan betting odds from 5 bookmakers in 6 betting markets. The search for which site is offering top sports betting lines has come to an end!

### Match details

* Bruno Ouvidor - Roy Keegan
* [UTR PTT Carvoeiro Men 06](https://oddspedia.com/ca/tennis/portugal/utr-ptt-carvoeiro-men-06) Portugal
* Date - 27/04/2026
* Starting time - 10:00 UTC
* Venue: -, -, -

Show more 

[**Enjoying Oddspedia?** Add us as a preferred source on Google ![<b>Enjoying Oddspedia?</b> Add us as a preferred source on Google](/placeholder.svg)](https://www.google.com/preferences/source?q=oddspedia.com)

* **184** Sportsbooks
* **114 303** Upcoming events
* **4 216** Leagues
* **2 523 950** Odds
* **5 782 052 573** Archived odds

![SBC Awards 2020 Product Innovation Winner](/placeholder.svg) ![SBC Awards 2020 Product Innovation Winner](/placeholder.svg)

![ca](https://cdn.oddspedia.com/images/static/flags/flag-ca.svg) ca 

![en](/placeholder.svg) en

![us](/placeholder.svg) us

![de](/placeholder.svg) de

![it](/placeholder.svg) it

![es](/placeholder.svg) es

![br](/placeholder.svg) br

![ru](/placeholder.svg) ru

![ja](/placeholder.svg) ja

![bg](/placeholder.svg) bg

![mx](/placeholder.svg) mx

![nl](/placeholder.svg) nl

![fr](/placeholder.svg) fr

[About Us ](/ca/about-us "About Us")[Widgets for Publishers ](https://widgets.oddspedia.com "Widgets for Publishers")[Contact us ](/contact-us "Contact us")[Privacy Policy ](/ca/privacy-policy "Privacy Policy")[Terms & Conditions ](/ca/terms-and-conditions "Terms & Conditions")[Editorial Policy ](/ca/editorial-policy "Editorial Policy")[Responsible Gambling ](/responsible-gambling "Responsible Gambling")[Imprint ](/ca/imprint "Imprint")

Top Pages on Oddspedia 

* [Today's Matches ](/ca "Today's Matches")
* [Odds Comparison ](/ca/odds "Odds Comparison")
* [Where to Watch Soccer ](/ca/soccer/where-to-watch "Where to Watch Soccer")
* [Oddspedia Community ](/ca/picks/handicappers-leaderboard/rankings "Oddspedia Community")
* [NHL Schedule ](/ca/hockey/usa/nhl "NHL Schedule")
* [CFL Schedule ](/ca/soccer/canada/soccer-league "CFL Schedule")

Picks 

* [Today's Best Bets ](/ca/picks "Today's Best Bets")
* [NHL Predictions ](/ca/hockey/usa/nhl/picks "NHL Predictions")
* [CFL Predictions ](/ca/soccer/canada/soccer-league/picks "CFL Predictions")
* [NBA Predictions ](/ca/basketball/usa/nba/picks "NBA Predictions")
* [MLS Predictions ](/ca/soccer/usa/mls/picks "MLS Predictions")
* [Monthly Tipster Contest ](/ca/picks/capper-contests/monthly "Monthly Tipster Contest")
* [Yearly Tipster Contest ](/ca/picks/capper-contests/yearly "Yearly Tipster Contest")
* [Oddspedia Rivals ](/ca/picks/rivals "Oddspedia Rivals")

Sportsbooks 

* [Best Sports Betting Sites ](/ca/sportsbooks "Best Sports Betting Sites")
* [Best Betting Apps ](/ca/sportsbooks/betting-apps "Best Betting Apps")
* [Best Sportsbook Promos ](/ca/sportsbooks/betting-offers "Best Sportsbook Promos")

Promo Codes 

* [Stake Promo Code ](/ca/sportsbooks/stake-com/bonus "Stake Promo Code")
* [Rainbet Promo Code ](/ca/sportsbooks/rainbet/bonus "Rainbet Promo Code")
* [Sports Interaction Bonus Code ](/ca/sportsbooks/sports-interaction/bonus "Sports Interaction Bonus Code")
* [Bet365 Bonus Code ](/ca/sportsbooks/bet365/bonus "Bet365 Bonus Code")
* [TonyBet Bonus Code ](/ca/sportsbooks/tonybet/bonus "TonyBet Bonus Code")
* [BetVictor Bonus Code ](/ca/sportsbooks/betvictor/bonus "BetVictor Bonus Code")
* [Betway Bonus Code ](/ca/sportsbooks/betway/bonus "Betway Bonus Code")
* [Pinnacle VIP Code ](/ca/sportsbooks/pinnacle/bonus "Pinnacle VIP Code")
* [Stake Bonus Code (Global) ](/bookmakers/stake-com/bonus "Stake Bonus Code (Global)")

Popular Matches 

* [Turkey - Belgium ](/ca/soccer/belgium-turkey-1405 "Turkey - Belgium")
* [Czech Republic - Spain ](/ca/soccer/spain-czech-republic-584 "Czech Republic - Spain")
* [England - Croatia ](/ca/soccer/croatia-england-401 "England - Croatia")
* [Italy - France ](/ca/soccer/italy-france-858 "Italy - France")
* [Netherlands - Greece ](/ca/soccer/greece-netherlands-708 "Netherlands - Greece")
* [Serbia - Germany ](/ca/soccer/germany-serbia-1202 "Serbia - Germany")
* [Slovenia - Switzerland ](/ca/soccer/switzerland-slovenia-1032 "Slovenia - Switzerland")
* [Norway - Wales ](/ca/soccer/norway-wales-1856674 "Norway - Wales")
* [Romania - Poland ](/ca/soccer/romania-poland-26258 "Romania - Poland")
* [Portugal - Denmark ](/ca/soccer/portugal-denmark-1231 "Portugal - Denmark")

[ ](/ca "Oddspedia.com") 

![ca](https://cdn.oddspedia.com/images/static/flags/flag-ca.svg) ca 

![en](/placeholder.svg) en

![us](/placeholder.svg) us

![de](/placeholder.svg) de

![it](/placeholder.svg) it

![es](/placeholder.svg) es

![br](/placeholder.svg) br

![ru](/placeholder.svg) ru

![ja](/placeholder.svg) ja

![bg](/placeholder.svg) bg

![mx](/placeholder.svg) mx

![nl](/placeholder.svg) nl

![fr](/placeholder.svg) fr

19+. Gambling can be addictive, please play responsibly

© 2026 Oddspedia - All Rights Reserved.

As seen on TV: 
* ![BeIn Sports](/placeholder.svg)
* ![Dazn](/placeholder.svg)
* ![LaLiga TV](/placeholder.svg)

[![19 plus](/placeholder.svg)](https://mybettingsites-com.imgix.net/assets/local/Site/19-plus-logo.png "19 plus")[![iGaming Ontario](/placeholder.svg)](https://igamingontario.ca/en "iGaming Ontario")[![Gambling therapy](/placeholder.svg)](https://www.gamblingtherapy.org/ "Gambling therapy")[![ACGO](/placeholder.svg)](https://www.agco.ca/ "ACGO") 

19+. Gambling can be addictive, please play responsibly

[ ](/ca "Oddspedia.com")

© 2026 Oddspedia - All Rights Reserved.

* [ ![Facebook Icon](/placeholder.svg)](https://www.facebook.com/oddspediaglobal "Facebook")
* [ ![X Icon](/placeholder.svg)](https://x.com/oddspedia "X")
* [ ![Instagram Icon](/placeholder.svg)](https://www.instagram.com/oddspediaglobal "Instagram")
* [ ![Discord Icon](/placeholder.svg)](https://discord.gg/Thp44bSCxN "Discord")
* [ ![Youtube Icon](/placeholder.svg)](https://www.youtube.com/oddspedia/videos "Youtube")
* [ ![Telegram Icon](/placeholder.svg)](https://t.me/oddspedia "Telegram")

![Trust Pilot](/placeholder.svg "Trust Pilot") 

94 reviews 

* [ ![Facebook Icon](/placeholder.svg)](https://www.facebook.com/oddspediaglobal "Facebook")
* [ ![X Icon](/placeholder.svg)](https://x.com/oddspedia "X")
* [ ![Instagram Icon](/placeholder.svg)](https://www.instagram.com/oddspediaglobal "Instagram")
* [ ![Discord Icon](/placeholder.svg)](https://discord.gg/Thp44bSCxN "Discord")
* [ ![Youtube Icon](/placeholder.svg)](https://www.youtube.com/oddspedia/videos "Youtube")
* [ ![Telegram Icon](/placeholder.svg)](https://t.me/oddspedia "Telegram")

![](/placeholder.svg) Bet Slip 

![Canada](/placeholder.svg) 

EU Odds (1.50) 

![](https://cdn.oddspedia.com/images/static/background/event-header-sm@2x-white.jpg) 

We use cookies to ensure you get the best experience on our website. You can manage your preferences and find out more by clicking the ‘Customise’ button below.

Customize Accept All 


    )    (       (       (      (            (       (
 ( /(    )\ )    )\ )    )\ )   )\ )         )\ )    )\ )     (
 )\())  (()/(   (()/(   (()/(  (()/(   (    (()/(   (()/(     )\
((_)\    /(_))   /(_))   /(_))  /(_))  )\    /(_))   /(_)) ((((_)(
  ((_)  (_))_   (_))_   (_))   (_))   ((_)  (_))_   (_))    )\ _ )\
 / _ \   |   \   |   \  / __|  | _ \  | __|  |   \  |_ _|   (_)_\(_)
| (_) |  | |) |  | |) | \__ \  |  _/  | _|   | |) |  | |     / _ \
 \___/   |___/   |___/  |___/  |_|    |___|  |___/  |___|   /_/ \_\

```json
{"@context":"https://schema.org/","@type":"WebSite","name":"Oddspedia","url":"https://oddspedia.com/ca","inLanguage":{"@type":"Language","name":"en-CA"}}
{"@context":"http://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"item":{"@id":"https://oddspedia.com/ca/tennis","name":"Tennis"}},{"@type":"ListItem","position":2,"item":{"@id":"https://oddspedia.com/ca/tennis/portugal","name":"Portugal"}},{"@type":"ListItem","position":3,"item":{"@id":"https://oddspedia.com/ca/tennis/portugal/utr-ptt-carvoeiro-men-06","name":"UTR PTT Carvoeiro Men 06"}},{"@type":"ListItem","position":4,"item":{"@id":"https://oddspedia.com/ca/tennis/bruno-ouvidor-roy-keegan-1910390","name":"Bruno Ouvidor - Roy Keegan "}}]}
{"@context":"https://schema.org","@graph":[{"@type":"SportsEvent","@id":"https://oddspedia.com/ca/tennis/bruno-ouvidor-roy-keegan-1910390#event","url":"https://oddspedia.com/ca/tennis/bruno-ouvidor-roy-keegan-1910390","name":"Bruno Ouvidor - Roy Keegan","description":"Bruno Ouvidor vs Roy Keegan ❱ 27.04.2026 ❱ Tennis ❱ UTR PTT Carvoeiro Men 06, Portugal ❱ ⚡Best Odds &amp; Picks ⭐Accurate Predictions  ✔️Live Score &amp; Stats  ✌Match Preview","sport":"Tennis","startDate":"2026-04-27T10:00:00Z","endDate":"2026-04-27T11:30:00Z","eventAttendanceMode":"https://schema.org/OfflineEventAttendanceMode","homeTeam":{"@type":"SportsTeam","name":"Bruno Ouvidor","image":"https://cdn.oddspedia.com/images/teams/big/5/120742.png","sport":"Tennis"},"awayTeam":{"@type":"SportsTeam","name":"Roy Keegan","image":"https://cdn.oddspedia.com/images/teams/big/5/183545.png","sport":"Tennis"},"competitor":[{"@type":"SportsTeam","name":"Bruno Ouvidor"},{"@type":"SportsTeam","name":"Roy Keegan"}],"location":{"@type":"Place","name":"Carvoeiro Clube de Tenis - 05. Court FredGil","address":{"@type":"PostalAddress","addressLocality":"Carvoeiro","addressCountry":{"@type":"Country","name":"Portugal"}},"geo":{"@type":"GeoCoordinates","latitude":"41.65693265","longitude":"-8.6610126925782"}},"image":["https://cdn.oddspedia.bg/media/ca/16x9/bruno-ouvidor-roy-keegan-10056473.png","https://cdn.oddspedia.bg/media/ca/1x1/bruno-ouvidor-roy-keegan-10056473.png"],"organizer":{"@type":"SportsOrganization","name":"UTR PTT Carvoeiro Men 06","logo":{"@type":"ImageObject","url":"https://cdn.oddspedia.com/images/leagues/medium/utr.png","width":32,"height":32}},"superEvent":{"@type":"SportsEvent","name":"UTR PTT Carvoeiro Men 06, 2026","url":"https://oddspedia.com/ca/tennis/portugal/utr-ptt-carvoeiro-men-06","location":"Portugal","startDate":"2026-04-27T00:00:00Z"}},{"@type":"NewsArticle","@id":"https://oddspedia.com/ca/tennis/bruno-ouvidor-roy-keegan-1910390#article","url":"https://oddspedia.com/ca/tennis/bruno-ouvidor-roy-keegan-1910390","headline":"Bruno Ouvidor vs Roy Keegan » Odds, Scores, Picks &amp; Predictions","description":"Bruno Ouvidor vs Roy Keegan ❱ 27.04.2026 ❱ Tennis ❱ UTR PTT Carvoeiro Men 06, Portugal ❱ ⚡Best Odds &amp; Picks ⭐Accurate Predictions  ✔️Live Score &amp; Stats  ✌Match Preview","image":"https://cdn.oddspedia.bg/media/ca/16x9/bruno-ouvidor-roy-keegan-10056473.png","datePublished":"2022-09-07 11:08:06","dateModified":"2026-04-27 01:45:44.85311+00","author":{"@type":"Person","name":"Oddspedia Editorial Team","image":{"@type":"ImageObject","url":"https://cdn.oddspedia.com/images/static/brand-logos/logo-light.svg","width":600,"height":60},"url":"https://oddspedia.com"},"publisher":{"@type":"Organization","@id":"https://oddspedia.com/#organization","name":"Oddspedia","url":"https://oddspedia.com","logo":{"@type":"ImageObject","url":"https://cdn.oddspedia.com/images/static/brand-logos/logo-light.svg","width":600,"height":60},"sameAs":["https://oddspedia.com","https://www.facebook.com/oddspediaglobal","https://www.instagram.com/oddspediaglobal","https://x.com/oddspedia","https://www.youtube.com/oddspedia/videos"]},"inLanguage":"en-CA","mainEntityOfPage":"https://oddspedia.com/ca/tennis/bruno-ouvidor-roy-keegan-1910390","about":{"@id":"https://oddspedia.com/ca/tennis/bruno-ouvidor-roy-keegan-1910390#event"}}]}
```
