I've resumed working on this after I noticed that Taco Bell's new mobile app is so horribly made that even normal functions like trying to pay with Apple Pay (or just pay in general) don't work correctly. Since the newer versions of the app dropped some of the protections that made it much more difficult to automate account creation, I'm taking a shot at reworking the repo to use an adb based approach instead of browser automation :p
# Archived!
This repo no longer works as Taco Bell has implemented a much more aggressive policy that automatically adds domains to a blocklist for sending mail and rate limits IPs more, both of which makes debugging much harder. Using something like https://smailpro.com/ and manually creating accounts is probably the only solid alternative at the moment, but I might revisit this project in the future when I have more resources for proxies and domains.
An automated account registration and management tool for Taco Bell.
- Playwright stealth and randomization
- Temp email using Mailslurp API (maybe will make my own temp email service later)
- FastAPI + slowapi for rate limiting on account dispensing
Option 1: Docker
Use docker compose, not docker-compose! Verify that you have docker compose installed by using docker compose version
docker compose up -d --buildIdeally use a virtual environment
pip install -r requirements.txt
playwright install chromium --with-deps
python src/server.pyThe server runs on port 8000 by default, but the default port forwarded by docker is 15552. Endpoint rate limit of 5reqs/15min. Modify CORS if you want to serve this on a different port or domain.
Starts the automated registration process.
- Request Body:
{ "first_name": "John", "last_name": "Taco" } - Response: Streaming NDJSON.
{"status": "email_generated", "email": "..."}: Sent immediately when the email is reserved.{"status": "success", "email": "...", "code": "...", "message": "..."}: Sent when registration is complete.
Retrieves a verification code for an existing account.
- Request Body:
{ "email": "user@example.com" } - Responses:
{ "status": "success", "code": "123456" }