Connect your agent
Everything you can do in the web app works from an AI assistant or a script: creators claim slots and get tracking links, developers post a job from their Steam link, send direct offers and read job reports. It is all one shared state, so a job posted over MCP shows up on the dashboard right away.
Sign in with a demo token
Searching jobs and estimates need no token. To act as an account, send Authorization: Bearer <token>, or for MCP clients that can’t set headers, use wishlistme.me/mcp?token=<token>. Real accounts will use OAuth.
wlm_demo_creatorMara Quill, the creator the web app signs in aswlm_demo_creator_<id>Any creator, e.g. wlm_demo_creator_c-2 (ids from /api/creators)wlm_demo_studioDevolver Digital, the studio the web app signs in aswlm_demo_studio_<name>Any studio, e.g. wlm_demo_studio_Lone_Pixel for a solo developer
MCP server
Streamable HTTP. Add it to Claude, Cursor or any MCP client.
{
"mcpServers": {
"wishlistme": {
"type": "http",
"url": "https://wishlistme.me/mcp",
"headers": { "Authorization": "Bearer wlm_demo_studio" }
}
}
}In Claude Code: claude mcp add --transport http wishlistme https://wishlistme.me/mcp
For everyone
search_campaignsFind open Steam game jobs: developers bid a price per wishlist for a number of creators, each delivering a set number of wishlists. Filter by text, channel and minimum bid.
get_campaignFull details of one job: bid per wishlist, creators wanted, open slots, wishlists per creator, deadline, minimum audience, channels and brief.
estimate_earningsEstimate what a creator would earn from a job for a given number of link clicks and click-to-wishlist rate, capped at the slot size.
estimate_jobFor Game Devs: the budget and fee for a job at a bid per wishlist, a number of creators and wishlists per creator (at least 50).
draft_job_from_steamFor solo developers and studios: paste a Steam store link and get a ready-to-post job (game details from Steam, bid, creators, wishlists each, budget and fee) plus a prefilled link to fund and post it after signing in.
get_rulesHow jobs, attribution, escrow, the payout hold and fees work, and what creators are not allowed to do.
whoamiYour dashboard: for a creator, slots, offers and earnings; for a developer, jobs, games, spend and escrow. Says how to sign in if no token was sent.
For creators (creator token)
claim_slotClaim a creator slot in an open job, or accept a direct offer. Instant if a slot is open and your verified audience meets the job minimum. Returns your tracking link.
decline_offerPass on a direct offer a developer sent you.
add_tracking_linkA new tracking link for another video or post in a job you have a slot in. Put it in the description; Steam attributes wishlists to it.
my_slotsYour claimed slots with progress: verified and estimated wishlists, clicks per link, days left and earnings.
my_earningsPending, available and paid earnings, with each ledger line. Earnings release after the 30-day hold.
connect_channelConnect YouTube, Twitch, TikTok, X, a Steam curator page or a blog. Verified followers count towards job minimums.
For Game Devs (developer token)
post_jobPost a job. Posting is free: you are charged when the first creator claims a slot. Pass your Steam link (solo developers: that is all you need) or a game_id, a bid per wishlist, creators and wishlists each. Add `invite` with creator ids to make it a direct offer. Creators can claim right away.
check_gameAdd a game from its Steam link (or by name if it has no Steam page yet). Reads the store page: wishlists open, demo out, released or free, and suggests the job to post: wishlists, players or sales.
my_jobsYour jobs with status, slots claimed, clicks, verified wishlists, spend and whether Steamworks is connected.
job_reportOne job slot by slot: which creators claimed, their links and clicks, and what Steam verified.
set_job_statusSet a job live, paused or ended. Ending refunds the unearned budget.
find_creatorsThe creator directory with track records (delivered wishlists, conversion, fill rate, games), to pick creators for a direct offer. Empty until creators have joined.
connect_steamworksConnect read-only Steamworks analytics for a game once, so Wishlistme can pull the UTM report daily. Without it, wishlists for that game can’t be verified.
sync_steamPull the Steam UTM report now instead of waiting for the next daily sync, and credit newly verified wishlists.
Agent skill
Teaches an agent how to help creators and developers, and which practices to never suggest. Listed in the skills index.
npx skills add https://wishlistme.me
REST API
JSON, CORS enabled. Full spec in openapi.json. Public reads:
- GET /api/campaigns?channel=youtube&sort=rate
- GET /api/campaigns/cp-neon
- GET /api/campaigns/cp-neon/estimate?clicks=2000
- GET /api/estimate?rate=0.25&creators=3&per_creator=50
Any account
GET /api/meYour dashboard (creator or developer, from the token)GET /api/creatorsCreator directory with track records. Query: query, channel, min_followersGET /api/creators/{id}One creator’s channels and track recordPOST /api/demo/resetPut the demo back to its starting data (for everyone)
Creators
GET /api/me/slotsYour claimed slots with links, clicks and verified wishlistsGET /api/me/offersDirect offers waiting for your answerGET /api/me/earningsPending, available and paid earnings with ledger linesGET /api/me/channelsYour connected channelsPOST /api/me/channelsConnect a channel. Body: { kind }DELETE /api/me/channels/{kind}Disconnect a channelPOST /api/campaigns/{id}/claimClaim a slot or accept a direct offer. Body: { pitch? }POST /api/campaigns/{id}/declineDecline a direct offerPOST /api/campaigns/{id}/linksNew tracking link for a video. Body: { label, channel? }
Developers
GET /api/studio/jobsYour jobs with claims, clicks, verified wishlists and spendPOST /api/studio/jobsPost and fund a job. Body: { steam_url | game_id, rate_usd, creators, wishlists_per_creator, min_followers?, channels?, brief?, invite? }. With invite it is a direct offer.GET /api/studio/jobs/{id}Job report, slot by slotPATCH /api/studio/jobs/{id}Pause, resume or end. Body: { status: live | paused | ended }GET /api/studio/gamesYour games and their Steamworks connectionPOST /api/studio/gamesAdd a game from its Steam link. Body: { steam_url }PUT /api/studio/games/{id}/steamworksConnect Steamworks (read-only analytics). Body: { connected }POST /api/studio/syncPull the Steam UTM report for your games now
# A solo developer posts a job from their Steam link
curl -X POST https://wishlistme.me/api/studio/jobs \
-H "Authorization: Bearer wlm_demo_studio_Lone_Pixel" \
-H "Content-Type: application/json" \
-d '{"steam_url":"https://store.steampowered.com/app/5188190/","rate_usd":0.25,"creators":3,"wishlists_per_creator":50}'
# A creator claims a slot in it
curl -X POST https://wishlistme.me/api/campaigns/<job id>/claim \
-H "Authorization: Bearer wlm_demo_creator"Discovery
Every public page is available as Markdown: add .md to the path, or send Accept: text/markdown.