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/sdkAuthentication
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 scholarcalUsage
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-sdkExample: 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 calendarExample: 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.