Discover/Stockhouse API
live

Stockhouse APIstockhouse.com

Retrieve the latest 24 hours of Bullboard posts and comments for TSX, TSXV, and CSE-listed stocks via a single API endpoint.

This API takes change requests — .
Endpoint health
verified 2h ago
get_bullboard_comments
1/1 passing latest checkself-healing
Endpoints
1
Updated
3h ago

What is the Stockhouse API?

The Stockhouse Bullboard API exposes one endpoint — get_bullboard_comments — that returns up to 1,000 posts and comments published within the last 24 hours for any Canadian-listed stock on Stockhouse.com. Each response includes the post array, a normalized symbol, a UTC cutoff timestamp, page count fetched, and the resolved company name, giving you a complete snapshot of recent retail investor discussion on a given ticker.

This call costs1 credit / call— charged only on success
Try it
Maximum number of posts to return. Safety cap at 1000. The endpoint still returns the complete 24-hour window when within this limit.
Full Stockhouse symbol with exchange prefix (e.g. 'c.qimc', 't.shop', 'v.ami'). Case-insensitive. Use this when the mapping is unambiguous. If provided, 'ticker' and 'exchange' are ignored.
Stock ticker symbol (e.g. QIMC, SHOP). Case-insensitive. Required if 'symbol' is not provided.
Exchange code. Required when using 'ticker'. Determines the Stockhouse prefix: TSX=t, TSXV=v, CSE=c.
api.parse.bot/scraper/44bd9d92-c326-40da-9fa1-87da187febdf/<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/44bd9d92-c326-40da-9fa1-87da187febdf/get_bullboard_comments?ticker=QIMC&exchange=CSE' \
  -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 stockhouse-com-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: Stockhouse Bullboards — fetch recent posts for a stock."""
from parse_apis.stockhouse_com_api import Stockhouse, Exchange, SymbolNotFound

client = Stockhouse()

# Look up a CSE-listed stock's bullboard by ticker + exchange.
try:
    board = client.boards.lookup(ticker="QIMC", exchange=Exchange.CSE, max_posts=10)
except SymbolNotFound:
    print("Symbol not found on specified exchange")
    raise

print(f"{board.company_name} ({board.symbol}) — {board.post_count} posts in last 24h")

# Iterate through returned posts, newest first.
for post in board.posts:
    print(f"  [{post.post_type}] {post.title} by {post.author} ({post.views} views)")

# Alternatively, fetch by direct Stockhouse symbol for an unambiguous lookup.
board2 = client.boards.get(symbol="t.shop", max_posts=5)
print(f"\n{board2.company_name}: {board2.post_count} recent posts, {board2.pages_fetched} page(s) fetched")

print("\nexercised: boards.lookup / boards.get")
All endpoints · 1 totalmissing one? ·

Retrieve Bullboard posts and comments published within the last 24 hours for a given stock. Accepts a ticker plus exchange (TSX, TSXV, CSE) or a direct Stockhouse symbol. Paginates through listing pages until the oldest item falls outside the 24-hour window or the limit is reached. Returns results in newest-first order. Returns an empty successful result with status 'no_posts_in_window' when no posts exist in the 24-hour window. Each page fetch returns up to ~15 items; a board with heavy activity may require multiple pages.

Input
ParamTypeDescription
limitintegerMaximum number of posts to return. Safety cap at 1000. The endpoint still returns the complete 24-hour window when within this limit.
symbolstringFull Stockhouse symbol with exchange prefix (e.g. 'c.qimc', 't.shop', 'v.ami'). Case-insensitive. Use this when the mapping is unambiguous. If provided, 'ticker' and 'exchange' are ignored.
tickerstringStock ticker symbol (e.g. QIMC, SHOP). Case-insensitive. Required if 'symbol' is not provided.
exchangestringExchange code. Required when using 'ticker'. Determines the Stockhouse prefix: TSX=t, TSXV=v, CSE=c.
Response
{
  "type": "object",
  "fields": {
    "posts": "Array of post/comment objects within the 24-hour window, newest first",
    "status": "'ok' when posts were found, 'no_posts_in_window' when the board exists but has no recent activity",
    "symbol": "Normalized Stockhouse symbol used for the query (e.g. 'c.qimc')",
    "cutoff_utc": "ISO 8601 UTC timestamp of the 24-hour cutoff used",
    "post_count": "Number of posts returned",
    "company_name": "Company or channel name extracted from the page title",
    "pages_fetched": "Number of listing pages fetched from Stockhouse"
  },
  "sample": {
    "data": {
      "posts": [
        {
          "body": "BASHER   T.A. is useless   Look at the FUNDEMENTALS...",
          "title": "RE:RE:RE:Nice Jump for QIMC SP !",
          "views": 2,
          "author": "Peggy123",
          "ticker": "QIMC",
          "post_id": "37084596",
          "post_url": "https://stockhouse.com/companies/bullboard?symbol=c.qimc&postid=37084596",
          "post_type": "comment",
          "thread_id": "37083942",
          "fetched_at": "2026-08-16T16:08:11.395051+00:00",
          "company_name": "Quebec Innovative Materials Corp",
          "published_at_utc": "2026-08-16T15:34:00+00:00",
          "published_display": "Aug 16, 2026 11:34am",
          "stockhouse_symbol": "c.qimc"
        }
      ],
      "status": "ok",
      "symbol": "c.qimc",
      "cutoff_utc": "2026-08-15T16:08:11.395051+00:00",
      "post_count": 4,
      "company_name": "Quebec Innovative Materials Corp",
      "pages_fetched": 1
    },
    "status": "success"
  }
}

About the Stockhouse API

What the API Returns

The single get_bullboard_comments endpoint returns a JSON object containing a posts array of community discussion items from Stockhouse Bullboards, ordered newest first. Alongside the posts, the response surfaces post_count, symbol (the normalized Stockhouse symbol such as c.qimc or t.shop), cutoff_utc (the ISO 8601 UTC timestamp marking the start of the 24-hour window), pages_fetched (how many listing pages were traversed to build the result), and company_name as extracted from the board's page title. The status field is ok when posts exist within the window, or no_posts_in_window when the board is valid but inactive in the last 24 hours.

Identifying a Stock

You can identify a stock two ways. Pass a full Stockhouse symbol directly — for example c.qimc for a CSE-listed ticker, t.shop for TSX, or v.ami for TSXV — and the endpoint queries that board immediately. Alternatively, supply a plain ticker string alongside an exchange value (TSX, TSXV, or CSE); the endpoint resolves the correct Stockhouse prefix automatically. Both inputs are case-insensitive.

Pagination and the 24-Hour Window

The endpoint paginates through Bullboard listing pages until the oldest item it encounters falls outside the 24-hour window or the limit ceiling (hard-capped at 1,000) is reached. The pages_fetched field in each response tells you exactly how many pages were consumed. If you supply a limit, the endpoint still respects the 24-hour boundary — the limit only prevents fetching beyond that count; it does not truncate the window arbitrarily.

Reliability & maintenanceVerified

The Stockhouse API is a managed, monitored endpoint for stockhouse.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when stockhouse.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official stockhouse.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
2h ago
Latest check
1/1 endpoint passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Track retail investor sentiment shifts on TSX and TSXV small-caps over a rolling 24-hour window using the posts array.
  • Alert trading desks when post_count spikes above a threshold for a given symbol, signalling unusual community attention.
  • Aggregate company_name and discussion volume across a watchlist of CSE-listed stocks to surface the most-discussed names each day.
  • Feed cutoff_utc and post timestamps into a time-series store to correlate Bullboard activity with intraday price movements.
  • Monitor newly listed Canadian equities on the TSXV by polling get_bullboard_comments with the ticker + exchange inputs after each listing announcement.
  • Flag no_posts_in_window status as a liquidity or interest signal for thinly traded stocks in a screening workflow.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Stockhouse offer an official developer API for Bullboard data?+
Stockhouse does not publish a documented public developer API for Bullboard posts. There is no official endpoint, authentication scheme, or SDK available to third-party developers at this time.
What does the `status` field indicate, and how should I handle `no_posts_in_window`?+
The status field is ok when at least one post falls within the 24-hour window. It returns no_posts_in_window when the Bullboard exists and was reached successfully but contains no posts newer than the cutoff_utc timestamp. You should treat this as a valid, empty result rather than an error — the board is real but simply has had no recent activity.
Does the API cover exchanges outside TSX, TSXV, and CSE — for example OTC or NYSE-listed stocks?+
Not currently. The API covers Canadian-listed stocks on TSX (prefix t), TSXV (prefix v), and CSE (prefix c) only. You can fork this API on Parse and revise it to add support for additional Stockhouse exchange prefixes if those boards exist on the site.
Does the API return individual post content and metadata, or just post counts?+
The posts array returns individual post and comment objects — not just counts. post_count is a separate summary field. The per-post objects contain the content and metadata available on the Bullboard listing pages within the 24-hour window. Fields such as user reputation scores or private message history are not included because they are not present on the public board listings.
Can I retrieve Bullboard history older than 24 hours?+
Not currently. The endpoint is scoped to a rolling 24-hour window anchored at the time of the request, as shown by the cutoff_utc field. Historical archives beyond that window are not covered. You can fork this API on Parse and revise it to extend the pagination logic and remove the time-window cutoff to reach older posts.
Page content last updated . Spec covers 1 endpoint from stockhouse.com.
Related APIs in FinanceSee all →
ceo.ca API
Monitor trending stocks, browse popular discussion posts, and read full conversation threads from CEO.ca to stay informed on market discussions and investment opportunities. Get real-time insights into what's being talked about and what stocks are gaining traction on the platform.
guba.eastmoney.com API
Access Chinese stock discussion posts and comments from Eastmoney's community platform to monitor investor sentiment, search board discussions, and retrieve detailed post information and stock board metadata. Get real-time insights into what traders are discussing about specific stocks through posts, replies, and board analytics.
stocktwits.com API
Discover which stocks are generating the most buzz on Stocktwits by accessing real-time trending symbols along with company names, trending scores, current price data, and community sentiment summaries. Stay ahead of market conversations by monitoring what the investing community is actively discussing and trading.
marketbeat.com API
Track comprehensive stock market data including real-time overviews, analyst ratings, earnings reports, insider trades, and institutional ownership across thousands of companies. Search stocks, analyze financial statements and profitability metrics, monitor short interest, explore options chains, and stay updated with market headlines and competitor analysis.
bitcointalk.org API
Access BitcoinTalk forum data to browse boards, search threads, read posts, and view user profiles all in one place. Quickly find recent discussions and explore community activity without visiting the forum directly.
thelayoff.com API
Monitor and search forum discussions about company layoffs, accessing post titles, content, author information, dates, and community reactions across TheLayoff.com. Browse through paginated results and dive into individual posts to read full reply threads and conversation details.
money.tmx.com API
money.tmx.com API
stockanalysis.com API
Access comprehensive stock market data including real-time financials, income statements, statistics, and IPO calendars to research individual stocks and identify market movers. Search stocks, view detailed overviews, and monitor premarket activity all in structured, easy-to-use format.