Business Card Tools API - Free Developer API - businesscards.io

Free Developer API

Business Card Tools API

Check business card dimensions and generate vCards programmatically. No authentication, no signup, completely free.

← All free toolsOpenAPI 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 →