QR Code API (bulk, image/logo support)
Pricing
$4.99 / 1,000 results
QR Code API (bulk, image/logo support)
$0.004 API to generate QR codes with various customization options including colors and custom logo / image.
Pricing
$4.99 / 1,000 results
Rating
5.0
(1)
Developer

Practical Tools
Actor stats
0
Bookmarked
3
Total users
2
Monthly active users
25 days ago
Last modified
Categories
Share
QR Code Generator Actor
An Apify Actor that generates customizable QR codes with support for bulk generation, custom styling, and logo overlays.
Features
- ✅ Generate QR codes for URLs, text, WiFi credentials, or any string content
- ✅ Bulk generation - Generate multiple QR codes in a single run
- ✅ Custom colors - Customize dark and light module colors
- ✅ Multiple formats - Output as PNG (base64 data URL) or SVG
- ✅ Logo overlay - Add your brand logo to the center of QR codes
- ✅ Error correction - Automatic high error correction when using logos
- ✅ Flexible sizing - Customize QR code and logo dimensions
Input
The Actor accepts the following input parameters:
| Parameter | Type | Required | Description | Default |
|---|---|---|---|---|
content | array | ✅ | List of strings to encode as QR codes (URLs, text, etc.) | ["https://example.com"] |
format | string | ❌ | Output format: png or svg | png |
size | integer | ❌ | Width and height of the QR code in pixels (50-2000) | 300 |
colorDark | string | ❌ | Color of dark modules (hex format) | #000000 |
colorLight | string | ❌ | Color of light modules (hex format) | #ffffff |
errorCorrectionLevel | string | ❌ | Error correction level: L (7%), M (15%), Q (25%), or H (30%) | M (auto H with logo) |
logoUrl | string | ❌ | URL of a logo image to overlay on the QR code | - |
logoWidth | integer | ❌ | Logo width in pixels (defaults to 15% of QR code size) | - |
logoHeight | integer | ❌ | Logo height in pixels (defaults to 15% of QR code size) | - |
Input Example
{"content": ["https://example.com","https://apify.com","mailto:hello@example.com"],"format": "png","size": 400,"colorDark": "#1a237e","colorLight": "#e8eaf6","errorCorrectionLevel": "H","logoUrl": "https://example.com/logo.png","logoWidth": 60,"logoHeight": 60}
Output
The Actor saves results to the default dataset. Each item in the output contains:
| Field | Type | Description |
|---|---|---|
originalContent | string | The original input content that was encoded |
qrCodeDataUrl | string | Base64-encoded PNG data URL (when format is png) |
qrCodeSvg | string | SVG markup string (when format is svg) |
Output Example
[{"originalContent": "https://example.com","qrCodeDataUrl": "data:image/png;base64,iVBORw0KGgoAAAANS..."},{"originalContent": "https://apify.com","qrCodeDataUrl": "data:image/png;base64,iVBORw0KGgoAAAANS..."}]
Usage Tips
Logo Overlay
When using a logo overlay:
- The error correction level is automatically set to
H(High - 30%) for better scannability - Logos are automatically sized to 15% of the QR code dimensions (customizable via
logoWidth/logoHeight) - A white background is added around the logo for better contrast
- Supported logo formats: PNG, JPG, SVG
Error Correction Levels
- L (Low) - ~7% error resistance - Best for clean, controlled environments
- M (Medium) - ~15% error resistance - Good general-purpose level
- Q (Quartile) - ~25% error resistance - Better for outdoor use
- H (High) - ~30% error resistance - Required for logos, best for damaged/dirty conditions
Bulk Generation
To generate multiple QR codes in one run, simply add multiple strings to the content array:
{"content": ["https://example.com/product1","https://example.com/product2","https://example.com/product3"]}
Each QR code will be saved as a separate item in the dataset with its originalContent for easy identification.
This reads input from storage/key_value_stores/default/INPUT.json and saves output to storage/datasets/default/.


