What an account gives you
One account, one home directory, and the pieces a small Python project needs. Nothing to patch, no web server to configure.
A web app on HTTPS
Your WSGI app, Flask or Django or anything else, served at yourname.aodrun.com with a certificate we renew.
Scheduled jobs
Run a script every day or every hour. Developer accounts get 20 scheduled jobs and one task that stays running.
MySQL databases
Up to five MariaDB databases on the Developer plan, on a separate database server, reached over TLS.
Consoles
Open a Bash, Python or IPython console in your account to install packages into a virtualenv or run a migration.
Password protection
Put a username and password in front of a site that is not ready for the public yet.
Backups
Your files and databases are backed up every night, and database backups are also copied off site.
Built to be driven by a script or an assistant
Everything you can do in an account is an API call. The API follows the PythonAnywhere API, so existing scripts and tools mostly need only a new address.
The MCP server puts the same actions in front of Claude and other assistants that speak the Model Context Protocol. Each request carries your own token, and the server stores nothing.
- Upload, read and delete files
- Create, reload, enable and disable web apps
- Manage scheduled and always-on tasks
- Create databases and reset the MySQL password
- Check today's CPU use against your allowance
$ curl -H "Authorization: Token $AODRUN_TOKEN" \ https://api.aodrun.com/api/v0/user/ana/cpu/ { "daily_cpu_limit_seconds": 5000, "daily_cpu_total_usage_seconds": 41.7, "next_reset_time": "2026-11-11T00:00:00-06:00" }
your code runs in a gVisor sandbox as its own Linux user with a read-only system image and CPU, memory, process and disk limits per account on servers AOD owns in Tulsa
Your code runs in its own sandbox
Shared Python hosting means strangers run code on the same machine. Each AOD Run account runs inside its own gVisor sandbox under its own user, so another account cannot see your files or processes.
AOD Run is operated by Admin on Demand, a managed hosting company in Tulsa, Oklahoma. The servers are ours, and the people who answer support tickets are the people who run them.
Two plans
Start free to try it with a small app. Move to Developer when you need a database, scheduled jobs or open internet access.
Free
For trying things out. We approve free accounts by hand.
- 1 web app at yourname.aodrun.com
- 100 CPU seconds a day
- 512 MB of disk
- 2 consoles
- Outbound access to an allow list of sites, such as PyPI and GitHub
- API and MCP access
Developer
For a real project. Ready as soon as you order.
- 1 web app with 3 workers
- 5,000 CPU seconds a day
- 5 GB of disk
- 5 MySQL databases
- 20 scheduled jobs and 1 always-on task
- Unrestricted outbound internet access
- API and MCP access
Questions people ask first
Which Python version do I get?
Python 3.12. You install your own packages into a virtualenv in your home directory, so your dependencies are yours to pin.
What counts as a CPU second?
One second of one processor core doing work for your account. Time your app spends waiting for requests does not count. The allowance resets every day at midnight Central time, and you can read your use from the API at any time.
What happens when I use up the day's CPU allowance?
Your processes keep running, at the lowest priority, until the reset. We do not bill overages and there is nothing to top up.
Why are free accounts approved by hand?
Free hosting attracts abuse, and abuse hurts everyone on the platform. A person looks at each request, usually within a business day.
Will scripts written for PythonAnywhere work?
The API uses the same paths and field names for files, web apps, consoles, scheduled tasks and always-on tasks. Point your script at api.aodrun.com with your AOD Run token and most calls work unchanged.
How do I get help?
Open a ticket from your client area at my.aod.net. Tickets go to AOD's own engineers.
Put your app online today
Order the Developer plan and your account is ready in about a minute. Your API token is waiting in your client area.