APK CreatorXDeveloper documentationOnline
Developer resources

Developer Docs.

A simple guide to turning your HTML, project ZIP, or website link into an Android test APK with our API.

01 / Get started

One endpoint. Your APK.

Send a multipart request and receive a ready-to-download APK.

POSThttps://app-creator-x.ueu.workers.dev/api/v1/build
multipart/form-dataBinary APK responseNo API key required
02 / Request

What to send

Provide an app name, an icon, and one website source.

app_name

Text · Required

The Android launcher name and APK filename. Up to 80 UTF-16 code units and 120 UTF-8 bytes.

html / url

Choose one · Required

Upload an HTML or ZIP file as html, or send an HTTP(S) website address as url.

icon

File · Required

A PNG or JPEG image. It will be resized to fit the app's launcher icon.

Choose one: send either html or url — not both.

Which website file should I upload?

For a single page, upload your .html or .htm file directly. If your project uses multiple pages or separate files such as style.css, script.js and images, put them in a ZIP. Include index.html at the ZIP root or inside one enclosing project folder.

03 / Examples

Try a request

Choose your source and replace the example values with your own.

HTML file CURL
curl --fail-with-body \
  -X POST 'https://app-creator-x.ueu.workers.dev/api/v1/build' \
  -F 'app_name=Pixel Topup' \
  -F 'html=@index.html' \
  -F 'icon=@icon.png' \
  -o 'Pixel Topup.apk'

200 OK Returns binary APK data with a Content-Disposition filename.

04 / Reference

Limits at a glance

A few useful details before you send your request.

10 MiBHTML or ZIP file
10 MiBZIP expanded
6 MiBIcon file
1,000ZIP entries max.

Icons: PNG or JPEG, up to 4 megapixels; interlaced PNG is unsupported. Total request body: up to 16,842,752 bytes including multipart overhead. ZIP64, encrypted ZIPs and ZIP comments are not supported. URL: HTTP(S), max. 2,048 bytes after normalization, no embedded credentials.

One shared queue

Website and API jobs run in arrival order, one at a time, with a 2-second pause after each job. Keep your API connection open while waiting.

Capacity & retries

Up to 100 jobs can wait. Rate limits apply; retry a rejected request later. A lost connection requires a new submission.

05 / Troubleshooting

Response codes

Application errors usually return JSON: {"error":"message"}.

StatusWhat it means
400Missing, invalid, oversized, or unsupported input.
405Unsupported method. Use POST or OPTIONS.
413The request body is too large.
415Use multipart/form-data.
429Too many submissions. Retry later.
500The APK build failed unexpectedly.
503The queue or service is temporarily unavailable.

429 and some 503 responses include Retry-After. Approximate rate limit: 30 API submissions and browser queue joins combined per IP per 60 seconds, per Cloudflare location. Platform errors may return non-JSON responses.

06 / Before you build

Good to know

These APKs are designed for testing, not release signing.

Signing & updates

Each API build gets a new temporary signing key. A later build cannot update an earlier installation, even with the same name. Uninstalling may remove app data.

Files & protection

API files are uploaded for processing; browser builds run locally. Packaged website files are encrypted against casual viewing, not determined reverse engineering. Do not include secrets.

Website links

Link APKs open the live site in an Android WebView. Prefer HTTPS. URLs remain visible in the APK; compatibility varies by site and device.

App identity

The package ID uses a short hash of the app name, so collisions are possible. Changing the name changes the package ID, not text inside your website.

Test on a device. Android 6.0+ WebView behavior and website features can vary. Browser signing keys are stored per website address and device.

Ready to create?

Build in your browser or integrate with the API.

Open APK CreatorX