Discover/Osler API
live

Osler APIosler.com

Search and retrieve detailed profiles of lawyers at Osler, Hoskin & Harcourt LLP. Filter by office, role, practice area, and bar admission year.

Endpoint health
verified 6d ago
get_lawyer_profile
search_lawyers
2/2 passing latest checkself-healing
Endpoints
2
Updated
2mo ago

What is the Osler API?

The Osler API provides 2 endpoints to search and retrieve lawyer profiles from Osler, Hoskin & Harcourt LLP, one of Canada's largest law firms. The search_lawyers endpoint returns paginated results with up to 10 lawyers per page, each including name, role, office, phone, and bio snippet. The get_lawyer_profile endpoint returns a full individual profile with 9 distinct fields including bar admissions, education, expertise areas, and languages spoken.

This call costs10 credits / call— charged only on success
Try it
Page number for pagination.
Filter by role category.
Free-text search query matching lawyer names.
Filter by office location.
Number of results per page, between 1 and 100.
Comma-separated list of bar admission years to filter by (e.g. '2019,2020,2021'). When specified, only lawyers admitted in any of these years are returned. Requires fetching each profile individually, so responses are slower.
Filter by practice area name (e.g. 'Capital Markets', 'Artificial Intelligence', 'Mergers and Acquisitions'). Case-insensitive. Numeric IDs are also accepted for backward compatibility.
api.parse.bot/scraper/e89d5907-bb2a-49c9-a5de-3d56c43b6dcc/<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/e89d5907-bb2a-49c9-a5de-3d56c43b6dcc/search_lawyers?page=1&role=Partner&office=toronto&bar_years=1995%2C2000%2C2005&practice_area=Capital+Markets&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 osler-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: Osler People API — search lawyers, drill into profiles."""
from parse_apis.Osler_People_API import Osler, Office, Role, LawyerNotFound

client = Osler()

# Search for partners in the Toronto office, capped at 5 results.
for lawyer in client.lawyer_summaries.search(office=Office.TORONTO, role=Role.PARTNER, limit=5):
    print(lawyer.name, "|", lawyer.role, "|", lawyer.office)

# Drill into the first result's full profile.
summary = client.lawyer_summaries.search(practice_area="Capital Markets", limit=1).first()
if summary:
    full_profile = summary.details()
    print(full_profile.name, full_profile.email)
    for admission in full_profile.bar_admissions:
        print(f"  Bar: {admission.jurisdiction}, {admission.year}")
    print(f"  Languages: {full_profile.languages}")
    print(f"  Expertise: {full_profile.expertise[:3]}")

# Fetch a lawyer directly by slug.
try:
    lawyer = client.lawyers.get(slug="sandra-abitan-ad-e")
    print(lawyer.name, lawyer.role, lawyer.office)
except LawyerNotFound as exc:
    print(f"Not found: {exc}")

# Filter by bar admission year — find recently admitted lawyers in Montreal.
for recent in client.lawyer_summaries.search(office=Office.MONTREAL, bar_years="2020,2021", limit=3):
    print(recent.name, recent.role)

print("exercised: lawyer_summaries.search / summary.details / lawyers.get / bar_years filter")
All endpoints · 2 totalmissing one? ·

Search for lawyers at Osler with optional filters. Returns paginated results with a configurable number of results per page (up to 100). The site serves 10 results per server page, so larger per_page values trigger multiple internal fetches. When bar_years is specified, each result is enriched with bar admission data and only lawyers admitted in any of the specified years are returned.

Input
ParamTypeDescription
pageintegerPage number for pagination.
rolestringFilter by role category.
querystringFree-text search query matching lawyer names.
officestringFilter by office location.
per_pageintegerNumber of results per page, between 1 and 100.
bar_yearsstringComma-separated list of bar admission years to filter by (e.g. '2019,2020,2021'). When specified, only lawyers admitted in any of these years are returned. Requires fetching each profile individually, so responses are slower.
practice_areastringFilter by practice area name (e.g. 'Capital Markets', 'Artificial Intelligence', 'Mergers and Acquisitions'). Case-insensitive. Numeric IDs are also accepted for backward compatibility.
Response
{
  "type": "object",
  "fields": {
    "page": "integer",
    "results": "array of lawyer summaries with name, slug, role, office, phone, bio_snippet, and optionally bar_admissions",
    "per_page": "integer",
    "total_pages": "integer",
    "total_results": "integer"
  },
  "sample": {
    "data": {
      "page": 1,
      "results": [
        {
          "name": "Jane Doe",
          "role": "Associate, Disputes",
          "slug": "jane-doe",
          "phone": "+1 (555) 012-3456",
          "office": "Toronto",
          "bio_snippet": "Jane Doe is an associate in the Disputes Group..."
        }
      ],
      "total_pages": 1,
      "total_results": 7
    },
    "status": "success"
  }
}

About the Osler API

Searching Lawyers

The search_lawyers endpoint accepts optional filters for office, role, practice_area, and query (free-text name search). Results are paginated at 10 per page; use the page parameter to navigate. The response includes total_results and total_pages alongside an array of lawyer summaries. Each summary contains name, slug, role, office, phone, and a bio_snippet.

Filtering by Bar Admission Year

The bar_years parameter accepts a comma-separated list of years (e.g., 2019,2020,2021). When supplied, each result is enriched with a bar_admissions field and only lawyers admitted in one of those years are returned. This filter can be combined with office or practice_area to narrow results further. The practice_area filter takes a numeric ID — for example, 6989 for Capital Markets.

Full Lawyer Profiles

The get_lawyer_profile endpoint takes a slug — the URL path segment from the lawyer's profile page — and returns a complete record. Fields include name, role, email, phone, office, biography, education (array of credentials), expertise (array of practice area names), and languages. This endpoint is the right choice when you need structured contact details, full biography text, or a list of areas of expertise for a specific individual.

Coverage and Scope

The directory covers lawyers listed on the Osler website across all offices. Profile completeness varies by individual — some profiles may not include email addresses or language data if the source profile omits them. Pagination behavior and available filter IDs for practice_area reflect the categorizations used on the Osler site.

Reliability & maintenanceVerified

The Osler API is a managed, monitored endpoint for osler.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when osler.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 osler.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
6d 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
  • Build a filtered directory of Osler lawyers by Canadian office location for a legal referral tool.
  • Identify junior associates admitted to the bar in specific years using the bar_years filter.
  • Pull structured education and expertise arrays from get_lawyer_profile to populate a CRM or knowledge base.
  • Match client needs to lawyers by querying specific practice_area IDs such as Capital Markets.
  • Extract languages fields to route multilingual clients to appropriate counsel.
  • Aggregate bio_snippet and role data from search_lawyers to compare lawyers across offices in bulk.
  • Monitor changes to individual lawyer profiles over time by periodically calling get_lawyer_profile with known slugs.
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 Osler provide an official public developer API?+
Osler, Hoskin & Harcourt LLP does not publish a public developer API for its lawyer directory. This Parse API provides structured programmatic access to the data available on their public website.
What does search_lawyers return when I use the bar_years filter versus not using it?+
Without bar_years, each result in the array contains name, slug, role, office, phone, and bio_snippet. When bar_years is specified, results are additionally filtered to only lawyers admitted in those years, and each object gains a bar_admissions field with structured admission data.
How does pagination work in the search endpoint?+
Results are returned 10 per page. The response includes total_results and total_pages so you can calculate how many requests are needed to walk the full result set. Increment the page parameter to retrieve subsequent pages.
Does the API return a lawyer's billing rate or client matter history?+
No billing rates, hourly fees, or matter history are exposed. The API covers public directory fields: contact details, biography, practice areas, education, bar admissions, and languages. You can fork this API on Parse and revise it to add an endpoint if Osler publishes any additional structured profile data in the future.
Are alumni or former lawyers included in the directory?+
The API returns profiles currently listed on the Osler public lawyer directory. Former lawyers who no longer appear on the site are not included. You can fork the API on Parse and revise it to target any archived or legacy profile pages if your use case requires historical coverage.
Page content last updated . Spec covers 2 endpoints from osler.com.
Related APIs in B2b DirectorySee all →
dnb.com API
Search millions of companies in Dun & Bradstreet's global business directory to find detailed company profiles and verify D-U-N-S numbers. Look up key business information like company details and identifiers to support due diligence, sales prospecting, and business intelligence needs.
crunchbase.com API
Search and retrieve detailed information about companies, investors, and key people to discover funding opportunities, track market competitors, and analyze investment trends. Access comprehensive profiles including organization details, investor backgrounds, and complete funding round histories all in one place.
ycombinator.com API
Access comprehensive data from the Y Combinator ecosystem, including company profiles, founder and partner information, job listings, and the YC library. Filter companies by batch, industry, and hiring status, and explore detailed profiles with social links, team information, and funding metadata.
opencorporates.com API
Access comprehensive company registration data, officer details, and filing histories from OpenCorporates across jurisdictions worldwide to research businesses and their leadership. Search for specific companies or officers, retrieve detailed corporate information, and explore filing records to support due diligence, compliance checks, and business intelligence.
rusprofile.ru API
Search Russian companies and retrieve their detailed profiles including financial information, registration details, and director information from Rusprofile's database. Look up director credentials by their tax identification number and discover company relationships and links.
lawyers.com API
Search and discover lawyers and law firms with detailed profiles, client reviews, and practice area information. Find legal articles and featured firms by specialty to help you locate the right legal representation for your needs.
avvo.com API
Search for attorneys by location and specialty to find detailed professional profiles, reviews, and practice areas that match your legal needs. Browse community-driven legal Q&A to get answers to common legal questions and learn from other users' experiences.
dunsnumberlookup.dnb.com API
Search for detailed company information using Dun & Bradstreet's database by entering a company name or registration number along with a country code. Get back comprehensive business data including operating status, address, location type, and registration details to verify company credentials and find key business information.