feat(extract): tiered proxy with circuit breaker + proxy provider research
- playtomic_tenants.py: simplify proxy cycler call (cycler() instead of cycler["next_proxy"]()) — matches refactored proxy API - docs/proxy-provider-inventory.md: proxy provider comparison table for Playtomic scraping (~14k req/day, residential IPs, pay-per-GB) - .env.*.sops: updated encrypted secrets (re-encrypted) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
104
.env.dev.sops
104
.env.dev.sops
@@ -1,77 +1,77 @@
|
||||
#ENC[AES256_GCM,data:OODjUg==,iv:E1PqA4jzCrltGb9T8tiB2wrkLmzefekOVJt3jXze6bI=,tag:t+nmaZ+gsR0Qr3XeJ/szMg==,type:comment]
|
||||
APP_NAME=ENC[AES256_GCM,data:MIW1LUcXGSRAXQo=,iv:WlHAjnFaoo5HgsyqGnvbiuMfvZIYXeA+ssw43fsP3TM=,tag:BOGuyhHj5+T1Tg7TBbCPHQ==,type:str]
|
||||
SECRET_KEY=ENC[AES256_GCM,data:F43Bn1FzhYyzdGINTQA90Uw2aZWJ7REhVnM5Tc6KFS8=,iv:ZAbWVSCrVDKqVzPkNfAvH6p8iRISZSTD4U68JVZwL7Q=,tag:B5tmroCp3EJ+QDnGXgbXOg==,type:str]
|
||||
BASE_URL=ENC[AES256_GCM,data:wmh0BoYwd3GutNhk7uQZKO4MAXin,iv:uZ4FivDic5KL7fQvrH1rhN4bTmXWqnHfzMJq7/4o+5w=,tag:NFfkEGkS1vxjODo/zB5Mcg==,type:str]
|
||||
DEBUG=ENC[AES256_GCM,data:aqfTbw==,iv:g7jWtA4OD+b7QW4Sor7dX/6pJxif7d2SiU/An21QSfY=,tag:sjSyQQNtk0rLaOhYzNbAKw==,type:str]
|
||||
#ENC[AES256_GCM,data:dSj2wIiLuhNq9FvDEhTL3F6LBJ4ITNsaKYO1YRmLZLDS3+C0jk7Hx5kPjcor4T9kst5tOE1KMH7HKn+0CHeWf+pdidAWikd1xA==,iv:hbnREdnOSgivoTI9/GwUOpRg1yROIgjbTpiR1R9u3AI=,tag:am/IFpc8a8Du0Wx8X7u9nA==,type:comment]
|
||||
ADMIN_EMAILS=ENC[AES256_GCM,data:yS0kOYrM5VRhAAkxqg==,iv:eCqHA4kcgwt9T03Umq8MYiLYeB+Zh3pL9R7adcSZkYw=,tag:k3O0EbevHeWgG1JQAh30hw==,type:str]
|
||||
#ENC[AES256_GCM,data:FDydGDKV+yuB,iv:3Q2JHDLqOWS/R+91Kx+5l7IST9DRngBd7Nd2Oau0kFw=,tag:JmavycCv5EeW7nDCum9SsA==,type:comment]
|
||||
DATABASE_PATH=ENC[AES256_GCM,data:2INhi9u4WHoC6eA=,iv:JvkmUtrd5oxw0ZGQJAhI4kj1MtPqxRi5keGIzgCHcPQ=,tag:T7Yb1QKkVR3U7Ww5puKinA==,type:str]
|
||||
#ENC[AES256_GCM,data:c3ikDZY=,iv:ssaKWl8+ddTa48pst3cz2n5ywMqMdrUN69jlLGRbgJU=,tag:7Dk53YiaBzYCyrrddUHb1A==,type:comment]
|
||||
MAGIC_LINK_EXPIRY_MINUTES=ENC[AES256_GCM,data:gCw=,iv:u+tNE3Jc0GD1JJB7gX4MFelHb0JhqOiFAjP5cvsS1eU=,tag:hQJPei0T/Hz8eUnUmGxnyQ==,type:str]
|
||||
SESSION_LIFETIME_DAYS=ENC[AES256_GCM,data:NT0=,iv:wzqXr3Stux9WrJBF89iYtmZMuoog2jr5ScTd+W3T9E4=,tag:Ei/FtIMAmBChc1Q6GS01SA==,type:str]
|
||||
#ENC[AES256_GCM,data:0gHTU0jfkx3K/aeVQ4ab,iv:MhpRgozzMhtlDw05jDdPvNB9linCCep8WWPXFCxESI0=,tag:yxQncJ6uBHPGM2PsgsqA2w==,type:comment]
|
||||
#ENC[AES256_GCM,data:N1R78wzjduwR6vj2/2io04RHvDz4bdMZQah2eG6iuQfe76dk4yVA2is6vIAO0wGHQbKOFj2XCFnex9h6LK7yfVB2TNNxndTLDOemlg==,iv:ifFHqlb2oY4flnWX3sDYKEFP3cufi5pfuF1H0zjZGRQ=,tag:ZJC6zkPE5/29GCpRK6G7QA==,type:comment]
|
||||
#ENC[AES256_GCM,data:ErezNQ==,iv:GtNs5EgH0f1gI5cDTApW6Vvw2x90NI2rAGXBJpMmLgQ=,tag:EmNenJvfpuNP3HeYvD8UsA==,type:comment]
|
||||
APP_NAME=ENC[AES256_GCM,data:+vZp0sqaYRWXFlI=,iv:kvBQt4XxEHI7E1v//c9Z/rqjvaJXTgx5cvHzHqzaI3c=,tag:EaJb6qZXvzzJEapM96j1+g==,type:str]
|
||||
SECRET_KEY=ENC[AES256_GCM,data:UCK7JrrYd5oHSHdT4MyB+qg/L/Si2LrZxOEEkjJUV/s=,iv:tyZjyOe+7PBPa83jKMfSRrjCuKsqSk2StJLBteE91qc=,tag:Lmz32nb9Xv4RcY7akFjXLw==,type:str]
|
||||
BASE_URL=ENC[AES256_GCM,data:T8gU8YF64yAH7umlYGh63Ju4nQOm,iv:woziZtqBwtv57Mohdc7QJwt5r7BGYkNq9yo6LxUus4Y=,tag:RVDFUzblyENvi6Uv7Agp5g==,type:str]
|
||||
DEBUG=ENC[AES256_GCM,data:1Hv6qw==,iv:3Y8a1DCCaNgGsuaBVmUrjEqW1nUG+I8Dqi4XXgIWcNc=,tag:5Hw12JrPTc5T4xeV3CaEeg==,type:str]
|
||||
#ENC[AES256_GCM,data:zATUJ7DT3TrnC+wYuxoo5H4Cnzvx+qtKBubK5JdlZIku71vaESrQ40LtzRf7bzE+nBWrlbLzoZA1hThR1xQUAF3YQFp6tMnECg==,iv:4d/TqqrUf/SMMfP65cRlHePm1E7uUiElXGAO1dVpQvs=,tag:oQVHdf+8uAPYo7qEBoAuvQ==,type:comment]
|
||||
ADMIN_EMAILS=ENC[AES256_GCM,data:1fSFoO+nZ4PfdnoQfA==,iv:dyBsQa38WLH7YhhY03l+i4iaNmXXi/YauyT0CO/xtaY=,tag:otWDrofdNcFigotMcv96tg==,type:str]
|
||||
#ENC[AES256_GCM,data:d8rqleReUHUt,iv:5f4bzvxWzty2PIkrAGb6iw+Nb2evkfPFFoH1F7kdFaY=,tag:GpqLD6QJcGGyEyUWbcPsQg==,type:comment]
|
||||
DATABASE_PATH=ENC[AES256_GCM,data:m6BUOfuhyTcqZPI=,iv:t31+AEMO+Pa7jKjUPjVhe3DUe3yhY02xOF81tn7+Zkw=,tag:F8N72pVRqfJda6p5exHvjg==,type:str]
|
||||
#ENC[AES256_GCM,data:zqiXDW4=,iv:wT9f8UaixLuj54yqtDX+SFRDCqhtCpuGeVWj6kXL9mc=,tag:eAdQVPZTURDT81ty9LjptQ==,type:comment]
|
||||
MAGIC_LINK_EXPIRY_MINUTES=ENC[AES256_GCM,data:rzo=,iv:0zOl1jc3LwGxqF+UVHVAqBp1Sj7asyxc0RuG6OhTl5c=,tag:MhP/tAt2nzGyaY4haSNUwg==,type:str]
|
||||
SESSION_LIFETIME_DAYS=ENC[AES256_GCM,data:CKI=,iv:RpK3WEPqZOQ9UgXNiH87DyD4mTRfJLUVt6Rka+rITQI=,tag:tXpGVO88TbovPWcGnogexA==,type:str]
|
||||
#ENC[AES256_GCM,data:4F7//y4HtysenIogVqS6,iv:dzJEBKbprd9Sc5uKtpj7+eYxMhWHuqeRnfmJt3l61eM=,tag:SDOu+zmhdRwZVtV8Tjy0Lw==,type:comment]
|
||||
#ENC[AES256_GCM,data:7jnSYJ2+MHYKp6H904+2BVSHBwhVqeJsLubNgud5vzC+pSG8/Aaq8l5Jne+73QbDYUJPDIW83yc4Elgd72SDh4zLeq7bSoY59mNM3Q==,iv:jDHERGIEAfCWAD6TrYrV6wM8dmlx2xxoItMA1PSv6mM=,tag:1jQjhbkr7dnTAfLGPDPPzg==,type:comment]
|
||||
#
|
||||
#ENC[AES256_GCM,data:tuw7/hEPqtY59Y+L3Nq/Y6op26+U05GzZjQpGpwskwXJk5fauks66lPr+P9vlgEJXPOzuF1ZmB+M9td780mXavW49PKVh5NnjP/GbQ8t0Gc=,iv:wj6MCF/ujeaIoYC+pcgeW+slt1CBYPK5Lj4+LyHfehg=,tag:9EJJ46Exxd2On2SdCba+vQ==,type:comment]
|
||||
#ENC[AES256_GCM,data:KApVqBUmJYwUpHp6BPBkzzVR+BPe8h/u79lODjPLvQoCT9XIfJ3ulZngRUUIDCJr6+yM4y98qxQJf7bhs4z7CK6oB1L/,iv:FAuFeIOD/Rx81L97cAqYIPZ3bhyrqOReQ5xeOjyN/m8=,tag:Z69JIWO4e/Q8+BQ5ThslVg==,type:comment]
|
||||
#ENC[AES256_GCM,data:80vv1OoLoWwS+J9cbZ1Nt+UeF6Fc4D8LUHLX5BiEmBQAXh8ti3EZZnwi2QZb0wN+Ma1zwsM=,iv:6xnMzedX62XPU3GGpoTie8RZDFlzvrpFMc4u+fCbKYw=,tag:V7HtIqw1+ltW4dbvqobjQA==,type:comment]
|
||||
#ENC[AES256_GCM,data:irTPd03a7pDOi2WOsL43GB3c/luAhlm0u6b3Wj/oLKnlzmmUV++aoyDum32wGLI4qH9Sy5XJS44=,iv:HH3uPdh0ZBdvX2bhH5w22TCsn67HaJa+/f5bk8NJNvA=,tag:f4xcS4URJS1EAipjcpFn2A==,type:comment]
|
||||
#ENC[AES256_GCM,data:uW8E3Yhcepw3FJ3En5N8CLpN70a1ovXZJyS/gSqaWsMtScbTEqlMZ39R0S8hiS3j1y7ST7GaNXburXx0lv8=,iv:Xk8GhHPk7zVnMi4PbazefyxumHSv/XwpO/lk2SCxYEc=,tag:r5IpNFQ0wxQ05+UfOaenig==,type:comment]
|
||||
#ENC[AES256_GCM,data:Ep/iNZ9JUQTFhk63ukNzs4YltDYEZ1b4jvi3yBpT2yfnSuVvrz1xSc+oU5WbHI8SeGbpaTgn5eA=,iv:vry5r45x5xNcIr1oyCbVAkFxFq2vpvvOEzqlvWI/bQc=,tag:MjTSas4nqwHg7J2ZfxlkfQ==,type:comment]
|
||||
#ENC[AES256_GCM,data:OwkE2btYFBq2akgxnlHA3lVUJ4eXI4YVjIxlbK4lbrn6cd9U6xz7DhrDuFbOxMo1VtbyxBQ6dCBM5TODPHMFRBCIyuuXQi17,iv:emVmqGfwrpkF5HoQ0OD0UhiN076RezDEgsmBm2e5FZg=,tag:Hj+KHO9yKGqv2W5XkkHCZg==,type:comment]
|
||||
#ENC[AES256_GCM,data:P4C+IQhLXzs9SBKhIWgdKvXpMn/dnE0qeaMaQZsg3BYxNVFQYvJL46miAwvIV+eRNtdWZMXdYve6iOJ3fsx0H+hC2xl7HAOLZZrSZP/GUDs=,iv:9Em6JDy8MKSbX51g/5S7R2BdeRwtXh/8RkgNdIwNudw=,tag:hDJNBhfudzrDHWAQ8VwZAA==,type:comment]
|
||||
#ENC[AES256_GCM,data:FYpzYV8avmJuvjRf07b9tDCAgwfE0AKBcG/Vd8NzKaq1W75mzE17N5MRY7xvwIrHEPpyvgm9lZfZAiWVhS6Nw2V8E/b/,iv:o680eJd30GT03Xnjcsm+P1bH+d6XKYCnpSkt1r9hRXk=,tag:VH1mGp19gxU7df7fLs3RTg==,type:comment]
|
||||
#ENC[AES256_GCM,data:NSK0Ph74ABD9TD+TmJ+J1xKo59DDVGWno+I96XSsaBX9rKGLDkEI1SKyqsrwW9ReuZYy/5E=,iv:Y8QSzOMMiLVSuUUVCPbMaACzsHu1Cd8j8rqoAN99INg=,tag:Mixnrsfjq/Q+TOkGbWx1fw==,type:comment]
|
||||
#ENC[AES256_GCM,data:ayv+LfzbDxOZF39CMYGWGR1r4LS5vmSO3p27Jm/p+9W+z73FmsYJeBY/k1sRYz5+RRFupJW/L18=,iv:DwtFFLL2zqUNxvEFg5tQEz0eq5quflqcDOCR6Y3IhVM=,tag:EpMqnrZUwkv4M+gw8YQu8w==,type:comment]
|
||||
#ENC[AES256_GCM,data:9/K3pVWOl0cmXDg9VUcJjoX2RrFuLnqYGxK+hM9FXdUC4qjB9fZtaWNlYNIVqzNtjihHtpB2ex9Q5+9JCQI=,iv:iRt4qxShtLbe4dYBE2jY1KgeCEM4S3IrnqEpatkpUdk=,tag:DII9n35Qnx2n7qNlYvQuPg==,type:comment]
|
||||
#ENC[AES256_GCM,data:pAL6rk14PeuF4kQs/dNret8ZtWgRsDfx5YBcEZtUPJSk7qHaDFFpZmG0Ok7mVRL1OIyoQXVOlIs=,iv:JgJ408wpCkET9xDv7yBOP+iN/bOg7huyc4xFcw6BWo8=,tag:1Esx3pxQBX6AHU3t7B58ug==,type:comment]
|
||||
#ENC[AES256_GCM,data:VnpXVaOfq//CGtKnUtq6kLqm+qXPLQS8y30HaZ8YNbOMZEwUV21xvSC8B347148qHt1rHhGM2QFp/kKS8IxoLngMq9QWj3No,iv:v0eQpUn51pdGDSpg2A6WGX0plFYil0K4okICi0OJwGQ=,tag:BJnMZ3Vmx5Qw7MMLsFlsZg==,type:comment]
|
||||
#
|
||||
#ENC[AES256_GCM,data:1rm7G2bjcRWiQBcHI3v6/iVxnASJKchxrEot8YznFxoaGcEQNyQQXapZUFRR02pT9FT+vy6mCWxDyqRdyrtdlGjIL+N5R0ukNcI=,iv:dAFaoyjPikp3gOCIph6UWVrAR3ascxMKr+weOCAqO0Y=,tag:a8aDQifsAp/6+uemGMwryg==,type:comment]
|
||||
#ENC[AES256_GCM,data:k3uooGSCEetsRz85KBWdAo1k+DZMWbVc3V/PumOEhdfxHp2I0vRApdIfqimF7cJmW+uE5/aSK1zHMqc4EUgq8A5N3gO2LVmMkhA=,iv:0d1oROXKygJ3xnwQ+TZcjK02PpCEA3ydL6reRdAp6ZI=,tag:C8rWINR7+41JHxqmFGEyLQ==,type:comment]
|
||||
RESEND_API_KEY=
|
||||
EMAIL_FROM=ENC[AES256_GCM,data:aKRFxdRPnDMs5ch7uYx2l2D5kwg=,iv:cxmNdrdXZnRjI0oDXUrz028mI7KnSUXK/pUz71NkUUA=,tag:UjKqpg6oq1t2WIdaXGHzaA==,type:str]
|
||||
LEADS_EMAIL=ENC[AES256_GCM,data:BJ9r1b4E2Ck2b162f6K2P6z2rXs=,iv:NmrlbVJU7pfBf7pXc4No+69AyvqgF0j7vZEkSvYV6SE=,tag:fI3oyLbePaqi9TqkiJXZtA==,type:str]
|
||||
EMAIL_FROM=ENC[AES256_GCM,data:k4dZes/5yKevE9ywxItbe5s2fU0=,iv:NmGOq9a6/CfcEKzaGkz2knYuz8Eeluaf600kzYImYRg=,tag:oh8dvUP9MtuJFx75O5YOTw==,type:str]
|
||||
LEADS_EMAIL=ENC[AES256_GCM,data:hlI9HMFloMmLEvm9deqz/eAR6ak=,iv:+ACxp0Q0uGB75BymlWP6to0f+njE5ybUTOIkxrNIn/E=,tag:XizFAGcWmGhbMMARt5PLxw==,type:str]
|
||||
RESEND_WEBHOOK_SECRET=
|
||||
#ENC[AES256_GCM,data:6T9lVhn+1mcyCxBYy/dsPaGp0zy8+XQRhRCFKxlos4QOIiLBjrYuI11v2oSO80Nn6AfGNms40ewi4RpHtt7Afawb3A==,iv:f9gfD7cM3WJGdvtFQ3Svi8Cui2yadmMXfuF6IAIn/LI=,tag:3jt5lFeI0P827LqQWUGzOA==,type:comment]
|
||||
#ENC[AES256_GCM,data:ja0Rgj3IVihRU618EIroO3bJg9sWFOd3Ua88HLP9yrzEZ7Ty8Havd+2vroD/TGeidqjiFmpMlXH2R3v1jLrviRbkWqBlbBO4se4G,iv:IfuAx8HcJByEcLaqegqZZZVNfO9H8LnuPzIcXHYRBDY=,tag:FumQcnMmcKHI81FjYrT8Mw==,type:comment]
|
||||
#ENC[AES256_GCM,data:eHDEBuHGW7rKMPW1NM9b47rBS9BMmtmrwICbijYIVdogMvqJCMEk8zfT/lc/bnXFiamFYfJhhHDNEEOBg69ZdZ7M+mWPCRps6cXP6A==,iv:7SDIHytbnp/v6zXG0j4PbkIIzjeDVqp4BKthmTIqF1M=,tag:+fPDhe9NIe2Qmqp91KuRjw==,type:comment]
|
||||
#ENC[AES256_GCM,data:VrBNRBK97VxVTcwPZItM14tr5IbWQ2jGTLh1Hca4TPHGWPo75fxUa8MFWSCUcwXIKjMm,iv:FRa+BpQFtyx5BuNt609duHng+QgMbQavvOzDpPb0Ta8=,tag:+OiUXm7Vh+xhdfQ33KEhSQ==,type:comment]
|
||||
#ENC[AES256_GCM,data:PyHRX/kgXwa24gyol3okcZ0KP29OS0T39/6bx7mbFQ7wfsnIDaUWja0/3F5tTDycvsy465M4Fe6onAQpKiyzf9CuNw==,iv:ZE3vSHGW+rD/dy2olWvTYBvQI/1SZImAAPW66HOns+I=,tag:r+LHnyBSX4PpH7OF21rPyA==,type:comment]
|
||||
#ENC[AES256_GCM,data:J0vWvAfeSQlhthf5eWm8USRUAfkVfgIqmAnt3GsC8r692x8HLAX3NbZ9FN7pz5SgiofS/pNjqb/no0TINyUjsQL10jwRXPtPDzr3,iv:i3SYbUl2Xsi6Ua8Hgg9u2f4y9U9n3QrclRmiripgQ7c=,tag:D2cXlCE7wkHDUnPf5hNdgQ==,type:comment]
|
||||
#ENC[AES256_GCM,data:sUC7z1bskxOjA8d9lWwxNfxelL22yYNuha/qbIUq9tT9XbiuDczKXNc2sNmP6QJdscSuXcX0dizk8qfmsAYwOm4IBc20JUmeYC6oPw==,iv:X4ghkHGgslkYSup814U86/mOiWljJBd7dc/4ZCdoyTo=,tag:z+cr+vaI3dENwJJivpnViw==,type:comment]
|
||||
#ENC[AES256_GCM,data:bmLZN2890ZS2BMdXfFbPiou/RErEwEc0IHLhO2mVZyBljHxauIU36sIUdor0xIHsvNUH,iv:i4GIqVbNJ/NdX39AbzdB3JGs9ExvNxilguuvbzzkCVU=,tag:0D9vRXuno8P+LEWWg6S6CA==,type:comment]
|
||||
PADDLE_API_KEY=
|
||||
PADDLE_CLIENT_TOKEN=
|
||||
PADDLE_WEBHOOK_SECRET=
|
||||
PADDLE_NOTIFICATION_SETTING_ID=
|
||||
PADDLE_ENVIRONMENT=ENC[AES256_GCM,data:Xm4mm3DBjg==,iv:6k4ZSP7GQF4LwVG0OAMBdInAfaf3hhJLjmIztNfdCWg=,tag:/LJeoFbovsvzP7GBEiLsTA==,type:str]
|
||||
#ENC[AES256_GCM,data:1c0sgo2l+OssNz8Rgm8/DI5ormrHXNHKDTKx6bWmv/2CchefqxsRq1uS7uR5c86eTxfp023LGhy947i7,iv:PAEdaE/pgfy3jxuod1PJ6VcyIYOKmlKkPmudSs5xbxw=,tag:KYnQmbim+fWsnW6nlEnhGA==,type:comment]
|
||||
UMAMI_API_URL=ENC[AES256_GCM,data:yj4OYkvZIDrgjgkdM3a8xyzvoGJOk75wUhAgNQ==,iv:JmQMdU9XZ5ABfvk0w3XP/WkdcR1KrgXTPVI39+drhO8=,tag:jW1MUL5Nv+z8KP9FjmYFcg==,type:str]
|
||||
PADDLE_ENVIRONMENT=ENC[AES256_GCM,data:QUmkNRMhtA==,iv:ynAcdJvkBhDC01fhXiPNzVF0rJ/06kbPfn1fJDyuwfE=,tag:JBaSLOK1pgrSd1RnouarlQ==,type:str]
|
||||
#ENC[AES256_GCM,data:HdyY6Znpwyz45cIncl5UQ0q/COW9nTpDJtRpFIh/axiHSoJVb8xZMPMGZs+ZBlsdY2Fk6DLbk/QgQKou,iv:0dF92m4g6xOFl2tyI/XzN6iZ7Akjw0GmQoxtfi2UHAg=,tag:1FRSwRfSMjWHLdU+Z8nq8w==,type:comment]
|
||||
UMAMI_API_URL=ENC[AES256_GCM,data:CpNizZHSgMxaXoI58ZqaHf8anQSPnlaScHqtYA==,iv:xcIXxNjo8/kPdB5RAlyHTvHfo51cEgxlKD0bum7JMOU=,tag:nFOLENvS9QnneD9X6IyE4Q==,type:str]
|
||||
UMAMI_API_TOKEN=
|
||||
#ENC[AES256_GCM,data:5nypMO9DFup4c3p0xXM=,iv:GdbOATtVOmFZKvDfv4gdNDDdq4WmB+/yk/D/xgC7Uos=,tag:TWfgxyuzlzvzxJRMF0L0cA==,type:comment]
|
||||
RATE_LIMIT_REQUESTS=ENC[AES256_GCM,data:o/R0,iv:TGPynY3rpH5fL8zQvI9EAWg/LFv7earnaCbGhkkN2FE=,tag:lpnRZGaONv1TZdwJg17AIg==,type:str]
|
||||
RATE_LIMIT_WINDOW=ENC[AES256_GCM,data:2dU=,iv:6wSl6GAWAVxfVC/LB0uqhB+8gtHhkrFybASXdQseuVk=,tag:gVjomO7E837h/plD/8948Q==,type:str]
|
||||
#ENC[AES256_GCM,data:7CoH3Rv284IHofVG9bruk5NYF9S4oeGqupZFQ38OpfCde1p9ks7WGicFmfrMQDNTLG1YoR3TD/u/XQ+19SoP+XTcSlhoYwo2mx19ETWnww4=,iv:BvgKjGm1YB97I8EQG74uaoDk1QraWxTVtZoiNGkdx6U=,tag:vbS882eevc0rzOA9pGtzng==,type:comment]
|
||||
#ENC[AES256_GCM,data:aQSM5Lzgkz9NUUIugBA=,iv:2XKv8zYRiQJOObbPMZPF0KYjTKPfNwm3UDFuwhWhD3U=,tag:53tLhXhELygfPr4fpT+75A==,type:comment]
|
||||
RATE_LIMIT_REQUESTS=ENC[AES256_GCM,data:rvuL,iv:yj7Jz/srP/mM5sq9ZVprXJonRz8yIYFObMEb9BH/gts=,tag:UPTPgf7o7XD6VRX8SM6Z3A==,type:str]
|
||||
RATE_LIMIT_WINDOW=ENC[AES256_GCM,data:Ko0=,iv:HqyLf2FGYGvs39pHNAHVylRDmwGD7ZE5tzoVrJH5lWU=,tag:a6DUeRYQQgzo/onCCglk4w==,type:str]
|
||||
#ENC[AES256_GCM,data:VjeIPAbAtb9UChZpMNB7JgylhPjJWf5TN2yirhXbvy0GwQz1ggfHOwMCfKT3gdQ0sS6538IVVrM7g7+t2LQU7UtwwXA/m/g7t7OOsMMLdus=,iv:h465KTCd4djaAYXNwTIoEYb0Jv+n++ggH1LSg9lGWsA=,tag:5kbWbQ/MKQnRD4dDaanVOw==,type:comment]
|
||||
LITESTREAM_R2_BUCKET=
|
||||
LITESTREAM_R2_ACCESS_KEY_ID=
|
||||
LITESTREAM_R2_SECRET_ACCESS_KEY=
|
||||
LITESTREAM_R2_ENDPOINT=
|
||||
#ENC[AES256_GCM,data:1BAAp6TJWo4w47vsPtE=,iv:mMZHNSUPmFYK+jLv7DJ4QqZ+wu4mm+QJJxNKxVSiXaM=,tag:rqg9uSb26e3YmL2KIGhsHg==,type:comment]
|
||||
DUCKDB_PATH=ENC[AES256_GCM,data:QupAI4arYuggsPTVJ2E9BGt3Yhco,iv:nuXFZUleLIIVf5bXXKuQ174psZZjR8AgwNo677A1Kx0=,tag:+9bn+OTtBCmxZqPt0cYCzg==,type:str]
|
||||
SERVING_DUCKDB_PATH=ENC[AES256_GCM,data:okf9kDEFoPYreiBk1rEoB/6dAFUr,iv:iE+AvfUPX2jxKKBQG9iVMu4LkDcNTxLB9sHY+bmLrso=,tag:GeVRiwbScPrUSsZ1WtfN1g==,type:str]
|
||||
LANDING_DIR=ENC[AES256_GCM,data:cMnL22EkJGT+jAgM,iv:nItexm3BrtgUVU7TBjHKxBIMuXnuEoAvZcEFFGTmhSI=,tag:E+uXdhTGjKRpjCtRXgcUCA==,type:str]
|
||||
#ENC[AES256_GCM,data:Cwg5GJ0vOj3LfvtUHVoePytBmvCqJZbqJ5AWhdHcbVFpFVVDYo6GQARMlaLvlEgTe+4mxiR1BgDn6jTokWvynBxgVvQbNLFUINY=,iv:p0fjB0/TQRwdtSxTqFZPtAz9CFRvNjYwxqFLDw9wiko=,tag:EyUfEr0z4PtwvWSo9LbLkA==,type:comment]
|
||||
REPO_DIR=ENC[AES256_GCM,data:/A==,iv:gTBC1pW2sn/8ZwU2UWErJSecIGmnl5voru0T/klGHuw=,tag:NlFer7SSK9KyAFhrzwv/DQ==,type:str]
|
||||
WORKFLOWS_PATH=ENC[AES256_GCM,data:lu7JrtxM1TGqY4EErXD13hHMxr4XJg51h2uzXAAFxQ==,iv:j2azHovy7Cu6CREn+cw5hNZkknA5m++lukJskWi7OXU=,tag:d+FSm+hx06SfpD9o7pwr8Q==,type:str]
|
||||
#ENC[AES256_GCM,data:m6v0sC7LAUHYcgslJ6U=,iv:M8WIwU9a+1DHgzHzUIbufU7f1M5EWCmMrND0ewn/4Zk=,tag:IvA37+vuLIhazIdyD9OKzA==,type:comment]
|
||||
DUCKDB_PATH=ENC[AES256_GCM,data:f5cPVJ4hPitrUiGSADEbka7D80i9,iv:9w2lPLwCxGga0spvsvG5b8HAwb+UC3NiPMChhbPsTmI=,tag:D981doEKe/3QuJ5+8PefYA==,type:str]
|
||||
SERVING_DUCKDB_PATH=ENC[AES256_GCM,data:jMbf6irWdBtvv2Fkt03IgrHf6HEg,iv:qlNdxAhNWAjlxN47CmSLsXS+edD/aCZajV2jMoyuvSw=,tag:AA/7hMNULpQYlP3aQ66MYQ==,type:str]
|
||||
LANDING_DIR=ENC[AES256_GCM,data:0uX40uNxOg+wPToC,iv:ZegMiav+MbEQUhsxY55MH0OLJZpQl6eS3mekg1fyA28=,tag:EWiXChA2hts0y9R96FviFA==,type:str]
|
||||
#ENC[AES256_GCM,data:iFa0hLjQSPP8Wn0mbEFVK8coTnFnI0gqnvGNC42sTJVy+b6DHL6It0mzIgO1mImRdsS0+QFPqRx8z990WtDg2QpRaguyY6R4xe0=,iv:Qe4g7sxTRJCWjC004lO1kNKuKnw+P+eU3mwU3PQ6kG4=,tag:U4T9Fwq44UXOdcKmvTcNYQ==,type:comment]
|
||||
REPO_DIR=ENC[AES256_GCM,data:qw==,iv:gZKl9jg2mLHEPzAmLFhM+i3+hkEtA1UaKip7W1/fmaA=,tag:FBJSEpk70ws5rlYT/KvcLA==,type:str]
|
||||
WORKFLOWS_PATH=ENC[AES256_GCM,data:2PhIF4TwbOC1VxJf5x412tfGAYhuicOWR/ArUY0dIg==,iv:CgCfmTRqat9eGKdCb7n2eYBq31SultpMx5EOo/5brGk=,tag:d7PTWh/kS1hI7WxXaZR1bQ==,type:str]
|
||||
ALERT_WEBHOOK_URL=
|
||||
NTFY_TOKEN=
|
||||
#ENC[AES256_GCM,data:cz9SOffDAaXZRjw=,iv:7D7YZAyEk5CNlTiL1+KnbPbqfRYMxdtSk40LWErVOfg=,tag:JRHq+gaWSl2h71biklMMwg==,type:comment]
|
||||
PROXY_URLS=
|
||||
EXTRACT_WORKERS=ENC[AES256_GCM,data:sA==,iv:cZ3Ga4VPJfTlKrKeHIXadW7kZI9RqkkriKHAxGT5mqw=,tag:4kTYW7QlCwTkFWHxsl59zQ==,type:str]
|
||||
RECHECK_WINDOW_MINUTES=ENC[AES256_GCM,data:RV8=,iv:Jrom3R7f1NYbEL+lzypeUmifhGaayY3+uzjRuBxzoxs=,tag:pjYanguedj9RMnDGKiF7Yw==,type:str]
|
||||
#ENC[AES256_GCM,data:uuuY0NpFnt4Ihe8=,iv:qhOHBKuz3RlzcFWESucb7LxN54T2QKS/hQ7p+PwQbK8=,tag:Q9AGw0s6t7nrtoFbZKbQxQ==,type:comment]
|
||||
PROXY_URLS=ENC[AES256_GCM,data:tioCCvPFz4kZDY+KWz9VVpF4GFlWizq62opU0UWWRWJpbuMntNxyITxxp/VSLt+nMKBgL2RsD69qeCjWIktO2B4Ys5qEPznPTjDQx0LkSqFHjeMifFH+4yLh7JJtNMm9es3txYFj63QaT3LOnh/yXoM+VeSKl8BlW8n+H0yVf+0WWD4lkTDeY4wag4AjxL12/0M5FRsSyLG9tUYiPE/K6dL0eqprZ2Zwp367lTIcnF9mVXE9lRJXm8/wKe479JED/Vbcndp1TKZc9C6T8SvlnY9JQSxmhUOr9JMSofXug7OrBr8OEIFcjt10LfUJabsV462BuuCxsG9rX9Jjxytn83oIcTMIL2A2W2e8pLY2w7AND03q/KVzU7tGa55QVdMsNB/ZC6lwwZQpEHxpfr1g/62NliBtsOdD/XSzOmJDOghnYbnDuEp6C/E/IyFDcdOL8SnUv2uVzkyZZGIOs2eSaXT5TxKO7qWpMWwELAK+EGaB9aBT1YvD9nLP/DJ9JlGP8O76pwu+v7cR/upz3la4OvU5LC8WGzi6e7Fh1TlFVVWIzq6wjnD/Rai6L9gzhixCriNDbmZr9YLl2XeLNHZ8cCROm9nWxMBTAjoIk0efzEmcpY0JY6V/uAQbfmJ+YWo=,iv:Rm5NFF4XILpH+GU37PQwWvNJbQnK+Q9lS9LFtCSgMZc=,tag:DIcae33nOPI/6gag8VxJ8w==,type:str]
|
||||
EXTRACT_WORKERS=ENC[AES256_GCM,data:Pg==,iv:TtnwhOjQuffZ1j/jqPcKWaKZKPWuuTN+pTgohUieFVA=,tag:O+cLuOWVi6SPlpOAgk+ZYg==,type:str]
|
||||
RECHECK_WINDOW_MINUTES=ENC[AES256_GCM,data:v8c=,iv:1OLd9YKt7usSJjfMEv/nQVBdn1Yomw4v7IK6Tg1PBTM=,tag:26UlNnOpCbzjrM/9d2QWbw==,type:str]
|
||||
PROXY_URLS_FALLBACK=
|
||||
CIRCUIT_BREAKER_THRESHOLD=
|
||||
#ENC[AES256_GCM,data:cPEkskKyxJENcKo0sFupC9R9qq5bQp7sYT9TdQy06FfHPoDQuWw+JuZ5Bs6pOli4NNQBrPX9fdvRwL1TsqmfajHxrSfGgr3l,iv:wF3I5Y8UzYrrJrIeokXn0P2E51eXnqVFdo8lXpKHZGk=,tag:oTPO6+UjI3ZBY5gOf9RLsQ==,type:comment]
|
||||
#ENC[AES256_GCM,data:pA90yPzfo293IovEhFv6+z/EOj2xuNPkOOx0u2Im9b5tPrrGks8hNbmcJabL6qOQe5+YwIccdSsTscJ+DocigNrIZcMY/+0h,iv:3+tiv1qAVX+Ex4Y49qTj094B8nxqhPEshTYhimlC1xE=,tag:gxcDM6Yyb6pUPO15NkqxCQ==,type:comment]
|
||||
GSC_SERVICE_ACCOUNT_PATH=
|
||||
GSC_SITE_URL=
|
||||
BING_WEBMASTER_API_KEY=
|
||||
BING_SITE_URL=
|
||||
#ENC[AES256_GCM,data:CHMw0ywPH0adeYkcwSndr3JdWyw8f9AdQXQYG62SRCg=,iv:V73eodJud6Z7U8FvuTM52s/2nqNkFz9eneYpPC8OzJM=,tag:obnBC2ERQ19xj8gI8jOosQ==,type:comment]
|
||||
GEONAMES_USERNAME=ENC[AES256_GCM,data:mLFHQ76lAa2Ygtc=,iv:XWAkwQ075Ph+8qSNmD36PyvPomROENvb3SebVEuVoZg=,tag:cOyW28h6h8nhTbaBZqhmZQ==,type:str]
|
||||
#ENC[AES256_GCM,data:ObwV9+nxI3OjibZaWomt41y0b+bdHgcdH3r3xddgMyU=,iv:LwdgMBeoUid9GGRwmn/HG8HvpdDkwFnH6eV5Tr2w3hs=,tag:MxfkT6hQ2hptiim1VKtNaw==,type:comment]
|
||||
GEONAMES_USERNAME=ENC[AES256_GCM,data:62LndEyH65LKGXI=,iv:BBm1OOxgJa2fkuCyneTgcHg3ArYfkA35NOOd2yT9MW8=,tag:MzRGfuDOnA9pbrvXerOWRA==,type:str]
|
||||
CENSUS_API_KEY=
|
||||
sops_age__list_0__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB2L2dtZFVnU3BlODk3WXRQ\nOGxSaTBZSXpBc1lpcUkxSHI5dmlyYUo1K0NFClpycmREMTQxNnIyWnpHWVZOWmFx\nUTNRZDFzcFArMVAvckNBbXJMRVBudHcKLS0tIFRhWWQrNkdVTzlucG5nOVJXUVc2\nREFpWHdpV081TFZON1R2ZDlGNHVsWjQKSgmj4hrVEvrIizGmTpgj93ct1a3lUYXl\nBbuPUT8k+Hj5UmP+SoZqNS3kh2a1Nvr17K6e4PjfRAcEfM0UgNA7Jw==\n-----END AGE ENCRYPTED FILE-----\n
|
||||
sops_age__list_0__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBrOW1qbkdDUlZobGRqbDFM\nS0NRTmdSazY5S08yOURBZ1lWeDBuNi95aTI4ClVRTWlnWXplWjVuNVE2dmRzMk1p\nRk5ZZHlpT2RVcjJqb2FpTEdOZXlKbTgKLS0tIHN6UU1tazd0cmNscVUzTmcwNE5L\nNE5uSEtiY3hwSzE1bm90b1VNZzYwK28KJlCJWkMx7dMoBtJi252GwERp6kSkuVFu\nJBwnSJ2KC5/zzjcfnLprgc/b3s4RsbLYDTkcPcuF08X9F3R8uqScdQ==\n-----END AGE ENCRYPTED FILE-----\n
|
||||
sops_age__list_0__map_recipient=age1f5002gj4s78jju45jd28kuejtcfhn5cdujz885fl7z2p9ym68pnsgky87a
|
||||
sops_lastmodified=2026-02-24T15:38:25Z
|
||||
sops_mac=ENC[AES256_GCM,data:eZOqrSiA4f6mYUaYPS6TD6vL2ON1DsLchIjzSE7bcGpZuaTspItlkBNUR6bsiPnhZ+RCv0xfFMvWallLJe4Y/8ftlQCeq2fGLJ30ZlktgrBocXw5ZYUcJz99NjAXf5gvXoq7Bn5DPnX81ju2a2D8YIhGCZ4YzzE+ae0b44MK9zg=,iv:BG/M2ugqhacqm7dEaHmH+v3dTbu7aKojRjsQBSy/8vE=,tag:1zSJgTCzBUKVsahvdriQrg==,type:str]
|
||||
sops_lastmodified=2026-02-24T20:32:28Z
|
||||
sops_mac=ENC[AES256_GCM,data:hQspZvYHHTsf1vFtNUvhiyRSkfynxNRUjGCjdK9GPGC30aXIzhg2si/M8wmk3VyhTMOuSFVtNgiiefvChO0N4hwqDkp2llEnkwy/uvtnCTLKNF8I90GS4ZOXNdYN5bTAS/0EF3gWOTPKl+EhJQ4lAvb3k+PY4fI7bZIkWf7sSbo=,iv:JpsFyMTpI0lfncfzPvt0snAqyNfCGCrSiQinIuDivUM=,tag:DBAIePZdHq3lfTn3AycBgQ==,type:str]
|
||||
sops_unencrypted_suffix=_unencrypted
|
||||
sops_version=3.12.1
|
||||
|
||||
120
.env.prod.sops
120
.env.prod.sops
@@ -1,62 +1,64 @@
|
||||
#ENC[AES256_GCM,data:ucMhtQ==,iv:sGhlYo+lSjTp5nwwZTSgMqT64ut4T80hx5CVT+g82lY=,tag:RMnG4i6LpK1Y5Bw4gFPqjw==,type:comment]
|
||||
APP_NAME=ENC[AES256_GCM,data:qruXhXS0DfkEbgM=,iv:tlyiDXsNaIj5vHBaO0dE7mVi2c/IBsLBpsEgibS8DyA=,tag:qnWKM1VcaO3JsIfHz7qo/w==,type:str]
|
||||
SECRET_KEY=ENC[AES256_GCM,data:9bXIuM5FOXgp,iv:/df/NFPVVNpCtWSWdxfn5UkEeRmbtmJ1coMHvG6c414=,tag:wOtxv/ftApPR07ywoIvO4w==,type:str]
|
||||
BASE_URL=ENC[AES256_GCM,data:C7l7voU3GttiIRbAZ3/dhHootWm7wQ==,iv:HyDI4yfZkBuRuvUUao//mu6nkfW/lyKDdXS472pJuK8=,tag:IXC5Xpe1YcEOCCTsnBuNDg==,type:str]
|
||||
DEBUG=ENC[AES256_GCM,data:Aq7nwAo=,iv:px2NR94oiodO8FbCa+VMNptNR51sHavOmiQBQ667pVg=,tag:vHIwuM+sg2Lpvw+ZUMZVRw==,type:str]
|
||||
#ENC[AES256_GCM,data:Bf/QsEOoDh1gfJIHwA==,iv:nSoT2Bnk9y2VxoL2opvUrSBImRstydELaSk2IO9NYPE=,tag:YAqhk8/qpW4UsMsjdS+RAw==,type:comment]
|
||||
ADMIN_EMAILS=ENC[AES256_GCM,data:CDh9bd1OesYs,iv:C6Dwn2h6BYXc21VBFYplpfhwNj8TPevSRvkPCarL7eo=,tag:BibcNChGFh1b2jCF67Nn0A==,type:str]
|
||||
#ENC[AES256_GCM,data:56tQlB/WNuue,iv:lh7+zHQuoAC9jDEgI6/g41H/9gj544nDOwAYcFWjpQs=,tag:XIVb5LJKxlSQz5qPidwJQw==,type:comment]
|
||||
DATABASE_PATH=ENC[AES256_GCM,data:itpuoRhwDXFgEIg=,iv:2/UkQmyyzd3jaUgcxbMCmsflN9ubY+T/y3U9DIj0+3I=,tag:mLONYoV1YRldPS4fjmWo0A==,type:str]
|
||||
#ENC[AES256_GCM,data:3AMoLpE=,iv:w3+deBCRpccgTepZ7/j36pkzUIWAmaM3KuJVpeN1qiA=,tag:V9cfSO0NOKy1WLVQ4OSQYA==,type:comment]
|
||||
MAGIC_LINK_EXPIRY_MINUTES=ENC[AES256_GCM,data:QZ8=,iv:0KWT8VtITdDyBTM41wK4Xe29vbwbVXq5JI+Bk1C0zLk=,tag:y3DG33dd3YLhCC3RHfvJJw==,type:str]
|
||||
SESSION_LIFETIME_DAYS=ENC[AES256_GCM,data:J0Y=,iv:CTSBzRzrn5EHO7eNQsZH55vPx1l00WfaQ2tQOQPbNxY=,tag:jvP5sAHd/MkGtzQ5tJc3jw==,type:str]
|
||||
#ENC[AES256_GCM,data:4AzExSrkvf6tPpvTuvhD,iv:WZBGtFORarHjnBVZbyIzeeY4qFePnrEfUVFIGshiytI=,tag:grHkOyLwjcti7sHvzSdVSg==,type:comment]
|
||||
RESEND_API_KEY=ENC[AES256_GCM,data:7s9gnzHzzYNy,iv:+2c0tLkLGwx15iLBzlCK+NO0XLLOoar90KRXqN/HwuQ=,tag:2gYY2jxVRYvt5MpBCWb3Jg==,type:str]
|
||||
EMAIL_FROM=ENC[AES256_GCM,data:66oS65zkYQJ4BXh9clfF861fwsR09gVgRT0hwZegpnURwA==,iv:9fTh7YU+DzIP6Cj+unxuzJa0mnHsHcwNfvhI6zffjC0=,tag:ZLaPF45Ns0F3xNynXW42uw==,type:str]
|
||||
LEADS_EMAIL=ENC[AES256_GCM,data:SkoYDLDQOCWLHGPFd6HQ1cCU/VHuU9jK9FSjNMHKxnCbXw==,iv:kt4tkw2BJF+Fz5oquje3OvMosqculK8Kxm6h30LWxj0=,tag:PSy1qSkCV+Z/z8dYGLV3BA==,type:str]
|
||||
RESEND_WEBHOOK_SECRET=ENC[AES256_GCM,data:M0BNhZKQvfdT,iv:XIGForPlTQl3NO+hUp90D7sW+wZz4CmCWvPKHedL9MA=,tag:wbxHr0YBKKMOt8tGYG0dVQ==,type:str]
|
||||
#ENC[AES256_GCM,data:XU7LmjtgBw==,iv:mTo7c7tQ4bCrUpRjfpkl/eTMv9qgVVwG2BwDJjDENng=,tag:pJlSVRi3sj1CgapPKDmcMw==,type:comment]
|
||||
PADDLE_API_KEY=ENC[AES256_GCM,data:F/VGqmpu5Pja,iv:RIIaP3LsvnQ3pPQ4OpXlzz2N3vYnQEyrwFrukpHY3qs=,tag:MZJYLxddceccoAPgmW2tgA==,type:str]
|
||||
PADDLE_CLIENT_TOKEN=ENC[AES256_GCM,data:sMUzWxIx835F,iv:mXc20kRmnofJf4Th2O4sjJoyTAlKHUbmbkd3tl19VkA=,tag:a3/N0KT3v1bo/o65sTuB+A==,type:str]
|
||||
PADDLE_WEBHOOK_SECRET=ENC[AES256_GCM,data:AQ5VbLqVyoVr,iv:tqloKV/Vfo3P05QZDsc8p0bfnwcylsQgVjhF17AyE7U=,tag:7gpQEQVcxOu8YgN/518u/w==,type:str]
|
||||
PADDLE_NOTIFICATION_SETTING_ID=ENC[AES256_GCM,data:ZBhOIvcGpGWY,iv:ByQcuU88DjAUEs4x++8+3E80vyiDWqbA6VR4bG5oZuU=,tag:TXnesiQ7K+baSOH6XlzBPA==,type:str]
|
||||
PADDLE_ENVIRONMENT=ENC[AES256_GCM,data:8Ayb93UcbMDSAg==,iv:DydRKcY3zHa30+L6g/2ooDZbtyMHy3yJ1ETRssqDkFs=,tag:1nqgd26CAeB6HQEGHQr16g==,type:str]
|
||||
#ENC[AES256_GCM,data:c1C8AUiw,iv:vU1muGR79S+rr5dTQbzDEYZ5WZdpB2zaHEcEvPIgPYU=,tag:vr07Boz2lZtBscvlHGt10g==,type:comment]
|
||||
UMAMI_API_URL=ENC[AES256_GCM,data:uZMJ+vSyXZkgJPRwY67HTzKCA5qA9vMp4lmCBw==,iv:/SuiWslYHayfB4eaJ4rOtqv/CFBt2GbtOe/83ZYvCxM=,tag:y0aJ/GVhZigxAHOklmLg9Q==,type:str]
|
||||
UMAMI_API_TOKEN=ENC[AES256_GCM,data:aYqT3Xwytvrl,iv:MRei8ZxgohwsbDyP2xruEDdiZQaGA41IlSeb4oqr93A=,tag:0VnkdreND5HggCA0LS+sRg==,type:str]
|
||||
#ENC[AES256_GCM,data:3QFdBeiJqY3UfkClvPs=,iv:2OUB0JZbwSwFOiNo4GO5fTF6WwSD++Gy9iy6EoH8VGM=,tag:mEszf5Zgvv4bUGE7Iqhf+g==,type:comment]
|
||||
RATE_LIMIT_REQUESTS=ENC[AES256_GCM,data:gPCG,iv:AC3g0YDWdQRexRbod3m8UXNKzy/qn0C4LOy5kNCC3cc=,tag:pX9JwjdauMQkkcddYvk9Dg==,type:str]
|
||||
RATE_LIMIT_WINDOW=ENC[AES256_GCM,data:S2Y=,iv:PzZDhpC06Vh8qZ2/ImgIIp8ENUhEIHkyzTi3Ob+PWw0=,tag:5hpdFo0nJaSUoA63inq3jg==,type:str]
|
||||
#ENC[AES256_GCM,data:DS4SYOlYWDPAzQe9TbFKC4hSfPgt,iv:HI0pGyQnnBIo6Ufb5QlT6539QVgLNd3Q1E0nVZT2YNw=,tag:VbcykF5tPDULflTGSBw9Bg==,type:comment]
|
||||
LITESTREAM_R2_BUCKET=ENC[AES256_GCM,data:N/buXMd8Bmen,iv:AFvbKwo+oipuFOB4noaks//IQ92I7gvalUgLYJmp3h0=,tag:6nljZEU+01I2A6bYmHf3XA==,type:str]
|
||||
LITESTREAM_R2_ACCESS_KEY_ID=ENC[AES256_GCM,data:AJujAQyPg+7i,iv:x3sC5WeoUtnJGN01J7p+8W5q8QCbI7g8kA6+njdgsHA=,tag:WUAjGE8rTizRppwl4zR3Xw==,type:str]
|
||||
LITESTREAM_R2_SECRET_ACCESS_KEY=ENC[AES256_GCM,data:0uAA0+aYhDPS,iv:h3+1Tb7Z8JU+N5MsNOYy9oKfMZirFL1j8q0sCwol3bE=,tag:kUcuX79/CkFx8vXRq9LzaA==,type:str]
|
||||
LITESTREAM_R2_ENDPOINT=ENC[AES256_GCM,data:LevPHY6+xQzE,iv:YKSlo15j2JOpaDFE3fodV2xzrFPma23LoRtbmrcAwKk=,tag:lRKpLojIj91NP3rQj0lujg==,type:str]
|
||||
#ENC[AES256_GCM,data:hCAkcPu59qPCG+gdRZc=,iv:fsXe8zekkwZsVyKhD15gJUy+nrmlkE3y5GTSxnrsSBI=,tag:QzuZ3hjg0RP5ydk9LLqZtQ==,type:comment]
|
||||
DUCKDB_PATH=ENC[AES256_GCM,data:7ovwg981vYaSxbPLhliEGiE+f/8V,iv:8+sT3EGhN3qPAGXehVXFibxGqebShA4+fpV8PMH89RY=,tag:Ed6JR6X661riZ19K1Rka4g==,type:str]
|
||||
SERVING_DUCKDB_PATH=ENC[AES256_GCM,data:gxDrCU7+J4hvzJGXPjxsvjZdJx7R,iv:ig+32NjlalAebrl24/V2L9cvtAGxCFLci/b9nBVsmrk=,tag:oJVU7BX7qMp++tGGYNxzqg==,type:str]
|
||||
LANDING_DIR=ENC[AES256_GCM,data:Pz7vkNm/xxdO+kn9,iv:QleME3pY9gwgDmW6Vly1LVRMWhdkD04BXyzO3gFX3YM=,tag:QOpMsiXccD7xPsNJ/uuHjg==,type:str]
|
||||
#ENC[AES256_GCM,data:AQyf+O/gIVE40EU=,iv:uJwMEr44+W4hjRUMPoIhofJfWvXxJDQStRLyjGDdw2w=,tag:Ry07aeuhb6d4CXhpcFkv6A==,type:comment]
|
||||
REPO_DIR=ENC[AES256_GCM,data:yKOuO4XPNcPM14ZnKgLxpg==,iv:JJIkIHqDw7xessJZtwdxhp56UT9f7KtAHT1Hyi7Zd3A=,tag:PYMuH418TtcMuLBwrxDGsA==,type:str]
|
||||
WORKFLOWS_PATH=ENC[AES256_GCM,data:tunk/tbrbvhMHONwRHV1A2l2da50L4n4CeJly3fz9g==,iv:WvxDglP2QRpgOl+RelF2a+JuPvjwusvet4xZs2s+tp8=,tag:CJuzy6A0vUbXd2e5+BXNEQ==,type:str]
|
||||
ALERT_WEBHOOK_URL=ENC[AES256_GCM,data:oHSBbRbq9tCueTxoEJiTmKVJoBIERiV75rsHhUts2Jo=,iv:qm7O2GJ3Rlp3LE1PdQXZPzlO0lropGEe5Wr+28F05Cs=,tag:5Ha/2D4G3NjiqkCE1NjrEw==,type:str]
|
||||
NTFY_TOKEN=ENC[AES256_GCM,data:jIWqTX+iEzUvjJbSKJIZ7ZzZn0YbM7+4RU1W16D6j2U=,iv:R6be5ijLBLUNZjxHO2YkbgjjQDZdjD8gGRJedcFRI60=,tag:K2GL+O5TjdnIgC5l7pG0tg==,type:str]
|
||||
SUPERVISOR_GIT_PULL=ENC[AES256_GCM,data:HQ==,iv:ZBSitlE8BIhM63+f3niABpM5kUmd07cg66icuVlGzc4=,tag:vxMBFQiuXmaKfeQtkx8oAQ==,type:str]
|
||||
#ENC[AES256_GCM,data:5IbMzndnVQPyc8g=,iv:jrHRyj1c+AUJ5Jb8Omb3aliG0j0q850wIjA9tIqKbzI=,tag:n1if0sch0E1mBOp3qr2+zg==,type:comment]
|
||||
PROXY_URLS=ENC[AES256_GCM,data:g8/iWdCPfTVt,iv:ZGvbYkfZk64Y2CC4vuGCj7TpRJGsSOP/psjz2pgKzow=,tag:GYvlKB1xn328bmpBN24W4g==,type:str]
|
||||
EXTRACT_WORKERS=ENC[AES256_GCM,data:GQ==,iv:mUT35A3XBGaBox2PImgeWZyQx1AMQcPTnS4NJi1QnlI=,tag:dG/ZF2xlGsEJBBvfyG0hZg==,type:str]
|
||||
RECHECK_WINDOW_MINUTES=ENC[AES256_GCM,data:vi4=,iv:2oPRzyrFgIwOGjEH13P/7VQACA3xqDOz8+O7cDUnPwI=,tag:IFh7z+ZF+zjoADH0gFrPXg==,type:str]
|
||||
#ENC[AES256_GCM,data:cG6Bl04wlNIwNTjP5TSykDI=,iv:qOrJNlej+elCvc7paLRL50opAD7zSeHYmIwAeFuH11s=,tag:P1dTLqa/DSMjIFvDTZZqhQ==,type:comment]
|
||||
GSC_SERVICE_ACCOUNT_PATH=ENC[AES256_GCM,data:wqtE1aoqcK6v,iv:QejEYIbxDcYDiFC9Wdes81cYx2NL3b9o0v0XVRh7G1w=,tag:d3u6Rf8ptOhM/4pwxtg+6A==,type:str]
|
||||
GSC_SITE_URL=ENC[AES256_GCM,data:25zMmaOduZznbTQwO29huAo7xFq3Ow==,iv:ahq19rDzdx5PB/5YyHxZc7EPAeHya7loe3cdGm5ot+M=,tag:aVmC7IKkqYo8lAH1T1XDQA==,type:str]
|
||||
BING_WEBMASTER_API_KEY=ENC[AES256_GCM,data:pKZGODRwoo4D,iv:tPsrHU1B10lUkVJza2hub0lGAQ15xFZVePZ8RPI1XWo=,tag:zdWhYljkhnKAKRObOfII2A==,type:str]
|
||||
BING_SITE_URL=ENC[AES256_GCM,data:VyIcIcxveu+dWz3zY6h/JVLjPw7ysw==,iv:Wj1TU7r9Izfyexp4WdoByRP+l01ZWml1mNgp6ys28EQ=,tag:fbC8Q7yFGeZBdiiDBADLwQ==,type:str]
|
||||
#ENC[AES256_GCM,data:CDAjB0UL7OjgRPMmu97Z5HHjE4o4idn4Pb3N8/y8KHc=,iv:5ELBfYuFLZblCNMjPpZ10UxQqp9CzAIZQt7iSQwdR54=,tag:NguW5ISLMS5xpXSWfpJaIA==,type:comment]
|
||||
GEONAMES_USERNAME=ENC[AES256_GCM,data:eaQPCcEreqBdHcw=,iv:CKD9cnL2BOn/yJM5EQs0Y044bAN3d4I6bRyTqhIQkns=,tag:82w/yCiGfKsV8zhpINL29g==,type:str]
|
||||
CENSUS_API_KEY=
|
||||
sops_age__list_0__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBWdVBTa1owM0JrbFJXcmg2\nZVNzRHJuK0MzY3gwbVdGZW1oWFh4VU84a3hjCmZWQnAybjVFSituRVE2eWt3QkpI\ndzAzMEpXeld6UEFraEZLUjJGSEordGMKLS0tIGtEbGd3ak82UnJiRjFDQXJvYkVO\nL0xYVW5Ya0U0QUYzckI2MWZyLzU0OUkKK7Q+mN6ew8pdpN7Z3zMQhWm/Lgkzu8Hi\n8i74oE6TfyKFQkhaCu4jOcBfYWTytMe38ZYLI0ApS5AeIsr/ZVtWGA==\n-----END AGE ENCRYPTED FILE-----\n
|
||||
#ENC[AES256_GCM,data:Wav/NA==,iv:aL+BhiA8jZhSxEbxDAYuC6t/AOJhTmTL1e4CxZKMFWA=,tag:dm1w5IiHOqWU5rGshI+Lfg==,type:comment]
|
||||
APP_NAME=ENC[AES256_GCM,data:POhoUbLUGvXG9b4=,iv:+O4EWtOIvkENCYVyKR2i43MzAfcN/qYmuKLzAW5cBMs=,tag:9uVonTXvK9is4wysYgx83Q==,type:str]
|
||||
SECRET_KEY=ENC[AES256_GCM,data:Sc9tp5z2+m3k,iv:T68rsh79CCuWd4UPzoDhNmxt6PcDF3wYcUC1/kzJFgU=,tag:Qk/NEsVc1ozZC+gDFbw7VA==,type:str]
|
||||
BASE_URL=ENC[AES256_GCM,data:CVWA4DYxDj8ALfxeFjryj/15y8sqsA==,iv:Q90DnZyg5lnyClvoRtkANc7Pw7Kf0b/IjGCI6X0EC34=,tag:UUnnGJQWhtXMsxo/9WtoPg==,type:str]
|
||||
DEBUG=ENC[AES256_GCM,data:gp1pqrY=,iv:un/NxyBzL2bsVcYfw5p6YEFDS7PQ58tsgzd/edjKxvw=,tag:+/2hHRk4ePIQWewrAwQwzQ==,type:str]
|
||||
#ENC[AES256_GCM,data:IBz3HceUcQ2ousTJJw==,iv:d2VdDCd3YM35u2wLtJi/wAwIGD4gwAyL6lYEaGAjREQ=,tag:+9tArSTm/sZhOW23hT/XmQ==,type:comment]
|
||||
ADMIN_EMAILS=ENC[AES256_GCM,data:IcQNF/E1F557,iv:BZS+H2aujJk/iJ8KNphdKfbNfEPTCCF/YMS+XylA4LY=,tag:jVNngz8DBmY/y0wyI9upPQ==,type:str]
|
||||
#ENC[AES256_GCM,data:Mh0RRWSB8xzw,iv:NP2x+wqF64GZz9/VauC0CX+0yJHntHlS5TLMTH3jIIU=,tag:2BIIEevah5ZXmQb1MdH24g==,type:comment]
|
||||
DATABASE_PATH=ENC[AES256_GCM,data:m0MbpPzsUpsNTl4=,iv:W2kV+ZFFjs2mrifZALMLtvYcFsDpEuJ9302zNMEeLQA=,tag:NJEe/EZeisS/dRZE0xsdSA==,type:str]
|
||||
#ENC[AES256_GCM,data:cab2fnw=,iv:0O2xG1Kd72eBOzuPsENcEN2yglgGketYJ4x6eoBlBFg=,tag:e7UDXywCT8I8i+HoJTDnXQ==,type:comment]
|
||||
MAGIC_LINK_EXPIRY_MINUTES=ENC[AES256_GCM,data:7bU=,iv:Vov5Eqkg17sOr0dMuKH2Yu7GEh+NrA5eQisR1S6l0x0=,tag:Dzv7DynR9bw2vGUYBLyTLw==,type:str]
|
||||
SESSION_LIFETIME_DAYS=ENC[AES256_GCM,data:vUE=,iv:NOGW2PmabHJ4Jg4qqGAthVJm215oP6ZXDxotmGcnaxU=,tag:6HUzPr5vC/H4xTjYDBsZeg==,type:str]
|
||||
#ENC[AES256_GCM,data:hkqR+T2LqHF0P6Rk9ct0,iv:muiERgZJgUzNCkraL6fpJW3Juq57UwPkcHYBoqHzPZo=,tag:hL79NkHIjiK2APU4u8TYgA==,type:comment]
|
||||
RESEND_API_KEY=ENC[AES256_GCM,data:c22My3N0oeaD,iv:5HN/Ya+UdlEH47wF5Bt0yrm+QSWICSVnjllAJbICgbk=,tag:blThzzKKFgSCAIhFjMPiwg==,type:str]
|
||||
EMAIL_FROM=ENC[AES256_GCM,data:/xYHYA1ldi1vbp+SB4OpY6yiLf81aBsKk3I81jWZUYG23w==,iv:C3bvthAepEZuceWKRPxijtxbUPI+REmByVgMDwTt56s=,tag:Ue9dOmZmcwk1LJ6C5/38Jg==,type:str]
|
||||
LEADS_EMAIL=ENC[AES256_GCM,data:OBxQ0O2S0pz+37t6QfGkeyfEeP4Uj6iiFRl44JTIPW6Ptg==,iv:Tat5MDknzUQxx9aRsiOdOYfZhFSyMeiK8GPdSaBLCKo=,tag:zeDlnndu2ltPUGw3cLxSnQ==,type:str]
|
||||
RESEND_WEBHOOK_SECRET=ENC[AES256_GCM,data:IkwtdB8OVNoc,iv:HtDFBAeysVW+lF40+Q41OkuKeT+IqMj5QjN3WiWJSUs=,tag:ag8SkdpBJ2kgMQgQjf9ytA==,type:str]
|
||||
#ENC[AES256_GCM,data:YYm/fBT+tQ==,iv:SfHfEjAUDcx43txowHIOYW8lbESf1aA3G3kfduvwWCc=,tag:kU30Pw6OpOxkwJnDLP3rMw==,type:comment]
|
||||
PADDLE_API_KEY=ENC[AES256_GCM,data:TiTjORwV6MOp,iv:Jl6P4e9M9EHhzAPUqZp2vP9Y5jk4Qk8lBf+ZhR7iUOQ=,tag:FeJ1xhBScZz5mbU80c2c0Q==,type:str]
|
||||
PADDLE_CLIENT_TOKEN=ENC[AES256_GCM,data:zuOECQEwof2g,iv:2wywplC0WoFjeahjBhItLCQJuzZjPnc30eiBt+dKPIw=,tag:8e3lQt4/VRJLCIIrDtBKtQ==,type:str]
|
||||
PADDLE_WEBHOOK_SECRET=ENC[AES256_GCM,data:51gkXZ/DqOZf,iv:r4hTwBeLvq2gH+ctltQUe2ErCxaQtiMjZ6+W/Bh6A3M=,tag:CY/X8ZgVgj7W7MAANz5jtw==,type:str]
|
||||
PADDLE_NOTIFICATION_SETTING_ID=ENC[AES256_GCM,data:F/A9e6nLY0FE,iv:wt0hB0vIf6WR+Hxp5lTjabIBpcIyRqE7S/h8NW6RT48=,tag:CiUqrb5vH9XiiJ3Di+DEQQ==,type:str]
|
||||
PADDLE_ENVIRONMENT=ENC[AES256_GCM,data:oyN5vq6WU9+GPQ==,iv:5Vp6AawTjCaet/Vw3ElfOiQs6m78QC46+rMCfA0KCZk=,tag:TRQxuYr6gs6EMPWnI7k5mQ==,type:str]
|
||||
#ENC[AES256_GCM,data:ETizP+U6,iv:bzs+KIw54HXbCdQncCJJ9NAUiMo4xdE8nAxHxZtl5HM=,tag:5Hq5QuWQxqlfC1gISfVs9w==,type:comment]
|
||||
UMAMI_API_URL=ENC[AES256_GCM,data:3I67uzhmagf8RPwRD7HiXLCnCjG10em98fVsuA==,iv:qACYc8jKe/816rql5COoUL351e58qCzVi1cdGA5JfZ0=,tag:VwmpCJittpYaN5S6grCKMw==,type:str]
|
||||
UMAMI_API_TOKEN=ENC[AES256_GCM,data:MXlJOXEh45OT,iv:9nsj2IXpc/EHEaPrj8RkKZC5aH+ky2x6geeWoWuPtJM=,tag:nuTxbjhUenue2krhB5ZNuQ==,type:str]
|
||||
#ENC[AES256_GCM,data:I3LUWXInlHVEt5HfDpY=,iv:OVGbuQUc1wB3phmwAONAx0DDudF7EReZ/JFwjrNTHU0=,tag:S7nu/WpB5wKU7K7LLwCgAQ==,type:comment]
|
||||
RATE_LIMIT_REQUESTS=ENC[AES256_GCM,data:1mFf,iv:YFckwytvkxgrLKGGOpKyZKE61t3QpkxLAbXR2Th03R0=,tag:zo3vU1BlwcE778jcf2ugBw==,type:str]
|
||||
RATE_LIMIT_WINDOW=ENC[AES256_GCM,data:dQ0=,iv:hD+YjNfATvzmVc/cpHs4z/601ezfoxRuXkllqShcio0=,tag:Zfw/fZoEmxat9WjPtx+qQw==,type:str]
|
||||
#ENC[AES256_GCM,data:ZWwLbf5Y3Y0OobFHq45HGcGn6MsG,iv:Y/H/ZafbT+2YArnBe/mM1KkHFuuUDQsAf3JQgonIDUU=,tag:QW0MvN4e3mDsXGHdkaAF7Q==,type:comment]
|
||||
LITESTREAM_R2_BUCKET=ENC[AES256_GCM,data:avxiVQAIebLG,iv:2CZ1MGjGScdgNgm0nVexurhJFC6UQEmi2ldVR/RxBr4=,tag:oZT+tGt+/EGQhpH8jiwHmw==,type:str]
|
||||
LITESTREAM_R2_ACCESS_KEY_ID=ENC[AES256_GCM,data:7Mn+GggjzjbN,iv:vmUfPamn8pJR/vFtnO2rhD2+ALHUiZ8ahPTGzncsyVM=,tag:v1Tp97ZsiOJocqDoXCb58g==,type:str]
|
||||
LITESTREAM_R2_SECRET_ACCESS_KEY=ENC[AES256_GCM,data:CN+aCZHaIANh,iv:X34JZ/OC5AalWZVAlDoN0G1Kch2z1Q3Uo18PJa1NTE8=,tag:wAqiEz6UCHcaISCOzOgtgg==,type:str]
|
||||
LITESTREAM_R2_ENDPOINT=ENC[AES256_GCM,data:C8UWFesY4/M+,iv:6ti84Kr0aDxs1S7Y17uNb78j2EzjovAki6N6cAm7agY=,tag:R9Q2Ug+HXpXYm/gTF/be1g==,type:str]
|
||||
#ENC[AES256_GCM,data:qq7NU6KOZT/mwuTunBs=,iv:5R65DWMFkHdoeKsBiuDQFJqLdoH+nwTsU/DbWD+4yWM=,tag:Daf2m6DEi5pAJ+NQSXFD+g==,type:comment]
|
||||
DUCKDB_PATH=ENC[AES256_GCM,data:nvlaHUuTDDHl2vx3CMVCRXra6QuJ,iv:2M/eptAN/wNZgZTC0kye4dF0rWUGkjdK+hwAOuyHU1s=,tag:9rExFDqVe2e9KWCTdgnQjw==,type:str]
|
||||
SERVING_DUCKDB_PATH=ENC[AES256_GCM,data:ZdbRf/E5WVf9CfJ/mA7CM/C80RRW,iv:0dG5+oloGs8tOno4Lu8gJFVQ/ilTQVhqiZn7jis8u1E=,tag:kmphDZt1Y/D8qfbLJQCLwg==,type:str]
|
||||
LANDING_DIR=ENC[AES256_GCM,data:NQQbZyOeMGCMxQOo,iv:E7+B45xAqG71yt4gc4aa3YA1KTJWDD7OcY9SieMDNd4=,tag:c2S1aDMD8zDQfmFew5sM/g==,type:str]
|
||||
#ENC[AES256_GCM,data:BASJNxsOqfahZJ4=,iv:Fxwpluhe/V1xVMqO4rWwRamKEIHGfUrGMsx1XmKZv+4=,tag:2MthdZr4YMkVREbSydQC9g==,type:comment]
|
||||
REPO_DIR=ENC[AES256_GCM,data:FmiIf4/s9qcF1KFriNfZIg==,iv:ur2jpVrM0rHYT55Ir3Wvb7InWr7J3Bxdt3s/D8w222w=,tag:Yk+BUcS2Ae2KzJzLQklcFA==,type:str]
|
||||
WORKFLOWS_PATH=ENC[AES256_GCM,data:JAKGfDMe0wptVhisI7YC9GMBdslurVuaSG8L9aXI7A==,iv:s9P3m14zWUs3REQvypfQ3j/n/Klt4hPzwGqbGDOEOR8=,tag:wTDLzQ/KUjde7zDpG7rYiQ==,type:str]
|
||||
ALERT_WEBHOOK_URL=ENC[AES256_GCM,data:3roAiuwKnSNzSjU9d5wIPRJAW7e9l7vtxc7Lj5Sf9Uo=,iv:vC738fioTDsWrVB///9GkKV7Jc67hlvuvcfnSAzwpuQ=,tag:v29o37UGSoA6/S7VxwENaQ==,type:str]
|
||||
NTFY_TOKEN=ENC[AES256_GCM,data:hQerDktsRYZaBaunhS0koSVtehopZ1Cp/p+9v/FbIZU=,iv:b204WBPs3GYfgfCWr1mi58QN+iLO2Ekl0jrRQWcKoAY=,tag:+7h3on0TNiJUqg7EREZRYw==,type:str]
|
||||
SUPERVISOR_GIT_PULL=ENC[AES256_GCM,data:AQ==,iv:/gJIcFRMd2jU97paHwXKzREQBOeJ2vq9l5ux9gDewO0=,tag:cMa4+fgk4oqUqc+DfBkSSQ==,type:str]
|
||||
#ENC[AES256_GCM,data:u1BQCX8MCMcj1zU=,iv:Dtk4K4eZ50w3zbZKlZxrvytsWlYFteXFv+0QBYJJ59U=,tag:8iveGLmKeOrVk2bMVG7D7w==,type:comment]
|
||||
PROXY_URLS=ENC[AES256_GCM,data:KH3171qwQp4rkbP1gJXYUqicmZuS5q+7xQ3Hv/Pb2MG1Sp/RbQwpEMR7X2ZiQYO6WUaIcZW/87qAEAShFe/w+qPHACSi//f7zwxv5vHNAhBaxMeU4tPudh9XGAvfyKonNdrU1rrPWIyQPVZ4ZKOUWJsetOy6P1Xly3PLpk8xh4jfLUmKuHEbuQcJInRqhcJdjSecLcAvaDmElZCDhr6dhq2PVQdciS/0LkDLj1xkZ09UrfKbS0fQD8//SM7VX+mPUNjIVK+4kytTbccrK3w79HEgFUnWa4q5PDnzYUFzexKu8pJEQwEl5gkBoHZo8lDoNNP2qed/pdEE9aMxNOSDJsoidW/vIhSxk1GmYwLuzLXAMcLdvujjrgLrt1lvZEyuWwGyRDhsYSp6SA80U48B3UrgFK3xXzwf1YuZHpcCN3Zjb82KLgXJIUzK+LA9kDiGMdzyEtNT1q6+RdCHS7I4XXgcFPaTJL6J/avUqwU31YpvSMM0LItJeKM9I5FL5BbC/IDhE1ax26Px27Hos710+lI3eUu2RViw82d650gqSu2IFfGbGv9ECsTOyUR8no427iqyB/003DAkgxjbSCs6oJIayKHJNULWAMks2mx35gGQathVLdmysfSfLYizP9I=,iv:IZTwqbh76CRXYPVYyZ6PlSjKof+dE1XHvomV8nA6xWM=,tag:de07uKNUmsGOX/2trFqWfw==,type:str]
|
||||
EXTRACT_WORKERS=ENC[AES256_GCM,data:nQ==,iv:rUlSbl5+wdpY9OATciWw7u/Wniyi+ctJDyQ2jzdLI1U=,tag:NaVN4gJo2M5dK0Hq9/H67w==,type:str]
|
||||
RECHECK_WINDOW_MINUTES=ENC[AES256_GCM,data:kFU=,iv:2yLZn5eC8UXCfOPNa+1fOnRnaY3JhMlh9AdBRAyrCZU=,tag:Dalqeod45g0mn4Mn1YEMvQ==,type:str]
|
||||
#ENC[AES256_GCM,data:GK/IYt5yyMbVLGx/P8Hzyfc=,iv:mzIaCOzunFypa+eJhf/gAWxZDixH6bxauOZjo6ARVEQ=,tag:r1650Kgs7frUDAVJqpQ3Yw==,type:comment]
|
||||
GSC_SERVICE_ACCOUNT_PATH=ENC[AES256_GCM,data:ZgsW82cm38rR,iv:Qz4oSAKQ2U3dBgy1GtDl56GGzCqnmvldA9ByiQLjH94=,tag:qxlF/5CvhNd4fOPajwrPvg==,type:str]
|
||||
GSC_SITE_URL=ENC[AES256_GCM,data:nz5OC1nciCmds6bl257oo9IX3SA7kA==,iv:+LV0kDG4xfwL3E3oGEsUB1h3W7ZpRijv3LipWq+GHg8=,tag:zUmIKWfHd6KwD+cMZb0ZKw==,type:str]
|
||||
BING_WEBMASTER_API_KEY=ENC[AES256_GCM,data:3h4h5BIApJdX,iv:lG/eNi0HwBF+FL5gyhDUiqHrLdMe+s8/PbXNqInR/i8=,tag:dvXNTf/Gn0RNE+A0U2fzPQ==,type:str]
|
||||
BING_SITE_URL=ENC[AES256_GCM,data:ij5VYDk61wpIF21DdG1B6oEwN4yzUg==,iv:gJWQIYMCpjdVV+BoWxlpYy5uyM4M9WJQuHgud4Z7djY=,tag:rQwlCHjLSiLFjrATleiHVQ==,type:str]
|
||||
#ENC[AES256_GCM,data:CJ83yX864ts1yvmP7pQXIbDqXbmwu6o9tAm4AMBH0A4=,iv:GgOY+GkLnS+mMu/iQSe4EFyMjC/tGnSR25GvvYS/gdA=,tag:sHqmi1Z+PMflJo/rHbTdUA==,type:comment]
|
||||
GEONAMES_USERNAME=ENC[AES256_GCM,data:d9jN+L/93b2wDrY=,iv:IsmVx459v4vw/XREahd3SN88U8yCKQwaVaTty7b2big=,tag:OgO3lzdCt/Yg0S2Z/t9Row==,type:str]
|
||||
CENSUS_API_KEY=ENC[AES256_GCM,data:KmceIQqzlvJ3l7yPCksP1ecT0KFqo5/owrRx34/u3Md4WUTj2RGn3g==,iv:1YVk6/OUZNxXOkzZ5qZXj6RNhy4mfEnus+uBnRcRLKE=,tag:rP1y2XEvQwim1rq/GjMPNw==,type:str]
|
||||
PROXY_URLS_FALLBACK=ENC[AES256_GCM,data:hB9OdyCSGXVz6U1wPuSElzW/2rzHinqPBFFiJv9ugiXYlwj1uviGe0SHZ68AQHB050s/1ku3jDnzPwdM,iv:d1e9RLg5LLCPGKeZS1lkmh44Tt9GEW+ZC2YBMU5rnxA=,tag:whOwZYndrq7VB8flwLmW3w==,type:str]
|
||||
CIRCUIT_BREAKER_THRESHOLD=ENC[AES256_GCM,data:kF8=,iv:6d/79VZFtIQtxKcvtVKF5/69KIBr7bIWpTPKt+vt6fU=,tag:yQStmU9Gjhs5CJw/r9b9rA==,type:str]
|
||||
sops_age__list_0__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBhRU1MWm44bGpuSlRyVUpT\nU0syT2x5eU9lSnR6Nk9DejFNOUJYaFUyeENvClJpU0d6dTR6emoyRDIvaUhnTDNU\nL0hpc0w5QWI0K1hKa1p3NTVCU3Jyd0kKLS0tIDBOUkdjNTI1a0ZLMzFpcjV2QmZS\nNHltZ2hIcDFRVkVmSEQ1bnFKdk9YdW8KqJSaCtueN7XdOBfgzOfJYDHUga2rgWXF\n5XbTf4WE8HMqtWWgAq6ZQLFGSbJAhKmPlscjyp/VflFZvKvVqm3qbw==\n-----END AGE ENCRYPTED FILE-----\n
|
||||
sops_age__list_0__map_recipient=age1f5002gj4s78jju45jd28kuejtcfhn5cdujz885fl7z2p9ym68pnsgky87a
|
||||
sops_lastmodified=2026-02-24T15:04:59Z
|
||||
sops_mac=ENC[AES256_GCM,data:BsSyxkjwN8SNSC8fE3iNZPYIAPgrnbMYLGN/waGNkzH11VfcGAw5vQaPR6Il1PBMrx8gJ9daxRbvTW/DkY+G8VTpF3HWB3IoJPRewTLNUdkDSCxwhGuzfTzT1f7FKeNNVxsCEhJZGMYbDiYzcnbU1owgcHivBfCYl0DF0VM8cS0=,iv:aV5Af5nrhaI9NE2ouGnr20s6mRD9VPHLNcdfola9Ybw=,tag:YD08kkuFLksllK4Q9cfYfQ==,type:str]
|
||||
sops_lastmodified=2026-02-24T20:32:28Z
|
||||
sops_mac=ENC[AES256_GCM,data:htupj3WWPJ9KAxkgnsFyX8xnnfBeSna3nEjMA/RoFaDLBxkfFhXJOqiGTGzYAnsoc6KKxSdLy1Raa9wRqmmM0hmSqptBr/9axGthNmTg4m8UAgCzCG/ZJSL+hlTvmnL7Y2p3ryvk9w8Tw8jchdbFWgP5C6wmA1YAMOVBW+BfHxo=,iv:5NUe020D/1j8ISDFhZGyW8pobsKQtga2DJCmIV7yyIA=,tag:TlcQaU6z9ktkVJEduyoWtA==,type:str]
|
||||
sops_unencrypted_suffix=_unencrypted
|
||||
sops_version=3.12.1
|
||||
|
||||
735
docs/proxy-provider-inventory.md
Normal file
735
docs/proxy-provider-inventory.md
Normal file
@@ -0,0 +1,735 @@
|
||||
# Proxy Provider Inventory
|
||||
|
||||
Compiled: 2026-02-24
|
||||
Purpose: Identify proxy providers for distributed web extraction — rotating IPs to avoid per-IP rate limits when scraping Playtomic and similar APIs at scale (14k+ venues/day).
|
||||
|
||||
Use case requirements:
|
||||
- ~14,000 HTTP requests/day to `api.playtomic.io` (availability + tenant endpoints)
|
||||
- Need IP rotation to stay under per-IP soft bans (observed ~1,000 req/IP/day limit)
|
||||
- Serial or low-concurrency (1–8 workers), not high-throughput
|
||||
- Residential IPs strongly preferred — Playtomic's API likely blocks datacenter ranges
|
||||
- HTTP/HTTPS proxies; SOCKS5 a bonus
|
||||
- Pay-per-GB preferred over per-IP (light usage: ~1–5 GB/month estimated)
|
||||
- Budget: €20–100/month target
|
||||
|
||||
**Bandwidth estimate:** A Playtomic availability API response for one venue is roughly 5–30 KB of JSON. At 14,000 requests/day with ~15 KB average (request + response + headers, pre-compression), that is ~200 MB/day or roughly **6 GB/month**. At the low end (small venues, cached pages) it could be 1–2 GB/month; at the high end (large venue JSON, retries) up to 10 GB/month. Budget for 5–10 GB/month when choosing a plan.
|
||||
|
||||
---
|
||||
|
||||
## Provider Comparison Table
|
||||
|
||||
| Provider | Pool Size | Res. Price (GB) | ISP/Static Price | Min Spend | Sticky | City-level | SOCKS5 | Score |
|
||||
|----------|-----------|-----------------|------------------|-----------|--------|------------|--------|-------|
|
||||
| Nimbleway | Millions (proprietary) | $8.00–$14.00 PAYG | — | $300/mo | 30 min | Yes | Yes | 2 |
|
||||
| Froxy | 10M+ | $12.00–$1.95/GB (tier) | — | $1.99 trial; $60/mo entry | 10–60 min | Yes | Yes (SOCKS4/5) | 3 |
|
||||
| LunaProxy | 200M+ | $0.65–$0.77 PAYG | $3/IP/week static | $7 (10 GB bundle) | 90 min | Yes | Yes | ⛔ REMOVED |
|
||||
| Proxy-seller | 20M+ res; 400+ ISP | $0.70–$7.00 | $1–$2/IP/mo ISP | ~$1 (1 GB) | 24 hr res; static ISP | Yes | Yes | 3 |
|
||||
| ProxyScrape | 48M+ | $4.50–$4.85/GB | — | $2 (1 GB test) | 120 min | Yes | Yes | 3 |
|
||||
| Bright Data | 150M+ | $2.80–$10.50 PAYG | $2.80/IP/mo | $500/mo sub; PAYG no min | 30 min | Yes | Yes | 3 |
|
||||
| Oxylabs | 175M+ | $3.75–$8.00 PAYG | $1.15–$1.60/IP/mo | $99/mo | 30 min | Yes | Yes | 3 |
|
||||
| Decodo (Smartproxy) | 115M+ | $7–$12.50/GB | — | $80/mo sub | 24 hr | Yes | Yes | 3 |
|
||||
| IPRoyal | 34M+ | $1.75–$7.00 | — | No min (PAYG) | 7 days | Yes | Yes | 5 |
|
||||
| Rayobyte | 40M+ | $3.20–$9.00 | Unlimited BW plans | No stated min | 60 min | Yes | No | 3 |
|
||||
| NetNut | 85M+ | $3.54–$15.00 | $17.50+/GB static | $99/mo | Indefinite | Yes | No | 3 |
|
||||
| SOAX | 191M+ | $3.60–$4.00 | — | $90/mo sub; $1.99 trial | 60 min | Yes | Yes | 3 |
|
||||
| Webshare | — | $2.00–$3.00 | $0.30/IP/mo | ~$7/mo | Limited | Yes | Yes | 4 |
|
||||
| Geonode | 10M+ | $0.50–$3.00 | — | No min (PAYG) | 24 hr | Yes | Yes | 4 |
|
||||
| PacketStream | 45–72M+ | $1.00 flat | — | $50 deposit | Supported | Yes | Yes | 4 |
|
||||
| Proxy-Cheap | 6M+ | $2.99 | — | No min | Supported | Yes | Yes | 3 |
|
||||
| ProxyEmpire | — | $1.50–$3.50 | — | $1.97 trial | Unlimited rollover | Yes | Yes | 4 |
|
||||
| Infatica | 20M+ | $4.00 PAYG | — | $4 trial (1 GB) | Supported | Yes | No | 3 |
|
||||
| Shifter | 31M+ | Port-based $299+/mo | — | $299/mo | — | Yes | No | 1 |
|
||||
| Storm Proxies | 20M+ | Port-based $19+/mo | — | $19/mo | 5 min | USA/EU only | No | 2 |
|
||||
| DataImpulse | 90M+ | $1.00 (never expires) | — | No min | 30 min | Yes | Yes | 5 |
|
||||
| Evomi | 5–10M+ | $0.99 PAYG / $0.49 sub ($49.99/mo) | — | Money-back guarantee (<1 GB) | Supported | Yes | Yes | 4 |
|
||||
| 922Proxy | 200M+ claimed | $0.77 | $0.16/IP/day | No min | Supported | Yes | Yes | 3 |
|
||||
|
||||
**Score (1–5):** fit for Playtomic extraction — rotating residential, pay-per-GB, no large minimum, city/country targeting, low total cost at 5–10 GB/month.
|
||||
|
||||
---
|
||||
|
||||
## 1. Residential Rotating Proxies
|
||||
|
||||
### 1.1 Bright Data
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| URL | https://brightdata.com |
|
||||
| Types | Rotating residential, ISP, datacenter, mobile |
|
||||
| Pool Size | 150M+ residential IPs |
|
||||
| Countries | 195+ countries; country + city + ZIP + ASN + carrier targeting |
|
||||
| Pricing (residential PAYG) | $10.50/GB; promo ~$5.25/GB when available |
|
||||
| Pricing (Starter subscription) | ~$2.80–$3.50/GB for 141 GB ($499/month) |
|
||||
| Sticky Sessions | Up to 30 minutes |
|
||||
| Auth Method | Username:password; API key; browser extension |
|
||||
| Protocols | HTTP, HTTPS, SOCKS5 |
|
||||
| Min Purchase | Starter plan: $500/month; PAYG: no minimum |
|
||||
| Trial | 7-day free trial for registered companies; $5 credit on account creation |
|
||||
| ToS scraping | Commercial scraping explicitly supported; most permissive ToS in market |
|
||||
|
||||
Bright Data is the industry benchmark — 150M+ IPs, 195+ countries, the deepest targeting options (ZIP-level, ASN, carrier), and a platform that includes scraping browsers, CAPTCHA solvers, and managed datasets beyond raw proxies. Their IP quality is the highest in the market; IPs are very unlikely to be pre-flagged by Playtomic.
|
||||
|
||||
The economics are the problem for small-volume use. The Starter plan requires $500/month — 50–100x the actual data cost at 5–10 GB/month. The PAYG rate of $10.50/GB (or $5.25/GB at promo) is usable but the promo is time-limited. The $5 trial credit on account creation allows a no-risk integration test.
|
||||
|
||||
Choose Bright Data if: (a) extraction scales to 100+ GB/month and justifies the Starter plan, (b) Playtomic begins aggressively blocking mid-tier residential IPs and only Bright Data's IP quality works, or (c) you need the managed scraping infrastructure (Web Unlocker API) rather than raw proxies.
|
||||
|
||||
---
|
||||
|
||||
### 1.2 Oxylabs
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| URL | https://oxylabs.io |
|
||||
| Types | Rotating residential, ISP (static residential), datacenter, mobile |
|
||||
| Pool Size | 175M+ residential IPs |
|
||||
| Countries | 195+ countries; country + state + city targeting |
|
||||
| Pricing (residential PAYG) | $8.00/GB |
|
||||
| Pricing (Micro plan) | $99/month (13 GB = $7.62/GB) |
|
||||
| Pricing (Starter) | $150/month (40 GB = $3.75/GB) |
|
||||
| Pricing (ISP proxies) | $1.15–$1.60/IP/month with unlimited bandwidth |
|
||||
| Sticky Sessions | Up to 30 minutes (residential); indefinite (ISP) |
|
||||
| Auth Method | Username:password |
|
||||
| Protocols | HTTP, HTTPS, SOCKS5 |
|
||||
| Min Purchase | $99/month (Micro) or PAYG at $8.00/GB |
|
||||
| Trial | Free trial for qualified businesses |
|
||||
| ToS scraping | Full commercial scraping support; dedicated scraping APIs available |
|
||||
|
||||
Oxylabs has the largest claimed pool at 175M+ IPs and is consistently strong on reliability. The ISP proxy tier is a notable option: 10 static ISP IPs at $1.60/IP = $16/month with unlimited bandwidth. If Playtomic's rate limits reset daily and you distribute 14,000 requests across 10 IPs (1,400 req/IP/day), this may exceed the soft limit. Expanding to 20 IPs at $32/month brings each IP to 700 req/day — safely under the ~1,000/IP threshold.
|
||||
|
||||
The $99/month minimum for the residential rotating plan makes it expensive for small volumes. Like Bright Data, Oxylabs is better justified at scale. The ISP tier is the most interesting option at this budget level — worth a direct test.
|
||||
|
||||
---
|
||||
|
||||
### 1.3 Decodo (formerly Smartproxy)
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| URL | https://decodo.com |
|
||||
| Types | Rotating residential, ISP, datacenter, mobile |
|
||||
| Pool Size | 115M+ ethically sourced residential IPs |
|
||||
| Countries | 195+ locations; country + state + city + ZIP + ASN |
|
||||
| Pricing (PAYG) | $12.50/GB (1 GB) |
|
||||
| Pricing (Micro) | $80/month (8 GB = $10.00/GB) |
|
||||
| Pricing (Starter) | $225/month (25 GB = $9.00/GB) |
|
||||
| Pricing (Enterprise) | As low as $1.50/GB at 1,000 GB/month |
|
||||
| Sticky Sessions | Up to 24 hours (1–1,440 minutes configurable) |
|
||||
| Auth Method | Username:password; whitelist IP |
|
||||
| Protocols | HTTP, HTTPS, SOCKS5 |
|
||||
| Min Purchase | $80/month (Micro) or PAYG at $12.50/GB |
|
||||
| Trial | 3-day free trial |
|
||||
| ToS scraping | Explicitly supported; scraping use case documented |
|
||||
| Performance | 99.86% success rate, 0.63s avg response time (Proxyway 2025 — top tier) |
|
||||
|
||||
Decodo (rebranded from Smartproxy in 2025) is the top performer in Proxyway's 2025 benchmark: 99.86% success rate and 0.63-second response time, winning Proxyway's "Best Value Provider" award for the fourth consecutive year. The 24-hour sticky sessions are the longest among major providers and the 115M+ pool with ZIP+ASN targeting is excellent.
|
||||
|
||||
The difficulty is pricing at small volumes. $12.50/GB PAYG for 6 GB = $75/month. The Micro plan at $80/month forces purchasing 8 GB regardless — at 6 GB actual usage, 25% is wasted each month. Decodo is the right choice if performance is the primary requirement and/or volume scales to 25+ GB/month where the Starter plan's $9.00/GB becomes competitive.
|
||||
|
||||
---
|
||||
|
||||
### 1.4 IPRoyal
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| URL | https://iproyal.com |
|
||||
| Types | Rotating residential, static residential (Pawns), datacenter, mobile/4G, ISP |
|
||||
| Pool Size | 34M+ residential IPs |
|
||||
| Countries | 195+ countries; country + state/region + city targeting |
|
||||
| Pricing (rotating residential PAYG) | $7.00/GB (1 GB) → $4.90/GB (50 GB) |
|
||||
| Pricing (sticky residential) | From $1.75/GB; up to 7-day sessions |
|
||||
| Sticky Sessions | Up to 7 days per IP |
|
||||
| Auth Method | Username:password; API key |
|
||||
| Protocols | HTTP, HTTPS, SOCKS5 |
|
||||
| Min Purchase | No minimum; PAYG only |
|
||||
| Trial | No free trial; small PAYG purchases from $1.75 |
|
||||
| ToS scraping | Web scraping and data collection explicitly permitted |
|
||||
| Performance | 99.56% success rate, 1.06s avg response time (Proxyway 2025) |
|
||||
|
||||
IPRoyal stands out for the combination of no-minimum PAYG billing, non-expiring traffic, and industry-unique 7-day sticky sessions. For the Playtomic extraction pipeline, the sticky residential tier at $1.75/GB is exceptional value — lower than almost any other provider's rotating residential rate, with sessions that hold an IP for up to a full week.
|
||||
|
||||
The 34M IP pool is smaller than Bright Data or Oxylabs but very adequate for 14,000 requests/day. The 99.56% success rate and 1.06s response time are strong for a mid-tier provider. SOCKS5 support and city/country targeting complete a well-rounded offering.
|
||||
|
||||
At $1.75/GB sticky residential for 6 GB/month, total cost is approximately $10.50/month — well within budget, with no monthly commitment. Caveat: verify with IPRoyal support whether the $1.75/GB sticky tier draws from the same 34M rotating pool or a separate static IP inventory, as IP quality may differ.
|
||||
|
||||
---
|
||||
|
||||
### 1.5 Rayobyte
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| URL | https://rayobyte.com |
|
||||
| Types | Rotating residential, ISP (static), datacenter (dedicated + semi-dedicated), mobile |
|
||||
| Pool Size | 40M+ residential IPs across ~180 countries |
|
||||
| Countries | ~180 countries; country + state + city + ASN targeting |
|
||||
| Pricing (residential rotating) | ~$9.00/GB for small plans; ~$3.20/GB at 1,000 GB/month |
|
||||
| Pricing (datacenter dedicated) | From $2.50/IP/month (US); from $1.00/IP/month semi-dedicated |
|
||||
| Sticky Sessions | Soft sticky (IP held while peer is online) or hard sticky (1–60 min fixed) |
|
||||
| Auth Method | Username:password; dashboard configuration |
|
||||
| Protocols | HTTP, HTTPS |
|
||||
| Min Purchase | No stated minimum; PAYG available |
|
||||
| Trial | Trial proxies available via portal |
|
||||
| ToS scraping | Commercial scraping supported |
|
||||
|
||||
Rayobyte (formerly Blazing SEO) built its reputation on datacenter proxies; their residential offering is solid but not price-competitive for small volumes. At ~$9.00/GB it is more expensive than IPRoyal ($7.00/GB), DataImpulse ($1.00/GB), or Evomi ($0.99/GB PAYG) for equivalent low-volume usage.
|
||||
|
||||
The soft/hard sticky session distinction is technically useful — hard sticky guarantees the same IP for up to 60 minutes regardless of peer status; soft sticky holds only while the peer device is online. For venue-by-venue crawling, hard sticky at 5–10 minutes is sufficient. The lack of SOCKS5 for residential is a minor inconvenience. Rayobyte becomes more compelling at 200+ GB/month where the pricing curve ($3.20/GB) is competitive. Not recommended as primary for 5–10 GB/month.
|
||||
|
||||
---
|
||||
|
||||
### 1.6 NetNut
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| URL | https://netnut.io |
|
||||
| Types | Rotating residential, static residential (ISP), datacenter, mobile |
|
||||
| Pool Size | 85M+ rotating residential; 1M+ static residential |
|
||||
| Countries | 195+ countries; city targeting |
|
||||
| Pricing (rotating residential) | Starter: $99/month (28 GB = $3.54/GB); enterprise: $1.59/GB |
|
||||
| Pricing (static residential) | $17.50+/GB (primarily for long-term sessions) |
|
||||
| Sticky Sessions | Indefinite (static residential); ~30 minutes (rotating) |
|
||||
| Auth Method | Username:password |
|
||||
| Protocols | HTTP, HTTPS (no SOCKS5) |
|
||||
| Min Purchase | $99/month (28 GB) |
|
||||
| Trial | Free trial for enterprise accounts |
|
||||
| ToS scraping | Commercial use permitted |
|
||||
|
||||
NetNut's differentiated product is direct ISP connectivity for static residential proxies — lower latency and more predictable performance than peer-sourced networks. The rotating residential pool of 85M+ is competitive. However, the $99/month minimum (28 GB) is oversized for 5–10 GB/month consumption, and the static residential tier at $17.50/GB is very expensive for bandwidth-intensive work.
|
||||
|
||||
NetNut updated pricing in March 2025 to align more closely with Oxylabs and Bright Data, making it less of a budget option than it historically was. The lack of SOCKS5 is a limitation. Best suited to operations running 28+ GB/month where the Starter plan breaks even.
|
||||
|
||||
---
|
||||
|
||||
### 1.7 SOAX
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| URL | https://soax.com |
|
||||
| Types | Rotating residential, mobile, ISP, datacenter |
|
||||
| Pool Size | 191M+ IPs (residential + mobile combined) |
|
||||
| Countries | 195+ locations; country + city targeting |
|
||||
| Pricing (residential Starter sub) | $90/month (25 GB = $3.60/GB) |
|
||||
| Pricing (residential PAYG) | $4.00/GB |
|
||||
| Pricing (3-day trial) | $1.99 |
|
||||
| Pricing (Enterprise) | As low as $0.32/GB at scale |
|
||||
| Sticky Sessions | Up to 60 minutes |
|
||||
| Auth Method | Username:password; dashboard-based session management |
|
||||
| Protocols | HTTP, HTTPS, SOCKS5 |
|
||||
| Min Purchase | $90/month (Starter) or PAYG at $4.00/GB |
|
||||
| Trial | $1.99 for 3-day trial |
|
||||
| ToS scraping | Fully supported; web scraping is a primary advertised use case |
|
||||
| Performance | 99.95% success rate, 0.55s avg response time (Proxyway 2025 — near best in class) |
|
||||
|
||||
SOAX achieves near-best-in-market performance metrics: 99.95% success rate and 0.55-second response time in Proxyway's 2025 benchmarks. The 191M+ combined pool, 60-minute sticky sessions, and SOCKS5 support make it technically strong. The $1.99 three-day trial is the cheapest paid entry point for validation.
|
||||
|
||||
At PAYG: $4.00/GB × 6 GB/month = $24/month — within the lower budget range. The Starter subscription at $90/month is only justified at 20+ GB/month usage. SOAX is a good option if performance reliability is paramount and you do not want to accept the uncertainty of smaller providers like Evomi or DataImpulse.
|
||||
|
||||
---
|
||||
|
||||
### 1.8 Webshare
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| URL | https://www.webshare.io |
|
||||
| Types | Rotating residential, static residential (ISP), datacenter, shared proxies |
|
||||
| Pool Size | Not publicly stated for residential |
|
||||
| Countries | 195+ countries; city targeting supported |
|
||||
| Pricing (residential rotating) | 10 GB/mo: $3.00/GB; 60 GB: $2.33/GB; 100 GB: $2.00/GB |
|
||||
| Pricing (static residential / ISP) | $0.30/IP/month (unlimited bandwidth) |
|
||||
| Pricing (free tier) | 10 datacenter proxies + 1 GB/month — permanent |
|
||||
| Sticky Sessions | Limited; primarily a rotating service |
|
||||
| Auth Method | Username:password or whitelist IP |
|
||||
| Protocols | HTTP, HTTPS, SOCKS5 |
|
||||
| Min Purchase | Very low; plans start ~$7/month for residential |
|
||||
| Trial | Free tier permanent (10 proxies + 1 GB/month datacenter) |
|
||||
| ToS scraping | Permitted for commercial use |
|
||||
|
||||
Webshare offers two compelling products for this use case. First, the permanent free tier enables no-cost integration testing. Second, the static residential (ISP) proxies at $0.30/IP/month represent the cheapest stable-IP option on the market: 30 ISP IPs at $9/month provides unlimited bandwidth across a persistent pool of 30 residential-quality IPs.
|
||||
|
||||
If Playtomic's soft ban is per-IP-per-day (resetting at midnight), a pool of 30 ISP IPs at 14,000 requests/day means ~467 requests per IP per day — safely below the ~1,000/IP observed limit. This setup at $9/month is potentially the cheapest viable production configuration, contingent on ISP IPs not being pre-blocked.
|
||||
|
||||
The rotating residential plan at $3.00/GB (10 GB tier) is mid-market and straightforward. Webshare has a developer-friendly API and clean dashboard.
|
||||
|
||||
---
|
||||
|
||||
### 1.9 Geonode
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| URL | https://geonode.com |
|
||||
| Types | Rotating residential, static residential (ISP), datacenter |
|
||||
| Pool Size | 10M+ residential IPs |
|
||||
| Countries | 190+ countries; country + city targeting |
|
||||
| Pricing (PAYG) | $3.00/GB |
|
||||
| Pricing (Starter plan) | From $1.00/GB (subscription) |
|
||||
| Pricing (Business plan) | From $0.50/GB |
|
||||
| Sticky Sessions | Configurable, up to 24 hours |
|
||||
| Auth Method | Username:password; whitelist IP |
|
||||
| Protocols | HTTP, HTTPS, SOCKS5 |
|
||||
| Min Purchase | No minimum for PAYG |
|
||||
| Trial | No formal trial; $2,250 proxy credit on first purchase (promotional) |
|
||||
| ToS scraping | Explicitly permitted for commercial use |
|
||||
| Performance | Trustpilot 4.7/5; latency anomalies reported on Reddit |
|
||||
|
||||
Geonode advertises $0.50/GB on the Business plan and up to 24-hour sticky sessions — both market-leading for a mid-tier provider. The PAYG rate of $3.00/GB with no minimum results in approximately $18/month for 6 GB.
|
||||
|
||||
The 10M IP pool is the smallest among recommended providers, meaning IP reuse frequency is higher. For 14,000 requests/day this is still fine — at 10M IPs cycling uniformly, each IP would appear roughly once every 700 days at that volume. In practice pools are not uniform, so some IPs will be reused sooner.
|
||||
|
||||
The reported Reddit latency anomalies (up to 800 seconds for some requests) are concerning for a latency-sensitive extraction loop. Test against a sample before committing; the $3.00/GB PAYG is not cheap enough to absorb high retry overhead.
|
||||
|
||||
---
|
||||
|
||||
### 1.10 PacketStream
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| URL | https://packetstream.io |
|
||||
| Types | Rotating residential, static residential |
|
||||
| Pool Size | 45–72M+ residential IPs (P2P network) |
|
||||
| Countries | 102–195 countries; country + city targeting |
|
||||
| Pricing | $1.00/GB flat |
|
||||
| Sticky Sessions | Supported |
|
||||
| Auth Method | Username:password |
|
||||
| Protocols | HTTP, HTTPS, SOCKS5 |
|
||||
| Min Purchase | $50 deposit (credit persists indefinitely) |
|
||||
| Trial | No formal trial |
|
||||
| ToS scraping | General commercial use permitted |
|
||||
|
||||
PacketStream's $1.00/GB flat rate with no tiers or subscriptions is extremely simple and competitive. The $50 minimum deposit is the main friction point but credit persists indefinitely. SOCKS5 and city targeting are included at no extra charge.
|
||||
|
||||
The P2P model (volunteer peers share their bandwidth) means IP quality and availability vary by geography. For Europe (Spain, Germany, France — primary Playtomic markets), the peer density should be adequate. The latency variance inherent in P2P networks adds noise to extraction timing. For a background extraction job running overnight, this is not a significant issue. At $1.00/GB for 6–10 GB/month, cost is $6–10/month — comparable to DataImpulse.
|
||||
|
||||
---
|
||||
|
||||
### 1.11 Proxy-Cheap
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| URL | https://www.proxy-cheap.com |
|
||||
| Types | Rotating residential, ISP, datacenter, mobile |
|
||||
| Pool Size | 6M+ residential IPs |
|
||||
| Countries | 180+ countries; city targeting |
|
||||
| Pricing (residential) | $2.99/GB |
|
||||
| Sticky Sessions | Supported |
|
||||
| Auth Method | Username:password |
|
||||
| Protocols | HTTP, HTTPS, SOCKS5 |
|
||||
| Min Purchase | No stated minimum |
|
||||
| Trial | No formal trial |
|
||||
| ToS scraping | Permitted |
|
||||
|
||||
At $2.99/GB with no minimum and SOCKS5 support: 6 GB/month = $18/month. The 6M IP pool is small. More expensive than DataImpulse ($1.00/GB), PacketStream ($1.00/GB), or Evomi ($0.99/GB PAYG) without a clear advantage. The service is better reviewed for ISP proxies than rotating residential. Viable if preferred on other criteria but not the first choice.
|
||||
|
||||
---
|
||||
|
||||
### 1.12 ProxyEmpire
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| URL | https://proxyempire.io |
|
||||
| Types | Rotating residential, static residential (ISP), mobile/4G |
|
||||
| Pool Size | Not publicly stated |
|
||||
| Countries | 195+ countries; country + city + ASN targeting |
|
||||
| Pricing (rotating residential PAYG) | $3.50/GB (1 GB) → $1.50/GB (1,000 GB/month subscription) |
|
||||
| Sticky Sessions | Supported; unused GB never expires (unlimited rollover) |
|
||||
| Auth Method | Username:password; HTTP and SOCKS5 |
|
||||
| Protocols | HTTP, HTTPS, SOCKS5 |
|
||||
| Min Purchase | $1.97 trial package |
|
||||
| Trial | $1.97 introductory package |
|
||||
| ToS scraping | Permitted; ethical use policy |
|
||||
| Performance | 99%+ success rate (self-reported; limited independent benchmarks) |
|
||||
|
||||
ProxyEmpire's $1.97 trial is the cheapest entry point among all providers — adequate for a live test against the Playtomic API without financial commitment. The unlimited rollover policy (unused GB never expires across months) is genuinely useful for bursty extraction patterns. At $3.50/GB PAYG for 6 GB/month: $21/month — comparable to Geonode at $3.00/GB. ASN-level targeting is a differentiator for precise geo-targeting.
|
||||
|
||||
---
|
||||
|
||||
### 1.13 Infatica
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| URL | https://infatica.io |
|
||||
| Types | Rotating residential, mobile, datacenter |
|
||||
| Pool Size | 20M+ residential IPs |
|
||||
| Countries | 195+ countries; city targeting |
|
||||
| Pricing (PAYG) | $4.00/GB |
|
||||
| Pricing (Light plan) | $96/month (25 GB = $3.84/GB) |
|
||||
| Pricing (trial) | $4 for 1 GB / 7 days |
|
||||
| Sticky Sessions | Supported |
|
||||
| Auth Method | Username:password |
|
||||
| Protocols | HTTP, HTTPS (no SOCKS5) |
|
||||
| Min Purchase | $4 (trial); $96/month for subscription |
|
||||
| Trial | $4 trial (1 GB, 7 days) |
|
||||
| ToS scraping | Permitted |
|
||||
| Performance | 94.30% success rate (Proxyway 2025) |
|
||||
|
||||
Infatica's 94.30% success rate in Proxyway testing is lower than IPRoyal (99.56%), DataImpulse (99.66%), SOAX (99.95%), and Decodo (99.86%). For a scraper where 6% of requests fail, that is approximately 840 failed venue lookups per day — requiring a robust retry system. At $4.00/GB PAYG it is also not cheap. The $4 trial allows quick validation. Not recommended as primary for this use case.
|
||||
|
||||
---
|
||||
|
||||
## 2. Budget Residential Providers (Strong Value)
|
||||
|
||||
### 2.1 DataImpulse
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| URL | https://dataimpulse.com |
|
||||
| Types | Rotating residential, mobile |
|
||||
| Pool Size | 90M+ residential IPs |
|
||||
| Countries | 195+ countries; country + city targeting |
|
||||
| Pricing | $1.00/GB (never expires; no monthly minimum) |
|
||||
| Sticky Sessions | Up to 30 minutes |
|
||||
| Auth Method | Username:password |
|
||||
| Protocols | HTTP, HTTPS, SOCKS5 |
|
||||
| Min Purchase | No minimum |
|
||||
| Trial | No formal trial; small purchases from $1 |
|
||||
| ToS scraping | Permitted |
|
||||
| Performance | 99.66% success rate (Proxyway 2025) |
|
||||
|
||||
DataImpulse at $1.00/GB with non-expiring credit and a 90M+ pool is the standout value pick for this use case. The 99.66% benchmarked success rate (Proxyway 2025) is excellent for a budget provider — better than Infatica, close to IPRoyal. No monthly subscription, no credit expiry. At 6–10 GB/month: $6–10/month total.
|
||||
|
||||
Country + city targeting and 30-minute sticky sessions cover all requirements. SOCKS5 support is a bonus. The main unknown is IP quality against Playtomic specifically (residential IPs from smaller providers are sometimes flagged in geographic clusters). Test first with a $5–10 credit load.
|
||||
|
||||
---
|
||||
|
||||
### 2.2 Evomi
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| URL | https://evomi.com |
|
||||
| Types | Rotating residential, mobile, datacenter |
|
||||
| Pool Size | 5–10M+ residential IPs |
|
||||
| Countries | 150+ countries; city targeting |
|
||||
| Pricing (PAYG) | $0.99/GB — no expiry, no commitment |
|
||||
| Pricing (Core subscription) | $0.49/GB — $49.99/month for 100 GB |
|
||||
| Sticky Sessions | Supported |
|
||||
| Auth Method | Username:password |
|
||||
| Protocols | HTTP, HTTPS, SOCKS5 |
|
||||
| Min Purchase | No stated minimum for PAYG |
|
||||
| Trial | Money-back guarantee: full refund if <1 GB or <10% of plan used; credit card required |
|
||||
| ToS scraping | Permitted |
|
||||
|
||||
Evomi's advertised $0.49/GB requires a $49.99/month Core subscription (100 GB). At 6–10 GB/month that is terrible value — you pay for 90+ GB you will not use. The effective price for this use case is the PAYG rate of **$0.99/GB**, which is essentially identical to DataImpulse ($1.00/GB). The "free trial" is a money-back guarantee rather than a true no-cost trial: you pay, test, and request a refund if you have used less than 1 GB or 10% of the plan. A credit card is required.
|
||||
|
||||
At $0.99/GB PAYG for 6–10 GB/month: $6–10/month — the same cost as DataImpulse. The decision between them is therefore purely on reliability data, where DataImpulse has a published Proxyway independent benchmark (99.66% success rate) and Evomi does not. The 5–10M pool is also notably smaller. The money-back guarantee still enables low-risk validation before committing further spend.
|
||||
|
||||
---
|
||||
|
||||
### 2.3 922Proxy
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| URL | https://www.922proxy.com |
|
||||
| Types | Rotating residential, static residential, mobile |
|
||||
| Pool Size | 200M+ claimed |
|
||||
| Countries | 190+ countries; country + city + ZIP targeting |
|
||||
| Pricing (rotating residential) | $0.77/GB |
|
||||
| Pricing (static) | $0.16/IP/day |
|
||||
| Sticky Sessions | Supported |
|
||||
| Auth Method | Username:password; client application |
|
||||
| Protocols | HTTP, HTTPS, SOCKS5 |
|
||||
| Min Purchase | No stated minimum |
|
||||
| Trial | No formal trial |
|
||||
| ToS scraping | Permitted; operated from Asia-Pacific |
|
||||
|
||||
922Proxy advertises 200M+ IPs at $0.77/GB — cheaper than DataImpulse ($1.00/GB) and Evomi PAYG ($0.99/GB). The large claimed pool is promising. However, 922Proxy is an Asia-Pacific operation with less visibility in Western proxy benchmarks. IP geographic distribution may skew toward Asia-Pacific rather than Europe, which matters for Playtomic's Spain/Germany focus. Worth testing if DataImpulse is unavailable or saturated, but verify European IP availability first.
|
||||
|
||||
---
|
||||
|
||||
## 3. ISP / Static Residential Strategy
|
||||
|
||||
If Playtomic's per-IP rate limit resets daily (most common configuration), a static pool of ISP proxies round-robined across workers is potentially the cheapest and most reliable solution — avoiding the latency variance of P2P residential networks.
|
||||
|
||||
| Provider | ISP Pricing | Bandwidth | 30-IP Pool Cost | Notes |
|
||||
|----------|-------------|-----------|-----------------|-------|
|
||||
| Webshare | $0.30/IP/month | Unlimited | $9/month | Cheapest option; static residential-quality IPs |
|
||||
| Oxylabs | $1.15–$1.60/IP/month | Unlimited | $35–48/month | Enterprise-grade; lower blocking risk |
|
||||
| Bright Data | From $2.80/IP/month | Unlimited | $84/month | Best IP quality; high cost |
|
||||
|
||||
At 14,000 requests/day distributed across 30 IPs: ~467 req/IP/day — below the ~1,000/IP observed soft limit. Replace blocked IPs as they accumulate. Webshare allows adding/replacing IPs ad hoc.
|
||||
|
||||
**If ISP IP ranges are pre-blocked by Playtomic** (common for some ISP providers), fall back to rotating residential. The ISP test is worth running first before committing to a rotating plan.
|
||||
|
||||
---
|
||||
|
||||
## 4. Port-Based / Unlimited Bandwidth Providers (Not Recommended)
|
||||
|
||||
### 4.1 Shifter (formerly Microleaves)
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| URL | https://shifter.io |
|
||||
| Pool Size | 31M+ residential IPs |
|
||||
| Pricing | $299/month for 25 ports (unlimited bandwidth) |
|
||||
| Min Purchase | $299/month |
|
||||
|
||||
Designed for 1 TB+/month operations. The $299/month minimum is 30–60x more than the actual cost of 6 GB/month at DataImpulse. Not appropriate for this use case.
|
||||
|
||||
---
|
||||
|
||||
### 4.2 Storm Proxies
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| URL | https://stormproxies.com |
|
||||
| Pool Size | 20M+ residential IPs |
|
||||
| Countries | USA and EU only (no country-level selection) |
|
||||
| Pricing | 1 port: $19/month; 5 ports: $50/month |
|
||||
| Sticky Sessions | 5-minute rotation interval (fixed) |
|
||||
| Protocols | HTTP, HTTPS |
|
||||
|
||||
Storm Proxies at $19/month for unlimited bandwidth is tempting on paper. However, the geographic restriction to USA/EU with no country-level selection means IPs may not be Spanish/European residential as needed. The fixed 5-minute rotation interval cannot be adjusted. Not flexible enough for this use case.
|
||||
|
||||
---
|
||||
|
||||
## 5. Mobile / 4G Proxies (Reserve Option)
|
||||
|
||||
| Provider | Mobile Pricing | Performance |
|
||||
|----------|---------------|-------------|
|
||||
| SOAX | $7–$15/GB | 0.57s, 99.94% success (Proxyway 2025 — best mobile) |
|
||||
| Decodo | $7–$12/GB | Excellent |
|
||||
| Oxylabs | $8–$15/GB | Enterprise-grade |
|
||||
| Bright Data | $8–$15/GB | Largest mobile pool |
|
||||
|
||||
Mobile proxies use 4G/LTE carrier IPs — the hardest type to block without affecting real users. Costs are 5–10x residential. Not recommended until Playtomic demonstrates active blocking of residential IPs from established providers.
|
||||
|
||||
---
|
||||
|
||||
## 6. Recommended Setup for Playtomic Extraction
|
||||
|
||||
### Phase 1 — Validation
|
||||
|
||||
Test three products simultaneously against a sample of 500 venues each:
|
||||
|
||||
1. **Evomi** — use the money-back guarantee (credit card required; refund if <1 GB used); test $0.99/GB PAYG against ~500 venues
|
||||
2. **DataImpulse** — add $10 credit; test $1.00/GB tier with 90M+ pool against the same venues
|
||||
3. **Webshare static residential** — sign up for 10 ISP IPs ($3/month); test whether static IPs work
|
||||
|
||||
Compare: success rate, 429 rate, response time, connection errors across all three.
|
||||
|
||||
**Decision tree after Phase 1:**
|
||||
- Evomi >95% success → Evomi as primary ($6–10/month at $0.99/GB PAYG)
|
||||
- Evomi <95%, DataImpulse >98% → DataImpulse primary ($6–10/month)
|
||||
- Webshare static passes (>98% success) → Webshare static at $9/month flat (simplest setup)
|
||||
- All fail → escalate to IPRoyal sticky ($1.75/GB) or SOAX PAYG ($4.00/GB)
|
||||
|
||||
### Phase 2 — Production Configuration
|
||||
|
||||
**Primary recommended:** DataImpulse at $1.00/GB
|
||||
- Expected monthly cost: $6–10/month for 6–10 GB
|
||||
- Non-expiring credit (no waste on unused GB)
|
||||
- 99.66% benchmarked success rate
|
||||
- 30-minute sticky sessions for multi-step venue crawls
|
||||
- 90M+ IP pool with country + city targeting
|
||||
|
||||
**Fallback:** IPRoyal sticky residential at $1.75/GB
|
||||
- Pre-load $20 of credit
|
||||
- Activate when DataImpulse returns sustained errors or 429s
|
||||
- 7-day sticky sessions for maximum session stability
|
||||
|
||||
**Integration pattern (Python):**
|
||||
|
||||
```python
|
||||
import hashlib
|
||||
|
||||
def get_proxy_url(venue_id: str, provider: str = "dataimpulse") -> str:
|
||||
"""Return a sticky proxy URL with a deterministic session ID per venue."""
|
||||
# Hash venue_id to a session bucket (0–999)
|
||||
session_id = int(hashlib.md5(venue_id.encode()).hexdigest(), 16) % 1000
|
||||
|
||||
if provider == "dataimpulse":
|
||||
host = "gate.dataimpulse.com"
|
||||
port = 14433
|
||||
user = f"username-country-ES-session-{session_id}"
|
||||
password = "your_password"
|
||||
elif provider == "iproyal":
|
||||
host = "geo.iproyal.com"
|
||||
port = 12321
|
||||
user = f"username_country-ES_session-{session_id}"
|
||||
password = "your_password"
|
||||
|
||||
return f"http://{user}:{password}@{host}:{port}"
|
||||
```
|
||||
|
||||
This distributes 14,000 venues across 1,000 session buckets, so each session handles ~14 venues/day. With 30-minute sticky sessions (DataImpulse) or 7-day sticky (IPRoyal), each bucket retains its IP for all requests to its assigned venues. Per-IP daily load: ~14 requests × (number of API calls per venue). Very safe.
|
||||
|
||||
**Set `PROXY_URLS` in `.env.prod.sops`:**
|
||||
|
||||
```
|
||||
PROXY_URLS=http://user:pass@gate.dataimpulse.com:14433,http://user:pass@gate.dataimpulse.com:14433
|
||||
EXTRACT_WORKERS=4
|
||||
```
|
||||
|
||||
Use the same endpoint multiple times to create N workers — the sticky session logic differentiates them via session IDs in the username parameter. Or use multiple distinct proxy URLs if the provider assigns different IPs per credential pair.
|
||||
|
||||
### Budget Summary
|
||||
|
||||
| Scenario | Provider | Est. Monthly Cost | Notes |
|
||||
|----------|----------|-------------------|-------|
|
||||
| Comparable to DataImpulse | Evomi | $6–10/month | $0.99/GB PAYG ($0.49/GB needs $49.99/mo 100 GB plan — not viable at this volume); money-back guarantee |
|
||||
| **Best value** | **DataImpulse** | **$6–10/month** | **$1.00/GB; strong benchmarks; no expiry** |
|
||||
| Static ISP pool | Webshare | $9/month flat | 30 IPs × $0.30; unlimited BW; test ISP blocking first |
|
||||
| PAYG reliable | IPRoyal sticky | $10–18/month | $1.75/GB; 7-day sessions; well-established |
|
||||
| PAYG mid-tier | PacketStream | $6–10/month | $1.00/GB; $50 deposit; P2P quality variance |
|
||||
| PAYG mid-tier | Geonode PAYG | $18–30/month | $3.00/GB; 24-hr sticky; test latency first |
|
||||
| High-reliability | SOAX PAYG | $24–40/month | $4.00/GB; 99.95% success; justified if others fail |
|
||||
| Enterprise-grade | Decodo Micro | $80/month | 99.86% success; overkill at current scale |
|
||||
| Enterprise-grade | Bright Data PAYG | $31+/month | ~$5.25/GB at promo; reverts to $10.50/GB |
|
||||
|
||||
For the stated budget of €20–100/month, DataImpulse at $6–10/month leaves substantial headroom. The money saved versus Decodo or Bright Data can fund a secondary provider for redundancy, or be reserved to escalate to mobile proxies if Playtomic deploys more aggressive anti-bot measures.
|
||||
|
||||
---
|
||||
|
||||
## 7. Additional Providers
|
||||
|
||||
### 7.1 Nimbleway
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| URL | https://www.nimbleway.com |
|
||||
| Types | Rotating residential, ISP/unlocker, datacenter, mobile |
|
||||
| Pool Size | Millions of IPs (proprietary; smaller than Oxylabs/NetNut) |
|
||||
| Countries | Nearly every country; country, state, city targeting |
|
||||
| Pricing (PAYG) | $8.00/GB |
|
||||
| Pricing ($300/mo plan) | $14.00/GB (21 GB included) |
|
||||
| Pricing ($4,000/mo plan) | $7.00/GB |
|
||||
| Sticky Sessions | 1–30 minutes (10 min inactivity timeout) |
|
||||
| Auth Method | Username:password |
|
||||
| Protocols | HTTP, HTTPS, SOCKS5 (recently added) |
|
||||
| Min Purchase | $300/month; free trial requires contacting sales |
|
||||
| Trial | Sales-gated; no self-serve trial |
|
||||
| ToS scraping | Explicitly built for web data collection; GDPR/CCPA-compliant; KYC process |
|
||||
| Performance | ~0.25s response time (claimed); 99.9% uptime; AI-assisted IP routing |
|
||||
|
||||
Nimbleway is a premium-tier provider aimed at enterprise data engineering teams — not casual or low-volume scrapers. Its proprietary residential network is quality-over-quantity: the pool is smaller than Oxylabs or Bright Data, but Nimble compensates with intelligent IP optimisation, built-in anti-detection routing, and an AI-layered product stack (Nimble API, Nimble Browser, Nimble IP). The 0.25s response time claim is genuinely fast and geo-targeting granularity is excellent.
|
||||
|
||||
The fatal problem for this use case is the pricing model. The $300/month minimum gives roughly 21 GB at $14/GB — 2–3x the bandwidth needed for ~6–10 GB/month. The PAYG $8/GB rate is more reasonable but the trial is sales-gated. Nimbleway targets teams spending $300–$4,000/month and makes no accommodation for low-volume users.
|
||||
|
||||
Unless Playtomic becomes extremely difficult to scrape and requires elite anti-bot bypass, Nimbleway is overengineered and overpriced for 14,000 requests/day. The $300/month floor alone exceeds the entire stated budget ceiling. Keep on a shortlist if usage scales dramatically or if other providers start failing systematically.
|
||||
|
||||
---
|
||||
|
||||
### 7.2 Froxy
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| URL | https://froxy.com |
|
||||
| Types | Rotating residential, mobile (4G/LTE), SOCKS5 proxies |
|
||||
| Pool Size | 10M+ IPs worldwide |
|
||||
| Countries | 200+ countries; city-level targeting |
|
||||
| Pricing (entry plan) | ~$12.00/GB (5 GB for $60/month) |
|
||||
| Pricing (scale) | ~$1.95/GB at $2,000/month |
|
||||
| Sticky Sessions | 10–60 minutes (IP reassigned on inactivity) |
|
||||
| Auth Method | Username:password |
|
||||
| Protocols | HTTP, HTTPS, SOCKS4, SOCKS5 |
|
||||
| Min Purchase | $1.99 trial (3 days / 100 MB); entry plan ~$60/month (5 GB) |
|
||||
| Trial | $1.99 / 100 MB / 3 days |
|
||||
| ToS scraping | Permissive for data collection; no anti-scraping clauses in public docs |
|
||||
| Performance | ~70% success rate (independent tests); 340–800+ ms latency; Froxy claims 99% |
|
||||
|
||||
Froxy is a mid-tier European-facing provider with a clean dashboard, SOCKS4/5 support, and a genuine low-cost entry point via the $1.99 / 100 MB trial — the most honest validation option in this comparison. Port-based rotation with configurable intervals (90–3,600 seconds) gives fine-grained control over IP churn rate. The protocol breadth works with any Python HTTP library.
|
||||
|
||||
The core problems are pricing and performance. At low volumes, Froxy is expensive per GB: 5 GB for $60 = $12/GB. Independent testing puts the real-world success rate at ~70% and latency at 340–800+ ms — measurably worse than premium providers and several budget alternatives. The 10M IP pool is on the smaller side with notable IP recycling reported.
|
||||
|
||||
Froxy is borderline-viable if you accept higher latency and occasional failures that the extractor's retry logic absorbs. Use the $1.99 trial first; if success rates on the actual Playtomic endpoint are acceptable, the $60/month entry plan fits within budget — but you are paying a premium per GB. Treat it as "test first, commit if it works" rather than a confident primary choice.
|
||||
|
||||
---
|
||||
|
||||
### 7.3 LunaProxy — ⛔ DO NOT USE
|
||||
|
||||
> **Disqualified January 2026.** LunaProxy was revealed to be a front brand operated by IPIDEA, a malicious residential proxy network disrupted by Google Threat Intelligence Group (GTIG) and Cloudflare. The "residential IPs" were sourced from malware-infected devices enrolled without user knowledge via rogue SDKs distributed to developers. In January 2026 Google obtained court orders and partnered with Cloudflare to take down IPIDEA's command-and-control infrastructure, cutting the network by ~40%. Over 550 tracked threat groups had used IPIDEA exit nodes in a single week.
|
||||
>
|
||||
> Using LunaProxy routes your traffic through compromised devices belonging to unknowing victims. Beyond the ethical problem, the network is actively degraded and unreliable. Do not use.
|
||||
>
|
||||
> Reference: [Google Cloud Blog — Disrupting the World's Largest Residential Proxy Network](https://cloud.google.com/blog/topics/threat-intelligence/disrupting-largest-residential-proxy-network)
|
||||
|
||||
---
|
||||
|
||||
### 7.4 Proxy-seller
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| URL | https://proxy-seller.com |
|
||||
| Types | ISP (static residential), rotating residential, datacenter, mobile |
|
||||
| Pool Size | 20M+ rotating residential IPs; 400+ ISP networks / 800+ subnets |
|
||||
| Countries | 220+ countries/regions; city and ISP targeting; ISP covers 22+ countries |
|
||||
| Pricing (rotating residential bulk) | $0.70/GB; PAYG $7/GB |
|
||||
| Pricing (ISP static) | $1–$2/IP/month (volume discounts up to 57%) |
|
||||
| Sticky Sessions | Residential: up to 24 hours; ISP: static (permanent) |
|
||||
| Auth Method | Username:password; IP whitelisting |
|
||||
| Protocols | HTTP, HTTPS, SOCKS5 |
|
||||
| Min Purchase | ~$1 (1 GB residential); ISP minimum varies |
|
||||
| Trial | No formal free trial; ~$1 entry |
|
||||
| ToS scraping | Positioned for scraping and privacy use; Trustpilot 4.7/5 (500+ reviews) |
|
||||
| Performance | ~91–92% success rate (SERP tests); 1 Gbps channel; 99% uptime; DNS leak inconsistency in one independent test |
|
||||
|
||||
Proxy-seller has two genuinely distinct product lines. For rotating residential proxies, the $0.70/GB pricing at volume is competitive and approaches LunaProxy territory, though the PAYG $7/GB rate is high without upfront commitment. The 24-hour sticky session on residential is exceptional — the longest in this comparison for a rotating product. For the ISP line, $1–2/IP/month for dedicated static residential IPs is competitive and useful for account-based access or distributing requests across a fixed pool of IPs.
|
||||
|
||||
The independent security testing revealed a DNS leak issue where anti-fraud databases classified connections inconsistently (residential vs. corporate vs. proxy). This is material concern for high-security targets but unlikely to matter for Playtomic's public API. The 92% SERP success rate is solid though it drops on well-defended targets. City-level targeting across 220+ GEOs is a genuine differentiator if appearing geographically local to Spain is important.
|
||||
|
||||
Proxy-seller is a credible option particularly if you value long sticky sessions, ISP/city targeting granularity, or want a single vendor for both rotating residential and ISP static proxies. The DNS inconsistency is worth monitoring but unlikely to cause failures against a mobile API target. The ~$1 minimum makes it trivially easy to test.
|
||||
|
||||
---
|
||||
|
||||
### 7.5 ProxyScrape
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| URL | https://proxyscrape.com |
|
||||
| Types | Rotating residential, shared datacenter (premium), dedicated datacenter; also maintains a well-known free public proxy list |
|
||||
| Pool Size | 48M+ residential IPs (some sources cite 55M+) |
|
||||
| Countries | 195+ countries; country, state, city targeting |
|
||||
| Pricing (5 GB plan) | $4.85/GB ($24.25/month) |
|
||||
| Pricing (20 GB plan) | $4.50/GB ($90/month) |
|
||||
| Pricing (1 GB test) | ~$2 |
|
||||
| Sticky Sessions | Up to 120 minutes |
|
||||
| Auth Method | Username:password; IP whitelisting |
|
||||
| Protocols | HTTP, HTTPS, SOCKS5 |
|
||||
| Min Purchase | $2 (1 GB test); 3-day / up to 1 GB refund policy |
|
||||
| Trial | 3-day refund policy functions as a trial |
|
||||
| ToS scraping | Explicitly positioned for legitimate web scraping; emphasises ethical IP sourcing |
|
||||
| Performance | ~0.8s response time; 99%+ uptime claimed; some reviews report IPs labelled residential that behave as ISP/datacenter |
|
||||
|
||||
ProxyScrape is best known as the source of large free public proxy lists, and that legacy creates both an opportunity and a perception problem. The paid residential product is a genuinely separate tier: 48M+ IPs, 195+ countries, city-level targeting, 120-minute sticky sessions (the joint-longest in this comparison), and SOCKS5 support. The 3-day refund policy on up to 1 GB effectively functions as a trial — pay $2, test against Playtomic, request a refund if it fails. Data does not expire monthly, which suits variable scraping workloads.
|
||||
|
||||
The concerns are meaningful. Independent reviews report that some IPs advertised as residential resolve to ISP or datacenter ranges when tested by anti-fraud tools, suggesting imprecise pool labelling. The 0.8s average response time is acceptable but slower than Nimbleway (0.25s); for 14,000 requests/day at roughly one request every six seconds, latency is not a bottleneck anyway. Trustpilot feedback is polarised with recurring mentions of support delays and filter reliability issues.
|
||||
|
||||
For the Playtomic workload, ProxyScrape is functionally adequate — pool is large enough, city targeting works, sticky sessions are long, and the $2 test-run is the easiest entry point in this comparison. Monthly cost for 6–10 GB would be $27–$49 on the 5 GB plan, within budget but worse value per dollar than LunaProxy. The main risk is pool quality inconsistency — if Playtomic checks IP type and blocks datacenter ranges, mislabelled proxies would silently inflate failure rates. Treat it as a solid backup or test-first option.
|
||||
|
||||
---
|
||||
|
||||
## Sources
|
||||
|
||||
- [Bright Data Residential Pricing](https://brightdata.com/pricing/proxy-network/residential-proxies)
|
||||
- [Oxylabs Residential Pricing](https://oxylabs.io/pricing/residential-proxy-pool)
|
||||
- [Oxylabs ISP Proxies Pricing](https://oxylabs.io/pricing/isp-proxies)
|
||||
- [Decodo Residential Pricing](https://decodo.com/proxies/residential-proxies/pricing)
|
||||
- [IPRoyal Pricing](https://iproyal.com/pricing/residential-proxies/)
|
||||
- [Rayobyte Pricing](https://rayobyte.com/pricing/)
|
||||
- [NetNut Residential Proxies](https://netnut.io/residential-proxies/)
|
||||
- [SOAX Pricing](https://soax.com/pricing)
|
||||
- [Webshare Pricing](https://www.webshare.io/pricing)
|
||||
- [Webshare Static Residential](https://www.webshare.io/static-residential-proxy)
|
||||
- [Geonode Pricing](https://geonode.com/pricing/residential-proxies)
|
||||
- [PacketStream Pricing](https://packetstream.io/pricing/)
|
||||
- [Proxy-Cheap Rotating Residential](https://www.proxy-cheap.com/services/rotating-residential-proxies)
|
||||
- [ProxyEmpire Pricing](https://proxyempire.io/pricing-table/)
|
||||
- [Infatica Pricing](https://infatica.io/pricing/)
|
||||
- [DataImpulse Residential](https://dataimpulse.com/residential-proxies/)
|
||||
- [Evomi Residential](https://evomi.com/product/residential-proxies)
|
||||
- [922Proxy Residential](https://www.922proxy.com/residential-proxies)
|
||||
- [Shifter Pricing](https://shifter.io/pricing)
|
||||
- [Storm Proxies Residential](https://stormproxies.com/residential_proxy.html)
|
||||
- [Proxyway Best Residential Proxies 2026](https://proxyway.com/best/residential-proxies)
|
||||
- [Proxyway Market Research 2025](https://proxyway.com/research/proxy-market-research-2025)
|
||||
- [AIM Multiple Proxy Pricing Comparison](https://research.aimultiple.com/proxy-pricing/)
|
||||
- [Nimbleway Residential Proxies](https://www.nimbleway.com/nimble-ip/residential-proxies)
|
||||
- [Nimbleway Review — Proxyway](https://proxyway.com/reviews/nimbleway-review)
|
||||
- [Nimble Pricing](https://www.nimbleway.com/pricing)
|
||||
- [Froxy Residential Proxies Pricing](https://froxy.com/en/residential-proxies/pricing)
|
||||
- [Froxy Review — StupidProxy](https://www.stupidproxy.com/froxy/)
|
||||
- [Froxy Review — BestProxyFinder](https://bestproxyfinder.com/providers/froxy-review/)
|
||||
- [LunaProxy Residential Pricing](https://www.lunaproxy.com/pricing/residential-proxies/)
|
||||
- [LunaProxy Review — Proxyway](https://proxyway.com/reviews/lunaproxy-proxies)
|
||||
- [Proxy-seller Residential Proxies](https://proxy-seller.com/residential-proxies/)
|
||||
- [Proxy-seller ISP Proxies](https://proxy-seller.com/isp/)
|
||||
- [Proxy-seller Review — Proxyway](https://proxyway.com/reviews/proxy-seller-proxies)
|
||||
- [ProxyScrape Residential Proxies](https://proxyscrape.com/products/residential-proxies)
|
||||
- [ProxyScrape Pricing](https://proxyscrape.com/pricing)
|
||||
- [ProxyScrape Review — DiCloak](https://dicloak.com/blog-detail/proxyscrape-2025-review-complete-analysis-of-features-performance-pricing-and-security)
|
||||
@@ -60,7 +60,7 @@ def extract(
|
||||
|
||||
for page in range(MAX_PAGES):
|
||||
if cycler:
|
||||
proxy = cycler["next_proxy"]()
|
||||
proxy = cycler()
|
||||
if proxy:
|
||||
session.proxies = {"http": proxy, "https": proxy}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user