SDK Documentation

ScholarCal provides official SDKs for JavaScript/TypeScript, Python, and an Agent SDK for building autonomous calendar workflows.

JavaScript / TypeScript

Install

bash
npm install @scholarcal/sdk

Authentication

typescript
import { ScholarCal } from '@scholarcal/sdk';

const sc = new ScholarCal({ apiKey: process.env.SCHOLARCAL_API_KEY });

Usage

typescript
// List today's events
const events = await sc.events.list({
  start: new Date().toISOString(),
  end: new Date(Date.now() + 86400000).toISOString(),
});

// Create an event
const event = await sc.events.create({
  title: 'Team standup',
  start_time: '2026-03-01T09:00:00Z',
  end_time: '2026-03-01T09:30:00Z',
});

Python

Install

bash
pip install scholarcal

Usage

python
from scholarcal import ScholarCal

sc = ScholarCal(api_key="YOUR_API_KEY")

# List events
events = sc.events.list(start="2026-03-01", end="2026-03-02")

# Create an event
event = sc.events.create(
    title="Study session",
    start_time="2026-03-01T14:00:00Z",
    end_time="2026-03-01T16:00:00Z",
)

Agent SDK

Install

bash
npm install @scholarcal/agent-sdk

Example: Calendar Agent in 20 Lines

typescript
import { CalendarAgent } from '@scholarcal/agent-sdk';

const agent = new CalendarAgent({
  apiKey: process.env.SCHOLARCAL_API_KEY,
  model: 'claude-sonnet-4-6',
});

// Natural language scheduling
const result = await agent.schedule(
  'Block 2 hours for deep work tomorrow morning, avoiding any existing meetings'
);

console.log(result.events); // Proposed events
await result.confirm();     // Write to calendar

Example: Canvas Deadlines to Study Blocks

typescript
const plan = await agent.studyPlan({
  source: 'canvas',
  preferences: {
    maxHoursPerDay: 4,
    preferredStartHour: 9,
    breakMinutes: 15,
  },
});

for (const block of plan.blocks) {
  console.log(`${block.subject}: ${block.start} - ${block.end}`);
}

await plan.confirmAll();

See the full API Reference for all available endpoints and parameters.