Grofomo API
Browse the docs

Examples use a fictional festival, summer-fest. Sign in at events.grofomo.com and they switch to your own events.

Artist detail

GET/v1/events/{slug}/artists/{artistId}

An artist's full profile — biography, image and social links — together with every set they play at this event.

Use it for an artist page linked from the lineup.

No key is required today — send one anywayThe Grofomo mobile app still calls this endpoint without a credential, so it cannot be locked down yet. It will be. A key sent now is accepted and ignored, so an integration built this way keeps working on the day enforcement lands; one built without a key will start returning 401 unauthorized.

Request

curl -sS \
  -H 'X-Grofomo-Key: pk_live_YOUR_PUBLISHABLE_KEY' \
  'https://api.grofomo.com/v1/events/summer-fest/artists/9a8b7c6d-5e4f-4a3b-2c1d-0e9f8a7b6c5d'

Path parameters

slugstringrequired
The event's URL slug. Globally unique, and fixed once the event is created. Example: `summer-fest`.
artistIduuidrequired
From the lineup response. Example: `9a8b7c6d-5e4f-4a3b-2c1d-0e9f8a7b6c5d`.

Response

200 OK
{
  "apiVersion": 1,
  "data": {
    "id": "9c7e5a3b-1f0d-4b2e-8a6c-4d2f0b8e6a13",
    "name": "Nala Vex",
    "realName": null,
    "bioShort": "Manchester house producer with a decade of dancefloor edits behind her.",
    "bioLong": "Nala Vex has spent ten years turning warehouse rooms inside out, first through the Low Ceiling parties and later on her own Vexed imprint. Her sets move between rolling house, UK breaks and whatever record she found on Thursday.",
    "imageUrl": "https://cdn.grofomo.com/summer-fest/artists/nala-vex.jpg",
    "genres": [
      "House",
      "Breaks"
    ],
    "website": "https://nalavex.example",
    "socials": {
      "instagram": "https://instagram.com/nalavex",
      "soundcloud": "https://soundcloud.com/nalavex"
    },
    "hometown": "Manchester",
    "region": "England",
    "country": "GB",
    "locationLabel": "Manchester, England, United Kingdom",
    "sets": [
      {
        "lineupId": "3e5a7c9b-0d2f-4e6a-9b8c-1d3f5a7e9c02",
        "stage": "Main Stage",
        "day": "2026-07-17",
        "startTime": "21:30",
        "endTime": "23:00"
      }
    ]
  }
}
iduuid
namestring
Billed name.
realNamestring | null
Legal name, when the artist has published one.
bioShortstring | null
One or two sentences, for a lineup card.
bioLongstring | null
Full biography, for an artist page.
imageUrlstring | null
Press shot.
genresstring[]
Free-text genre tags. May be empty.
websitestring | null
The artist's own site.
socialsobject
Profile URLs keyed by platform slug (`instagram`, `spotify`, `soundcloud`, …). Blank entries are stripped server-side, so every value here is a real URL.
hometownstring | null
City.
regionstring | null
State or province.
countrystring | null
Raw ISO 3166-1 alpha-2 code, e.g. "GB".
locationLabelstring | null
Pre-formatted location for display. Render this rather than joining the parts.
setsobject[]
Every set this artist plays at this event.
sets[].lineupIduuid
Matches the `id` of the corresponding lineup slot.
sets[].stagestring | null
sets[].daystring | null
Festival day as `YYYY-MM-DD`.
sets[].startTimestring | null
Local start time as `HH:MM`.
sets[].endTimestring | null
Local end time as `HH:MM`.
Generated from ArtistDetailResponse

Errors

not_foundHTTP 404
No event with that slug is published on this surface. Check the slug, and check you sent `?surface=web`.