Bet365 Scrape matchbettingcontentapi endpoint (Python) — working POC
Budget: €30 – €250 EUR
I have a Python Bet365 pre-game odds scraper (using curl_cffi/requests). Pre-match BetBuilder odds work, but protected endpoints (e.g. Player / Goals tabs under /matchbettingcontentapi) require a dynamic header x-net-sync-term. I need a developer to reproduce or bypass that requirement and deliver a reliable proof-of-concept that returns data from those endpoints.
Scope / responsibilities:
• Reverse-engineer how x-net-sync-term is generated (or find a header combination/workaround to avoid it).
• Produce a reproducible, programmatic method to request /matchbettingcontentapi endpoints from Python (works with curl_cffi or requests).
• Deliver a compact POC script + short integration notes so I can plug it into my existing scraper.
Required skills
• Strong Python (requests / curl_cffi) experience
• Web scraping and reverse engineering of protected APIs
• Experience with token/header-based protections, dynamic headers or anti-bot techniques
• Knowledge of Bet365 endpoints or sports-betting APIs is a plus
Deliverables
1. A Python proof-of-concept script that, when executed, returns the data from endpoint below. The script should either:
• reproduce the x-net-sync-term generation, or
• show a stable set of headers/requests that bypass the need for repeated dynamic header
generation.
• Alternatively, if an automated browser (Selenium) is required in the setup it could be a viable solution. But preferbaly everything is requests based.
Acceptance criteria
• The POC script returns data for the example endpoint (player odds) consistently (not a one-off).
• Clear method documented so I can integrate it into my existing scraper.
Example endpoint (test)
Should return player odds for Aston Villa vs Burnley (until October 5th):
`https://www.bet365.nl/matchbettingcontentapi/coupon?
lid=1&zid=9&pd=%23AC%23B1%23C1%23D8%23E181007976%23F3%23I8%23&
cid=135&cgid=4&ctid=135`
It should work for any soccer match on Bet365 getting player odds tab.
Scope / responsibilities:
• Reverse-engineer how x-net-sync-term is generated (or find a header combination/workaround to avoid it).
• Produce a reproducible, programmatic method to request /matchbettingcontentapi endpoints from Python (works with curl_cffi or requests).
• Deliver a compact POC script + short integration notes so I can plug it into my existing scraper.
Required skills
• Strong Python (requests / curl_cffi) experience
• Web scraping and reverse engineering of protected APIs
• Experience with token/header-based protections, dynamic headers or anti-bot techniques
• Knowledge of Bet365 endpoints or sports-betting APIs is a plus
Deliverables
1. A Python proof-of-concept script that, when executed, returns the data from endpoint below. The script should either:
• reproduce the x-net-sync-term generation, or
• show a stable set of headers/requests that bypass the need for repeated dynamic header
generation.
• Alternatively, if an automated browser (Selenium) is required in the setup it could be a viable solution. But preferbaly everything is requests based.
Acceptance criteria
• The POC script returns data for the example endpoint (player odds) consistently (not a one-off).
• Clear method documented so I can integrate it into my existing scraper.
Example endpoint (test)
Should return player odds for Aston Villa vs Burnley (until October 5th):
`https://www.bet365.nl/matchbettingcontentapi/coupon?
lid=1&zid=9&pd=%23AC%23B1%23C1%23D8%23E181007976%23F3%23I8%23&
cid=135&cgid=4&ctid=135`
It should work for any soccer match on Bet365 getting player odds tab.
Related categories:
Python
Web Scraping
Web Development
Scrapy
Data Scraping
Data Extraction
API
Reverse Engineering