LeetCode user profile
A LeetCode user's public profile: name, avatar, about, country, company, school, websites, skills, social links, ranking, reputation, post views, solutions, solved counts by difficulty (with the totals), streak and active days, badges, problems solved per language and per topic (advanced, intermediate, fundamental), and contest rating, attended contests, global ranking and top percentage. Also returns submission_calendar: submissions per day (date, submissions) for the last 12 months, or for one calendar year with year (which also scopes streak and active days); calendar_year echoes that year.
Every response includes credits_used: the credits this call cost.
Parameters
| name | type | description |
|---|---|---|
usernamerequired | string | LeetCode username or leetcode.com/u/ profile link. Example: lee215 |
year | integer | Calendar year for submission_calendar, streak and active days (a year listed in active_years). Default: the last 12 months. |
Every endpoint also takes fresh, raw, fields (see lean responses and caching).
Example
curl "https://api.api.sh/leetcode/v1/user?username=lee215" \
-H "x-api-key: $APISH_KEY" import os, requests
res = requests.get(
"https://api.api.sh/leetcode/v1/user",
params={"username": "lee215"},
headers={"x-api-key": os.environ["APISH_KEY"]},
timeout=120,
)
res.raise_for_status()
data = res.json() const url = new URL("https://api.api.sh/leetcode/v1/user");
url.searchParams.set("username", "lee215");
const res = await fetch(url, { headers: { "x-api-key": process.env.APISH_KEY } });
if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);
const data = await res.json(); Response
A JSON object with the fields described above, plus raw (the source's own data), cached, fetched_at and credits_used. Errors return {"success": false, "error": "…"} with the HTTP status (see errors). A lookup that ran but found nothing (404) costs the price above; refused calls and errors on our side are free (what's charged).