Skip to main content

Welcome to the Opennote API

When people think of APIs, they think of developer-focused endpoints, that build for other applications to use infrastructure, data, or other services. Yet for education, there’s no dedicated way to build or integrate AI-driven educational content creation and management capabilities directly into their applications. With Opennote’s API, users are able to build powerful educational applications without having to worry about building the infrastructure to support it. Using the API, users can build edtech content directly into their apps. Whether you’re building learning management systems, content generation tools, or educational platforms, our API provides the building blocks you need.

What Can You Build?

The Opennote API enables you to do the following things:
  • Manage your own journals on the Opennote website
  • Create videos given any prompt
  • Create AI-generated flashcards
  • Create AI-generated practice problems
with many more features to come… Here’s a quick example of a video generated with the Opennote API:

Quick Start

1. Create Your Account & Team

Visit opennote.com/api/teams to create your API organization. You’ll need an Opennote account to get started, and once you create an org, you’ll have a few dollars in credits added to your account.
  • The API Dashboard will give you a display of all your requests, your usage, and previews and error messages, as well as a no-code playground for trying things out!

2. Generate Your API Key

In your dashboard, navigate to the Settings tab and create an API key.
  • For videos, practice problems, and flashcards, you’ll need this to be an editable key.
  • For journal access or status checking, this can be a read-only or editable key.
(Editable keys can access paid operations, while read-only keys can only access free operations.)

3. Choose Your Integration Method

  1. Python SDK
  2. TypeScript SDK
  3. Opennote API Playground
  4. The REST API

4. Make Your First Request

from opennote import OpennoteClient

client = OpennoteClient(api_key="your_api_key_here")

# List your journals
journals = client.journals.list()
print(f"Found {len(journals.journals)} journals")

Good to Know

  1. Our API is hosted in us-east-2 and all requests are made to the following base URL:
https://api.opennote.com/v1
  1. Your API key is required for all requests as a bearer token. If you’re using our SDKs, this is handled for you.
Authorization: Bearer your_api_key_here
  1. Our API uses a direct monetary value pricing model with tiered rate limits. Each endpoint consumes different amounts of money based on computational complexity. See our Tiers and Limits page for detailed information.
  • We provide credit programs to non-profits and startups. Please contact us at devtools@opennote.me with your use case and company information to learn more.

Support

Questions? We’re here to help!
  • Email: devtools@opennote.me
  • Documentation or SDK Issues: Report bugs or suggest improvements! Our SDKs are fully open-source and open to contributions, and we welcome PRs, as well as suggestions for these docs.
Happy learning (and building)!
I