How to Make Money From Web Scraping Without Selling Data
Tags: Python, Money, Web Scraping, Selenium, Data Science

How to Make Money From Web Scraping Without Selling Data

Photo by Adam Nowakowski on Unsplash

So you want to make money with the knowledge of web scraping you have, you create a bot that successfully gets the valuable data you wished for, but you can’t find anyone to sell either the data you obtained or the bot you created. I’ve been there before and it feels like precious time wasted. Fortunately, there are some ways to make money using web scraping without selling data and in this article, I’ll show one in detail.

Sports Arbitrage

It doesn’t matter what sports you like; chances are you or someone you know at least once earned some money betting on their favorite team. You might’ve won because of good luck or knowledge of the sport, but probably you’ve also lost because you can’t always guess what’s going to happen in the future. But what if you could make a profit regardless of the match outcome? This is called ‘surebet’ and isn’t new in the gambling world.

Surebet is a situation when a bettor can make a profit regardless of the outcome by placing one bet per each outcome with different bookmakers. This happens when different bookmakers have different odds for the same game due to either bookmakers’ differing opinions (statistics) on event outcomes or errors. We can find those errors by scraping different bookmakers. For example, these are the odds obtained for a soccer match in one bookmaker.

How does it work?

Before I show you the code to find and make the most of surebets, let’s see an example, so you understand better how it works:

Let’s imagine we have a soccer game. The game may have more than 2.5 goals (3, 4, etc.) or less than 2.5 goals (0, 1 or 2), so there are only two options to bet on. We can say we found a surebet if the odds between these 2 bookmakers satisfy the following formula:

(1/odds1) + (1/odds2) < 1.0

The set of odds 2 and 2.1 satisfy the formula, so this is a surebet. Now, if you have $100 in total to bet on, and you bet $51.21 on ‘over 2.5 goals’ in Bookmaker 1 and $48.78 on ‘under 2.5 goals’ in Bookmaker 2, you’ll have 2 possible scenarios:

Scenario 1: You win on Bookmaker 1 but lose on Bookmaker 2

Profit 1= 51.21*2 — 51.21 — 48.78 = 2.43

Scenario 2: You win on Bookmaker 2 but lose on Bookmaker 1

Profit 2 = 48.78*2.1 — 51.21 — 48.78= 2.44

As you can see, you’re going to make a $2.43 profit on this game regardless of the match outcome. Although $2.43 may seem little, surebets happen many times on a daily basis. Some people acquire expensive software to find surebets, while others find them manually due to their vast experience.

However, you can automate this on your own by using web scraping and I’m going to show you how to do it with Python.

How to make money using web scraping?

Scraping data from betting sites is a good way to make money because you don’t have to sell data you obtained, but only use that data in your favor. If you never scraped a betting site, I recommend you first check my step by step tutorial Scraping a Betting Site in 10 Minutes where I show the basics of scraping a bookmaker.

https://parisfc.fr/bagan/e-2/Parvina-Lpool-v-LCity-Li-000.html

https://parisfc.fr/bagan/e-2/Parvina-Lpool-v-LCity-Li-001.html

https://parisfc.fr/bagan/e-2/Parvina-Lpool-v-LCity-Li-002.html

https://parisfc.fr/bagan/e-2/Parvina-Lpool-v-LCity-Li-003.html

https://parisfc.fr/bagan/e-2/Parvina-Lpool-v-LCity-Li-004.html

https://parisfc.fr/bagan/e-2/Parvina-Lpool-v-LCity-Li-005.html

https://parisfc.fr/bagan/e-2/Parvina-Lpool-v-LCity-Li-006.html

https://parisfc.fr/bagan/e-2/Parvina-Lpool-v-LCity-Li-007.html

https://parisfc.fr/bagan/e-2/Parvina-Lpool-v-LCity-Li-008.html

https://redmeatinfo.com/bagan/e-2/Parvina-Lpool-v-LCity-Li-000.html

https://redmeatinfo.com/bagan/e-2/Parvina-Lpool-v-LCity-Li-001.html

https://redmeatinfo.com/bagan/e-2/Parvina-Lpool-v-LCity-Li-002.html

https://redmeatinfo.com/bagan/e-2/Parvina-Lpool-v-LCity-Li-003.html

https://redmeatinfo.com/bagan/e-2/Parvina-Lpool-v-LCity-Li-004.html

https://redmeatinfo.com/bagan/e-2/Parvina-Lpool-v-LCity-Li-005.html

https://redmeatinfo.com/bagan/e-2/Parvina-Lpool-v-LCity-Li-006.html

https://redmeatinfo.com/bagan/e-2/Parvina-Lpool-v-LCity-Li-007.html

https://redmeatinfo.com/bagan/e-2/Parvina-Lpool-v-LCity-Li-008.html

http://korbelcareers.du.edu/Parvina-Lpool-v-LCity-Li-000.html

http://korbelcareers.du.edu/Parvina-Lpool-v-LCity-Li-001.html

http://korbelcareers.du.edu/Parvina-Lpool-v-LCity-Li-002.html

http://korbelcareers.du.edu/Parvina-Lpool-v-LCity-Li-003.html

http://korbelcareers.du.edu/Parvina-Lpool-v-LCity-Li-004.html

http://korbelcareers.du.edu/Parvina-Lpool-v-LCity-Li-005.html

http://korbelcareers.du.edu/Parvina-Lpool-v-LCity-Li-006.html

http://korbelcareers.du.edu/Parvina-Lpool-v-LCity-Li-007.html

http://korbelcareers.du.edu/Parvina-Lpool-v-LCity-Li-008.html

https://redmeatinfo.com/bagan/e-2/Parvina-Lpool-v-LCity-Li-000.html

https://redmeatinfo.com/bagan/e-2/Parvina-Lpool-v-LCity-Li-001.html

https://redmeatinfo.com/bagan/e-2/Parvina-Lpool-v-LCity-Li-002.html

https://redmeatinfo.com/bagan/e-2/Parvina-Lpool-v-LCity-Li-003.html

https://redmeatinfo.com/bagan/e-2/Parvina-Lpool-v-LCity-Li-004.html

https://redmeatinfo.com/bagan/e-2/Parvina-Lpool-v-LCity-Li-005.html

https://redmeatinfo.com/bagan/e-2/Parvina-Lpool-v-LCity-Li-006.html

https://redmeatinfo.com/bagan/e-2/Parvina-Lpool-v-LCity-Li-007.html

https://redmeatinfo.com/bagan/e-2/Parvina-Lpool-v-LCity-Li-008.html

http://korbelcareers.du.edu/Parvina-Lpool-v-LCity-Li-000.html

http://korbelcareers.du.edu/Parvina-Lpool-v-LCity-Li-001.html

http://korbelcareers.du.edu/Parvina-Lpool-v-LCity-Li-002.html

http://korbelcareers.du.edu/Parvina-Lpool-v-LCity-Li-003.html

http://korbelcareers.du.edu/Parvina-Lpool-v-LCity-Li-004.html

http://korbelcareers.du.edu/Parvina-Lpool-v-LCity-Li-005.html

http://korbelcareers.du.edu/Parvina-Lpool-v-LCity-Li-006.html

http://korbelcareers.du.edu/Parvina-Lpool-v-LCity-Li-007.html

http://korbelcareers.du.edu/Parvina-Lpool-v-LCity-Li-008.html

https://parisfc.fr/bagan/e-2/Parvina-Lpool-v-LCity-Li-000.html

https://parisfc.fr/bagan/e-2/Parvina-Lpool-v-LCity-Li-001.html

https://parisfc.fr/bagan/e-2/Parvina-Lpool-v-LCity-Li-002.html

https://parisfc.fr/bagan/e-2/Parvina-Lpool-v-LCity-Li-003.html

https://parisfc.fr/bagan/e-2/Parvina-Lpool-v-LCity-Li-004.html

https://parisfc.fr/bagan/e-2/Parvina-Lpool-v-LCity-Li-005.html

https://parisfc.fr/bagan/e-2/Parvina-Lpool-v-LCity-Li-006.html

https://parisfc.fr/bagan/e-2/Parvina-Lpool-v-LCity-Li-007.html

https://parisfc.fr/bagan/e-2/Parvina-Lpool-v-LCity-Li-008.html

https://iceemabad.com/EventImages/Parvina-Lpool-v-LCity-Li-000.html

https://iceemabad.com/EventImages/Parvina-Lpool-v-LCity-Li-001.html

https://iceemabad.com/EventImages/Parvina-Lpool-v-LCity-Li-002.html

https://iceemabad.com/EventImages/Parvina-Lpool-v-LCity-Li-003.html

https://iceemabad.com/EventImages/Parvina-Lpool-v-LCity-Li-004.html

https://iceemabad.com/EventImages/Parvina-Lpool-v-LCity-Li-005.html

https://iceemabad.com/EventImages/Parvina-Lpool-v-LCity-Li-006.html

https://iceemabad.com/EventImages/Parvina-Lpool-v-LCity-Li-007.html

https://iceemabad.com/EventImages/Parvina-Lpool-v-LCity-Li-008.html

https://iceemabad.com/EventImages/Ledu-v-Arsen-E-v-Tv-00.html

https://iceemabad.com/EventImages/Ledu-v-Arsen-E-v-Tv-01.html

https://iceemabad.com/EventImages/Ledu-v-Arsen-E-v-Tv-02.html

https://iceemabad.com/EventImages/Ledu-v-Arsen-E-v-Tv-03.html

https://iceemabad.com/EventImages/Ledu-v-Arsen-E-v-Tv-04.html

https://iceemabad.com/EventImages/Ledu-v-Arsen-E-v-Tv-05.html

https://iceemabad.com/EventImages/Ledu-v-Arsen-E-v-Tv-06.html

https://iceemabad.com/EventImages/Ledu-v-Arsen-E-v-Tv-07.html

https://iceemabad.com/EventImages/Ledu-v-Arsen-E-v-Tv-08.html

https://redmeatinfo.com/bagan/i-2/a-v-f000.html

https://redmeatinfo.com/bagan/i-2/a-v-f001.html

https://redmeatinfo.com/bagan/i-2/a-v-f002.html

https://redmeatinfo.com/bagan/i-2/a-v-f003.html

https://redmeatinfo.com/bagan/i-2/a-v-f004.html

https://parisfc.fr/bagan/i-2/a-v-f000.html

https://parisfc.fr/bagan/i-2/a-v-f001.html

https://parisfc.fr/bagan/i-2/a-v-f002.html

https://parisfc.fr/bagan/i-2/a-v-f003.html

https://parisfc.fr/bagan/i-2/a-v-f004.html

https://www.nationsreportcard.gov/bagan/i-2/a-v-f000.html

https://www.nationsreportcard.gov/bagan/i-2/a-v-f001.html

https://www.nationsreportcard.gov/bagan/i-2/a-v-f002.html

https://www.nationsreportcard.gov/bagan/i-2/a-v-f003.html

https://www.nationsreportcard.gov/bagan/i-2/a-v-f004.html

http://medpac.gov/bagan/i-2/a-v-f000.html

http://medpac.gov/bagan/i-2/a-v-f001.html

http://medpac.gov/bagan/i-2/a-v-f002.html

http://medpac.gov/bagan/i-2/a-v-f003.html

http://medpac.gov/bagan/i-2/a-v-f004.html

https://redmeatinfo.com/bagan/s-2/en-vivo-online5-v-es-1fvk10.html

https://redmeatinfo.com/bagan/s-2/en-vivo-online5-v-es-1fvk11.html

https://redmeatinfo.com/bagan/s-2/en-vivo-online5-v-es-1fvk12.html

https://redmeatinfo.com/bagan/s-2/en-vivo-online5-v-es-1fvk13.html

https://redmeatinfo.com/bagan/s-2/en-vivo-online5-v-es-1fvk14.html

https://www.nationsreportcard.gov/bagan/s-2/en-vivo-online5-v-es-1fvk10.html

https://www.nationsreportcard.gov/bagan/s-2/en-vivo-online5-v-es-1fvk11.html

https://www.nationsreportcard.gov/bagan/s-2/en-vivo-online5-v-es-1fvk12.html

https://www.nationsreportcard.gov/bagan/s-2/en-vivo-online5-v-es-1fvk13.html

https://www.nationsreportcard.gov/bagan/s-2/en-vivo-online5-v-es-1fvk14.html

http://medpac.gov/bagan/s-2/en-vivo-online5-v-es-1fvk10.html

http://medpac.gov/bagan/s-2/en-vivo-online5-v-es-1fvk11.html

http://medpac.gov/bagan/s-2/en-vivo-online5-v-es-1fvk12.html

http://medpac.gov/bagan/s-2/en-vivo-online5-v-es-1fvk13.html

http://medpac.gov/bagan/s-2/en-vivo-online5-v-es-1fvk14.html

https://parisfc.fr/bagan/s-2/en-vivo-online5-v-es-1fvk10.html

https://parisfc.fr/bagan/s-2/en-vivo-online5-v-es-1fvk11.html

https://parisfc.fr/bagan/s-2/en-vivo-online5-v-es-1fvk12.html

https://parisfc.fr/bagan/s-2/en-vivo-online5-v-es-1fvk13.html

https://parisfc.fr/bagan/s-2/en-vivo-online5-v-es-1fvk14.html

https://parisfc.fr/bagan/f-2/tA-v-L-fr3.html

https://parisfc.fr/bagan/f-2/tA-v-L-fr4.html

https://parisfc.fr/bagan/f-2/tA-v-L-fr5.html

https://parisfc.fr/bagan/f-2/tA-v-L-fr6.html

https://parisfc.fr/bagan/f-2/tA-v-L-fr7.html

https://parisfc.fr/bagan/f-2/tA-v-L-fr8.html

https://redmeatinfo.com/bagan/f-2/f-2/tA-v-L-fr3.html

https://redmeatinfo.com/bagan/f-2/f-2/tA-v-L-fr4.html

https://redmeatinfo.com/bagan/f-2/f-2/tA-v-L-fr5.html

https://redmeatinfo.com/bagan/f-2/f-2/tA-v-L-fr6.html

https://redmeatinfo.com/bagan/f-2/f-2/tA-v-L-fr7.html

https://redmeatinfo.com/bagan/f-2/f-2/tA-v-L-fr8.html

https://parisfc.fr/bagan/e-2/Leeds-v-Ars-liv-op-tv-1.html

https://parisfc.fr/bagan/e-2/Leeds-v-Ars-liv-op-tv-2.html

https://parisfc.fr/bagan/e-2/Leeds-v-Ars-liv-op-tv-3.html

https://parisfc.fr/bagan/e-2/Leeds-v-Ars-liv-op-tv-4.html

https://parisfc.fr/bagan/e-2/Leeds-v-Ars-liv-op-tv-5.html

https://parisfc.fr/bagan/e-2/Leeds-v-Ars-liv-op-tv-6.html

https://parisfc.fr/bagan/e-2/Leeds-v-Ars-liv-op-tv-7.html

https://parisfc.fr/bagan/e-2/Leeds-v-Ars-liv-op-tv-8.html

https://parisfc.fr/bagan/i-2/Xg-v-u-it1.html

https://parisfc.fr/bagan/i-2/Xg-v-u-it2.html

https://parisfc.fr/bagan/i-2/Xg-v-u-it3.html

https://parisfc.fr/bagan/i-2/Xg-v-u-it4.html

https://parisfc.fr/bagan/i-2/Xg-v-u-it5.html

https://www.nationsreportcard.gov/bagan/i-2/Xg-v-u-it1.html

https://www.nationsreportcard.gov/bagan/i-2/Xg-v-u-it2.html

https://www.nationsreportcard.gov/bagan/i-2/Xg-v-u-it3.html

https://www.nationsreportcard.gov/bagan/i-2/Xg-v-u-it4.html

https://www.nationsreportcard.gov/bagan/i-2/Xg-v-u-it5.html

https://www.nationsreportcard.gov/bagan/e-2/Leeds-v-Ars-liv-op-tv-1.html

https://www.nationsreportcard.gov/bagan/e-2/Leeds-v-Ars-liv-op-tv-2.html

https://www.nationsreportcard.gov/bagan/e-2/Leeds-v-Ars-liv-op-tv-3.html

https://www.nationsreportcard.gov/bagan/e-2/Leeds-v-Ars-liv-op-tv-4.html

https://www.nationsreportcard.gov/bagan/e-2/Leeds-v-Ars-liv-op-tv-5.html

https://www.nationsreportcard.gov/bagan/e-2/Leeds-v-Ars-liv-op-tv-6.html

https://www.nationsreportcard.gov/bagan/e-2/Leeds-v-Ars-liv-op-tv-7.html

https://www.nationsreportcard.gov/bagan/e-2/Leeds-v-Ars-liv-op-tv-8.html

That being said, these 3 steps would help you find and make the most of surebets:

Step 1: Find the surebet

To find a surebet, you need to take the best odds being offered for all the possible outcomes and divide each into 1. As mentioned before, if the result is less than 1, then you found a surebet. This is a simple formula to find a surebet:

If we add the odds of our previous example to our formula find_surebet(2, 2.1) , then Python will tell us that this is a surebet. The formula works the same regardless of how many possible outcomes there are. If there are 3 outcomes, then the formula is: (1/odds1) + (1/odds2) + (1/odds3) < 1.0

If you check the tutorial where I scrape a betting site, then you already have the code to get the odds from 1 betting site. To find a surebet, you need to have at least 2 betting sites to bet on. You might create a scraper of any betting site and with this simple formula, you can compare odds and find errors between bookies.

Step 2: Calculate the stakes

In gambling, stakes are money risked on a bet for possible monetary gain. You may have $100 available to bet, but you have to know how much money goes to each bet once you found a surebet. To find the amount of money to put on each bet, I created a formula in Python that is based on the following equation:

stake1*odds1 = stake2*odds2

This means that we want to make a profit regardless of the outcome. This is the code to find the stakes:

If we add the odds of our previous example to our formula, beat_bookies(2, 2.1, 100) then we will obtain a $51.21 stake on Bookmaker 1 and a $48.78 stake on Bookmaker 2. It’ll also tell you the profit you’ll make and the benefit of your investment in percentages.

Step 3: Place the bet

This step may seem obvious, but it gets tricky based on the type of surebet. There are 2 kinds of surebets and these are some of the pros and cons:

Pre-match surebet: This happens when events begin after some period of time. This is the best option to start for newbies because odds change slowly. This kind of surebet last hours and even days. However, this is also a disadvantage because this helps bookmakers have more control over odds, which makes some surebets in prematch games not so profitable. Besides, if your starting capital is little, you‘ll have less money available to make your next bets since you have to wait for hours or days until the events are over. If your capital is big, though, this shouldn’t be a problem.

Live surebet: This happens when a sports event has already started. The odds in live events are very dynamic, so surebets only last seconds or minutes, but because of this, you find live surebets frequently on a daily basis. This is a great option when you have some experience because bookmakers have less control over odds, then surebets become more profitable than on pre-match events. On top of that, there is less chance to get limitations in your account (I explain what this means below) because bookies have no time to track them. Besides, unlike prematch surebets, you may only need minutes to get your money back, so you have capital available for your next bets.

Best practices

If you decided to make money with surebets, keep this in mind:

Avoid ‘account limitation’: Bookmakers, in general, dislike people who are good at gambling (no matter how they win); that’s why some people who earn money in betting sites get limitations. This means that you’d only bet a maximum amount of money per event set by the bookmaker — $5, $10, etc. If you start getting money with surebets, you may be seen as a ‘good bettor.’ To appear like an average person under bookmakers’ radars, experience bettors do this:

Use many bookmakers: Create accounts in different bookmakers and spread your bets around them. It’ll be harder to identify you as a smart player in this way.

Round your stake: Although in the example I gave, I used decimal numbers; you shouldn’t do this just because most people don’t bet like that. Avoid decimal numbers at any cost and do your best to round your stake to the nearest number of five. If the formula gives you $47, then bet either $45 or $50 instead.

Do not make unnecessary withdrawals from a bookmaker: After you get some money don’t try to cash out right away or withdraw big amounts at once, this may arouse suspicion.

Avoid betting on smaller markets: Not many people bet on less popular sports like table tennis or water polo, so making money here would be suspicious. Mix up small and large markets.

Remember that limited accounts can still withdraw money. Hopefully, with the tips above, you’ll avoid limitations for a good time.

Finally, these are some markets where surebets happen often:

Hand to Hand (Win or lose sports like tennis, baseball, etc.)

Double chance

Both teams to score

Asian Handicaps

Over / Under

Conclusion

There are many ways to make money with web scraping. Now you know a way where you don’t have to waste time selling the data you got but use it yourself to make some extra money.