One-Click Export β
Any captured request can be turned into runnable code in one click.
Overview β
Stop manually copying headers and cookies. Select a request, choose your format, and get ready-to-run code.
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β NETWORK [247] β EXPORT β
βββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββ€
β POST 200 /api/login β Format: [Python (requests) βΌ] β
β GET 200 /api/user β β
β POST 201 /api/data β βββββββββββββββββββββββββββββββββ β
β GET 304 /api/status β β import requests β β
β β β β β
β [Select a request first] β β url = "https://api..." β β
β β β β β
β β β headers = { β β
β β β "Authorization": "..." β β
β β β } β β
β β β β β
β β β response = requests.get(...) β β
β β βββββββββββββββββββββββββββββββββ β
β β β
β β [COPY] [DOWNLOAD] β
βββββββββββββββββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββSupported Formats β
| Format | Library | Use Case | TLS Fingerprint |
|---|---|---|---|
| Python (requests) | requests | Standard Python scraping | β OpenSSL (detectable) |
| Python (curl_cffi) | curl_cffi | Python with Chrome TLS | β Chrome-identical |
| cURL | curl | Terminal / shell scripts | β Depends on build |
| JavaScript | fetch | Browser / Node.js | β Browser default |
| Raw HTTP | β | Debugging | β |
Format Details β
Python β requests β
Standard Python requests library. Easy to use but uses OpenSSL (detectable by Cloudflare).
import requests
url = "https://api.example.com/v1/data"
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36",
"Authorization": "Bearer eyJhbGciOiJIUzI1NiIs...",
"Content-Type": "application/json"
}
cookies = {
"session_id": "abc123def456",
"csrf_token": "xyz789uvw456"
}
response = requests.post(url, headers=headers, cookies=cookies, json={"key": "value"})
print(response.status_code)
print(response.text[:2000])When to use: Internal APIs, non-protected endpoints, quick testing.
Python β curl_cffi β
Same syntax as requests but uses curl_cffi with Chrome TLS impersonation. Bypasses Cloudflare.
from curl_cffi import requests
url = "https://api.example.com/v1/data"
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36",
"Authorization": "Bearer eyJhbGciOiJIUzI1NiIs..."
}
cookies = {
"session_id": "abc123def456"
}
# Chrome 124 TLS fingerprint
response = requests.post(url, headers=headers, cookies=cookies, impersonate="chrome124")
print(response.status_code)
print(response.json())Installation:
pip install curl_cffiWhen to use: Cloudflare-protected sites, production scraping.
cURL β
Terminal-friendly. Great for quick testing and shell scripts.
curl -X POST \
'https://api.example.com/v1/data' \
-H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36' \
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIs...' \
-H 'Content-Type: application/json' \
-H 'Cookie: session_id=abc123def456; csrf_token=xyz789uvw456' \
--data-raw '{"key": "value"}' \
--compressedWhen to use: Terminal testing, debugging, sharing with teammates.
JavaScript fetch β
Browser or Node.js native fetch API.
const response = await fetch('https://api.example.com/v1/data', {
method: 'POST',
headers: {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36',
'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIs...',
'Content-Type': 'application/json'
},
body: JSON.stringify({"key": "value"})
});
const data = await response.json();
console.log(data);When to use: Browser automation, Node.js scripts, frontend testing.
Raw HTTP β
Raw HTTP/1.1 format for debugging.
POST /v1/data HTTP/1.1
Host: api.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36
Authorization: Bearer eyJhbGciOiJIUzI1NiIs...
Content-Type: application/json
Cookie: session_id=abc123def456
Content-Length: 16
{"key":"value"}When to use: Understanding HTTP protocol, debugging, writing low-level clients.
Using the EXPORT Tab β
Step-by-Step β
Step 1: Select a request in the NETWORK tab
β
βΌ
Step 2: Go to the EXPORT tab
β
βΌ
Step 3: Choose your format from the dropdown
β
βΌ
Step 4: Click GENERATE
β
βΌ
Step 5: Click COPY or DOWNLOADWhat Gets Included β
| Component | Included? | Source |
|---|---|---|
| URL | β Yes | Request URL |
| Method | β Yes | GET/POST/PUT/DELETE |
| Headers | β Yes | Request headers |
| Cookies | β Yes | Matched from Cookie Inspector |
| Body | β Yes | Request body (if any) |
| Query params | β Yes | URL query string |
Cookie Matching β
Cookies are automatically resolved from the Cookie Inspector based on:
| Rule | Description |
|---|---|
| Domain | Cookie domain matches request URL |
| Path | Cookie path matches or is parent |
| Secure | HTTPS requests only get Secure cookies |
You don't need to manually add cookies β they're included automatically.
Real-World Use Cases β
1. Replicate API Call in Python β
1. Browse to site in Nothing Browser
2. Find API request in NETWORK tab
3. Select it
4. EXPORT β Python (curl_cffi)
5. COPY
6. Paste into your Python script
7. Run β it just works2. Share cURL Command with Team β
1. Capture problematic request
2. EXPORT β cURL
3. COPY
4. Send to teammate
5. They can reproduce exactly3. Debug with Raw HTTP β
1. Request not working as expected
2. EXPORT β Raw HTTP
3. See exact bytes being sent
4. Spot missing headers or formatting issues4. Convert to JavaScript for Puppeteer/Playwright β
1. Capture authentication request
2. EXPORT β JavaScript fetch
3. Use in browser automation script
4. Maintains all headers and cookiesFormat Comparison β
| Feature | Python (requests) | Python (curl_cffi) | cURL | JavaScript |
|---|---|---|---|---|
| Cloudflare bypass | β | β | β οΈ | β |
| Easy to read | β | β | β οΈ | β |
| Copy-paste run | β | β (pip install) | β | β |
| Headers preserved | β | β | β | β |
| Cookies preserved | β | β | β | β |
| Body preserved | β | β | β | β |
curl_cffi vs requests β
Why curl_cffi? β
| Aspect | requests | curl_cffi |
|---|---|---|
| TLS library | OpenSSL | BoringSSL |
| JA3 fingerprint | Python (detectable) | Chrome (undetectable) |
| Cloudflare | β Blocked | β Passes |
| Syntax | Standard | Same as requests |
Migration Example β
# Before (requests)
import requests
response = requests.get(url, headers=headers)
# After (curl_cffi) - change ONE line
from curl_cffi import requests
response = requests.get(url, headers=headers, impersonate="chrome124")Troubleshooting β
Exported Code Doesn't Work β
Possible causes:
- Session expired (cookies outdated)
- Request requires specific order of operations
- Missing dynamic values (timestamps, nonces)
Solutions:
- Re-capture fresh request
- Check if request has dynamic parameters
- Use session persistence to maintain login
Cookies Missing in Export β
Solution: Ensure cookie domain matches request URL. Check Cookie Inspector for the cookie.
curl_cffi Not Installed β
pip install curl_cffiPython Version Issues β
curl_cffi requires Python 3.8+:
python --versionKeyboard Shortcuts β
| Shortcut | Action |
|---|---|
Ctrl+E | Focus EXPORT tab (when request selected) |
Ctrl+G | Generate code |
Ctrl+C | Copy generated code |
Ctrl+S | Download generated code |
Next Steps β
- Network Inspector β Capture requests to export
- Cookie Inspector β Understand cookie matching
- DEVTOOLS Tab β Complete capture overview
Nothing Ecosystem Β· Ernest Tech House Β· Kenya Β· 2026