Local knowledge for your AI tools
Connect Cursor, VS Code, Codex or Claude Code. Free MCP access, no key needed.
Local artists: API reference
6 endpoints. Base URL https://princegeorgepulse.ca/api/v1. Conventions (envelope, paging, fields, formats, limits) are on the overview. All endpoints.
GET /api/v1/artists #
Approved local artist profiles: DJs, bands, musicians, comedians, visual artists, dancers and other talent.
Only approved, live profiles. Private contact details are never exposed; booking goes through each profile page. Profiles marked listedFromPublicInfo were added from the artist's own public pages and can be claimed by them.
- Cache: 5 min
- Source: PG Pulse local artists directory (profiles submitted or claimed by the artists, or listed from their own public pages, approved by PG Pulse)
- Licence: CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/)
- Paginated:
limit(default 100, max 500) andoffset; alsoformat=csv
| Parameter | In | Type | Description |
|---|---|---|---|
group | query | string | Kind group (see /artists/taxonomy). One of: djs, bands, musicians, ensembles, comedy, visual, photo, dance, words, other. Example: bands. |
kind | query | string | Kind id (see /artists/taxonomy). Example: band. |
genre | query | string | Genre or style id (see /artists/taxonomy). Example: hip-hop. |
service | query | string | Service id. |
area | query | string | Area id. |
availability | query | string | Availability. One of: open, limited, closed. |
q | query | string | Text search in name and bio. |
limit | query | integer | Items per page (default 50, max 500 unless noted). Example: 20. |
offset | query | integer | Items to skip. Use links.next to page. Example: 0. |
Also accepts fields (sparse fieldset) and format (json, md, csv).
Example request
curl "https://princegeorgepulse.ca/api/v1/artists"Example response (trimmed)
{
"data": [
{
"slug": "aks-artistic-design",
"name": "AKS Artistic Design",
"realName": null,
"kind": "visual",
"kindLabel": "Visual artist",
"group": "visual",
"featured": false,
"claimed": false,
"listedFromPublicInfo": true,
"genres": [
"indigenous-art",
"digital-art",
"… 1 more"
],
"genreLabels": [
"Indigenous art",
"Digital art",
"… 1 more"
],
"services": [
"lessons"
],
"…": "6 more keys"
},
{
"slug": "al-rempel",
"name": "Al Rempel",
"realName": null,
"kind": "poet",
"kindLabel": "Poet or spoken word",
"group": "words",
"featured": false,
"claimed": false,
"listedFromPublicInfo": true,
"genres": [
"poetry"
],
"genreLabels": [
"Poetry"
],
"services": [],
"…": "6 more keys"
},
"… 78 more"
],
"meta": {
"source": "PG Pulse local artists directory (profiles submitted or claimed by the artists, or listed from their own public pages, approved by PG Pulse)",
"sourceUrl": "https://princegeorgepulse.ca/artists/",
"updatedAt": null,
"license": "CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/)",
"attribution": "PG Pulse (princegeorgepulse.ca)",
"total": 80,
"count": 80,
"limit": 100,
"offset": 0
},
"links": {
"self": "/api/v1/artists",
"next": null,
"docs": "/developers/reference/local-artists/#get-artists"
}
}GET /api/v1/artists/taxonomy #
Artist kinds, kind groups, genres and styles, services, areas and availability.
- Cache: 24 h
- Source: PG Pulse local artists directory (profiles submitted or claimed by the artists, or listed from their own public pages, approved by PG Pulse)
- Licence: CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/)
Also accepts fields (sparse fieldset) and format (json, md).
Example request
curl "https://princegeorgepulse.ca/api/v1/artists/taxonomy"Example response (trimmed)
{
"data": {
"groups": [
{
"id": "djs",
"label": "DJs",
"one": "DJ",
"icon": "Disc3",
"c": "violet"
},
{
"id": "bands",
"label": "Bands",
"one": "band",
"icon": "Guitar",
"c": "alert"
},
"… 8 more"
],
"kinds": [
{
"id": "dj",
"label": "Solo DJ",
"group": "djs",
"family": "dj",
"ld": "Person",
"role": "DJ",
"alias": "DJ name",
"team": false
},
{
"id": "crew",
"label": "DJ duo or crew",
"group": "djs",
"family": "dj",
"ld": "MusicGroup",
"role": "DJ crew",
"alias": "Crew name",
"team": true
},
"… 15 more"
],
"genres": [
{
"id": "open-format",
"label": "Open format",
"c": "nechako",
"f": [
"dj"
]
},
{
"id": "top-40",
"label": "Top 40",
"c": "rose",
"f": [
"dj",
"music"
]
},
"… 67 more"
],
"services": [
{
"id": "clubs",
"label": "Bars and clubs",
"icon": "Disc3"
},
{
"id": "weddings",
"label": "Weddings",
"icon": "Heart"
},
"… 11 more"
],
"areas": [
{
"id": "prince-george",
"label": "Prince George"
},
{
"id": "vanderhoof",
"label": "Vanderhoof"
},
"… 7 more"
],
"availability": [
{
"id": "open",
"label": "Taking bookings",
"c": "spruce"
},
{
"id": "limited",
"label": "Limited dates",
"c": "gold"
},
"… 1 more"
]
},
"meta": {
"source": "PG Pulse local artists directory (profiles submitted or claimed by the artists, or listed from their own public pages, approved by PG Pulse)",
"sourceUrl": "https://princegeorgepulse.ca/artists/",
"updatedAt": null,
"license": "CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/)",
"attribution": "PG Pulse (princegeorgepulse.ca)"
},
"links": {
"self": "/api/v1/artists/taxonomy",
"next": null,
"docs": "/developers/reference/local-artists/#get-artists-taxonomy"
}
}GET /api/v1/artists/{slug} #
One artist profile with bio, socials, featured track and upcoming shows.
- Cache: 5 min
- Source: PG Pulse local artists directory (profiles submitted or claimed by the artists, or listed from their own public pages, approved by PG Pulse)
- Licence: CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/)
| Parameter | In | Type | Description |
|---|---|---|---|
slug | path | string | Artist slug. Required. |
Also accepts fields (sparse fieldset) and format (json, md).
Example request
curl "https://princegeorgepulse.ca/api/v1/artists/aks-artistic-design"Example response (trimmed)
{
"data": {
"slug": "aks-artistic-design",
"name": "AKS Artistic Design",
"realName": null,
"kind": "visual",
"kindLabel": "Visual artist",
"group": "visual",
"featured": false,
"claimed": false,
"listedFromPublicInfo": true,
"genres": [
"indigenous-art",
"digital-art",
"… 1 more"
],
"genreLabels": [
"Indigenous art",
"Digital art",
"… 1 more"
],
"services": [
"lessons"
],
"…": "12 more keys"
},
"meta": {
"source": "PG Pulse local artists directory (profiles submitted or claimed by the artists, or listed from their own public pages, approved by PG Pulse)",
"sourceUrl": "https://princegeorgepulse.ca/artists/",
"updatedAt": null,
"license": "CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/)",
"attribution": "PG Pulse (princegeorgepulse.ca)"
},
"links": {
"self": "/api/v1/artists/aks-artistic-design",
"next": null,
"docs": "/developers/reference/local-artists/#get-artists-slug"
}
}GET /api/v1/djs #
Approved DJ profiles (kinds dj, crew and company; /artists lists every kind).
Only approved, live profiles. Private contact details are never exposed; booking goes through each profile page. Profiles marked listedFromPublicInfo were added from the artist's own public pages and can be claimed by them.
- Cache: 5 min
- Source: PG Pulse local artists directory (profiles submitted or claimed by the artists, or listed from their own public pages, approved by PG Pulse)
- Licence: CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/)
- Paginated:
limit(default 100, max 500) andoffset; alsoformat=csv
| Parameter | In | Type | Description |
|---|---|---|---|
genre | query | string | Genre or style id (see /djs/taxonomy). Example: hip-hop. |
service | query | string | Service id. |
area | query | string | Area id. |
availability | query | string | Availability. One of: open, limited, closed. |
q | query | string | Text search in name and bio. |
limit | query | integer | Items per page (default 50, max 500 unless noted). Example: 20. |
offset | query | integer | Items to skip. Use links.next to page. Example: 0. |
Also accepts fields (sparse fieldset) and format (json, md, csv).
Example request
curl "https://princegeorgepulse.ca/api/v1/djs"Example response (trimmed)
{
"data": [
{
"slug": "atmosphere-entertainment",
"name": "Atmosphere Entertainment",
"realName": null,
"kind": "company",
"kindLabel": "DJ company",
"group": "djs",
"featured": false,
"claimed": false,
"listedFromPublicInfo": true,
"genres": [],
"genreLabels": [],
"services": [
"mc",
"sound"
],
"…": "6 more keys"
},
{
"slug": "brownsuga",
"name": "BROWN$UGA",
"realName": null,
"kind": "dj",
"kindLabel": "Solo DJ",
"group": "djs",
"featured": false,
"claimed": false,
"listedFromPublicInfo": true,
"genres": [],
"genreLabels": [],
"services": [],
"…": "6 more keys"
},
"… 10 more"
],
"meta": {
"source": "PG Pulse local artists directory (profiles submitted or claimed by the artists, or listed from their own public pages, approved by PG Pulse)",
"sourceUrl": "https://princegeorgepulse.ca/artists/",
"updatedAt": null,
"license": "CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/)",
"attribution": "PG Pulse (princegeorgepulse.ca)",
"total": 12,
"count": 12,
"limit": 100,
"offset": 0
},
"links": {
"self": "/api/v1/djs",
"next": null,
"docs": "/developers/reference/local-artists/#get-djs"
}
}GET /api/v1/djs/taxonomy #
Artist kinds, kind groups, genres and styles, services, areas and availability.
- Cache: 24 h
- Source: PG Pulse local artists directory (profiles submitted or claimed by the artists, or listed from their own public pages, approved by PG Pulse)
- Licence: CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/)
Also accepts fields (sparse fieldset) and format (json, md).
Example request
curl "https://princegeorgepulse.ca/api/v1/djs/taxonomy"Example response (trimmed)
{
"data": {
"groups": [
{
"id": "djs",
"label": "DJs",
"one": "DJ",
"icon": "Disc3",
"c": "violet"
},
{
"id": "bands",
"label": "Bands",
"one": "band",
"icon": "Guitar",
"c": "alert"
},
"… 8 more"
],
"kinds": [
{
"id": "dj",
"label": "Solo DJ",
"group": "djs",
"family": "dj",
"ld": "Person",
"role": "DJ",
"alias": "DJ name",
"team": false
},
{
"id": "crew",
"label": "DJ duo or crew",
"group": "djs",
"family": "dj",
"ld": "MusicGroup",
"role": "DJ crew",
"alias": "Crew name",
"team": true
},
"… 15 more"
],
"genres": [
{
"id": "open-format",
"label": "Open format",
"c": "nechako",
"f": [
"dj"
]
},
{
"id": "top-40",
"label": "Top 40",
"c": "rose",
"f": [
"dj",
"music"
]
},
"… 67 more"
],
"services": [
{
"id": "clubs",
"label": "Bars and clubs",
"icon": "Disc3"
},
{
"id": "weddings",
"label": "Weddings",
"icon": "Heart"
},
"… 11 more"
],
"areas": [
{
"id": "prince-george",
"label": "Prince George"
},
{
"id": "vanderhoof",
"label": "Vanderhoof"
},
"… 7 more"
],
"availability": [
{
"id": "open",
"label": "Taking bookings",
"c": "spruce"
},
{
"id": "limited",
"label": "Limited dates",
"c": "gold"
},
"… 1 more"
]
},
"meta": {
"source": "PG Pulse local artists directory (profiles submitted or claimed by the artists, or listed from their own public pages, approved by PG Pulse)",
"sourceUrl": "https://princegeorgepulse.ca/artists/",
"updatedAt": null,
"license": "CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/)",
"attribution": "PG Pulse (princegeorgepulse.ca)"
},
"links": {
"self": "/api/v1/djs/taxonomy",
"next": null,
"docs": "/developers/reference/local-artists/#get-djs-taxonomy"
}
}GET /api/v1/djs/{slug} #
One artist profile with bio, socials, featured track and upcoming shows.
- Cache: 5 min
- Source: PG Pulse local artists directory (profiles submitted or claimed by the artists, or listed from their own public pages, approved by PG Pulse)
- Licence: CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/)
| Parameter | In | Type | Description |
|---|---|---|---|
slug | path | string | Artist slug. Required. |
Also accepts fields (sparse fieldset) and format (json, md).
Example request
curl "https://princegeorgepulse.ca/api/v1/djs/atmosphere-entertainment"Example response (trimmed)
{
"data": {
"slug": "atmosphere-entertainment",
"name": "Atmosphere Entertainment",
"realName": null,
"kind": "company",
"kindLabel": "DJ company",
"group": "djs",
"featured": false,
"claimed": false,
"listedFromPublicInfo": true,
"genres": [],
"genreLabels": [],
"services": [
"mc",
"sound"
],
"…": "12 more keys"
},
"meta": {
"source": "PG Pulse local artists directory (profiles submitted or claimed by the artists, or listed from their own public pages, approved by PG Pulse)",
"sourceUrl": "https://princegeorgepulse.ca/artists/",
"updatedAt": null,
"license": "CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/)",
"attribution": "PG Pulse (princegeorgepulse.ca)"
},
"links": {
"self": "/api/v1/djs/atmosphere-entertainment",
"next": null,
"docs": "/developers/reference/local-artists/#get-djs-slug"
}
}