# Mastodon API: Get profile

> Gets a public Mastodon profile by handle or profile link, with its bio, counts, dates and profile fields. Major servers are read directly. Other servers are looked up through mastodon.social, and their home-server account ID is not available.

Unofficial. Not affiliated with or endorsed by Mastodon.

- Page: https://fous.com/methods/mastodon.social/get-profile
- Method: `mastodon.social/get_profile`, version 1
- Website: mastodon.social
- Returns: handle, display name, bio, counts, dates, profile fields, avatar, profile URL
- Effect: read (it gets data and changes nothing)
- Sign-in: none needed
- Cost: 1 credit per completed run (1¢ with pay as you go); failed runs are free
- Verified: Nov 2, 2026

## Inputs

| Field | Type | Required | In the run below | Description |
|---|---|---|---|---|
| `account` | string | yes | `"https://fosstodon.org/@kev"` | Full handle, handle on mastodon.social, or profile link, for example Gargron@mastodon.social. |

## Output

From a run on Oct 23, 2026, shortened. Its input:

```json
{
  "account": "https://fosstodon.org/@kev"
}
```

Its output:

```json
{
  "bio": "Used to help run Fosstodon. These days, I just hang out here.\nI work in InfoSec and live with two kids, one wife, two dogs, a blind cat, a flock of 25 chickens, 8 goats, and more fish than I can count.\nAlso into watches and motorbikes — both riding and wrenching.\nThis account isn't monitored often (…",
  "posts": 1371,
  "handle": "kev@fosstodon.org",
  "is_bot": false,
  "followers": 13017,
  "following": 141,
  "account_id": "1",
  "avatar_url": "https://cdn.fosstodon.org/accounts/avatars/000/000/001/original/8f82f81f058d509e.png",
  "joined_date": "2017-08-01",
  "profile_url": "https://fosstodon.org/@kev",
  "display_name": "Kev Quirk",
  "profile_fields": [
    {
      "label": "Blog",
      "value": "https://kevquirk.com"
    },
    {
      "label": "Pure Commons",
      "value": "https://purecommons.org"
    }
  ],
  "last_active_date": "2026-10-22"
}
```

## Run it

From code, with a Fous API key in `FOUS_API_KEY`; the answer's `data` holds the output:

```bash
curl https://api.fous.com/v1/runs \
  -H "Authorization: Bearer $FOUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"method":"mastodon.social/get_profile","input":{"account":"https://fosstodon.org/@kev"}}'
```

From an AI agent connected to the Fous MCP server: its `run` with the same method and input. To connect one, give it `set up https://fous.com/SKILL.md`.

## Ask your agent

- Look up the Mastodon profile for Gargron@mastodon.social and show me his bio and follower count
- Can you get the public profile details for the account @Gargron@mastodon.social, including profile fields and join date?
- I need the display name, avatar, and profile URL for https://mastodon.social/@Gargron
- Find the Mastodon user jaypeters@fosstodon.org and tell me how many posts and following they have
- What's the bio and creation date for the fediverse account eugen@mastodon.social?

## Input schema

```json
{
  "type": "object",
  "required": [
    "account"
  ],
  "properties": {
    "account": {
      "type": "string",
      "description": "Full handle, handle on mastodon.social, or profile link, for example Gargron@mastodon.social."
    }
  }
}
```

## Output schema

```json
{
  "type": "object",
  "required": [
    "handle",
    "profile_fields",
    "profile_url"
  ],
  "properties": {
    "bio": {
      "type": [
        "string",
        "null"
      ]
    },
    "posts": {
      "type": [
        "integer",
        "null"
      ]
    },
    "handle": {
      "type": "string"
    },
    "is_bot": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "followers": {
      "type": [
        "integer",
        "null"
      ]
    },
    "following": {
      "type": [
        "integer",
        "null"
      ]
    },
    "account_id": {
      "type": [
        "string",
        "null"
      ]
    },
    "avatar_url": {
      "type": [
        "string",
        "null"
      ]
    },
    "joined_date": {
      "type": [
        "string",
        "null"
      ]
    },
    "profile_url": {
      "type": "string"
    },
    "display_name": {
      "type": [
        "string",
        "null"
      ]
    },
    "profile_fields": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "label": {
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        }
      }
    },
    "last_active_date": {
      "type": [
        "string",
        "null"
      ]
    }
  }
}
```

## See more

- [Mastodon API: List recent posts](https://fous.com/methods/mastodon.social/list-recent-posts.md): Lists a Mastodon account's latest public posts, newest first. Replies and boosts are optional. Private and unlisted posts are left out.
- [Mastodon API: List hashtag posts](https://fous.com/methods/mastodon.social/list-hashtag-posts.md): Lists the latest public posts for a hashtag on a Mastodon server, newest first. Some servers require login for public timelines.
- [Bluesky API: Get profile](https://fous.com/methods/bsky.app/get-profile.md): Looks up a public Bluesky profile by handle or profile link, including bio, audience counts and join date. A bare name first checks its .bsky.social handle, then the top relevant people-search result.
- [X API: Get profile](https://fous.com/methods/x.com/get-profile.md): Gets the public X profile for a username or profile link, including counts, verification, images and account details. Does not include posts or a timeline.
- [TikTok API: Get profile](https://fous.com/methods/tiktok.com/get-profile.md): Gets a TikTok creator's public profile and totals (followers, following, likes, videos) from a username, @handle or profile link. Profiles not visible to public visitors cannot be returned.
- [Instagram API: Get profile](https://fous.com/methods/instagram.com/get-profile.md): Gets an Instagram account's public profile from its username, @name or profile link: name, bio, exact follower, following and post counts, verified and private flags, first bio link, profile picture and account ID.
- [Social Blade API: Get Instagram account stats](https://fous.com/methods/socialblade.com/get-instagram-stats.md): Looks up public Instagram account totals, engagement and grade on Social Blade by handle or profile link. Daily history and 30-day follower change need a Social Blade sign-in, so they are not returned.
- [Threads API: Get profile](https://fous.com/methods/threads.com/get-profile.md): Gets a public Threads profile by username or profile link, with bio, followers, verification, picture and bio links. Private profiles are not returned.
- [All Mastodon methods](https://fous.com/methods/mastodon.social.md)
