Developers
Menu

Search and look up the artists behind the artworks on the Street Art Cities map.

The Artists API lets your app find artists, look them up, and list their artworks.

Base link: https://streetartcities.com/api/artists

API reference: open in Swagger UI, or grab the OpenAPI spec directly.

Want to change an artist?

The Artists API is read-only. To fix mistakes, suggest a change with the Edits API.

Endpoints

EndpointScopeWhat it does
GET /api/artistsartists:readSearch artists
GET /api/artists/:idartists:readEverything about one artist
GET /api/artists/:id/markersartists:readThe artist's markers

All of them need an access token with the artists:read scope.

An artist

{
  "@type": "Artist",
  "id": "someone",
  "title": "Someone",
  "href": "https://streetartcities.com/artists/someone",
  "alternativeTitles": ["S0meone", "Someone Else"],
  "logoImage": "https://streetartcities.com/media/artists/…/logo.jpg",
  "country": "Netherlands",
  "artworksCount": 42,
  "createdAt": "2026-01-01T12:00:00.000Z",
  "updatedAt": "2026-02-01T08:30:00.000Z",
  "bio": "Paints big cats.",
  "socialLinks": [{ "type": "instagram", "url": "https://instagram.com/…" }]
}

alternativeTitles are other names the artist goes by, and other ways to spell their name. Search looks at those too.

GET /api/artists/:id gives you all of this, straight from our database. Search results only have the fields up to updatedAt.

Searching

curl "https://streetartcities.com/api/artists?q=someone" \
  -H "Authorization: Bearer ACCESS_TOKEN"
ParameterWhat it does
qWords to look for in the artist's name and other names
cityOnly artists with markers in this city, like amsterdam
countryOnly artists with markers in this country, like NL
sortrelevance (best match for q first), popular (most artworks first) or oldest
updatedSinceOnly artists that changed since this time

Pages work just like searching markers, including keeping a copy in sync with sort=oldest and updatedSince.

An artist's markers

GET /api/artists/:id/markers takes the same options as searching markers, and gives the same results. It's the same as searching markers with artist=:id.

Errors

Errors look like this:

{ "error": { "message": "Artist not found." } }

You get a 404 when an artist doesn't exist. That includes artists that were merged into another one, when two people added the same artist.