Duolingo Unofficial API (Main) (1.0.0)

Download OpenAPI specification:

Unofficial API description for Duolingo.

Vocabulary

Returns vocabulary

User's vocabulary

Authorizations:
BearerAuth
query Parameters
_
required
integer

Responses

Response samples

Content type
application/json
{
  • "from_language": "en",
  • "language_string": "Spanish",
  • "learning_language": "es",
  • "language_information": {
    },
  • "vocab_overview": [
    ]
}

Login

Returns token in header.

Login user

Request Body schema: application/json
distinctId
string
identifier
string
password
string
landingUrl
string
lastReferrer
string

Responses

Request samples

Content type
application/json
{
  • "distinctId": "string",
  • "identifier": "string",
  • "password": "string",
  • "landingUrl": "string",
  • "lastReferrer": "string"
}

Users

Returns user information by username

User information by username

Authorizations:
BearerAuth
path Parameters
username
required
string >= 1

Username

query Parameters
fields
Array of strings

Fields to retrieve

Responses

Response samples

Content type
application/json
{
  • "filter_stream": true,
  • "language_data": {
    },
  • "last_streak": {
    },
  • "push_night_owl": true,
  • "deactivated": true,
  • "auto_facebook_post": true,
  • "notify_schools_newsletter": true,
  • "push_clubs": true,
  • "site_streak": 0,
  • "notification_sms_disabled": true,
  • "email_det_marketing": true,
  • "notify_edit_suggested": true,
  • "dict_base_url": "string",
  • "languages": [
    ],
  • "push_edit_suggested": true,
  • "twitter_id": "string",
  • "transliterate": true,
  • "push_follow": true,
  • "email_events_digest": true,
  • "sound_effects": true,
  • "location": "string",
  • "facebook_id": "string",
  • "browser_language": "string",
  • "notify_schools_promotion": true,
  • "intentory": {
    },
  • "username": "string",
  • "bio": "string",
  • "tts_cdn_url": "string",
  • "created": "string",
  • "push_activity_reply": true,
  • "learning_language_string": "string",
  • "push_comment": true,
  • "notification_whatsapp_enabled": true,
  • "streak_extended_today": true,
  • "notify_activity_comment": true,
  • "email_streak_saver": true,
  • "requires_parental_consent": true,
  • "trial_account": true,
  • "push_passed": true,
  • "notify_classroom_join": true,
  • "notify_classroom_leave": true,
  • "notify_assignment": true,
  • "push_schools_assignment": true,
  • "gplus_id": "string",
  • "ui_language": "string",
  • "notify_stream_post": true,
  • "fullname": "string",
  • "notify_pass": true,
  • "notify_announcement": true,
  • "push_early_bird": true,
  • "upload-self-service": true,
  • "has_observer": true,
  • "tts_base_url_http": "string",
  • "creation_date": "string",
  • "push_streak_freeze_used": true,
  • "push_activity_comment": true,
  • "timezone": "Europe/Berlin",
  • "calendar": [
    ],
  • "insite_sentence_edited": true,
  • "id": 14397890,
  • "current_time": 1654847458585,
  • "push_leaderboards": true,
  • "push_announcement": true,
  • "ads_enabled": true,
  • "change-design": true,
  • "speaker": true,
  • "created_dt": 1383394032000,
  • "is_self_observer": true,
  • "notify_activity_reply": true,
  • "push_stream_post": true,
  • "email": "test@example.com",
  • "week_old_account": true,
  • "avatar": "//simg-ssl.duolingo.com/avatars/14397890/tYbGH_JcRd",
  • "daily_goal": 30,
  • "email_promotion": true,
  • "notify_schools_announcement": true,
  • "timezone_offset": "+0200",
  • "microphone": true,
  • "num_classrooms": 0,
  • "snooze_expiration_time": 0,
  • "notify_follow": true,
  • "freeze-permissions": true,
  • "is_observer": true,
  • "notify_weekly_report": true,
  • "delete-permissions": true,
  • "notify_comment": true,
  • "insite_immersion_lingots": true,
  • "tts_base_url": "https://tt.cloudfront.net/",
  • "rupees": 21348,
  • "notify_weekly_progress_report": true,
  • "notify_assignment_complete": true,
  • "admin": true,
  • "email_verified": true,
  • "learning_language": "ko",
  • "push_happy_hour": true,
  • "num_observees": 0,
  • "email_word_of_the_day": true,
  • "notify_clubs": true,
  • "push_promotion": true,
  • "notify_schools_product_update": true,
  • "notification_wechat_enabled": true,
  • "autoplay": true,
  • "push_streak_saver": true,
  • "email_streak_freeze_used": true
}

Set User Language

Set User Language/Course

Authorizations:
BearerAuth
path Parameters
userID
required
integer >= 1

User ID

query Parameters
fields
Array of strings

Fields to retrieve

Request Body schema: application/json

The user to create.

courseId
string
fromLanguage
string
learningLanguage
string

Responses

Request samples

Content type
application/json
{
  • "courseId": "DUOLINGO_KO_EN",
  • "fromLanguage": "en",
  • "learningLanguage": "ko"
}

Returns user information.

User information.

Authorizations:
BearerAuth
path Parameters
userID
required
integer >= 1

User ID

query Parameters
fields
Array of strings

Fields to retrieve

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "monthlyXp": 0,
  • "streak": 0,
  • "motivation": "string",
  • "picture": "string",
  • "learningLanguage": "string",
  • "hasFacebookId": true,
  • "facebookId": "string",
  • "inviteURL": "string",
  • "canUseModerationTools": true,
  • "fromLanguage": "string",
  • "_achievements": [
    ],
  • "location": "string",
  • "username": "string",
  • "bio": "string",
  • "hasGoogleId": true,
  • "optionalFeatures": [
    ],
  • "currentCourse": {
    },
  • "currentCourseId": "string",
  • "hasPhoneNumber": true,
  • "creationDate": 0,
  • "hasPlus": true,
  • "roles": [
    ],
  • "emailVerified": true,
  • "courses": [
    ],
  • "xpGains": [
    ],
  • "enableSpeaker": true,
  • "deactivated": true,
  • "emailEditSuggested": true,
  • "emailStreakFreezeUsed": true,
  • "gems": 0,
  • "pushEditSuggested": true,
  • "pushAnnouncement": true,
  • "totalXp": 0,
  • "enableMicrophone": true,
  • "insiteImmersionLingots": true,
  • "pushPromotion": true,
  • "emailStreakSaver": true,
  • "insiteSentenceEdited": true,
  • "canCreatePearsonClassroom": true,
  • "xpGoal": 0,
  • "email": "string",
  • "timezone": "string",
  • "timezoneOffset": "string",
  • "coachOutfit": "string",
  • "weeklyXp": 0,
  • "lingots": 0,
  • "googleId": "string",
  • "countryCode": "string",
  • "streakData": {
    },
  • "referralInfo": {
    },
  • "pushStreamPost": true,
  • "adsEnabled": true,
  • "emailAnnouncement": true,
  • "xpGoalMetToday": true,
  • "pushLeaderboards": true,
  • "zapsRemaining": 0,
  • "emailSchoolsAnnouncement": true,
  • "emailWeeklyProgressReport": true,
  • "emailWeeklyReport": true,
  • "pushComment": true,
  • "pushFollow": true,
  • "pushClubs": true,
  • "pushStreakSaver": true,
  • "emailClassroomJoin": true,
  • "emailAssignment": true,
  • "emailAssignmentComplete": true,
  • "lastStreak": {
    },
  • "shopItems": [
    ],
  • "health": {
    }
}

Returns user information when not logged in.

User information when not logged in.

Authorizations:
BearerAuth
query Parameters
username
required
string >= 1

User Name

Responses

Response samples

Content type
application/json
{
  • "users": [
    ]
}

Returns user subscription list.

User subscription.

Authorizations:
BearerAuth
path Parameters
userID
required
integer >= 1

UserID

Responses

Response samples

Content type
application/json
{
  • "subscriptions": [
    ]
}

Returns user XP summaries

User summaries.

Authorizations:
BearerAuth
path Parameters
userID
required
integer >= 1

UserID

query Parameters
timezone
required
string >= 1

Time zone

Responses

Response samples

Content type
application/json
{
  • "summaries": [
    ]
}

Mistakes

Returns mistakes count

Mistakes count

Authorizations:
BearerAuth
path Parameters
userID
required
integer

UserID

courseID
required
string

CourseID

query Parameters
includeListening
boolean

Include Listening

includeSpeaking
boolean

Include Speaking

Responses

Response samples

Content type
application/json
{
  • "numberMistakes": 49
}

Friends

Returns friends matches

Friends matches for a user

Authorizations:
BearerAuth
path Parameters
userID
required
integer >= 1

UserID

query Parameters
activityName
string
Example: activityName=friendsStreak

Activity name

Responses

Response samples

Content type
application/json
{
  • "FriendsStreak": {
    }
}

ShopItems

Returns shop items list.

User shop items list

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "shopItems": [
    ]
}

Notifications

Returns notification list.

Notification list

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]