Deploy QR & Barcode Generator API on Railway
Self-host a QR & barcode REST API. Unlimited requests. No per-call fees.
Just deployed
Deploy and Host QR & Barcode Generator API on Railway
A production-ready REST API for generating QR codes and barcodes — built with FastAPI and Python, returning SVG or PNG output. Supports QR codes, Code128, EAN-13, EAN-8, UPC-A, Code39, and ISBN-13 from a single stateless GET or POST endpoint. No database. No external dependencies. No per-request fees.
Deploy once on Railway and use it from any application, e-commerce platform, inventory system, or automation workflow — unlimited requests at a flat ~$1–2/month compute cost.
What This Template Deploys
| Service | Purpose |
|---|---|
| Barcode API | FastAPI application — stateless QR and barcode generation served on port 8080. Returns SVG (scalable) or PNG (rasterized) on each request |
Single-service, zero-dependency architecture. No database, no volume, no Redis. Every request is computed and returned in-memory — the lightest possible Railway deployment.
About Hosting QR & Barcode Generator API
Most QR code and barcode generation APIs are third-party SaaS services — your data (product SKUs, URLs, ticket IDs, serial numbers) passes through their servers, you're subject to rate limits, and costs scale with usage volume. Open-source alternatives require Python environment setup, dependency management, and manual server configuration to expose publicly.
Railway deploys this API as a managed container with an automatic HTTPS endpoint, zero manual configuration, and Railway's built-in process management. Because the API is entirely stateless, there's nothing to configure beyond the deploy itself — no environment variables required, no volume to mount, no database to provision.
Typical cost: ~$1–2/month on Railway's Hobby plan — the lowest-cost template in this category. Commercial QR code API services like QR Code Generator Pro charge $9–49/month with request caps. This template gives you unlimited generation requests at flat compute pricing with full data ownership.
Deploy in Under 3 Minutes
- Click Deploy on Railway — the API builds and deploys automatically (~2 minutes)
- No environment variables required — the API is live immediately after build
- Open your Railway-assigned URL — hit
/healthto confirm the API is running - Start generating barcodes and QR codes via GET or POST requests from any application
No SSH. No Python environment setup. No configuration required.
API Reference
| Endpoint | Method | Description |
|---|---|---|
/health | GET | Health check — returns {"status": "ok"} |
/barcode/{format}/{data} | GET | Generate barcode — returns SVG by default |
/barcode | POST | Generate barcode with options — specify format, data, and output type |
/qrcode/{data} | GET | Generate QR code — returns SVG by default |
Supported formats: qrcode, code128, ean13, ean8, upca, code39, isbn13
Output types: svg (scalable, small file size, ideal for print) or png (rasterized,
ideal for web display and image embedding)
Example request:
GET /barcode/code128/PRODUCT-SKU-001
GET /barcode/ean13/5901234123457
GET /qrcode/https://yoursite.com/product/123
Common Use Cases
- Self-hosted alternative to QR Code Generator Pro API — replace $9–49/month SaaS billing with a flat ~$1–2/month Railway deployment; unlimited requests, no rate limits, no product data sent to third-party servers
- E-commerce product label generation — generate EAN-13, UPC-A, or Code128 barcodes for product SKUs and price tags directly from your store backend via REST API call
- Inventory and warehouse management — create barcode labels for stock items on demand; integrate the API endpoint with your inventory system without per-scan or per-label fees
- QR code generation for marketing and events — generate QR codes for landing pages, campaigns, and event tickets from any automation workflow, n8n pipeline, or backend service
- Ticketing and access control — embed QR code generation in ticket issuance workflows; each ticket gets a unique scannable code returned as SVG or PNG
- Shipping and logistics labels — generate Code128 or Code39 barcodes for shipping manifests and parcel labels without relying on carrier API integrations
Configuration
No environment variables are required to run this template. The API deploys and runs with zero configuration.
| Variable | Required | Description |
|---|---|---|
PORT | Auto-set | Railway injects the port automatically — do not set manually |
WORKERS | Optional | Number of Uvicorn worker processes — defaults to 1. Increase for high-concurrency workloads |
LOG_LEVEL | Optional | Uvicorn log level — info (default), warning, or error for production |
Barcode API vs. Third-Party SaaS Services
| This Template (Railway) | QR Code Generator Pro | GoQR.me API | Barcode Monster | |
|---|---|---|---|---|
| Monthly cost | ~$1–2 flat | $9–49/month | Free (rate limited) | $15–50/month |
| Request limits | ✅ Unlimited | ❌ Capped by plan | ❌ Rate limited | ❌ Capped by plan |
| Data ownership | ✅ Your infrastructure | ❌ Third-party servers | ❌ Third-party servers | ❌ Third-party servers |
| Self-hostable | ✅ Yes | ❌ No | ❌ No | ❌ No |
| SVG output | ✅ Yes | ✅ Yes | ❌ PNG only | ✅ Yes |
| No API key required | ✅ Internal use | ❌ API key required | ❌ API key required | ❌ API key required |
| Latency | ✅ Your region | ⚠️ External round-trip | ⚠️ External round-trip | ⚠️ External round-trip |
Dependencies for Barcode API Hosting
- Railway account — Hobby plan (~$1–2/month) is all that's required
- No external services, no API keys, no database
Deployment Dependencies
- Barcode API GitHub Repository — source code
- FastAPI Documentation — API framework reference
- python-barcode Documentation — barcode library
- qrcode Documentation — QR code library
- Railway Documentation — platform reference
Implementation Details
This template deploys a FastAPI application using Railpack's auto-detected Python runtime.
The API is entirely stateless — each request generates a barcode or QR code in-memory and
returns the result directly with no file storage, database writes, or background processing.
SVG output is returned as image/svg+xml. PNG output uses image/png.
The application runs on Uvicorn behind Railway's HTTPS proxy. Port is injected by Railway automatically. No volume mount, no database, and no Redis are required — making this the simplest and lowest-cost template in the Silver Banana catalog.
Frequently Asked Questions
Do I need an API key to use this after deploying? No. The deployed API is open by default — any service that can reach your Railway URL can call it. If you want to restrict access, add an API key middleware layer in the FastAPI code or place Railway's built-in authentication in front of the service.
How much does it cost compared to third-party QR code APIs? Approximately $1–2/month on Railway's Hobby plan with unlimited requests and no rate limits. QR Code Generator Pro charges $9–49/month with request caps. GoQR.me is free but rate-limited and routes your data through external servers. This template gives you unlimited generation at flat infrastructure cost.
Can I use this for commercial product barcodes like EAN-13? Yes. The API generates standards-compliant EAN-13, UPC-A, and ISBN-13 barcodes. For EAN-13, you need a valid 13-digit number — the last digit is a checksum that the library validates. For GS1-registered barcodes on retail products, you still need to purchase a GS1 company prefix separately.
What is the difference between SVG and PNG output? SVG is vector-based — it scales to any size without quality loss and has a smaller file size. Use SVG for print labels, PDF generation, and web display where quality at any size matters. PNG is rasterized at a fixed resolution — use it when you need a bitmap image for systems that don't support SVG input.
Can I call this API from n8n, Make, or Zapier?
Yes. Any HTTP request node in n8n, Make, or Zapier can call this API via a GET request.
Point the HTTP node at /barcode/{format}/{data} or /qrcode/{data} on your Railway URL
and use the returned SVG or PNG in downstream workflow steps.
How do I secure the API if I don't want it publicly accessible? Railway does not offer built-in request authentication at the proxy level for templates. To restrict access, add a simple API key header check in the FastAPI middleware, or deploy the service without a public domain and call it from other Railway services over the private internal network.
Why Deploy QR & Barcode Generator API on Railway?
Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.
By deploying this API on Railway, you get an unlimited QR code and barcode generation endpoint — no per-request fees, no rate limits, no third-party data exposure — at the lowest compute cost of any template in this category.
Template Content