Skip to content
Worix
BrowsePublish
Log inSign Up

WebSim API

Access WebSim's REST API to retrieve user profiles, projects, comments, trending feeds, social graphs, and search public project assets.

81 downloads
Free
Reviewed
websim

WebSim API — Agent Instructions

Use this skill whenever a user asks about WebSim projects, users, trending content, community comments, or uploaded assets. All endpoints are read-only except post_comment, which requires authentication.


General Rules

  1. Base URL: All endpoints are relative to https://websim.com. Always prepend this to every path.
  2. No Authentication Required for all GET endpoints. Only POST /api/v1/projects/{id}/comments requires a Bearer token.
  3. Pagination: Many endpoints use cursor-based pagination. Look for a cursor field in each result item and pass it as the after query parameter to fetch the next page.
  4. Rate Limiting: Be respectful. Do not fire rapid sequential requests. One request at a time is sufficient.

Endpoint Usage Guide

1. Look Up a User — get_user

When to use: The user asks "who is [username] on WebSim?", "does this user exist?", or "show me their profile."

Request:

GET https://websim.com/api/v1/users/{username}

Key response fields:

FieldTypeMeaning
idstring (UUID)Unique user identifier
usernamestringDisplay username
avatar_urlstringURL to user's profile image
is_adminbooleanWhether the user is a WebSim admin
created_atISO 8601Account creation date
discord_usernamestring or nullLinked Discord handle

Example:

GET https://websim.com/api/v1/users/sean

2. Browse a User's Projects — get_user_projects

When to use: The user asks "what has [username] built?", "show me their projects", or "find projects by [username]."

Request:

GET https://websim.com/api/v1/users/{username}/projects?first=10&posted=true

Key response fields (each item in the array):

Field PathTypeMeaning
project.idstringProject identifier (use for other endpoints)
project.titlestringHuman-readable project title
project.slugstringURL-safe project slug
project.stats.viewsintegerTotal view count
project.stats.likesintegerTotal like count
project.stats.commentsintegerTotal comment count
project.visibilitystring"public" or "private"
project.postedbooleanWhether the project has been published
project.descriptionstring or nullAuthor-written description
project.generated_descriptionstring or nullAI-generated description
project.domainsarrayCustom domains (e.g. "emoji-merger.on.websim.ai")
project.current_versionintegerLatest version number
site.link_urlstringRelative public URL (prepend base_url to open)
site.modelstringAI model used (e.g. "gemini-3-pro", "gpt-5")
site.prompt.textstringThe last prompt used to generate/edit the project
cursorstringPagination cursor — pass as after for next page

Pagination: If the array length equals your first value, there may be more pages. Take the cursor from the last item and pass it as ?after={cursor}.


3. Get Project Details — get_project

When to use: The user gives you a specific project ID and asks for details, or you need full metadata on a single project.

Request:

GET https://websim.com/api/v1/projects/{id}

Key response fields:

Field PathTypeMeaning
project.titlestringProject title
project.created_by.usernamestringCreator's username
project.statsobject{ views, likes, comments }
project.parent_idstring or nullIf remixed, the original project ID
project_revision.versionintegerCurrent version number
project_revision.current_screenshot_urlstringURL to a screenshot of the current version
site.modelstringAI model used
site.prompt.textstringGeneration prompt
site.link_urlstringRelative link to view the project
site.yappingstringThe AI's internal reasoning/thinking log

Constructing a viewable URL:

https://websim.com{site.link_url}

For example: https://websim.com/p/n9gw5x7w6rlcl48m2aks


4. Read Project Comments — get_project_comments

When to use: The user asks "what are people saying about this project?", "show me comments", or "read the feedback."

Request:

GET https://websim.com/api/v1/projects/{id}/comments?sort_by=best&first=20

Key response fields (each item in the array):

Field PathTypeMeaning
comment.idstring (UUID)Comment identifier
comment.raw_contentstringPlain text content of the comment
comment.contentobjectRich text document structure (has children with type and text)
comment.author.usernamestringCommenter's username
comment.author.avatar_urlstringCommenter's avatar
comment.created_atISO 8601When the comment was posted
comment.reply_countintegerNumber of replies to this comment
comment.parent_comment_idstring or nullnull if top-level; otherwise the parent comment ID
comment.reactionsarrayEmoji reactions with emoji.name and user_ids
comment.pinnedbooleanWhether the comment is pinned
comment.card_dataobject or nullSpecial data (e.g. tip comments with credits_spent)

Reading comment text: Use comment.raw_content for plain text. The comment.content field contains a structured document — iterate content.children[].children[].text to extract text segments.


5. Post a Comment — post_comment

When to use: The user explicitly asks you to leave a comment on a project. Requires authentication.

Request:

POST https://websim.com/api/v1/projects/{id}/comments
Content-Type: application/json
Authorization: Bearer {token}

{
  "content": "Great project!",
  "parent_comment_id": null
}

Set parent_comment_id to a comment ID string to reply to a specific comment, or null for a top-level comment.

⚠️ Only use this when the user explicitly requests it. Never post comments autonomously.


6. Discover Trending Projects — get_trending

When to use: The user asks "what's popular on WebSim?", "show me trending projects", or "what's new?"

Request:

GET https://websim.com/api/v1/feed/trending?feed=hot&limit=12&range=week

Key response fields (each item in the feed.data array):

Field PathTypeMeaning
site.titlestringProject/site title
project.titlestringProject title
project.idstringProject ID (for deeper lookup)
project.created_by.usernamestringCreator
viewsintegerView count in the time range
likesintegerLike count
active_playersintegerCurrent multiplayer player count

Feed types:

  • hot — Currently popular (engagement-weighted)
  • new — Most recently published
  • top — Highest overall stats

Range values: day, week, month, all


7. View a User's Social Graph — get_user_following

When to use: The user asks "who does [username] follow?" or "show me their connections."

Request:

GET https://websim.com/api/v1/users/{username}/following?first=50

Key response fields (each item in the following.data array):

Field PathTypeMeaning
follow.user.usernamestringUsername of the followed account
follow.user.avatar_urlstringTheir avatar
follow.user.is_adminbooleanWhether they're an admin
follow.created_atISO 8601When the follow relationship began

8. Search for Assets — search_assets

When to use: The user asks "find me images of X", "search for audio files", "find assets for my project", or any asset discovery request.

Request:

GET https://websim.com/api/v1/search/assets?q={query}&limit=20

Optional filters:

  • mime_type_prefix=image — Only images (PNG, JPEG, WebP, etc.)
  • mime_type_prefix=audio — Only audio files (MP3, WAV, etc.)
  • mime_type_prefix=video — Only video files
  • mime_type_prefix=model — Only 3D models

Key response fields (each item in the data array):

FieldTypeMeaning
idstring (UUID)Asset identifier
asset_urlstringDirect download URL for the asset
content_typestringFull MIME type (e.g. "image/png", "audio/mpeg")
filenamestringOriginal filename
project_idstringThe project this asset belongs to
created_atISO 8601Upload date
scoreintegerRelevance score (higher = better match)

Pagination: Use offset and limit. Check meta.offset and meta.limit in the response to calculate the next page:

next_offset = meta.offset + meta.limit

The asset URL is directly usable. For example (an image of a retro-Roblox-themed white bunny rabbit):

https://project-assets.websim.com/0196c3b6-c5fc-7bbf-b59b-a53857ec2fa8

Output Formatting Guidelines

Present your findings in a clear, structured, and user-friendly manner:

  • User lookups: Show username, avatar (as a link or image), join date, and admin status.
  • Project lists: Use a numbered or bulleted list with title, view/like counts, and a direct link (https://websim.com/p/{project_id}).
  • Comments: Quote the comment text, attribute the author, and note any reactions or reply counts.
  • Trending: Present as a ranked list with title, creator, and engagement stats.
  • Assets: Show filename, type (image/audio/etc.), a direct link to the asset, and which project it came from.
  • Pagination: If more results are available, inform the user and offer to fetch the next page.

Common Patterns

Constructing project URLs:

View:       https://websim.com/p/{project_id}
Versioned:  https://websim.com/p/{project_id}/{version}

Constructing user profile URLs:

https://websim.com/@{username}

Chaining requests: To give a full picture of a user's work, you may:

  1. Call get_user to confirm they exist and get profile data.
  2. Call get_user_projects to list their published work.
  3. Call get_project on a specific project for deep details.
  4. Call get_project_comments to read community feedback.

Download

ZIP package — ready to use

Skill Info

Creator
upintheairsheep
Downloads
81
Published
Mar 15, 2026
Updated
Mar 16, 2026