How do we migrate from Thinkific to Sensei LMS?
Complete API-driven migration from Thinkific (GraphQL + REST) to Sensei LMS (WordPress). Every course, video, PDF, quiz, user, and enrollment — zero data loss, preserved access dates.
What we extract from Thinkific
What we build in Sensei LMS
How the Thinkific → Sensei LMS migration works
- Scoping and fixed-price quoteWe catalog every course, lesson, quiz, and video in your Thinkific account and quote the migration up-front. Sign-off triggers the engagement.
- Provision Thinkific API credentialsYou generate a read-only API key in Thinkific (GraphQL + REST). We use it to pull content without touching your live site.
- Extract content via APIWe fetch courses, lessons, quizzes, users, and enrollments through GraphQL + REST into a structured staging dataset, with integrity checks on every page.
- Transform to destination schemaWe map the Thinkific model to the Sensei LMS schema: lesson types, quiz question formats, user roles, and enrollment windows all preserved.
- Load into Sensei LMSContent is written to Sensei LMS (WordPress) with idempotent inserts. We re-run as often as needed against a staging environment until outputs match expectations exactly.
- Migrate and protect videoVideos are pulled from Thinkific's CDN, uploaded to your S3 bucket, served via CloudFront with signed cookies, and wired into the Sensei LMS player. Vimeo-equivalent protection without Vimeo.
- Verify and reconcileWe diff counts and spot-check content between source and destination. Any mismatch is fixed before sign-off. You get a written reconciliation report.
- Cutover and handoffWe do the production cutover in a maintenance window, flip DNS if needed, and hand off credentials. You own everything — no lock-in.
FAQ: Thinkific to Sensei LMS migration
A typical migration with 50–100 lessons and under 500 enrollments completes in 2–3 business days. Larger catalogs with 500+ lessons and thousands of enrollments take 5–7 business days. Our pipeline is automated — the bottleneck is verification and QA, not the migration itself.
No. We migrate all enrollment records with original start dates, expiration dates, and enrollment keys intact. We run the migration on staging first, verify every enrollment, then cut over — zero downtime.
Layered protection: S3 bucket policies with referrer restrictions, HTML5 controlsList to disable downloads, optional CloudFront signed cookies for session-based access, and player-level hardening. Vimeo-equivalent protection without the monthly fees.
Everything: course structures, video content migrated to S3, PDFs and downloads, quizzes and assessments, user accounts matched by email, enrollment records with date ranges, and S3/CloudFront infrastructure setup with video protection.
Yes — but only if your migration tool understands the data-model mismatch. In Thinkific a quiz is a lesson type (curriculum-peer to videos and PDFs); in LearnDash sfwd-quiz is a separate post type that attaches to a lesson. We handle this with the quiz-holder lesson pattern: each Thinkific quiz becomes an sfwd-lessons placeholder with the sfwd-quiz attached to it, preserving the original reading order. Naive importers that don't bridge this silently drop every quiz.
No — Thinkific's password hashes are not portable to WordPress's hashing scheme. We assign each imported user a random WordPress password and send a friendly one-time password-reset email at cutover ("Your courses moved! Set your password to continue."). In our experience 60–75% of users complete the reset within the first 48 hours.
Thinkific's GraphQL has two ceilings: 1000 cost-units per query and 2000 cost-units per rolling minute. Our exporter paces queries automatically, tunes the `first` argument on each Connection to stay under per-query budget (we run lessonFirst around 40, chapterFirst around 30), and splits course-structure exports from data-exports across separate runs when needed. Rate-limit cascades — where every course after the first fails because the first burned the minute budget — are handled by spacing, not retrying.
Recommended pricing tier: Starter
Based on Thinkific → Sensei LMS (WordPress) complexity, most projects land in the Starter tier — $1,500 – $3,000. Final price is fixed after scope review.
See what Starter includes →