API Documentation

Authentication

All API requests require an x-api-key header with your API key.

curl -H "x-api-key: tp_live_your_key_here" \
  https://toolpipe.io/api/v1/qr-code

API keys follow the format tp_live_xxxxxxxx. Create and manage keys from your dashboard.

Rate Limiting

Rate limits are enforced per API key using a sliding window algorithm. Limits depend on your plan:

PlanRequests/min
Free30
Starter120
Pro300
Business1,000

When rate limited, the API returns 429 with a Retry-After header.

Response Format

All endpoints return a consistent JSON envelope:

// Success
{
  "success": true,
  "data": { ... },
  "meta": {
    "endpoint": "/api/v1/qr-code",
    "credits_used": 1,
    "credits_remaining": 499,
    "latency_ms": 47,
    "request_id": "req_abc123..."
  }
}

// Error
{
  "success": false,
  "error": {
    "code": "RATE_LIMIT_EXCEEDED",
    "message": "Rate limit of 120 requests/min exceeded",
    "retry_after": 3
  }
}

Endpoints

POST/api/v1/qr-code1 credit

Generate customizable QR codes

ParameterTypeRequiredDescription
contentstringYesText or URL to encode
formatenumNopng | svg | base64 (default: png)
sizeintegerNoWidth/height in px (default: 300, max: 2000)
colorstringNoForeground hex color (default: #000000)
backgroundstringNoBackground hex color (default: #FFFFFF)
error_correctionenumNoL | M | Q | H (default: M)
curl -X POST \
  -H "x-api-key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"content":"https://example.com","format":"png","size":300}' \
  https://toolpipe.io/api/v1/qr-code
POST/api/v1/screenshot3 credits

Capture a rendered screenshot of any URL

ParameterTypeRequiredDescription
urlstringYesURL to screenshot
formatenumNopng | jpeg | webp (default: png)
viewport_widthintegerNoBrowser width (default: 1280)
viewport_heightintegerNoBrowser height (default: 720)
full_pagebooleanNoCapture full page (default: false)
curl -X POST \
  -H "x-api-key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com"}' \
  https://toolpipe.io/api/v1/screenshot
POST/api/v1/content-moderate3 credits

Analyze text for toxicity and harmful content using AI

ParameterTypeRequiredDescription
textstringYesContent to analyze (max 10,000 chars)
categoriesstring[]NoSpecific categories to check
thresholdnumberNoConfidence threshold 0-1 (default: 0.7)
curl -X POST \
  -H "x-api-key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"Hello world","threshold":0.7}' \
  https://toolpipe.io/api/v1/content-moderate
POST/api/v1/invoice-parse10 credits

Extract structured data from invoices and receipts using AI vision

ParameterTypeRequiredDescription
file_urlstringNoURL to fetch document from
file_base64stringNoBase64-encoded document
document_typeenumNoinvoice | receipt | auto (default: auto)
extract_line_itemsbooleanNoParse individual line items (default: true)
curl -X POST \
  -H "x-api-key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"file_url":"https://example.com/invoice.png"}' \
  https://toolpipe.io/api/v1/invoice-parse
POST/api/v1/tradingview-screenshot3 credits

Capture a screenshot of a TradingView chart for any ticker symbol

ParameterTypeRequiredDescription
symbolstringYesTicker symbol (e.g. NASDAQ:AAPL, BTCUSD)
intervalenumNo1 | 5 | 15 | 30 | 60 | 120 | 240 | D | W | M (default: D)
themeenumNolight | dark (default: dark)
styleintegerNoChart style 0-9 (default: 1 = candles)
studiesstring[]NoIndicators to overlay (e.g. RSI@tv-basicstudies). Max 10.
formatenumNopng | jpeg | webp (default: png)
viewport_widthintegerNoWidth in px (default: 1280)
viewport_heightintegerNoHeight in px (default: 720)
hide_side_toolbarbooleanNoHide drawing toolbar (default: true)
hide_top_toolbarbooleanNoHide top toolbar (default: false)
curl -X POST \
  -H "x-api-key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"symbol":"NASDAQ:AAPL","interval":"D","theme":"dark","style":1}' \
  https://toolpipe.io/api/v1/tradingview-screenshot

Texas License Data

Verify and search Texas TDLR-regulated licenses across 39 industries. Data refreshed nightly from the Texas Department of Licensing and Regulation. Records are typically within 24 hours of the latest TDLR publication.

POST/api/v1/tx-license-verify1 credit

Verify a Texas TDLR license by number and optional type

ParameterTypeRequiredDescription
license_numberstringYesTDLR license number (e.g., TACLB012345)
license_typestringNoLicense type filter (e.g., Electrician)
namestringNoOwner/holder name filter
curl -X POST \
  -H "x-api-key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"license_number":"TACLB012345","license_type":"Air Conditioning"}' \
  https://toolpipe.io/api/v1/tx-license-verify
POST/api/v1/tx-contractor-search2 credits

Search Texas licensed professionals by name, trade, or location

ParameterTypeRequiredDescription
namestringNoOwner/holder name (min 2 chars)
business_namestringNoBusiness name (min 2 chars)
license_typestringNoTrade/license type filter
countystringNoTexas county name
citystringNoCity name
zipstringNoZIP code
statusenumNoactive | expired | all (default: active)
pageintegerNoPage number (default: 1)
per_pageintegerNoResults per page (default: 25, max: 100)
curl -X POST \
  -H "x-api-key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Smith","license_type":"Electrician","county":"Travis"}' \
  https://toolpipe.io/api/v1/tx-contractor-search
POST/api/v1/tx-establishment-verify1 credit

Verify a Texas business or establishment license with fuzzy name matching

ParameterTypeRequiredDescription
business_namestringNoBusiness name to search (min 2 chars)
license_numberstringNoExact license number
license_typestringNoLicense type filter
citystringNoCity filter
curl -X POST \
  -H "x-api-key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"business_name":"Cool Air Systems","city":"Austin"}' \
  https://toolpipe.io/api/v1/tx-establishment-verify
POST/api/v1/tx-license-bulk-verify15 credits

Validate up to 50 Texas licenses in a single call

ParameterTypeRequiredDescription
licensesarrayYesArray of {license_type, license_number} objects (max 50)
curl -X POST \
  -H "x-api-key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"licenses":[{"license_type":"Electrician","license_number":"ELEC012345"}]}' \
  https://toolpipe.io/api/v1/tx-license-bulk-verify
POST/api/v1/tx-license-monitor5 credits

Subscribe to change notifications for a Texas license

ParameterTypeRequiredDescription
actionenumYessubscribe | unsubscribe | check
license_typestringYesLicense type
license_numberstringYesLicense number
webhook_urlstringNoURL for change notifications (required for subscribe)
email_notifybooleanNoSend email alerts (default: false)
curl -X POST \
  -H "x-api-key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"action":"subscribe","license_type":"Electrician","license_number":"ELEC012345","webhook_url":"https://myapp.com/webhooks/license"}' \
  https://toolpipe.io/api/v1/tx-license-monitor
GET/api/v1/tx-trade-stats3 credits

Get aggregate statistics for Texas license types by trade and county

ParameterTypeRequiredDescription
license_typestringNoFilter by license type
countystringNoFilter by county
group_byenumNolicense_type | county | status (default: license_type)
curl -G \
  -H "x-api-key: YOUR_KEY" \
  --data-urlencode "county=Travis" \
  --data-urlencode "group_by=license_type" \
  https://toolpipe.io/api/v1/tx-trade-stats

Error Codes

CodeHTTPDescription
INVALID_API_KEY401Invalid or missing API key
API_KEY_EXPIRED401API key has expired
API_KEY_DISABLED403API key has been revoked
RATE_LIMIT_EXCEEDED429Too many requests
INSUFFICIENT_CREDITS402No credits remaining (free plan)
INVALID_REQUEST400Invalid request parameters
ENDPOINT_ERROR500Endpoint processing failed