curl --request GET \
--url https://patch.gg/api/v1/projectsconst options = {method: 'GET'};
fetch('https://patch.gg/api/v1/projects', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://patch.gg/api/v1/projects"
response = requests.get(url)
print(response.text){
"data": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"owner": "<string>",
"owner_image": "<string>",
"slug": "<string>",
"handle": "patch/demo-mod",
"name": "<string>",
"summary": "<string>",
"description": "<string>",
"kind": "web_game",
"categories": [
"action"
],
"status": "active",
"cover_url": "<string>",
"cover_levels": [
{
"width": 123,
"url": "<string>"
}
],
"tall_cover_url": "<string>",
"tall_cover_levels": [
{
"width": 123,
"url": "<string>"
}
],
"hover_clip_url": "<string>",
"hover_clip_levels": [
{
"width": 123,
"url": "<string>"
}
],
"min_players": 123,
"max_players": 123,
"source_visibility": "open_source",
"code_license": "MIT",
"art_license": "MIT",
"links": {
"discord": "https://discord.gg/patch",
"x": "https://x.com/patchgg",
"telegram": "https://t.me/patchgg",
"youtube": "https://youtube.com/@patchgg",
"twitch": "https://twitch.tv/patchgg",
"github": "https://github.com/patchgg/demo-mod"
},
"original_creator": {
"name": "<string>",
"github_login": "<string>",
"claimed": true,
"claimable": true
},
"host_games": [
{
"slug": "<string>",
"name": "<string>",
"role": "host",
"cover_url": "<string>",
"store_urls": [
"<string>"
]
}
],
"latest_release": {
"version": "<string>",
"channel": "<string>",
"published_at": "<string>",
"trust_tier": "sandboxed",
"block": {}
},
"created_at": "<string>",
"updated_at": "<string>",
"viewer_claim": {
"can_claim": true,
"github_linked": true,
"github_login": "<string>",
"github_matches": true,
"pending": true
},
"team_release": {
"version": "<string>",
"channel": "<string>",
"published_at": "<string>",
"served": true
},
"urls": {
"page": "<string>",
"play": "<string>",
"game": "<string>"
}
}
],
"next_cursor": "<string>"
}Browse public projects, Patch's own first
Patch’s own projects come first, then everyone else’s, each newest first. Each project comes with its host games and latest public release. kind (comma-separated) keeps projects of any of those kinds; left out, every kind but block (blocks’ live demos, which are never games: GET /repos/search is the way to find blocks), and category (comma-separated) those in any of those categories. host_game (comma-separated slugs) keeps projects that use any of those games, and with several, those that use all of them come first, then those that use fewer, Patch’s own first in each group; owner (comma-separated owners) keeps those owners’ projects.
curl --request GET \
--url https://patch.gg/api/v1/projectsconst options = {method: 'GET'};
fetch('https://patch.gg/api/v1/projects', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://patch.gg/api/v1/projects"
response = requests.get(url)
print(response.text){
"data": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"owner": "<string>",
"owner_image": "<string>",
"slug": "<string>",
"handle": "patch/demo-mod",
"name": "<string>",
"summary": "<string>",
"description": "<string>",
"kind": "web_game",
"categories": [
"action"
],
"status": "active",
"cover_url": "<string>",
"cover_levels": [
{
"width": 123,
"url": "<string>"
}
],
"tall_cover_url": "<string>",
"tall_cover_levels": [
{
"width": 123,
"url": "<string>"
}
],
"hover_clip_url": "<string>",
"hover_clip_levels": [
{
"width": 123,
"url": "<string>"
}
],
"min_players": 123,
"max_players": 123,
"source_visibility": "open_source",
"code_license": "MIT",
"art_license": "MIT",
"links": {
"discord": "https://discord.gg/patch",
"x": "https://x.com/patchgg",
"telegram": "https://t.me/patchgg",
"youtube": "https://youtube.com/@patchgg",
"twitch": "https://twitch.tv/patchgg",
"github": "https://github.com/patchgg/demo-mod"
},
"original_creator": {
"name": "<string>",
"github_login": "<string>",
"claimed": true,
"claimable": true
},
"host_games": [
{
"slug": "<string>",
"name": "<string>",
"role": "host",
"cover_url": "<string>",
"store_urls": [
"<string>"
]
}
],
"latest_release": {
"version": "<string>",
"channel": "<string>",
"published_at": "<string>",
"trust_tier": "sandboxed",
"block": {}
},
"created_at": "<string>",
"updated_at": "<string>",
"viewer_claim": {
"can_claim": true,
"github_linked": true,
"github_login": "<string>",
"github_matches": true,
"pending": true
},
"team_release": {
"version": "<string>",
"channel": "<string>",
"published_at": "<string>",
"served": true
},
"urls": {
"page": "<string>",
"play": "<string>",
"game": "<string>"
}
}
],
"next_cursor": "<string>"
}Query Parameters
"web_game,mod"
"shooters,survival"
"minecraft-java,hollow-knight"
"mira,vela"
1 <= x <= 100The next_cursor from the previous page
500