Skip to content

Instantly share code, notes, and snippets.

@alvmgdev
Last active March 16, 2025 21:56
Show Gist options
  • Save alvmgdev/86f98c58c92abf9b72687b9fa3b2f452 to your computer and use it in GitHub Desktop.
Save alvmgdev/86f98c58c92abf9b72687b9fa3b2f452 to your computer and use it in GitHub Desktop.
Script to connect to ps3838 API
import base64
import requests
from enum import Enum
"""
Script to connect to ps3838 API
URL to check API User Guide:
https://www.tender88.com/static/index.php/es-es/help/api-user-guide-es-es
In order to access PS3838 API you must have a funded account.
"""
# API ENDPOINT
API_ENDPOINT = 'http://api.ps3838.com'
# Available Request Methods
class HttpMethod(Enum):
GET = 'GET'
POST = 'POST'
# Constants to fill by each user
PS3838_USERNAME = "FILL_USERNAME_HERE"
PS3838_PASSWORD = "FILL_PASSWORD_HERE"
def get_headers(request_method: HttpMethod) -> dict:
headers = {}
headers.update({'Accept': 'application/json'})
if request_method is HttpMethod.POST:
headers.update({'Content-Type': 'application/json'})
headers.update({'Authorization': 'Basic {}'.format(
base64.b64encode((bytes("{}:{}".format(PS3838_USERNAME, PS3838_PASSWORD), 'utf-8'))).decode())
})
return headers
def get_operation_endpoint(operation: str) -> str:
return '{}{}'.format(API_ENDPOINT, operation)
def get_sports():
operation = '/v3/sports'
req = requests.get(
get_operation_endpoint(operation),
headers=get_headers(HttpMethod.GET)
)
return req.json()
# Test retrieve sports endpoint
print(get_sports())
@cinek19
Copy link

cinek19 commented Mar 16, 2025

To log in, which username and password do I need, the API's or PS3838's own?

@alvmgdev
Copy link
Author

To log in, which username and password do I need, the API's or PS3838's own?

The username and password that you use in ps3838

@damienld
Copy link

To log in, which username and password do I need, the API's or PS3838's own?

PS3838

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment