> **For coding agents and LLMs:** This is one Social Fetch marketing page (markdown export). For API orientation start with [`/llms.txt`](https://www.socialfetch.dev/llms.txt); for auth and crawl rules use [`/agents.txt`](https://www.socialfetch.dev/agents.txt); for every operation use [`/llms-endpoints.txt`](https://www.socialfetch.dev/llms-endpoints.txt).

## This page

- **On-site (HTML):** <https://www.socialfetch.dev/platforms/dev-to/user-profile>
- **Markdown (.mdx) URL:** <https://www.socialfetch.dev/platforms/dev-to/user-profile.mdx>

---

# Dev.to Profile API

Everything on a Dev.to profile: counts, badges, pinned posts and the repositories the user lists.

`GET /v1/dev-to/user/profile?username=heyitsjem` returns `profile` with `postsPublished`, `commentsWritten` and `tagsFollowed`, plus `isSubscriber` and `isCommunityCurator`. The same object carries `badges`, `pinnedPosts`, `organizations` and `githubRepositories`, each as a list, and the profile text fields `work`, `education`, `skills`, `currentlyLearning`, `currentlyHackingOn`, `availableFor` and `pronouns`. Each badge carries `title`, `description`, `imageUrl` and `timesAwarded`.

`pinnedPosts` is in the order the user chose and is empty when none are pinned. Each pinned post includes `title`, `url`, `tags`, `reactionsCount`, `commentsCount`, `readingTimeMinutes` and `publishedAt`. A profile Dev.to hides comes back as `lookupStatus: found` with `listedOnSite: false` and only the basic account fields, so check `listedOnSite` before relying on the counts.

## Request

- **Endpoint:** `GET /v1/dev-to/user/profile`
- **Credits:** 1 credit
Failed requests are free
- **Input:** by username
- **Full reference:** [docs](https://www.socialfetch.dev/docs/api/v1/dev-to/user/profile/get)
- **Platform page:** [/platforms/dev-to](https://www.socialfetch.dev/platforms/dev-to)

## FAQ

### What is listedOnSite?

It is true when Dev.to shows the profile page, false when the account exists but its page is hidden. On a hidden profile the counts, badges and pinned posts are null or empty, and lookupStatus is still found.

### How many credits does a profile lookup cost?

Pricing is documented on the operation in the API registry (shown on this page). Confirm on every response with meta.creditsCharged: that field is the billing source of truth.

### What does githubRepositories contain?

The public repositories the user chose to show, each with name, url, description, language and stars. It is not a full GitHub listing.

### Why can a count be null?

Counts are optional on a Dev.to profile. A pinned post with no reaction or comment count returns 0, and a repository that shows a language but no star count returns 0. Null means the value was not available. Check for null before doing arithmetic.
