Developer's API

Create and manage QR codes with ease using our API. Generate static QR codes for fixed URLs or manage dynamic QR codes with full create, manage and delete functionality, allowing you to update destinations and track usage.

Get an API Key

Sign up for an account to get your API key, available in your dashboard.

Static QR Code Generation

Generate static QR codes with a simple GET request. These codes are fixed and redirect to a pre-defined URL, and the default output format is SVG which means the image can be resized without becoming pixellated or blurry.

Endpoint

GET https://DynamicQRCodes.co.uk/api/v1/api.php?API_KEY=myApiKey&qrData=www.DynamicQRCodes.co.uk

Parameters

Parameter Description Required Default
API_KEY Your API key for authentication
(Be careful not to embed this value directly into HTML, say, to avoid your API Key being used without your consent.)
Yes N/A
qrData Data to encode (e.g., a URL) Yes N/A
outputType Output format (e.g., svg, png) No svg
fgCol Foreground color (hex) No #FFFFFF
bgCol Background color (hex) No #000000
size Size in pixels No 300
padding Padding (pixels for PNG, elements for SVG) No 5
shape Element shape (square, round) No square

Examples

Default QR Code
Default QR Code

https://www.DynamicQRCodes.co.ukapi/v1/api.php?
API_KEY=myApiKey
&qrData=www.DynamicQRCodes.co.uk

Round Elements QR Code
Round Elements

https://www.DynamicQRCodes.co.ukapi/v1/api.php?
API_KEY=myApiKey
&qrData=www.DynamicQRCodes.co.uk
&shape=round

Colored QR Code
Custom Colors

https://www.DynamicQRCodes.co.ukapi/v1/api.php?
API_KEY=myApiKey
&qrData=www.DynamicQRCodes.co.uk
&fgCol=4c6fe5&bgCol=eeeeee

Dynamic QR Code Management

Manage dynamic QR codes with full CRUD functionality. Update destinations, parameters, or tags without changing the QR code itself.

Endpoint

https://DynamicQRCodes.co.uk/api/v1/qrcodes.php

Authentication

Include your API key in the 'Authorization' header: 'Authorization: Bearer YOUR_API_KEY'

Operations

List All Dynamic QR Codes

Method: GET

URL: /api/v1/qrcodes.php

Example:

GET https://DynamicQRCodes.co.uk/api/v1/qrcodes.php
Authorization: Bearer YOUR_API_KEY

Response:

[
{
"qr_code_id": 123,
"account_id": 456,
"qr_id": "HWTDGU",
"title": "Website Link",
"destination_url": "https://example.com",
"parameters": "{\"utm_source\":\"qrcode\"}",
"tags": "marketing",
"created_date": "2025-04-28 12:34:56",
"updated_at": "2025-04-28 12:34:56",
"last_scan_date": null,
"scan_count": 0
}
]
Create a Dynamic QR Code

Method: POST

URL: /api/v1/qrcodes.php

Body:

{
"title": "Website Link",
"destination_url": "https://example.com",
"parameters": {"utm_source": "qrcode"},
"tags": "marketing"
}

Required: 'title', 'destination_url'
Optional: 'parameters', 'tags'

Example:

POST https://DynamicQRCodes.co.uk/api/v1/qrcodes.php
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Body: {"title": "Website Link", "destination_url": "https://example.com", "parameters": {"utm_source": "qrcode"}, "tags": "marketing"}

Response:

{
"qr_code_id": 123,
"account_id": 456,
"qr_id": "HWTDGU",
"title": "Website Link",
"destination_url": "https://example.com",
"parameters": "{\"utm_source\":\"qrcode\"}",
"tags": "marketing",
"created_date": "2025-04-28 12:34:56",
"updated_at": "2025-04-28 12:34:56",
"last_scan_date": null,
"scan_count": 0
}
Read a Dynamic QR Code

Method: GET

URL: /api/v1/qrcodes.php/{qrid}

Example:

GET https://DynamicQRCodes.co.uk/api/v1/qrcodes.php/HWTDGU
Authorization: Bearer YOUR_API_KEY

Response:

{
"qr_code_id": 123,
"account_id": 456,
"qr_id": "HWTDGU",
"title": "Website Link",
"destination_url": "https://example.com",
"parameters": "{\"utm_source\":\"qrcode\"}",
"tags": "marketing",
"created_date": "2025-04-28 12:34:56",
"updated_at": "2025-04-28 12:34:56",
"last_scan_date": null,
"scan_count": 0
}
Update a Dynamic QR Code (Full Update)

Method: PUT

URL: /api/v1/qrcodes.php/{qrid}

Body:

{
"title": "Updated Link",
"destination_url": "https://newexample.com",
"parameters": {"utm_campaign": "summer"},
"tags": "promotion"
}

Required: 'title', 'destination_url'
Optional: 'parameters', 'tags'

Example:

PUT https://DynamicQRCodes.co.uk/api/v1/qrcodes.php/HWTDGU
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Body: {"title": "Updated Link", "destination_url": "https://newexample.com", "parameters": {"utm_campaign": "summer"}, "tags": "promotion"}

Response:

{"success": true}
Update a Dynamic QR Code (Partial Update)

Method: PATCH

URL: /api/v1/qrcodes.php/{qrid}

Body:

{"title": "Just Title Update"}

Required: At least one field
Optional: 'title', 'destination_url', 'parameters', 'tags'

Example:

PATCH https://DynamicQRCodes.co.uk/api/v1/qrcodes.php/HWTDGU
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Body: {"title": "Just Title Update"}

Response:

{"success": true}
Delete a Dynamic QR Code

Method: DELETE

URL: /api/v1/qrcodes.php/{qrid}

Example:

DELETE https://DynamicQRCodes.co.uk/api/v1/qrcodes.php/HWTDGU
Authorization: Bearer YOUR_API_KEY

Response:

{"success": true}
Get Scan History for a Dynamic QR Code

Method: GET

URL: /api/v1/scan_history.php?qrid={qrid}&start_date={start_date}&end_date={end_date}

Parameters:

Parameter Description Required Format/Example
'qrid' The QR code ID Yes 'HWTDGU'
'start_date' Start date for the scan history Yes 'YYYY-MM-DD' (e.g., '2025-04-01')
'end_date' End date for the scan history Yes 'YYYY-MM-DD' (e.g., '2025-04-28')

Example:

GET https://DynamicQRCodes.co.uk/api/v1/scan_history.php?qrid=HWTDGU&start_date=2025-04-01&end_date=2025-04-28
Authorization: Bearer YOUR_API_KEY

Response: A CSV file ('scan_history.csv') is downloaded with the following columns: 'Scan ID', 'QR Code ID', 'Scan Date', 'IP Address', 'User Agent'.

Sample CSV Content:

"QRID","QR Code ID","Scan Date","IP Address","User Agent"
N339SL,"2025-04-15 14:23:45","192.168.1.1","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"
N339SL,"2025-04-20 09:12:34","203.0.113.5","Mozilla/5.0 (iPhone; CPU iPhone OS 14_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1.1 Mobile/15E148 Safari/604.1"