Skip to Content
SDKsTypeScript

TypeScript SDK

This SDK is currently in development and not yet published. The API surface described below is planned. Use the REST API directly in the meantime.

The official TypeScript/JavaScript SDK for the Laddro Career API.

Installation

Package not yet published. Check back soon.

Quick Start

import { LaddroClient } from '@laddro/career-sdk' const client = new LaddroClient({ apiKey: process.env.LADDRO_API_KEY! }) // List templates (public, no auth needed) const templates = await client.templates.list() // Parse a resume const resume = await client.resumes.parse( new File([buffer], 'resume.pdf', { type: 'application/pdf' }) ) // Tailor for a job const result = await client.tailor({ resumeId: resume.id, jobDescription: 'Senior Frontend Engineer at...' })

Configuration

const client = new LaddroClient({ apiKey: 'YOUR_API_KEY', baseUrl: 'https://api.laddro.com', // default timeout: 30_000 // 30s default })

Templates

// List all templates const templates = await client.templates.list() // Get a specific template const template = await client.templates.get('graphite')

Resumes

// List resumes const resumes = await client.resumes.list() // Get a resume const resume = await client.resumes.get('res_abc123') // Parse from file const parsed = await client.resumes.parse(file) // Render to PDF const pdf = await client.resumes.render('res_abc123', { templateId: 'graphite' })

Tailoring

// Standard request const result = await client.tailor({ resumeId: 'res_abc123', jobDescription: 'We are looking for...' }) // Streaming for await (const event of client.tailor( { resumeId: 'res_abc123', jobDescription: '...' }, { stream: true } )) { console.log(event.type, event.section, event.content) }

Cover Letters

// Generate with streaming for await (const event of client.coverLetters.generate( { resumeId: 'res_abc123', jobDescription: '...' }, { stream: true } )) { process.stdout.write(event.content) } // Render to PDF const pdf = await client.coverLetters.render('cl_abc123', { templateId: 'graphite' })

Export

import { writeFileSync } from 'fs' const pdf = await client.export({ resumeId: 'res_abc123', templateId: 'graphite' }) writeFileSync('resume.pdf', Buffer.from(pdf))

Settings (BYOK)

// Get current model const settings = await client.settings.get() // Set custom model await client.settings.setModel({ provider: 'anthropic', modelId: 'claude-haiku-4.5', apiKey: 'sk-ant-...' }) // Reset to default await client.settings.resetModel()

Error Handling

import { LaddroError } from '@laddro/career-sdk' try { await client.resumes.get('nonexistent') } catch (error) { if (error instanceof LaddroError) { console.log(error.status) // 404 console.log(error.message) // "Resume not found" } }

Source

github.com/laddro-app/laddro-career-sdk-ts 

Last updated on