A clean, zero-dependency Python script to send Netflix trial offers locally. It operates completely offline from
external APIs using hardcoded session configurations.
How to Use:
Step 1: Install requests dependency
Code:
pip install requests
Step 2: Save the code below as trial.py
Python:
import requests
import re
import uuid
def build_cookie_string(cookies):
cookie_parts = []
for name, value in cookies.items():
cookie_parts.append(f"{name}={value}")
return "; ".join(cookie_parts)
def extract_flwssn(cookie_string):
match = re.search(r'flwssn=([^;]+)', cookie_string)
if match:
return match.group(1)
return str(uuid.uuid4())
def extract_gsid(cookie_string):
match = re.search(r'gsid=([^;]+)', cookie_string)
if match:
return match.group(1)
return str(uuid.uuid4())
def generate_request_id():
return uuid.uuid4().hex[:32]
def generate_toplevel_uuid():
return str(uuid.uuid4())
def get_cookies():
cookies = {
"dsca": "true",
"nfvdid": "BQFmAAEBEBAt2PQdKp1poPvce8zNlK1Atw3BrCvY0LzMCqnYsCywSCxl53AIU-Xwl4zacA-
Alnao02TIZ4jdZuKAdQsXYOW8vexL5HjJ1PUQBP4QuBDmvg%3D%3D",
"gsid": "ccc5a0fa-3fcd-44bb-827b-333c86cb55c2",
"netflix-sans-normal-3-loaded": "true",
"netflix-sans-bold-3-loaded": "true",
"OptanonConsent": "isGpcEnabled=0&datestamp=Thu+Jul+09+2026+22%3A07%3A42+GMT%2B0700+(Western+Indonesia+
Time)&version=202604.2.0&browserGpcFlag=0&isDntEnabled=0&isIABGlobal=false&hosts=&consentId=d5ef2ed7-dd22-4782-
b3c3-f512d867ea98&interactionCount=0&isAnonUser=1&prevHadToken=0&landingPath=https%3A%2F%2Fwww.netflix.
com%2Fid%2F&groups=C0001%3A1%2CC0002%3A1%2CC0003%3A1%2CC0004%3A1",
"SecureNetflixId": "v%3D3%26mac%3DAQEAEQABABQFQg2Hlb7XqogT3632SPZsXrTwOQTB7jE.%26dt%3D1783666384163",
"NetflixId": "v%3D3%26ct%3DBgjHlOvcAxLbAe29Mcf5JGCuf8eKRd-q73sX53n_kd2DNn8W-
P__7vOegxwgeHlAXB_CPxHqAheL78BjzBjGK3AhAK7ZpimnhVZ2PLhvNB820IJM6oUGXsH2LQAIUFv257elVSh3BNzsOCr9kZb3jYphyflmWeWledKK
Q-ApK6HZ-EIflIVIf99Cpw4o8WgLDkM7iVmeoE9138G-y8LhUqNO6ko_lffEgliacUsSZ6rMZkrlLOPUEtjE5k9aiYzj0-
opGbGEeUbdyL7XzfukceVWTzs1XZgHIdLNNp2asevlpqTiKRgGIg4KDP-y4qfc9WJ5J47m-Q.."
}
print(" [*] Loaded local session configuration")
return cookies, "Session"
def send_trial_offer(email, cookie_string):
flwssn = extract_flwssn(cookie_string)
gsid = extract_gsid(cookie_string)
base_headers = {
'authority': 'web.prod.cloud.netflix.com',
'accept': '*/*',
'accept-language': 'en-MM,en-GB;q=0.9,en-US;q=0.8,en;q=0.7',
'origin': 'https://www.netflix.com',
'referer': 'https://www.netflix.com/',
'sec-ch-ua': '"Chromium";v="137", "Not/A)Brand";v="24"',
'sec-ch-ua-mobile': '?1',
'sec-ch-ua-platform': '"Android"',
'user-agent': 'Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0
Mobile Safari/537.36'
}
results = {}
try:
headers = base_headers.copy()
headers.update({
'content-type': 'application/json',
'cookie': cookie_string,
'x-netflix.context.app-version': 'v38c5b0da',
'x-netflix.context.form-factor': 'phone',
'x-netflix.context.is-inapp-browser': 'false',
'x-netflix.context.locales': 'en-in',
'x-netflix.context.operation-name': 'CLCSWebInitSignup',
'x-netflix.context.ui-flavor': 'akira',
'x-netflix.request.attempt': '1',
'x-netflix.request.clcs.bucket': 'high',
'x-netflix.request.client.context': '{"appstate":"foreground"}',
'x-netflix.request.id': generate_request_id(),
'x-netflix.request.originating.url': 'https://www.netflix.com/in/',
'x-netflix.request.toplevel.uuid': generate_toplevel_uuid()
})
data = {
"operationName": "CLCSWebInitSignup",
"variables": {
"inputNode": "WELCOME",
"locale": "en-IN",
"inputFields": [
{"name": "flwssn", "value": {"stringValue": flwssn}},
{"name": "email", "value": {"stringValue": email}},
{"name": "recaptchaError", "value": {"stringValue": "LOAD_TIMED_OUT"}},
{"name": "recaptchaResponseTime", "value": {}},
{"name": "recaptchaSiteKey", "value": {"stringValue":
"6LdqW_EqAAAAAO87Fb_kcZfNzs0IqJRcKiJDYpUv"}},
{"name": "recaptchaToken", "value": {}}
]
},
"extensions": {
"persistedQuery": {
"id": "5d76d6a0-ccfe-4c31-b587-b4e1954732ca",
"version": 102
}
}
}
response = requests.post('https://web.prod.cloud.netflix.com/graphql',
headers=headers, json=data, timeout=10)
results['init'] = {'status': response.status_code}
if response.status_code != 200:
return results, False
except:
return results, False
try:
headers = base_headers.copy()
headers.update({
'content-type': 'application/json',
'cookie': cookie_string,
'x-netflix.context.app-version': 'v38c5b0da',
'x-netflix.context.form-factor': 'phone',
'x-netflix.context.is-inapp-browser': 'false',
'x-netflix.context.locales': 'en-in',
'x-netflix.context.operation-name': 'CLCSScreenUpdate',
'x-netflix.context.ui-flavor:': 'akira',
'x-netflix.request.attempt': '1',
'x-netflix.request.clcs.bucket': 'high',
'x-netflix.request.client.context': '{"appstate":"foreground"}',
'x-netflix.request.id': generate_request_id(),
'x-netflix.request.originating.url': 'https://www.netflix.com/signup',
'x-netflix.request.toplevel.uuid': generate_toplevel_uuid()
})
data = {
"operationName": "CLCSScreenUpdate",
"variables": {
"format": "HTML",
"imageFormat": "PNG",
"locale": "en-IN",
"serverState": "Bgjru+vcAxLTAf/qOOEwXPLVxW+7Jod9WpjYuKN8j1qfhQpzCK4mmQts5eMSeaP+
l7s6NKcNBO4rmYabFFCVnMpCH3ib4AicvXAKm30Z+
s5W3Cst0D0BK5x/pwn3QmByi/OgGwU/fzaiR5oxSlZe4fKVexWHISkE4GMzJqLaaXQR0M73ynZB9idNBfqsz3RA5WJN+
DGAbVUOZlWl8eZqffvQpp/5MGubeQFpdwKqkAx1nHh7/xI1i9tDU0KLgrvkZrbe6nQ1MX2nc9TBxqnVVxtc3ptHdqydP1wlIu0YBiIOCgydgLg1SvK6
tSPOff8=",
"serverScreenUpdate": "Bgjru+vcAxKSAjDnHOxlaIbFSbwaWzZo/REHFnNG7OtpcXdKTDlcL4/o+huGi/fNW+
jrqNDqDSsv1iytiG/ZtvO9ierUE9M1Kc/yEj9JsSiG3XpPciFDzPd6psSaG68XLbos+
Qie0wniXCtJyWDLDuLd9ayCMB8qGCxwbov6B41kCQY/zArwlecm0GNoJdd5jvZfBJVtytD6mMCYnPA/9zhX4okj+
6IGet9xOCYt76IDiuyESxgKbaOLcd6DQIDSBf4m/lYi2Tasj7olPkCaDIXxjU+0UY+
b7eDyhvi2if2vt6510ARrGsSZq8DaazQmrpAbfiCW47s1/1mR59vUMYeT8VCqqAvbNwipqyP1DQMHtoTnCoWns0+
x6IgYBiIOCgx9EW4i3i9SUswnHEg=",
"inputFields": [
{"name": "email", "value": {"stringValue": email}},
{"name": "pipcConsent", "value": {"booleanValue": False}}
]
},
"extensions": {
"persistedQuery": {
"id": "0fd81de7-07af-4c7d-802f-0f4ea4181aa3",
"version": 102
}
}
}
response = requests.post('https://web.prod.cloud.netflix.com/graphql',
headers=headers, json=data, timeout=10)
results['update'] = {'status': response.status_code}
except:
pass
try:
headers = {
'Accept': 'image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8',
'Accept-Language': 'en-MM,en-GB;q=0.9,en-US;q=0.8,en;q=0.7',
'Connection': 'keep-alive',
'Referer': 'https://www.netflix.com/',
'Sec-Fetch-Dest': 'image',
'Sec-Fetch-Mode': 'no-cors',
'Sec-Fetch-Site': 'cross-site',
'User-Agent': 'Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.
0.0.0 Mobile Safari/537.36',
'sec-ch-ua': '"Chromium";v="137", "Not/A)Brand";v="24"',
'sec-ch-ua-mobile': '?1',
'sec-ch-ua-platform': '"Android"'
}
image_url = 'https://occ-0-6711-64.1.nflxso.net/dnm/api/v6/QqNdfvCShgtu-ra1rla_KxCcSSY/AAAAQAmpros-
eVHttd-jyVbIiMTW885cisEwMOLTGkTzHQifWIkevLiCu24tEsptsw.png?r=bff'
response = requests.get(image_url, headers=headers, timeout=10)
results['image'] = {'status': response.status_code}
if response.status_code == 200:
return results, True
return results, False
except:
return results, False
def main():
print("\n [ NETFLIX TRIAL SENDER ]")
print(" by onehat\n")
cookies, _ = get_cookies()
if not cookies:
print(" [-] Service unavailable. Please try again later.")
print()
return
email = input(" [?] Email : ").strip()
while not email or '@' not in email:
print(" [-] Invalid email address")
email = input(" [?] Email : ").strip()
cookie_string = build_cookie_string(cookies)
print()
print(" [*] Got Email : " + email)
print(" [*] Sending To Netflix")
print(" [*] Bypassing Recaptcha")
print(" [*] Forced Site To Show Offer")
print()
results, success = send_trial_offer(email, cookie_string)
if success:
print(" [+] Success")
print(" [*] Email : " + email)
print(" [*] Resp : The mail has been sent successfully!")
else:
print(" [-] Failed")
print(" [*] Resp : Unable to send trial offer")
print()
if __name__ == "__main__":
main()
Step 3: Run the script
Code:
python trial.py




