Learn how to integrate Bolt.new AI with Thinkific in 2025 using this clear step-by-step guide to automate course creation and boost productivity.

Book a call with an Expert
Starting a new venture? Need to upgrade your web app? RapidDev builds application with your growth in mind.
The integration between Bolt.new and Thinkific is done the same way you integrate any external SaaS inside a Bolt.new project: you call Thinkific’s public REST API from server-side code that you write inside Bolt.new. Bolt.new itself does not have a special “Thinkific plugin.” You handle everything through Thinkific’s API keys, HTTPS requests, and environment variables. Once you add your Thinkific API credentials into Bolt.new’s environment variables panel, you can build routes, background tasks, or UI flows that talk to Thinkific (for example: create users, enroll students, retrieve courses). It is a standard API integration with clear boundaries.
Thinkific exposes a REST API. You authenticate using:
You place those in headers for every request. There is no OAuth flow for this right now; it’s a simple API-key model.
Inside a Bolt.new project, you normally have:
Bolt.new gives you a sandbox that can make outgoing HTTPS calls — so calling Thinkific’s REST API is fully supported.
Below is the simplest and most correct pattern for integrating Bolt.new with Thinkific.
This is a real working example you can drop into the Bolt.new backend:
// server/thinkific.js
import express from "express";
import fetch from "node-fetch";
const router = express.Router();
router.get("/courses", async (req, res) => {
try {
const apiKey = process.env.THINKIFIC_API_KEY; // stored in Bolt.new env variables
const subdomain = process.env.THINKIFIC_SUBDOMAIN; // e.g. "mysite"
const response = await fetch(`https://${subdomain}.thinkific.com/api/public/v1/courses`, {
method: "GET",
headers: {
"X-Auth-API-Key": apiKey,
"X-Auth-Subdomain": subdomain,
"Content-Type": "application/json"
}
});
const data = await response.json();
res.json(data);
} catch (err) {
res.status(500).json({ error: "Thinkific API call failed", details: err.message });
}
});
export default router;
// server/thinkific.js
router.post("/create-user", async (req, res) => {
try {
const apiKey = process.env.THINKIFIC_API_KEY;
const subdomain = process.env.THINKIFIC_SUBDOMAIN;
const body = {
first_name: req.body.first_name,
last_name: req.body.last_name,
email: req.body.email
};
const response = await fetch(`https://${subdomain}.thinkific.com/api/public/v1/users`, {
method: "POST",
headers: {
"X-Auth-API-Key": apiKey,
"X-Auth-Subdomain": subdomain,
"Content-Type": "application/json"
},
body: JSON.stringify(body)
});
const data = await response.json();
res.json(data);
} catch (err) {
res.status(500).json({ error: "User creation failed", details: err.message });
}
});
You integrate Bolt.new with Thinkific by writing server code that calls Thinkific’s REST API using your API key and subdomain stored in environment variables. There is no special Bolt-Thinkific connector — it is a straightforward, secure API integration. Once wired, you can enroll users, create accounts, or fetch courses directly from inside a Bolt.new app.
When it comes to serving you, we sweat the little things. That’s why our work makes a big impact.