Mojang Minecraft Profile Scraper
Pricing
from $0.90 / 1,000 results
Mojang Minecraft Profile Scraper
Scrapes Minecraft player profiles from Mojang's public session server by username. Returns UUID, current name, and skin URL in a flat row.
Pricing
from $0.90 / 1,000 results
Rating
0.0
(0)
Developer
Acquisition Automation Co.
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share

๐ฎ Mojang Minecraft Profile Scraper
Turn a list of Minecraft usernames into rows with the UUID, skin texture URL, cape URL and skin model. Two lookups per player are done for you: username to UUID, then UUID to profile textures. No API key, no account, no Microsoft login.
Mojang publishes player identity across two public endpoints, and neither returns what you actually need on its own. The first maps a username to a UUID. The second takes that UUID and returns a base64 blob you have to decode before the skin and cape URLs are readable. This Actor does both steps and the decoding, then writes one flat row per username.
| Who uses it | What they use profiles for |
|---|---|
| ๐ฅ Server operators | Resolving a whitelist or ban list of usernames to stable UUIDs before a migration |
| ๐งฉ Plugin and mod developers | Batch-resolving players without writing and rate-limiting two API calls |
| ๐ Tournament and community admins | Checking that a roster of signups maps to real, current accounts |
| ๐จ Skin and avatar tools | Pulling texture URLs and the skin model for rendering |
๐ What it does
๐ก Why it matters: usernames change, UUIDs do not. Any list keyed on a name goes stale. Resolving the whole list to UUIDs once is what stops that.
- ๐ Takes a plain list of usernames and returns one row per name, in the order you supplied them.
- ๐ Resolves to the UUID, the identifier that survives a name change and the one every server API expects.
- ๐ Decodes the texture payload so the skin URL and cape URL arrive as plain links, not as base64 inside a property object.
- ๐ง Returns the skin model,
classicorslim, which is what a renderer needs to size the arms correctly. - โ ๏ธ Surfaces profile actions, the list Mojang uses to mark an account as forced to change name or banned from multiplayer. Empty on a normal account.
- ๐พ Exports to CSV, Excel, JSON or XML, from the run page or the API.
๐ Output
Every username is one flat row. capeUrl is null for accounts with no cape, which is most of them.
| Field | Type | Description |
|---|---|---|
๐ผ imageUrl | string | Skin texture link, the same value as skinUrl, kept as a generic image column |
๐ค username | string | Current name on the account, as Mojang spells it |
๐ uuid | string | Account UUID, 32 hex characters without dashes |
๐ฉ profileActions | array | Moderation flags on the account. Empty on a normal profile |
๐ skinUrl | string | Skin texture link on textures.minecraft.net |
๐งฃ capeUrl | string | Cape texture link, or null where the account has no cape |
๐ง model | string | Skin model, classic or slim |
๐ scrapedAt | string | ISO timestamp of collection |
โ ๏ธ error | string | null on a normal row |
Example rows
{"imageUrl": "http://textures.minecraft.net/texture/292009a4925b58f02c77dadc3ecef07ea4c7472f64e0fdc32ce5522489362680","username": "Notch","uuid": "069a79f444e94726a5befca90e38aaf5","profileActions": [],"skinUrl": "http://textures.minecraft.net/texture/292009a4925b58f02c77dadc3ecef07ea4c7472f64e0fdc32ce5522489362680","capeUrl": null,"model": "classic","scrapedAt": "2026-09-14T15:13:15.699Z","error": null}
{"imageUrl": "http://textures.minecraft.net/texture/7fd9ba42a7c81eeea22f1524271ae85a8e045ce0af5a6ae16c6406ae917e68b5","username": "jeb_","uuid": "853c80ef3c3749fdaa49938b674adae6","profileActions": [],"skinUrl": "http://textures.minecraft.net/texture/7fd9ba42a7c81eeea22f1524271ae85a8e045ce0af5a6ae16c6406ae917e68b5","capeUrl": "http://textures.minecraft.net/texture/9e507afc56359978a3eb3e32367042b853cddd0995d17d0da995662913fb00f7","model": "classic","scrapedAt": "2026-09-14T15:13:15.826Z","error": null}
โจ Why choose this Actor
| What you get | |
|---|---|
| Two calls collapsed into one row | Name to UUID and UUID to textures, done and joined. |
| The base64 blob already decoded | Skin and cape arrive as URLs you can open, not as an encoded property. |
| No credentials | Both endpoints are public. No API key, no Microsoft account, no OAuth. |
| The same 9 fields every run | Append batches into one dataset without cleaning columns. |
| You pay per row | No subscription. $0.001 per profile on the Free plan. |
๐ How to use it
- Create a free Apify account. New accounts start with $5 of credit.
- Open the Actor and select Try for free.
- Paste your usernames into
usernames, one per line. - Set
maxItemsto cap the run. - Select Start, then export from the Dataset tab as CSV, Excel, JSON or XML.
A first run:
{"usernames": ["Notch", "jeb_", "Dinnerbone"],"maxItems": 10}
A larger batch:
{"usernames": ["Notch", "jeb_", "Dinnerbone", "Grumm", "Searge"],"maxItems": 1000}
โ๏ธ Input
| Field | Required | Description |
|---|---|---|
usernames | No | Minecraft usernames to look up, one per line. Each name produces one row |
maxItems | No | Maximum profiles per run. Free plan is capped at 10, paid plans up to 1,000,000 |
๐ฐ Pricing
Pay per result. No subscription, and no Apify platform usage on top.
| Apify plan | Free | Bronze | Silver | Gold | Platinum | Diamond |
|---|---|---|---|---|---|---|
| Per profile row | $0.001 | $0.00097 | $0.00094 | $0.0009 | $0.0009 | $0.0009 |
| Rows collected | Cost on the Free plan |
|---|---|
| 100 | $0.10 |
| 1,000 | $1.00 |
| 10,000 | $10.00 |
Free plan runs return up to 10 rows as a preview. Any paid Apify plan lifts that to 1,000,000 per run.
๐ Integrate with any app
The dataset is available through the Apify API as soon as the run finishes. Use run-sync-get-dataset-items for a one-shot call, webhooks to trigger what happens next, or the Make, Zapier, Airbyte and LangChain integrations listed on the Actor page.
๐ค Use with an AI agent
Give an agent live access to the profile lookup over the Model Context Protocol:
$claude mcp add --transport http apify "https://mcp.apify.com?tools=acquistion-automation/mojang-minecraft-profile-scraper"
Then hand it a list of usernames and ask which ones failed to resolve.
โ Frequently asked questions
Does it return the player's name history? No. Mojang retired the name history endpoint, so each row carries the current username only. There is no previous-names field.
What happens to a username that does not exist? Mojang returns nothing for it. The Actor does not invent a row with a made-up UUID.
Why does uuid have no dashes?
That is how the session server returns it. Insert dashes at positions 8, 12, 16 and 20 if a tool you use expects the hyphenated form.
Are imageUrl and skinUrl different?
No. imageUrl repeats the skin texture link so the dataset has a generic image column for tools that expect one. Use either.
Does it work for Bedrock or cracked accounts? No. This reads Mojang's session server, which covers Java Edition accounts only.
What can I export? CSV, Excel, JSON and XML from the run page, or JSON straight from the API.
๐ More from Acquisition Automation Co.
- RAWG Video Games Scraper
- Tunefind Soundtracks Scraper
- Bundesliga Stats Scraper
- 404 Media Articles Scraper
- BizBuySell Scraper
About Acquisition Automation Co.
We build automation for people buying businesses. The repetitive part of an acquisition search, checking listings, pulling public records, tracking owners and assets, is work a machine should do, so the buyer's time goes into judging deals instead of collecting them.
We add new Actors regularly. If there is a source you need and do not see here, tell us.
๐ Support
Open an issue in the Issues tab of this Actor with your run ID, the input you used, and what you expected to get back.
โ ๏ธ Disclaimer
This Actor is independent and is not affiliated with, endorsed by, or sponsored by Mojang Studios or Microsoft. It collects only publicly available data. You are responsible for using that data in compliance with the source's terms of service and applicable law.