fasken.com APIwww.fasken.com ↗
Search and retrieve detailed Fasken lawyer profiles including bar admission years, practice areas, jurisdictions, and contact info via 2 structured endpoints.
curl -X POST 'https://api.parse.bot/scraper/99a24835-bbdd-4cb9-ac7e-fecff8f097e5/search_lawyers' \
-H 'X-API-Key: $PARSE_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"page": "1",
"limit": "15",
"office": "Montréal",
"practice": "Mergers & Acquisitions",
"role_category": "Lawyers & Agents"
}'Typed Python client. Install the CLI, sign in, then pull this API’s generated client:
pip install parse-sdk parse login parse add --marketplace fasken-com-api
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: Fasken Lawyers API — search lawyers and retrieve detailed profiles."""
from parse_apis.Fasken_Lawyers_API import Fasken, LawyerNotFound
client = Fasken()
# Search for M&A lawyers in Montréal
for lawyer in client.lawyers.search(office="Montréal", practice="Mergers & Acquisitions", limit=3):
print(lawyer.name, lawyer.role, lawyer.bar_jurisdiction)
# Drill down into the first result's full profile
lawyer = client.lawyers.search(office="Montréal", practice="Mergers & Acquisitions", limit=1).first()
if lawyer:
profile = lawyer.refresh()
print(profile.name, profile.jurisdictions, profile.bar_years)
print(profile.biography[:150])
# Handle a non-existent lawyer profile
try:
bad_lawyer = client.lawyers.search(query="nonexistent-xyz", limit=1).first()
if bad_lawyer:
bad_lawyer.refresh()
except LawyerNotFound as exc:
print(f"Lawyer not found: {exc}")
print("exercised: lawyers.search / lawyer.refresh / LawyerNotFound error handling")
Search for lawyers at Fasken filtered by office, practice area, role category, and free-text query. Returns paginated results with summary information including name, slug, role, offices, practices, bar jurisdictions, languages, and a short biography. Uses the Coveo search index backing the Fasken people directory. Pagination is page-based with configurable page size.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination (1-based). |
| limit | integer | Number of results per page (1-100). |
| query | string | Free-text search query to match against lawyer names or biographies. |
| office | string | Office location filter (e.g. 'Montréal', 'Toronto', 'Vancouver', 'Ottawa', 'Québec City', 'London', 'Johannesburg'). Omitting returns lawyers from all offices. |
| practice | string | Practice area filter (e.g. 'Mergers & Acquisitions', 'Corporate/Commercial', 'Litigation and Dispute Resolution', 'Private Equity', 'Capital Markets'). Omitting returns lawyers from all practices. |
| role_category | string | Role category filter. Known values: 'Lawyers & Agents', 'Legal Professionals', 'Business Professionals', 'Firm Leadership'. |
{
"type": "object",
"fields": {
"page": "integer",
"limit": "integer",
"lawyers": "array of lawyer summary objects",
"total_count": "integer"
},
"sample": {
"data": {
"page": 1,
"limit": 3,
"lawyers": [
{
"name": "John Doe",
"role": [
"Partner"
],
"slug": "peter-villani",
"email": "[email protected]",
"phone": "+1 (555) 012-3456",
"offices": [
"Montréal"
],
"languages": [
"French",
"Italian",
"English"
],
"practices": [
"Mergers & Acquisitions",
"Capital Markets",
"Private M&A"
],
"profile_url": "https://www.fasken.com/en/peter-villani",
"short_biography": "John Doe leads complex transactions with major players in the retail, ecommerce, fibre optics testing, and telecommunications sectors.",
"bar_jurisdiction": [
"Ontario",
"Québec"
]
}
],
"total_count": 69
},
"status": "success"
}
}About the fasken.com API
The Fasken API provides 2 endpoints to search and retrieve lawyer profiles from Fasken's global directory. search_lawyers returns paginated summaries filtered by office, practice area, and role category, while get_lawyer_profile delivers a full profile including bar admission years by jurisdiction, languages spoken, biography, email, phone, and office location for a specific attorney.
Searching Lawyers
The search_lawyers endpoint accepts POST requests with filters for office (e.g. Montréal, Toronto, Vancouver, London), practice (e.g. Mergers & Acquisitions, Litigation and Dispute Resolution), and role_category (e.g. Lawyers & Agents, Legal Professionals). A free-text query parameter matches against names and biographies. Results are paginated via page and limit (1–100 per page) and each item in the lawyers array includes the lawyer's name, URL slug, role, associated offices, practice areas, bar jurisdictions, languages, and a short biography excerpt. The total_count field indicates the full result set size.
Retrieving Full Profiles
The get_lawyer_profile endpoint takes a slug — the path segment identifying an individual lawyer, obtainable from search_lawyers results — and returns a complete profile object. Fields include name, role, email, phone, office, biography, languages, profile_url, and two structured arrays: bar_years (admission year strings) and jurisdictions (jurisdiction names paired with admission year). This makes it straightforward to filter or display attorneys by when and where they were called to the bar.
Coverage and Scope
The directory covers Fasken offices across Canada, the United Kingdom, and South Africa. Practice area strings match those used on Fasken's public people directory, including corporate, litigation, tax, employment, and transactional areas. Filters can be combined — for example, pairing office=Montréal with practice=Mergers & Acquisitions and role_category=Lawyers & Agents narrows results to that specific intersection.
The fasken.com API is a managed, monitored endpoint for www.fasken.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when www.fasken.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 www.fasken.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.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a filtered lawyer-finder tool that maps Fasken M&A attorneys by office and bar jurisdiction
- Aggregate bar admission years across practice groups to analyze seniority distribution at Fasken
- Populate a CRM with structured contact data (email, phone, office) for Fasken attorneys
- Generate jurisdiction-specific attorney shortlists by combining the
practiceandofficefilters insearch_lawyers - Display multilingual attorney profiles by surfacing the
languagesfield for client-facing directories - Cross-reference
jurisdictionsadmission years to identify recently called lawyers in specific practice areas - Monitor additions to Fasken's lawyer roster by periodically paginating
search_lawyersand comparingtotal_count
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Fasken provide an official developer API for its lawyer directory?+
What does `get_lawyer_profile` return that `search_lawyers` does not?+
search_lawyers returns summary-level data: name, slug, role, offices, practices, bar jurisdictions, languages, and a short biography excerpt. get_lawyer_profile adds the lawyer's direct email address, phone number, full biography text, and the bar_years array with structured admission year strings alongside the jurisdictions array — details not present in the search result objects.Can I filter `search_lawyers` results by bar admission year?+
search_lawyers endpoint does not expose a bar admission year filter. You can retrieve year data from get_lawyer_profile via the bar_years and jurisdictions fields and filter client-side. If you need server-side year filtering, you can fork this API on Parse and revise it to add that parameter.Does the API cover Fasken alumni, former partners, or non-lawyer staff in detail?+
role_category filter. Alumni and former staff profiles are not included. You can fork the API on Parse and revise it to add an alumni endpoint if Fasken exposes that data on a separate directory page.How does pagination work in `search_lawyers`?+
page (starting at 1) and limit (1–100) in the POST body. The response always includes total_count, so you can calculate the number of pages by dividing total_count by your chosen limit. If no page or limit is supplied, the endpoint applies default values.