Discover/AtlasCare API
live

AtlasCare APIpromo.atlascare.ca ↗

Retrieve AtlasCare's HVAC, water heater, and plumbing service catalogue, fetch per-service promo details, and submit quote requests via 3 API endpoints.

Endpoint health
verified 1h ago
list_services
get_service
2/2 passing latest checkself-healing
Endpoints
3
Updated
2h ago

What is the AtlasCare API?

The AtlasCare Promo API provides 3 endpoints covering the heating, cooling, water heater, and plumbing services listed on promo.atlascare.ca. Use list_services to pull the full service catalogue organized by category, get_service to retrieve landing-page details for any individual service including its current promotional offer, and submit_quote_request to programmatically submit a booking inquiry on behalf of a user.

This call costs1 credit / call— charged only on success
Try it

No input parameters required.

→ api.parse.bot/scraper/71411938-2642-43af-a40b-ca9a668ba6a4/<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/71411938-2642-43af-a40b-ca9a668ba6a4/list_services' \
  -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 promo-atlascare-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: AtlasCare promo services — browse the catalogue and inspect landing-page details."""
from parse_apis.promo_atlascare_ca_api import AtlasCare, InputNotFound

client = AtlasCare()

# Browse service categories and their entries
for cat in client.categories.list(limit=5):
    print(cat.name)
    for svc in cat.services:
        print(f"  {svc.name} ({svc.slug})")

# Drill into the first service's full landing-page detail via summary navigation
first_cat = client.categories.list(limit=1).first()
if first_cat is not None and first_cat.services:
    summary = first_cat.services[0]
    detail = summary.details()
    print(detail.name, detail.headline)
    print("Highlights:", detail.highlights)
    if detail.offer is not None:
        print("Offer:", detail.offer.title)
    print("Phone:", detail.phone, "| Line:", detail.service_line)

    # Same service via direct point lookup using the discovered slug
    try:
        service = client.services.get(slug=summary.slug)
        print(service.name, service.tagline)
    except InputNotFound:
        print("Service page no longer available")

print("exercised: categories.list / ServiceSummary.details / services.get")
All endpoints · 3 totalmissing one? ·

Returns the full service catalogue as shown in the site's main navigation: service categories (Heating, Air Conditioning, Water Heaters, Plumbing), each with its services (name, slug, landing-page URL). A service can appear under more than one category (one shape: Heat Pump Installation under both Heating and Air Conditioning). Also returns quote_product_categories, the exact product-of-interest options accepted by submit_quote_request. One page load; no pagination.

Input

No input parameters required.

Response
{
  "type": "object",
  "fields": {
    "categories": "array of service categories, each {name, services[]} where services[] items carry name, slug (input for get_service) and url",
    "total_services": "integer count of service entries across all categories (duplicates across categories counted each time)",
    "quote_product_categories": "array of strings: the product_category values accepted by submit_quote_request"
  },
  "sample": {
    "data": {
      "categories": [
        {
          "name": "Heating",
          "services": [
            {
              "url": "https://promo.atlascare.ca/heating-repair/",
              "name": "Repair",
              "slug": "heating-repair"
            },
            {
              "url": "https://promo.atlascare.ca/furnace-installation/",
              "name": "Furnace Installation",
              "slug": "furnace-installation"
            }
          ]
        },
        {
          "name": "Plumbing",
          "services": [
            {
              "url": "https://promo.atlascare.ca/sump-pumps/",
              "name": "Sump Pumps",
              "slug": "sump-pumps"
            }
          ]
        }
      ],
      "total_services": 18,
      "quote_product_categories": [
        "Heating Repair",
        "Heating Install",
        "Heat Pump Install",
        "Cooling Repair",
        "Cooling Install",
        "Water Heater Install",
        "Clogs, Drains & Pipe Services",
        "Other Plumbing Services"
      ]
    },
    "status": "success"
  }
}

About the AtlasCare API

Service Catalogue

list_services returns the complete service catalogue with no required inputs. The response groups services into categories such as Heating, Air Conditioning, Water Heaters, and Plumbing. Each service entry carries a name, a slug (used as input to get_service), and a url. The total_services integer counts all entries across categories, including any service that appears under more than one category. The response also includes quote_product_categories, the exact string values accepted by submit_quote_request.

Per-Service Landing Page Details

get_service accepts a single required parameter, slug, matching a value from list_services. It returns the page's headline (h1), tagline, and an highlights array of bullet-point selling points. The offer object contains title and terms for any active promotion; when no offer block appears on the page, offer is null. The response also exposes the phone number in E.164 format, the quote_form_heading, and service_line (either HVAC or Plumbing), indicating which service line the page's quote form files requests under.

Quote Request Submission

submit_quote_request is a live form submission. Required fields include first_name, last_name, email, phone, postal_code, product_category, and consent (must be true). The product_category value must exactly match one of the strings returned by list_services.quote_product_categories. An optional message field carries free-text describing the request. On success, the response returns submitted: true, a status of mail_sent, and the site_message acknowledgement text. Because this submits a real request to AtlasCare, it should only be called for genuine inquiries.

Reliability & maintenanceVerified

The AtlasCare API is a managed, monitored endpoint for promo.atlascare.ca — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when promo.atlascare.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 promo.atlascare.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
1h 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
  • Display a categorized directory of AtlasCare's HVAC and plumbing services using the list_services category and slug data.
  • Surface active promotions on a comparison or deal-aggregation site by iterating slugs through get_service and checking offer fields.
  • Pre-populate a quote form on a partner or affiliate site and submit it programmatically via submit_quote_request.
  • Build a service-picker widget that shows highlights and headline copy for each service before a user requests a quote.
  • Monitor promotional offers across all service pages by periodically calling get_service for each slug and tracking changes to offer.title.
  • Validate which product_category strings are currently accepted before submitting a quote request, using quote_product_categories from list_services.
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 AtlasCare provide an official public developer API?+
AtlasCare does not publish an official developer API. This API surfaces data from their promo site (promo.atlascare.ca) through Parse-managed endpoints.
What does `get_service` return when a service page has no active promotion?+
The offer field is returned as null when the page shows no offer block. All other fields — headline, tagline, highlights, phone, service_line, and quote_form_heading — are still returned regardless of whether a promotion is present.
Does the API expose service pricing or equipment cost estimates?+
No pricing or cost-estimate data is currently exposed. The API covers promotional offer titles and fine-print terms (offer.title and offer.terms), service highlights, and contact details. You can fork this API on Parse and revise it to add an endpoint targeting any pricing content if AtlasCare adds it to the promo site.
Can I retrieve customer reviews or ratings for any service?+
Not currently. The API covers service catalogue metadata, landing-page content, and quote submission. You can fork it on Parse and revise to add an endpoint if review content becomes available on the promo site.
Is `submit_quote_request` safe to call repeatedly for testing?+
No. Each call submits a real request to AtlasCare; the business receives the inquiry and may contact the person at the provided phone or email. Use distinct test contact details carefully, and limit calls to genuine booking requests.
Page content last updated . Spec covers 3 endpoints from promo.atlascare.ca.
Related APIs in OtherSee all →
cdfade.ca API
Access data from cdfade.ca.
serviceseeking.com.au API
Search and browse job postings and local service providers across Australia on ServiceSeeking.com.au. View detailed business profiles, ratings, pricing, and explore hundreds of service categories — from tradespeople to home services and beyond.
homeadvisor.com API
Search and discover home service professionals on HomeAdvisor, browse their reviews and project photos, and explore available service categories to find the right contractor for your needs. Get detailed information about specific pros including their expertise, ratings, and past work samples.
yellowpages.ca API
Search for businesses across Canada and retrieve detailed information including contact details, ratings, reviews, and website data. Supports keyword and location-based discovery of local businesses for research, analysis, and data enrichment use cases.
amazon.ca API
Access data from amazon.ca.
canada.businessesforsale.com API
Search and browse businesses for sale and franchise opportunities across Canada, retrieving detailed listing information to find investment opportunities that match your interests. Explore comprehensive data on available businesses and franchises to make informed decisions about potential acquisitions.
balcas.fuelsoft.co.uk API
Access data from balcas.fuelsoft.co.uk.
rentals.ca API
Search and browse rental listings across Canada by city or neighbourhood, and view detailed property information including prices, amenities, and availability. Find your next home by filtering thousands of rental properties on Rentals.ca in real-time.