</> Developer Platform

Build on top of Billable

A complete public API and MCP server. Integrate billing into your stack, or let your AI handle it.

Ship invoices in minutes, not days

A few lines of code is all it takes. If you've used Stripe, you'll feel right at home.

create-invoice.ts
1// Create an invoice with the Billable API
2const invoice = await fetch(
3 "https://app.joinbillable.com/api/v1/invoices",
4 {
5 method: "POST",
6 headers: {
7 "Authorization": "Bearer bl_...",
8 "Content-Type": "application/json",
9 },
10 body: JSON.stringify({
11 clientId: "cli_9f3k2mX8pQ1n",
12 date: "2026-02-19",
13 dueDate: "2026-03-21",
14 items: [
15 {
16 description: "Web Development",
17 quantity: 12,
18 unitPrice: 150,
19 },
20 ],
21 }),
22 }
23);
list-time-entries.ts
1// List time entries for a project
2const entries = await fetch(
3 "https://app.joinbillable.com/api/v1/time-entries?" +
4 new URLSearchParams({
5 projectId: "prj_4x8kLm2nQ",
6 from: "2026-02-01",
7 to: "2026-02-15",
8 }),
9 {
10 headers: {
11 "Authorization": "Bearer bl_...",
12 },
13 }
14);
15
16const data = await entries.json();
17console.log(data.entries);
18// → [{ id: "te_...", duration: 3600, ... }]

Everything you need to integrate

Developer-friendly tooling built for automation, AI workflows, and custom integrations.

RESTful API

Full CRUD on clients, projects, time entries, invoices, and expenses. Predictable URLs, JSON everywhere, token-based auth.

MCP Server

Connect Billable to your AI workflows. Query time entries, draft invoices, and manage clients directly from your LLM toolchain.

Webhooks

Real-time notifications when invoices are viewed, paid, or overdue. Build automations on top of your billing data.

API Keys

Generate scoped API keys from your dashboard. Revoke anytime, rotate without downtime. Full audit trail included.

Rate Limits

120 req/min for reads, 60 req/min for writes. Rate-limit headers included on every response for easy backoff handling.

Comprehensive Docs

Interactive API reference with request/response examples. Copy-paste code snippets in cURL, JavaScript, Python, and Go.

AI-native

MCP Server for AI workflows

Connect Billable to Claude, GPT, or any LLM that supports the Model Context Protocol. Query your billing data, draft invoices, and manage clients from natural language.

  • List and search clients, projects, and invoices
  • Create invoices and log time entries via chat
  • Get revenue summaries and outstanding balances
  • Works with any MCP-compatible AI client
mcp-config.json
1// MCP client config — connect to your LLM
2{
3 "mcpServers": {
4 "billable": {
5 "url": "https://app.joinbillable.com/api/mcp",
6 "headers": {
7 "Authorization": "Bearer bl_..."
8 }
9 }
10 }
11}

API at a glance

Core endpoints to manage your entire billing workflow.

MethodEndpointDescription
GET/api/v1/clientsList all clients
POST/api/v1/clientsCreate a client
GET/api/v1/projectsList projects
POST/api/v1/time-entriesLog time
GET/api/v1/invoicesList invoices
POST/api/v1/invoicesCreate an invoice
GET/api/v1/expensesList expenses

Start building today

Sign up for free, grab your API key, and ship your first integration in minutes.

Get started free