Discover/Pixeljoint API
live

Pixeljoint APIpixeljoint.com

Browse and discover pixel art from the Pixel Joint community by searching gallery listings and viewing detailed information about individual artworks. Get access to artwork metadata, artist information, and gallery collections to explore the pixel art community's creative work.

Endpoint health
monitored
get_artwork_details
list_artworks
Checks pendingself-healing
Endpoints
2
Updated
3h ago
Try it
Canvas dimension filter value. Accepted values: 10, 16, 32, 48, 50, 64, 96. Represents the pixel dimension threshold for filtering (e.g. 96 means 96x96).
Canvas dimension comparison operator used with dim. Accepted values: '>=', '=', '<='.
Page number (1-based).
Sort order for results.
Keyword to filter artworks by title.
api.parse.bot/scraper/11bcd060-1932-4804-87d3-d71211832c9b/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/11bcd060-1932-4804-87d3-d71211832c9b/list_artworks?dim=10&dimo=%3E%3D&page=1&sort=rating&keyword=dragon' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace pixeljoint-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: Pixel Joint API — browse pixel art by size, drill into details."""
from parse_apis.pixeljoint_com_api import PixelJoint, Sort, DimOperator, ArtworkNotFound

client = PixelJoint()

# List newest artworks, capped to 5 total items
for art in client.artwork_summaries.list(sort=Sort.DATE, limit=5):
    print(art.title, art.artist, art.thumbnail_width, art.thumbnail_height)

# Filter to large canvases (>= 96px) sorted by rating
for art in client.artwork_summaries.list(sort=Sort.RATING, dim="96", dimo=DimOperator.GTE, limit=3):
    print(art.title, art.favorites)

# Drill into one artwork for full canvas dimensions
summary = client.artwork_summaries.list(sort=Sort.RATING, limit=1).first()
if summary:
    detail = summary.details()
    print(detail.title, detail.canvas_width, detail.canvas_height, detail.image_url)

# Fetch a specific artwork by ID
try:
    artwork = client.artworks.get(artwork_id="17123")
    print(artwork.title, artwork.canvas_width, artwork.canvas_height)
except ArtworkNotFound as exc:
    print(f"Artwork not found: {exc.artwork_id}")

print("exercised: artwork_summaries.list / summary.details / artworks.get")
All endpoints · 2 totalmissing one? ·

List pixel artworks from the Pixel Joint gallery with optional sorting and canvas size filtering. Results are paginated with 24 artworks per page. Use the dim and dimo parameters to filter artworks by canvas dimensions — for example, dimo='>=' with dim='96' returns artworks whose canvas is at least 96 pixels. Results are auto-iterated across pages.

Input
ParamTypeDescription
dimstringCanvas dimension filter value. Accepted values: 10, 16, 32, 48, 50, 64, 96. Represents the pixel dimension threshold for filtering (e.g. 96 means 96x96).
dimostringCanvas dimension comparison operator used with dim. Accepted values: '>=', '=', '<='.
pageintegerPage number (1-based).
sortstringSort order for results.
keywordstringKeyword to filter artworks by title.
Response
{
  "type": "object",
  "fields": {
    "page": "integer",
    "sort": "string",
    "artworks": "array of artwork summary objects with artwork_id, url, thumbnail_url, title, artist, comments, favorites, date_added",
    "total_pages": "integer"
  },
  "sample": {
    "data": {
      "page": 1,
      "sort": "date",
      "artworks": [
        {
          "url": "https://pixeljoint.com/pixelart/164313.htm",
          "title": "Medieval march",
          "artist": "Yavor984",
          "comments": 1,
          "favorites": 0,
          "artist_url": "https://pixeljoint.com/p/269281.htm",
          "artwork_id": "164313",
          "date_added": "7/4/2026 11:26",
          "thumbnail_url": "https://pixeljoint.com/files/icons/sprite026023r.png",
          "thumbnail_width": 64,
          "thumbnail_height": 64
        }
      ],
      "total_pages": 84
    },
    "status": "success"
  }
}

About the Pixeljoint API

The Pixeljoint API on Parse exposes 2 endpoints for the publicly available data on pixeljoint.com. Calls return JSON over HTTPS and are billed per successful response.

Pin a release with the API-Snapshot-Version header so canonical updates don't silently change your contract.