Build with the App Snap API
Programmatic access to our suite of free online tools. Generate QR codes, analyze meta tags, list tools, and more — all through a clean REST API.
Quick Start
All API requests require an API key. Pass it in the x-api-key header or as a Bearer token.
curl -H "x-api-key: apk_live_your_key_here" \ "https://app.appsnap.co.uk/api/v1/tools"
const res = await fetch('https://app.appsnap.co.uk/api/v1/tools', {
headers: { 'x-api-key': 'apk_live_your_key_here' }
});
const { data } = await res.json();
console.log(data); // [{ name, url, category, ... }]import requests
res = requests.get(
'https://app.appsnap.co.uk/api/v1/tools',
headers={'x-api-key': 'apk_live_your_key_here'}
)
data = res.json()['data']
print(data)<?php
$res = file_get_contents('https://app.appsnap.co.uk/api/v1/tools', false,
stream_context_create(['http' => [
'header' => 'x-api-key: apk_live_your_key_here'
]])
);
$data = json_decode($res, true)['data'];Authentication
Every request must include your API key. You can provide it in two ways:
Option 1 — Header (recommended)
x-api-key: apk_live_your_key_here
Option 2 — Bearer token
Authorization: Bearer apk_live_your_key_here
Never expose your API key in client-side code or public repositories. Use a backend proxy for browser-based applications.
Rate Limiting
Requests are rate-limited per API key. Every response includes headers showing your current usage:
X-RateLimit-RemainingRequests left in the current windowX-RateLimit-ResetUnix timestamp when the window resetsWhen you exceed the limit, you will receive a 429 Too Many Requests response with a Retry-After header.
API Reference
All endpoints are under /api/v1
/api/v1/toolsList all available tools. Filter by category or search by keyword.
| Parameter | Type | Required | Description |
|---|---|---|---|
| category | string | No | Filter by category (PDF, SEO, Generators, etc.) |
| search | string | No | Search tool name/description |
| fields | string | No | Comma-separated fields to return (e.g. name,url) |
/api/v1/tools/:slugGet details for a single tool by its slug.
/api/v1/qrGenerate a QR code URL from any text or URL.
| Parameter | Type | Required | Description |
|---|---|---|---|
| data | string | Yes | Text or URL to encode |
| size | integer | No | Image size in px (50-1000, default 300) |
| color | hex | No | QR color without # (default 000000) |
| bgcolor | hex | No | Background color without # (default ffffff) |
/api/v1/meta-tagsExtract meta tags, Open Graph data, and Twitter cards from any URL.
| Parameter | Type | Required | Description |
|---|---|---|---|
| url | string | Yes | The URL to analyze |
/api/v1/accountCheck your API key tier, rate limit usage, and available endpoints.
/api/v1/healthAPI health check. Does not count against your rate limit.
Example Response
All responses are JSON with this structure:
{
"data": [
{
"name": "Invoice Generator",
"description": "Create professional PDF invoices...",
"url": "https://invoice-generator.appsnap.co.uk",
"tag": "Business",
"category": "PDF",
"keyword": "free invoice generator"
}
],
"meta": {
"total": 12,
"category": "all",
"tier": "free"
}
}Error Codes
| Status | Error | Meaning |
|---|---|---|
| 400 | bad_request | Missing or invalid parameter |
| 401 | unauthorized | Missing or invalid API key |
| 404 | not_found | The requested resource does not exist |
| 429 | rate_limit_exceeded | You have exceeded your rate limit |
| 502 | fetch_failed | Could not fetch the requested external URL |
API Pricing
Start free. Scale when you need to.
Free
100 requests/min
- All endpoints included
- 1,000 requests/day
- Community support
- No credit card required
Developer
1,000 requests/min
- All endpoints included
- 50,000 requests/day
- Priority email support
- Webhook callbacks
- Commercial usage allowed
Enterprise
10,000 requests/min
- All endpoints included
- Unlimited requests
- Dedicated support engineer
- Custom SLAs
- On-premise deployment option
- SSO and audit logs
Need a key? Contact us to get started.
Bulk Meta Tag Checker
Check meta tags for up to 5 URLs at once (free tier). Pro and Enterprise get 25 and 100 respectively.