Skip to content
PG Pulse
PG Pulse

Try searching for

Local knowledge for your AI tools

Connect Cursor, VS Code, Codex or Claude Code. Free MCP access, no key needed.

Connect your AI assistant
View as MarkdownFree, no key needed

News & stories: API reference

12 endpoints. Base URL https://princegeorgepulse.ca/api/v1. Conventions (envelope, paging, fields, formats, limits) are on the overview. All endpoints.

GET /api/v1/news #

Aggregated local news feed (headline, image, short description, link) plus PG Pulse stories, newest first.

Links only: follow url to read the original. Article bodies are never stored or served.

ParameterInTypeDescription
topicquerystringTopic slug (see /news/topics). Example: civic.
sourcequerystringSource id or name, comma separated (see /news/sources).
qquerystringText search in title, description and source name (covers the whole archive; headlines are kept permanently, summaries for about 18 months). Example: council.
fromquerystringOnly items published on or after this date (YYYY-MM-DD or ISO date-time). Example: 2026-09-01.
toquerystringOnly items published on or before this date.
kindquerystringItem kind. One of: article, reddit, video, social, original.
sortquerystringlatest (default): every item, newest first. top: one entry per story from the last 72 hours, ranked by score = source quality × (1 + 0.6 × (outlets − 1)) × 0.5^(age in hours / 12), each with score and alsoCovered (the other publishers’ copies), then the rest newest first. Editorial only: nothing paid or engagement-based. One of: latest, top.
storyquerystringEvery copy of one story (its storyId).
sincequerystringIncremental pulls: only items first collected after this ISO date-time, oldest first (PG Pulse stories by publication time). Store meta.updatedAt and pass it next time. Example: 2026-09-30T00:00:00Z.
limitqueryintegerItems per page (default 50, max 500 unless noted). Example: 20.
offsetqueryintegerItems to skip. Use links.next to page. Example: 0.

Also accepts fields (sparse fieldset) and format (json, md, csv).

Example request

bash
curl "https://princegeorgepulse.ca/api/v1/news?topic=civic&limit=3"

Example response (trimmed)

json
{
  "data": [
    {
      "id": "2ee3549076095201e3a3",
      "url": "https://www.cbc.ca/news/canada/british-columbia/valemount-mayor-sexual-assault-charge-9.7382967?cmp=rss",
      "title": "Valemount, B.C., mayor charged with sexual assault",
      "description": "The mayor of Valemount in northern B.C. has been charged with sexual assault, according to online court records. Owen Torgerson is expected to be acclaimed once again as the mayor of the village near the B.C.-Alberta…",
      "image": "https://princegeorgepulse-media.s3.ca-central-1.amazonaws.com/prince-george/news/valemount-b-c-mayor-charged-sexual-assault-5f4a74-480.webp",
      "source": "cbc-bc",
      "sourceName": "CBC British Columbia",
      "date": "2026-10-16T03:00:38.000Z",
      "kind": "article",
      "topics": [
        "local",
        "civic",
        "… 1 more"
      ],
      "firstSeen": "2026-10-16T04:00:02.767Z",
      "storyId": "2ee3549076095201e3a3",
      "…": "1 more keys"
    },
    {
      "id": "1a8b0721bf76c6dd2262",
      "url": "https://www.reddit.com/r/princegeorge/comments/1x71c31/councillors_issue_statement_regarding_recent/",
      "title": "Councillors Issue Statement Regarding Recent Public Comments on a Confidential Matter",
      "description": "Recent public statements concerning a confidential City matter have raised significant questions in our community. As a result, Councillors Bennett, Polillo, Scott, and myself (Councillor Ramsay) have issued the…",
      "image": null,
      "source": "reddit-princegeorge",
      "sourceName": "r/princegeorge",
      "date": "2026-10-15T23:50:53.000Z",
      "kind": "reddit",
      "topics": [
        "reddit",
        "civic"
      ],
      "author": "/u/corrams",
      "firstSeen": "2026-10-16T01:30:12.194Z",
      "…": "2 more keys"
    },
    "… 1 more"
  ],
  "meta": {
    "source": "PG Pulse news aggregator: headlines, short descriptions and links from local newsrooms, Reddit and YouTube",
    "sourceUrl": "https://princegeorgepulse.ca/news/",
    "updatedAt": "2026-10-16T10:45:31.669Z",
    "ageSec": 167,
    "license": "Headlines and descriptions © their publishers; links only, no article bodies. Follow `url` to read the original.",
    "attribution": "Each item’s publisher (`sourceName`), via PG Pulse (princegeorgepulse.ca)",
    "total": 211,
    "count": 3,
    "limit": 3,
    "offset": 0
  },
  "links": {
    "self": "/api/v1/news?topic=civic&limit=3",
    "next": "/api/v1/news?topic=civic&limit=3&offset=3",
    "docs": "/developers/reference/news-and-stories/#get-news"
  }
}

GET /api/v1/news/archive #

The permanent headline archive: every month with headlines, with counts.

Headlines are kept permanently (headline, source, date, link, topics); summaries and images only for about 18 months. Get a month with /news/archive/{year}/{month}.

Also accepts fields (sparse fieldset) and format (json, md).

Example request

bash
curl "https://princegeorgepulse.ca/api/v1/news/archive"

Example response (trimmed)

json
{
  "data": [
    {
      "year": 2026,
      "month": 10,
      "key": "2026-10",
      "count": 489,
      "label": "October 2026",
      "url": "/news/archive/2026/10/",
      "api": "/api/v1/news/archive/2026/10"
    },
    {
      "year": 2026,
      "month": 9,
      "key": "2026-09",
      "count": 274,
      "label": "September 2026",
      "url": "/news/archive/2026/09/",
      "api": "/api/v1/news/archive/2026/09"
    },
    "… 12 more"
  ],
  "meta": {
    "source": "PG Pulse news aggregator: headlines, short descriptions and links from local newsrooms, Reddit and YouTube",
    "sourceUrl": "https://princegeorgepulse.ca/news/",
    "updatedAt": "2026-10-16T10:45:31.669Z",
    "ageSec": 167,
    "license": "Headlines and descriptions © their publishers; links only, no article bodies. Follow `url` to read the original.",
    "attribution": "Each item’s publisher (`sourceName`), via PG Pulse (princegeorgepulse.ca)"
  },
  "links": {
    "self": "/api/v1/news/archive",
    "next": null,
    "docs": "/developers/reference/news-and-stories/#get-news-archive"
  }
}

GET /api/v1/news/archive/{year} #

One year of the headline archive: its months with headline counts.

ParameterInTypeDescription
yearpathstringFour-digit year (see /news/archive). Required. Example: 2026.

Also accepts fields (sparse fieldset) and format (json, md).

Example request

bash
curl "https://princegeorgepulse.ca/api/v1/news/archive/2026"

Example response (trimmed)

json
{
  "data": {
    "year": 2026,
    "total": 856,
    "url": "/news/archive/2026/",
    "months": [
      {
        "year": 2026,
        "month": 10,
        "key": "2026-10",
        "count": 489,
        "label": "October 2026",
        "url": "/news/archive/2026/10/",
        "api": "/api/v1/news/archive/2026/10"
      },
      {
        "year": 2026,
        "month": 9,
        "key": "2026-09",
        "count": 274,
        "label": "September 2026",
        "url": "/news/archive/2026/09/",
        "api": "/api/v1/news/archive/2026/09"
      },
      "… 8 more"
    ]
  },
  "meta": {
    "source": "PG Pulse news aggregator: headlines, short descriptions and links from local newsrooms, Reddit and YouTube",
    "sourceUrl": "https://princegeorgepulse.ca/news/",
    "updatedAt": "2026-10-16T10:45:31.669Z",
    "ageSec": 167,
    "license": "Headlines and descriptions © their publishers; links only, no article bodies. Follow `url` to read the original.",
    "attribution": "Each item’s publisher (`sourceName`), via PG Pulse (princegeorgepulse.ca)"
  },
  "links": {
    "self": "/api/v1/news/archive/2026",
    "next": null,
    "docs": "/developers/reference/news-and-stories/#get-news-archive-year"
  }
}

GET /api/v1/news/archive/{year}/{month} #

Every headline of one month (local time), newest first: headline, source, date and link only.

ParameterInTypeDescription
yearpathstringFour-digit year. Required. Example: 2026.
monthpathstringTwo-digit month. Required. Example: 09.
qquerystringWords in the headline or source name.
sourcequerystringSource id or name, comma separated.
topicquerystringTopic slug (see /news/topics).
limitqueryintegerItems per page (default 50, max 500 unless noted). Example: 20.
offsetqueryintegerItems to skip. Use links.next to page. Example: 0.

Also accepts fields (sparse fieldset) and format (json, md, csv).

Example request

bash
curl "https://princegeorgepulse.ca/api/v1/news/archive/2026/10"

Example response (trimmed)

json
{
  "data": [
    {
      "id": "787ff2767cb52ce4282d",
      "title": "Maternity/ Labour and Delivery at UHNBC",
      "url": "https://www.reddit.com/r/princegeorge/comments/1x79faz/maternity_labour_and_delivery_at_uhnbc/",
      "source": "reddit-princegeorge",
      "sourceName": "r/princegeorge",
      "date": "2026-10-16T07:06:11.000Z",
      "day": "2026-10-16",
      "kind": "reddit",
      "topics": [
        "reddit",
        "health"
      ]
    },
    {
      "id": "930efd206d154e4e609e",
      "title": "URGENT HELP NEEDED!",
      "url": "https://www.reddit.com/r/princegeorge/comments/1x78d2y/urgent_help_needed/",
      "source": "reddit-princegeorge",
      "sourceName": "r/princegeorge",
      "date": "2026-10-16T06:01:15.000Z",
      "day": "2026-10-15",
      "kind": "reddit",
      "topics": [
        "reddit"
      ]
    },
    "… 198 more"
  ],
  "meta": {
    "source": "PG Pulse news aggregator: headlines, short descriptions and links from local newsrooms, Reddit and YouTube",
    "sourceUrl": "https://princegeorgepulse.ca/news/",
    "updatedAt": "2026-10-16T10:45:31.669Z",
    "ageSec": 167,
    "license": "Headlines and descriptions © their publishers; links only, no article bodies. Follow `url` to read the original.",
    "attribution": "Each item’s publisher (`sourceName`), via PG Pulse (princegeorgepulse.ca)",
    "total": 489,
    "count": 200,
    "limit": 200,
    "offset": 0
  },
  "links": {
    "self": "/api/v1/news/archive/2026/10",
    "next": "/api/v1/news/archive/2026/10?offset=200",
    "docs": "/developers/reference/news-and-stories/#get-news-archive-year-month"
  }
}

What Prince George is talking about: terms rising in local headlines and summaries this week.

Words and two-word phrases from the headlines and publishers’ short summaries of the last 7 days, compared with the average week of the 4 weeks before: score = (items this week − baseline) / √(baseline + 1), at least 3 items from 2 publishers; single words only when written as names. Counts only, never text. Recomputed hourly.

ParameterInTypeDescription
limitqueryintegerHow many terms (1-40, default 20).

Also accepts fields (sparse fieldset) and format (json, md).

Example request

bash
curl "https://princegeorgepulse.ca/api/v1/news/trends"

Example response (trimmed)

json
{
  "data": [
    {
      "term": "mayor",
      "label": "mayor",
      "rank": 1,
      "items": 15,
      "sources": 6,
      "baseline": 3.75,
      "score": 5.16,
      "sourceNames": [
        "r/princegeorge",
        "CKPG Today",
        "… 4 more"
      ],
      "computedAt": "2026-10-16T10:07:13.630Z",
      "url": "/news/trends/?term=mayor",
      "api": "/api/v1/news/trends/mayor"
    },
    {
      "term": "sintich",
      "label": "Sintich",
      "rank": 2,
      "items": 5,
      "sources": 4,
      "baseline": 0,
      "score": 5,
      "sourceNames": [
        "Prince George Citizen",
        "My Prince George Now",
        "… 2 more"
      ],
      "computedAt": "2026-10-16T10:07:13.630Z",
      "url": "/news/trends/?term=sintich",
      "api": "/api/v1/news/trends/sintich"
    },
    "… 18 more"
  ],
  "meta": {
    "source": "PG Pulse news aggregator: headlines, short descriptions and links from local newsrooms, Reddit and YouTube",
    "sourceUrl": "https://princegeorgepulse.ca/news/",
    "updatedAt": "2026-10-16T10:07:13.630Z",
    "ageSec": 2465,
    "license": "Headlines and descriptions © their publishers; links only, no article bodies. Follow `url` to read the original.",
    "attribution": "Each item’s publisher (`sourceName`), via PG Pulse (princegeorgepulse.ca)"
  },
  "links": {
    "self": "/api/v1/news/trends",
    "next": null,
    "docs": "/developers/reference/news-and-stories/#get-news-trends"
  }
}

Daily use of one term in local news: items and distinct publishers per day.

ParameterInTypeDescription
termpathstringA word or two-word phrase (case and plurals do not matter). Required. Example: spruce kings.
daysqueryintegerDays back (7-400, default 60).

Also accepts fields (sparse fieldset) and format (json, md).

Example request

bash
curl "https://princegeorgepulse.ca/api/v1/news/trends/mayor"

Example response (trimmed)

json
{
  "data": {
    "term": "mayor",
    "series": [
      {
        "day": "2026-08-18",
        "items": 0,
        "sources": 0
      },
      {
        "day": "2026-08-19",
        "items": 0,
        "sources": 0
      },
      "… 58 more"
    ],
    "total": 13,
    "search": "/api/v1/news?q=mayor"
  },
  "meta": {
    "source": "PG Pulse news aggregator: headlines, short descriptions and links from local newsrooms, Reddit and YouTube",
    "sourceUrl": "https://princegeorgepulse.ca/news/",
    "updatedAt": "2026-10-16T10:07:13.630Z",
    "ageSec": 2465,
    "license": "Headlines and descriptions © their publishers; links only, no article bodies. Follow `url` to read the original.",
    "attribution": "Each item’s publisher (`sourceName`), via PG Pulse (princegeorgepulse.ca)"
  },
  "links": {
    "self": "/api/v1/news/trends/mayor",
    "next": null,
    "docs": "/developers/reference/news-and-stories/#get-news-trends-term"
  }
}

GET /api/v1/news/topics #

News topics.

Also accepts fields (sparse fieldset) and format (json, md).

Example request

bash
curl "https://princegeorgepulse.ca/api/v1/news/topics"

Example response (trimmed)

json
{
  "data": [
    {
      "slug": "local",
      "label": "Local news",
      "icon": "Newspaper",
      "title": "Prince George local news",
      "description": "The latest headlines from Prince George newsrooms: the Citizen, CKPG Today, My PG Now and more, in one feed.",
      "rule": {
        "terms": [],
        "exclude": [],
        "veto": [],
        "min": 2
      },
      "url": "/news/local/",
      "api": "/api/v1/news?topic=local"
    },
    {
      "slug": "civic",
      "label": "Civic and politics",
      "icon": "Landmark",
      "title": "Prince George politics and civic news",
      "description": "City council, the regional district, school board, elections and provincial decisions that affect Prince George.",
      "rule": {
        "terms": [],
        "exclude": [],
        "veto": [],
        "min": 2
      },
      "url": "/news/civic/",
      "api": "/api/v1/news?topic=civic"
    },
    "… 11 more"
  ],
  "meta": {
    "source": "PG Pulse news aggregator: headlines, short descriptions and links from local newsrooms, Reddit and YouTube",
    "sourceUrl": "https://princegeorgepulse.ca/news/",
    "updatedAt": null,
    "license": "Headlines and descriptions © their publishers; links only, no article bodies. Follow `url` to read the original.",
    "attribution": "Each item’s publisher (`sourceName`), via PG Pulse (princegeorgepulse.ca)"
  },
  "links": {
    "self": "/api/v1/news/topics",
    "next": null,
    "docs": "/developers/reference/news-and-stories/#get-news-topics"
  }
}

GET /api/v1/news/sources #

Every news source with item counts and last fetch status.

Also accepts fields (sparse fieldset) and format (json, md).

Example request

bash
curl "https://princegeorgepulse.ca/api/v1/news/sources"

Example response (trimmed)

json
{
  "data": [
    {
      "id": "pg-pulse",
      "name": "PG Pulse",
      "type": "original",
      "homepage": "/articles/",
      "quality": 5,
      "topicHints": [],
      "logo": "/favicon.svg",
      "enabled": true,
      "note": "Our own reporting and explainers.",
      "items": 6,
      "ok": true,
      "error": null,
      "…": "2 more keys"
    },
    {
      "id": "pg-citizen-local",
      "name": "Prince George Citizen",
      "type": "rss",
      "homepage": "https://www.princegeorgecitizen.com/",
      "quality": 5,
      "topicHints": [
        "local"
      ],
      "logo": "https://princegeorgepulse-media.s3.ca-central-1.amazonaws.com/prince-george/logos/prince-george-citizen-logo-fb89e2-64.webp",
      "enabled": true,
      "note": null,
      "items": 102,
      "ok": true,
      "error": null,
      "…": "6 more keys"
    },
    "… 29 more"
  ],
  "meta": {
    "source": "PG Pulse news aggregator: headlines, short descriptions and links from local newsrooms, Reddit and YouTube",
    "sourceUrl": "https://princegeorgepulse.ca/news/",
    "updatedAt": "2026-10-16T10:45:31.669Z",
    "ageSec": 167,
    "license": "Headlines and descriptions © their publishers; links only, no article bodies. Follow `url` to read the original.",
    "attribution": "Each item’s publisher (`sourceName`), via PG Pulse (princegeorgepulse.ca)"
  },
  "links": {
    "self": "/api/v1/news/sources",
    "next": null,
    "docs": "/developers/reference/news-and-stories/#get-news-sources"
  }
}

GET /api/v1/stories #

PG Pulse stories (original articles), newest first.

ParameterInTypeDescription
categoryquerystringStory category. Example: Guide.
tagquerystringTag.
qquerystringText search.
bodyquerybooleanInclude the Markdown body.
limitqueryintegerItems per page (default 50, max 500 unless noted). Example: 20.
offsetqueryintegerItems to skip. Use links.next to page. Example: 0.

Also accepts fields (sparse fieldset) and format (json, md, csv).

Example request

bash
curl "https://princegeorgepulse.ca/api/v1/stories"

Example response (trimmed)

json
{
  "data": [
    {
      "slug": "fall-in-prince-george-whats-on",
      "title": "Fall in Prince George: what’s on this season",
      "description": "Autumn in Prince George: golden trails, hockey’s return, a new arts season, Truth and Reconciliation Day, two elections and getting ready for winter.",
      "date": "2026-09-26T00:00:00.000Z",
      "author": "PG Pulse staff",
      "category": "Events",
      "image": "https://upload.wikimedia.org/wikipedia/commons/thumb/4/42/Rainbow_over_Prince_George%2C_BC.jpg/1280px-Rainbow_over_Prince_George%2C_BC.jpg",
      "imageAlt": "A bright rainbow arching over the rooftops and trees of Prince George",
      "imageCredit": "Tim Wenzel, CC BY-SA 3.0 via Wikimedia Commons",
      "tags": [
        "fall",
        "events",
        "… 4 more"
      ],
      "featured": false,
      "sources": [
        {
          "title": "Tourism Prince George events",
          "url": "https://tourismpg.com/"
        },
        {
          "title": "Fall in Love with Fall: 6 Trails to Stroll This Autumn (Tourism Prince George)",
          "url": "https://tourismpg.com/fall-in-love-with-fall-6-trails-to-stroll-this-autumn/"
        },
        "… 4 more"
      ],
      "…": "4 more keys"
    },
    {
      "slug": "prince-george-weather-compared-with-bc",
      "title": "How Prince George’s weather compares with the rest of BC",
      "description": "Official 1991–2020 climate normals for Prince George and eight other BC cities: the north is colder in winter, but summer highs match Vancouver’s.",
      "date": "2026-09-22T00:00:00.000Z",
      "author": "PG Pulse staff",
      "category": "Data",
      "image": "https://upload.wikimedia.org/wikipedia/commons/thumb/c/c7/UNBC.jpg/1280px-UNBC.jpg",
      "imageAlt": "Snow on the buildings of the University of Northern British Columbia campus in winter",
      "imageCredit": "Thegrammarguy, CC BY-SA 4.0 via Wikimedia Commons",
      "tags": [
        "weather",
        "climate",
        "… 4 more"
      ],
      "featured": false,
      "sources": [
        {
          "title": "Canadian Climate Normals 1991–2020 (Environment and Climate Change Canada)",
          "url": "https://climate.weather.gc.ca/climate_normals/index_e.html"
        },
        {
          "title": "Prince George weather box (Wikipedia template summarizing ECCC normals)",
          "url": "https://en.wikipedia.org/wiki/Template:Prince_George_weatherbox"
        },
        "… 8 more"
      ],
      "…": "4 more keys"
    },
    "… 4 more"
  ],
  "meta": {
    "source": "PG Pulse stories (original reporting and explainers)",
    "sourceUrl": "https://princegeorgepulse.ca/articles/",
    "updatedAt": null,
    "license": "CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/)",
    "attribution": "PG Pulse (princegeorgepulse.ca)",
    "total": 6,
    "count": 6,
    "limit": 50,
    "offset": 0
  },
  "links": {
    "self": "/api/v1/stories",
    "next": null,
    "docs": "/developers/reference/news-and-stories/#get-stories"
  }
}

GET /api/v1/stories/{slug} #

One PG Pulse story with its Markdown body.

ParameterInTypeDescription
slugpathstringStory slug. Required. Example: why-prince-george-sits-in-a-bowl.

Also accepts fields (sparse fieldset) and format (json, md).

Example request

bash
curl "https://princegeorgepulse.ca/api/v1/stories/why-prince-george-sits-in-a-bowl"

Example response (trimmed)

json
{
  "data": {
    "slug": "why-prince-george-sits-in-a-bowl",
    "title": "Why Prince George sits in a bowl: the lake that disappeared",
    "description": "Downtown Prince George sits on the floor of a vanished ice-age landscape. How ice, a glacial lake and two rivers made the bowl and cutbanks.",
    "date": "2026-09-03T00:00:00.000Z",
    "author": "PG Pulse staff",
    "category": "Explainer",
    "image": "https://upload.wikimedia.org/wikipedia/commons/7/7f/Prince_George_British_Columbia_2011.JPG",
    "imageAlt": "View east over Prince George from University Hill, with the city in the valley and forested plateau beyond",
    "imageCredit": "Iranianson, CC BY-SA 3.0 via Wikimedia Commons",
    "tags": [
      "geology",
      "glacial lake",
      "… 3 more"
    ],
    "featured": true,
    "sources": [
      {
        "title": "Geotour Guide for Prince George, British Columbia (GSC Open File 5559 / BCGS Geofile 2010-10)",
        "url": "https://mineralsed.ca/site/assets/files/3451/princegeorgegeotourguide.pdf"
      },
      {
        "title": "Cutbanks (The Exploration Place)",
        "url": "https://theexplorationplace.com/project/cutbanks/"
      },
      "… 2 more"
    ],
    "…": "3 more keys"
  },
  "meta": {
    "source": "PG Pulse stories (original reporting and explainers)",
    "sourceUrl": "https://princegeorgepulse.ca/articles/",
    "updatedAt": null,
    "license": "CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/)",
    "attribution": "PG Pulse (princegeorgepulse.ca)"
  },
  "links": {
    "self": "/api/v1/stories/why-prince-george-sits-in-a-bowl",
    "next": null,
    "docs": "/developers/reference/news-and-stories/#get-stories-slug"
  }
}

GET /api/v1/posts #

Published PG Pulse posts from the site’s publishing tool (empty until posts exist).

  • Cache: 5 min
  • Source: PG Pulse posts
  • Licence: CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/)
  • Paginated: limit (default 50, max 200) and offset; also format=csv
ParameterInTypeDescription
categoryquerystringPost category. Example: Community.
limitqueryintegerItems per page (default 50, max 500 unless noted). Example: 20.
offsetqueryintegerItems to skip. Use links.next to page. Example: 0.

Also accepts fields (sparse fieldset) and format (json, md, csv).

Example request

bash
curl "https://princegeorgepulse.ca/api/v1/posts"

Example response (trimmed)

json
{
  "data": [],
  "meta": {
    "source": "PG Pulse posts",
    "sourceUrl": "https://princegeorgepulse.ca/posts/",
    "updatedAt": null,
    "license": "CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/)",
    "attribution": "PG Pulse (princegeorgepulse.ca)",
    "total": 0,
    "count": 0,
    "limit": 50,
    "offset": 0
  },
  "links": {
    "self": "/api/v1/posts",
    "next": null,
    "docs": "/developers/reference/news-and-stories/#get-posts"
  }
}

GET /api/v1/posts/{slug} #

One published PG Pulse post with its Markdown body.

  • Cache: 5 min
  • Source: PG Pulse posts
  • Licence: CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/)
ParameterInTypeDescription
slugpathstringPost slug (see /posts). Required.

Also accepts fields (sparse fieldset) and format (json, md).

Example request

bash
curl "https://princegeorgepulse.ca/api/v1/posts/{slug}"

Add PG Pulse to your home screen

Your browser installs apps from its Share menu.

  1. Tap Share in the browser toolbar (at the bottom of the screen on iPhone, at the top on iPad).
  2. Scroll down and tap Add to Home Screen.
  3. Tap Add. PG Pulse opens from its icon like any other app.