Tulz REST API
Free, no-auth REST APIs. No API key, no signup — just send a request. All endpoints are rate-limited per IP to ensure fair use.
https://www.tulz.orgFormat: JSONAuth: None/api/v1/meeting-costMeeting Cost Calculator
Calculate the real monetary cost of a meeting based on attendee hourly rates and duration.
Rate limit: 60 requests/min per IP
Request Body Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| attendees | array | Yes | Array of attendee objects. Each object must include "hourlyRate" (number). "name" and "role" are optional. |
| durationMinutes | number | Yes | Meeting duration in minutes. |
| currency | string | No | Three-letter currency code. Default: "USD". |
Example Request
curl -X POST https://www.tulz.org/api/v1/meeting-cost \
-H "Content-Type: application/json" \
-d '{
"attendees": [
{ "name": "Alice", "role": "Engineer", "hourlyRate": 100 },
{ "name": "Bob", "role": "Designer", "hourlyRate": 80 }
],
"durationMinutes": 60,
"currency": "USD"
}'Example Response
{
"totalCost": 180.00,
"costPerMinute": 3.00,
"costPerHour": 180.00,
"attendees": 2,
"durationMinutes": 60,
"currency": "USD",
"breakdown": [
{ "name": "Alice", "role": "Engineer", "cost": 100.00 },
{ "name": "Bob", "role": "Designer", "cost": 80.00 }
]
}/api/v1/profit-calculatorE-Commerce Profit Calculator
Calculate profit, fees, and margin for Etsy, Shopify, Amazon, or custom platform sales.
Rate limit: 60 requests/min per IP
Request Body Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| platform | string | Yes | "etsy" | "shopify" | "amazon" | "custom" |
| salePrice | number | Yes | Total sale price charged to the buyer. |
| materialCost | number | Yes | Raw material or product cost. |
| shippingCharged | number | No | Shipping amount charged to the buyer. |
| shippingLabel | number | No | Actual shipping label cost (Etsy only). |
| otherCosts | number | No | Any additional costs to subtract. |
| shopifyPlan | string | No | "basic" | "shopify" | "advanced" (Shopify only). |
| amazonCategory | string | No | Amazon referral fee category, e.g. "Default (15%)". |
| fbaWeight | number | No | Package weight in lbs (Amazon FBA only). |
| customPct | number | No | Platform fee percentage (custom only). |
| customFixed | number | No | Fixed transaction fee (custom only). |
Example Request
curl -X POST https://www.tulz.org/api/v1/profit-calculator \
-H "Content-Type: application/json" \
-d '{
"platform": "etsy",
"salePrice": 29.99,
"materialCost": 5.00,
"shippingCharged": 4.00,
"shippingLabel": 3.50
}'Example Response
{
"platform": "etsy",
"salePrice": 29.99,
"totalRevenue": 33.99,
"totalCosts": 14.62,
"netProfit": 19.37,
"marginPct": 57.0,
"fees": [
{ "label": "Listing fee", "amount": 0.20 },
{ "label": "Transaction fee (6.5%)", "amount": 2.21 },
{ "label": "Payment processing (3% + $0.25)", "amount": 1.27 },
{ "label": "Shipping label", "amount": 3.50 },
{ "label": "Materials", "amount": 5.00 }
]
}/api/v1/carbon-footprintWebsite Carbon Footprint
Measure the CO₂ emissions of a public webpage per visit based on its page weight.
Rate limit: 20 requests/min per IP
Request Body Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| url | string | Yes | Public URL to measure (must be https:// or http://). |
| monthlyVisits | number | No | Estimated monthly page views for annual CO₂ projection. Default: 10000. |
Example Request
curl -X POST https://www.tulz.org/api/v1/carbon-footprint \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com",
"monthlyVisits": 50000
}'Example Response
{
"url": "https://example.com",
"pageSizeBytes": 850000,
"pageSizeKB": 830,
"pageSizeMB": 0.81,
"co2PerVisitGrams": 0.26,
"monthlyVisits": 50000,
"annualCO2Kg": 156.0,
"grade": "C",
"recommendations": [
"Enable gzip or Brotli compression on your server.",
"Use a CDN to serve assets from edge nodes closest to your users."
]
}/api/v1/code-imageCode Screenshot Generator
Render a syntax-highlighted code snippet as a PNG image with optional window chrome.
Rate limit: 30 requests/min per IP
Request Body Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| code | string | Yes | The source code to render (max 5000 characters). |
| language | string | Yes | Programming language for syntax highlighting, e.g. "javascript", "python", "typescript". |
| theme | string | No | "Dracula" | "GitHub Dark" | "One Dark" | "Monokai" | "Nord" | "Solarized" | "Candy" | "Sunrise". Default: "Dracula". |
| showLineNumbers | boolean | No | Show line numbers on the left. Default: true. |
| showWindowChrome | boolean | No | Render a macOS-style title bar above the code. Default: true. |
| fontSize | number | No | Font size in pixels (12–24). Default: 14. |
| padding | number | No | Padding around the code block in pixels (16–64). Default: 32. |
Example Request
curl -X POST https://www.tulz.org/api/v1/code-image \
-H "Content-Type: application/json" \
-d '{
"code": "const greet = (name) => `Hello, ${name}!`;",
"language": "javascript",
"theme": "Dracula"
}' \
--output code.pngExample Response
HTTP/1.1 200 OK Content-Type: image/png <binary PNG image data>
/api/v1/contract-generatorContract Generator
Generate a plain-text freelance or service contract from structured input.
Rate limit: 30 requests/min per IP
Request Body Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| type | string | Yes | "freelance-design" | "web-development" | "service-agreement" |
| freelancer | object | Yes | { name, email, address } |
| client | object | Yes | { name, email, address } |
| project | object | Yes | { title, description, deliverables, startDate, endDate } |
| payment | object | Yes | { amount, currency, upfrontPercent, paymentTermsDays, latePaymentRate } |
| clauses | object | No | { revisionRounds, ipTransferOnPayment, killFeePercent, includeKillFee, includeNDA, includeNonSolicitation, governingState, includeForce } |
Example Request
curl -X POST https://www.tulz.org/api/v1/contract-generator \
-H "Content-Type: application/json" \
-d '{
"type": "web-development",
"freelancer": { "name": "Jane Dev", "email": "jane@dev.io", "address": "Austin, TX" },
"client": { "name": "Acme Corp", "email": "legal@acme.com", "address": "New York, NY" },
"project": {
"title": "Company Website Redesign",
"description": "Full redesign of acme.com",
"deliverables": "Figma designs + Next.js build",
"startDate": "2025-02-01",
"endDate": "2025-04-01"
},
"payment": { "amount": "8000", "currency": "USD", "upfrontPercent": 50, "paymentTermsDays": 14, "latePaymentRate": 1.5 },
"clauses": { "revisionRounds": 3, "ipTransferOnPayment": true, "includeNDA": true, "governingState": "Texas" }
}'Example Response
{
"contract": "WEB DEVELOPMENT AGREEMENT\n\nThis web development agreement...",
"wordCount": 842,
"type": "web-development"
}/api/v1/webhook/{id}Webhook Inbox
Send any HTTP method to a unique inbox ID to capture and inspect the request. Use GET to read back payloads. Inboxes auto-expire after 4 hours.
Rate limit: No limit on sends; polling is best-effort
Request Body Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| {id} | path | Yes | Any unique string that identifies your inbox, e.g. a UUID or random slug. |
Example Request
# Send a test webhook to your inbox
curl -X POST https://www.tulz.org/api/v1/webhook/my-inbox-id \
-H "Content-Type: application/json" \
-d '{ "event": "order.created", "orderId": 42 }'
# Read captured payloads
curl https://www.tulz.org/api/v1/webhook/my-inbox-idExample Response
// GET response
{
"id": "my-inbox-id",
"count": 1,
"payloads": [
{
"id": "abc123",
"receivedAt": "2025-01-15T10:32:00.000Z",
"method": "POST",
"contentType": "application/json",
"body": "{ \"event\": \"order.created\", \"orderId\": 42 }",
"bodyJson": { "event": "order.created", "orderId": 42 },
"headers": { "content-type": "application/json" },
"ip": "1.2.3.4"
}
]
}Usage & Fair Use
All Tulz APIs are free to use with no authentication required. Each endpoint is rate-limited per IP address. Exceeding the limit returns HTTP 429 Too Many Requests. These APIs are intended for integration in personal projects, developer tools, and small-scale automations. For high-volume production use, please get in touch.