Free Developer API
Check business card dimensions and generate vCards programmatically. No authentication, no signup, completely free.
← All free tools
•
OpenAPI Spec
1
Business Card Size Checker
Endpoint
POST
https://businesscards.io/tools/api/business-card-size-check
- Authentication
- None required
- Rate Limit
- 2 requests/second per IP
- Max File Size
- 25 MB
Request
Send a multipart/form-data POST with an image file.
| Parameter |
Type |
Description |
| image |
File (required) |
Business card image. Accepted formats: PNG, JPEG, WebP, TIFF. |
Example
curl -X POST https://businesscards.io/tools/api/business-card-size-check \
-F "image=@my-card.png"
Response 200 OK
{
"file_name": "my-card.png",
"file_size_bytes": 2457600,
"width_px": 1050,
"height_px": 600,
"aspect_ratio": 1.75,
"standards": [
{
"name": "US Standard",
"dimensions": "3.5\" × 2\"",
"aspect_ratio_match": true,
"estimated_dpi": 300,
"status": "perfect_match"
},
{
"name": "EU / ISO 7810",
"dimensions": "85mm × 55mm",
"aspect_ratio_match": false,
"estimated_dpi": 277,
"status": "aspect_ratio_mismatch"
},
{
"name": "Japanese",
"dimensions": "91mm × 55mm",
"aspect_ratio_match": false,
"estimated_dpi": 269,
"status": "aspect_ratio_mismatch"
}
],
"print_quality": {
"estimated_dpi": 300,
"print_ready": true,
"high_quality": false,
"minimum_usable": true
}
}
Response Fields
Top-level
| file_name |
Original filename of the uploaded image |
| file_size_bytes |
File size in bytes |
| width_px |
Image width in pixels (larger dimension) |
| height_px |
Image height in pixels (smaller dimension) |
| aspect_ratio |
Width-to-height ratio (e.g. 1.75) |
standards[]
| name |
Standard name (US Standard, EU / ISO 7810, Japanese) |
| aspect_ratio_match |
Whether the image matches this standard's aspect ratio (2% tolerance) |
| estimated_dpi |
Estimated DPI if printed at this standard's size |
| status |
perfect_match, correct_ratio_low_dpi, correct_ratio_too_low_res, or aspect_ratio_mismatch |
print_quality
| estimated_dpi |
Estimated DPI based on US standard (3.5" width) |
| print_ready |
true if ≥ 300 DPI |
| high_quality |
true if ≥ 600 DPI |
| minimum_usable |
true if ≥ 150 DPI |
Error Responses
400
Bad Request
Missing image parameter, unsupported file type, file exceeds 25 MB, or corrupt image file.
{ "error": "Missing required parameter: image" }
429
Too Many Requests
Rate limit exceeded. Wait and retry. Limit: 2 requests per second per IP address.
2
vCard Generator
Endpoint
POST
https://businesscards.io/tools/api/vcard-generate
- Authentication
- None required
- Rate Limit
- 2 requests/second per IP
- Content-Type
- application/json
Request
Send a application/json POST with contact information.
| Parameter |
Type |
Description |
| first_name |
String (required) |
Contact's first name |
| last_name |
String (required) |
Contact's last name |
| email |
String |
Email address |
| phone |
String |
Phone number |
| company |
String |
Company or organization name |
| title |
String |
Job title |
| website |
String |
Website URL |
| address |
String |
Physical address |
| linkedin_url |
String |
LinkedIn profile URL |
| twitter_url |
String |
X / Twitter profile URL |
Example
curl -X POST https://businesscards.io/tools/api/vcard-generate \
-H "Content-Type: application/json" \
-d '{
"first_name": "John",
"last_name": "Doe",
"email": "john@example.com",
"phone": "+1-555-0123",
"company": "Acme Corp",
"title": "CEO"
}'
Response 200 OK
{
"vcard": "BEGIN:VCARD\r\nVERSION:3.0\r\nN:Doe;John;;;\r\nFN:John Doe\r\nORG:Acme Corp\r\nTITLE:CEO\r\nEMAIL;TYPE=INTERNET:john@example.com\r\nTEL;TYPE=CELL:+1-555-0123\r\nEND:VCARD\r\n",
"file_name": "John_Doe.vcf"
}
Response Fields
| vcard |
Complete vCard 3.0 string ready to save as a .vcf file |
| file_name |
Suggested filename (e.g. "John_Doe.vcf") |
Error Responses
400
Bad Request
Missing required field, invalid email format, or field exceeds maximum length.
{ "error": "Missing required field: first_name" }
429
Too Many Requests
Rate limit exceeded. Wait and retry. Limit: 2 requests per second per IP address.
CORS
Both APIs support cross-origin requests. Responses include Access-Control-Allow-Origin: *, so you can call them directly from browser-based applications.
Prefer an interactive experience?
Use our free tools to check card sizes, generate vCards, and scan business cards — all in your browser.
Browse Free Tools →