Discover/Hcdsb API
live

Hcdsb APIelem.hcdsb.org

Stay informed about St. Michael Catholic Elementary School updates by searching for news posts and announcements by keyword, then viewing full details including content, links, media, and publication dates. Get quick access to weekly updates and school news all in one place.

This API takes change requests — .
Endpoint health
monitored
get_post
search_news
Checks pendingself-healing
Endpoints
2
Updated
2h ago
Try it
Page number for paginated results.
Search keyword to filter posts by content relevance.
Number of posts per page (1-100).
api.parse.bot/scraper/c9977ce0-6f04-473c-b46a-a40c04b3e512/<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/c9977ce0-6f04-473c-b46a-a40c04b3e512/search_news?page=1&query=kindergarten&per_page=10' \
  -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 elem-hcdsb-org-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: St. Michael School News SDK — bounded, re-runnable; every call capped."""
from parse_apis.elem_hcdsb_org_api import StMichael, PostNotFound

client = StMichael()

# Search for kindergarten updates, capped at 3 results
for post in client.post_summaries.search(query="kindergarten", limit=3):
    print(post.title, post.date, post.link)

# Drill down into the first result for full content
summary = client.post_summaries.search(query="kindergarten", limit=1).first()
if summary:
    try:
        full = summary.details()
        print(full.title, full.date, full.modified)
        print(full.content[:200])
        for link in full.links[:3]:
            print(link.text, link.url)
        for img in full.media[:2]:
            print(img.type, img.url)
    except PostNotFound as e:
        print(f"Post gone: {e.post_id}")

print("exercised: post_summaries.search, PostSummary.details")
All endpoints · 2 totalmissing one? ·

Full-text search over school news posts. Results are ordered by relevance and include title, date, excerpt, embedded links, and media references. Use get_post with a returned id for the complete content.

Input
ParamTypeDescription
pageintegerPage number for paginated results.
querystringSearch keyword to filter posts by content relevance.
per_pageintegerNumber of posts per page (1-100).
Response
{
  "type": "object",
  "fields": {
    "page": "current page number",
    "posts": "array of post summaries with id, title, date, link, excerpt, links, and media",
    "total": "total number of matching posts across all pages",
    "total_pages": "total number of pages available"
  },
  "sample": {
    "data": {
      "page": 1,
      "posts": [
        {
          "id": 15481,
          "date": "2026-06-21T08:22:52",
          "link": "https://elem.hcdsb.org/stmichael/2026/06/weekly-update-week-of-june-22-26/",
          "links": [
            {
              "url": "https://example.com",
              "text": "HERE"
            }
          ],
          "media": [
            {
              "alt": "",
              "url": "https://elem.hcdsb.org/stmichael/wp-content/uploads/sites/28/2026/06/Screenshot.png",
              "type": "image"
            }
          ],
          "title": "WEEKLY UPDATE: Week of June 22-26",
          "excerpt": "As we near the end of this school year, we give thanks..."
        }
      ],
      "total": 142,
      "total_pages": 48
    },
    "status": "success"
  }
}

About the Hcdsb API

The Hcdsb API on Parse exposes 2 endpoints for the publicly available data on elem.hcdsb.org. 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.