AOD Run

Host your Python app without running a server

Put a Flask or Django app on its own HTTPS address, add scheduled jobs and a MySQL database, and manage all of it from an API. Or hand the address of our MCP server to Claude and let it deploy for you.

Developer plan is $8 a month. A free plan is available on request.

# upload your app
$ curl -H "Authorization: Token $AODRUN_TOKEN" \
    -F content=@app.py \
    https://api.aodrun.com/api/v0/user/ana/files/path/home/ana/shop/app.py

# create the web app, then reload it
$ curl -H "Authorization: Token $AODRUN_TOKEN" \
    -d domain_name=ana.aodrun.com -d python_version=python312 \
    https://api.aodrun.com/api/v0/user/ana/webapps/
$ curl -X POST -H "Authorization: Token $AODRUN_TOKEN" \
    https://api.aodrun.com/api/v0/user/ana/webapps/ana.aodrun.com/reload/

{"status": "OK"}   # live at https://ana.aodrun.com

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

$0

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
Request a free account

Developer

$8 a month

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
Order Developer

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.