Discover/Mohawk Medbuy API
live

Mohawk Medbuy APImohawkmedbuy.ca ↗

Search and retrieve Mohawk Medbuy sourcing opportunities — tenders, RFPs, RFQs, ACANs, and award notices — with full categories, descriptions, addenda, and documents.

Endpoint health
verified 2h ago
search_opportunities
get_opportunity
2/2 passing latest checkself-healing
Endpoints
2
Updated
2h ago

What is the Mohawk Medbuy API?

The Mohawk Medbuy API provides two endpoints that expose the public procurement portal at mohawkmedbuy.ca, covering solicitations such as RFPs, RFQs, tenders, ACANs, and award notices. search_opportunities returns paginated summaries with status, closing dates, and days remaining, while get_opportunity delivers the full record for a single solicitation including procurement categories, plain-text description, addenda with revised closing dates, and attached document metadata.

This call costs1 credit / call— charged only on success
Try it
1-based page number.
Free-text search across solicitation number and title, e.g. RFP or a reference number such as CW29837. Omitted = no text filter.
Solicitation status filter. Omitted = all statuses.
Rows per page, maximum 100.
→ api.parse.bot/scraper/b52bce86-6e53-4383-85db-5d15ee921be0/<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/b52bce86-6e53-4383-85db-5d15ee921be0/search_opportunities?status=open&page_size=3&query=RFP' \
  -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 mohawkmedbuy-ca-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: Mohawk Medbuy sourcing opportunities — bounded, re-runnable."""
from parse_apis.mohawkmedbuy_ca_api import (
    MohawkMedbuy,
    OpportunityStatus,
    OpportunityNotFound,
)

client = MohawkMedbuy()

# Browse open procurement opportunities, capped at 5 total items.
for summary in client.opportunity_summaries.search(
    status=OpportunityStatus.OPEN, limit=5
):
    print(summary.title, summary.closing_date, summary.days_left)

# Drill into the first open opportunity for full detail via typed navigation.
summary = client.opportunity_summaries.search(
    status=OpportunityStatus.OPEN, limit=1
).first()
if summary is not None:
    opp = summary.details()
    print(opp.title, opp.status, opp.value_range)
    for cat in opp.categories:
        print(f"  category: {cat.name} (code {cat.code}, level {cat.level})")
    for link in opp.external_links:
        print(f"  link: {link.label} -> {link.url}")

# Point lookup by tender_id discovered from the previous search.
if summary is not None:
    try:
        detail = client.opportunities.get(tender_id=summary.tender_id)
        print(detail.reference_number, detail.contract_type, detail.description[:120])
    except OpportunityNotFound:
        print(f"tender {summary.tender_id} no longer exists")

print("exercised: opportunity_summaries.search / details / opportunities.get")
All endpoints · 2 totalmissing one? ·

Lists Mohawk Medbuy procurement opportunities, one row per solicitation, ordered by closing date (soonest first for open bids, most recent first otherwise). Optional free-text query matches the solicitation number and title; optional status narrows to open, closed, awarded or cancelled solicitations and omitting it returns every status. Paginated with page and page_size (page_size is clamped to 100); total is the portal's count of matching solicitations and has_more tells whether a further page exists. Each row carries tender_id, which get_opportunity accepts unchanged, and detail_url, the public detail page. Dates are Eastern Time in the form YYYY-MM-DDTHH:MM:SS (closing) or YYYY-MM-DD (posted); days_left is null for solicitations that are no longer open. One request per page.

Input
ParamTypeDescription
pageinteger1-based page number.
querystringFree-text search across solicitation number and title, e.g. RFP or a reference number such as CW29837. Omitted = no text filter.
statusstringSolicitation status filter. Omitted = all statuses.
page_sizeintegerRows per page, maximum 100.
Response
{
  "type": "object",
  "fields": {
    "page": "page number served",
    "items": "array of solicitation summaries",
    "query": "echo of the text filter, null when none",
    "total": "portal's count of solicitations matching the filters",
    "has_more": "true when a later page exists",
    "page_size": "rows per page after clamping",
    "items[].title": "solicitation name",
    "status_filter": "echo of the status filter, null when none",
    "items[].status": "portal status label: Open for Bidding, Closed, Awarded or Cancelled",
    "items[].days_left": "integer days until closing; null once no longer open",
    "items[].has_award": "true when an award notice has been published",
    "items[].tender_id": "string id of the solicitation; input to get_opportunity",
    "items[].detail_url": "public detail page of the solicitation",
    "items[].posted_date": "publication date YYYY-MM-DD",
    "items[].closing_date": "closing date-time, YYYY-MM-DDTHH:MM:SS in closing_timezone",
    "items[].has_addendum": "true when at least one addendum exists",
    "items[].bid_type_code": "portal bid type code: G goods, S services, GS goods and services, C construction",
    "items[].addendum_count": "number of addenda issued",
    "items[].closing_timezone": "timezone label for closing_date (ET)",
    "items[].reference_number": "buyer's solicitation number as displayed (e.g. CW29837 - RFQ)",
    "items[].electronic_bidding": "true when submissions are made electronically on the portal",
    "items[].document_taker_count": "number of registered document takers"
  },
  "sample": {
    "data": {
      "page": 1,
      "items": [
        {
          "title": "MMNCL PORTABLE PHARMACY COMPOUNDING TRAILER 2026 - ACAN - LHSC",
          "status": "Open for Bidding",
          "has_qna": false,
          "days_left": 3,
          "has_award": false,
          "tender_id": "41779528",
          "detail_url": "https://www.biddingo.com/medbuy/bid/1/41030408/41779528/verification",
          "posted_date": "2026-09-04",
          "closing_date": "2026-09-28T14:00:00",
          "has_addendum": false,
          "published_by": "Mohawk Medbuy",
          "bid_type_code": "G",
          "addendum_count": 0,
          "closing_timezone": "ET",
          "reference_number": "CW31456",
          "electronic_bidding": false,
          "document_taker_count": 0
        }
      ],
      "query": null,
      "total": 22,
      "has_more": true,
      "page_size": 5,
      "status_filter": "open"
    },
    "status": "success"
  }
}

About the Mohawk Medbuy API

What the API Returns

The search_opportunities endpoint returns a paginated list of Mohawk Medbuy solicitations. Each item in the items array carries the solicitation title, a status label (Open for Bidding, Closed, Awarded, or Cancelled), and a days_left integer while the bid is open. You can filter by free-text query (matching solicitation number or title, e.g. CW29837 or RFP) and by status. Results are ordered soonest-closing-first for open bids and most-recent-first for all others. Page size is configurable up to 100 rows, and has_more flags whether a subsequent page exists.

Opportunity Detail

get_opportunity accepts a tender_id exactly as returned by search_opportunities and fetches the complete public record. Unique to this endpoint are the categories array — each entry carries a code, name, description, and level indicating whether it is a top-level parent or a sub-category — the full plain-text description of the solicitation notice, and the addenda array. Each addendum includes its number, name, type, issued_date, any revised_closing_date, freeform text, inline links, and attached documents.

Documents and Links

The documents field on the detail record lists files attached directly to the solicitation, each annotated with name and an available_without_login boolean. Linked source documents hosted off-portal are captured through the detail_url field pointing to the canonical public page. Note that some document packages require a registered Mohawk Medbuy supplier account to download; available_without_login indicates which files are publicly accessible without that step.

Coverage Scope

The API reflects the public sourcing-opportunities board at mohawkmedbuy.ca. Solicitations span goods and services procurement for Mohawk Medbuy member healthcare organizations. The bid_type field on the detail record distinguishes Goods from Service solicitations. Historical closed and awarded notices remain queryable by passing status=closed or status=awarded to search_opportunities.

Reliability & maintenanceVerified

The Mohawk Medbuy API is a managed, monitored endpoint for mohawkmedbuy.ca — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when mohawkmedbuy.ca 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 mohawkmedbuy.ca 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
2/2 endpoints 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
  • Monitor newly opened RFPs and tenders on the Mohawk Medbuy portal by polling search_opportunities with status=open.
  • Alert healthcare suppliers when a solicitation matching a keyword (e.g. surgical gloves) moves from open to awarded.
  • Build a bid-tracking dashboard that surfaces days_left countdowns for active solicitations.
  • Retrieve full procurement category codes and descriptions via get_opportunity to classify and tag healthcare tenders by commodity type.
  • Aggregate addenda across multiple solicitations to detect revised closing dates before a submission deadline.
  • Compile historical awarded-contract data for competitive-intelligence analysis of Mohawk Medbuy spending patterns.
  • Identify which solicitation documents are available without a supplier login using the available_without_login flag before registering on the portal.
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 Mohawk Medbuy have an official developer API?+
No. Mohawk Medbuy does not publish a public developer API or documented data feed for its sourcing-opportunities portal. This Parse API is the structured programmatic interface to that data.
How does `search_opportunities` distinguish between solicitation types like RFPs, RFQs, and ACANs?+
The search_opportunities endpoint does not return a separate solicitation-type field in the summary items. Solicitation type is typically encoded in the title or the tender_id reference number. Use get_opportunity to retrieve the full description, which includes notice-type language, and the bid_type field (Goods or Service) for a broad classification.
Can I retrieve the actual bid documents through the API?+
The API returns document metadata — file name and the available_without_login flag — for files attached to a solicitation, plus the detail_url linking to the portal page. Documents that require a registered Mohawk Medbuy supplier account are flagged accordingly but their binary content is not returned. The API covers public metadata and freeform description text. You can fork it on Parse and revise to add a download-proxy endpoint for publicly available files.
Is supplier or vendor registration data available?+
Not currently. The API covers solicitation listings, categories, descriptions, addenda, and document metadata from the public sourcing-opportunities board. Vendor profiles, supplier registration records, and contact directories are not exposed. You can fork the API on Parse and revise it to add endpoints targeting any publicly accessible supplier-side pages on mohawkmedbuy.ca.
How fresh is the solicitation data, and are real-time updates supported?+
The API reflects the current state of the public portal at query time. There is no webhook or push mechanism — callers must poll search_opportunities on a schedule to detect new or status-changed solicitations. For time-sensitive bid monitoring, polling with status=open and checking days_left is the recommended pattern.
Page content last updated . Spec covers 2 endpoints from mohawkmedbuy.ca.
Related APIs in Government PublicSee all →
purchasing.alberta.ca API
Access data from purchasing.alberta.ca.
opportunities.bidsandtenders.com API
Search and filter public bid opportunities by keywords, status, organization, publish date, and bid type, then retrieve comprehensive details including descriptions, key dates, meetings, and related documents for any listing. Access a complete view of available tender opportunities with sorting and pagination to easily find the bids most relevant to your business.
bidsandtenders.com API
Search and discover public bid opportunities across Canada and the USA to find relevant procurement projects for your business. Access real-time tender data from the bids&tenders eProcurement platform to identify and pursue new contract opportunities.
bidsandtenders.ca API
Access data from bidsandtenders.ca.
nbon-rpanb.gnb.ca API
Access data from nbon-rpanb.gnb.ca.
biddingo.com API
Search and filter government procurement bids and RFPs across different regions and categories to find relevant opportunities. Access detailed project descriptions and bid information to help you discover and evaluate contracting opportunities that match your business needs.
procurement-portal.novascotia.ca API
Access data from procurement-portal.novascotia.ca.
merx.com API
Search and monitor Canadian government tenders, RFPs, and contract opportunities on Merx, with the ability to filter by category and view detailed solicitation information for both open and closed opportunities. Find procurement projects that match your business needs and track their status through comprehensive tender data.