Justia APIjustia.com ↗
Access Justia's lawyer directory, US state statutes, court opinions, legal guides, and law school listings via a structured REST API with 10 endpoints.
What is the Justia API?
The Justia API exposes 10 endpoints covering Justia's lawyer directory, state statutory codes, court opinions, legal guides, and law school listings. Use search_lawyers to query attorneys by practice area and location, or get_statute_section to retrieve the full text of any statute section by path. Each endpoint returns structured JSON with consistent field names, making it straightforward to build legal research tools, attorney finders, or compliance workflows on top of Justia's public database.
curl -X GET 'https://api.parse.bot/scraper/9cf3f8bd-b3c7-4d90-80f8-b414979bcada/search_lawyers?page=1&query=family+law&location=New+York' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for lawyers by practice area or name and location on Justia's lawyer directory. Returns paginated results with basic lawyer information including name, phone, rating, and profile URL. Pagination via page number. Results vary by query specificity; omitting both query and location returns a broad directory listing.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination. |
| query | string | Practice area or lawyer name to search for. |
| location | string | Location to search in (city, state). |
{
"type": "object",
"fields": {
"lawyers": "array of objects with name, firm, practice_areas, phone, location, rating, profile_url",
"total_on_page": "integer count of lawyers returned on this page"
},
"sample": {
"data": {
"lawyers": [
{
"firm": null,
"name": "John Doe",
"phone": "+1 (555) 012-3456",
"rating": "Top Rated Lawyer 10/10",
"location": null,
"profile_url": "https://lawyers.justia.com/lawyer/stephen-bilkis-1244778",
"practice_areas": []
}
],
"total_on_page": 53
},
"status": "success"
}
}About the Justia API
Lawyer Directory
The search_lawyers endpoint accepts a query (practice area or attorney name) and location (city, state), returning a paginated list of attorneys with name, firm, practice_areas, phone, location, rating, and profile_url. To retrieve a full attorney record, pass a lawyer slug or complete profile URL to get_lawyer_profile, which returns biography, education, fees, languages, video_conferencing, address, and website. Client sentiment is available through get_lawyer_reviews, which returns per-review fields including reviewer_name, recommendation, review_id, and a summary count string; pagination is controlled via page, max_reviews (capped at 100), and all_pages. When you need to verify which Justia profile page belongs to a specific attorney, get_profile_identity accepts either an array of direct urls or a name plus location search and returns identity facts from each candidate page.
Statutes and Case Law
get_state_statutes_index returns the available years of a state's statutory code, each with a year and url. Once you have a target path, get_statute_section retrieves the full statutory text (text), section title, and citation for any section under law.justia.com/codes/. Court opinions are accessible through get_case_detail, which takes a path matching a case under law.justia.com/cases/ and returns the full opinion text with original whitespace and line-break formatting preserved — useful for separating majority, concurring, and dissenting sections with regex.
Directory Discovery and Legal Guides
list_lawyers_by_state maps out a state's attorney directory by returning category links grouped under Practice Areas, Cities, and Counties — helpful for crawling the full directory structure before querying specific categories. get_law_schools_list returns all US states that have law school pages on Justia, each with a state name and url. get_legal_guides delivers a deduplicated list of guide topics (family law, employment, real estate, criminal law, and more) with titles and links, requiring no input parameters.
The Justia API is a managed, monitored endpoint for justia.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when justia.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 justia.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 an attorney finder that filters by practice area and city using
search_lawyersand enriches results withget_lawyer_profile - Aggregate and display client reviews for a list of attorneys using
get_lawyer_reviewswith theall_pagesflag - Pull the full text of specific state statutes for a compliance checker using
get_statute_sectionwith targeted code paths - Monitor changes in available years of state statutory codes by polling
get_state_statutes_indexfor each state - Retrieve and parse court opinions for citation analysis using
get_case_detailwith preserved formatting - Verify attorney identity across multiple Justia profile URLs using
get_profile_identitywith aurlsarray - Catalog legal guide topics and link them to attorney search results using
get_legal_guidescombined withsearch_lawyers
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 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.
Does Justia have an official developer API?+
What fields does `get_lawyer_reviews` return, and how does pagination work?+
review_id (Justia's own integer ID), reviewer_name, recommendation (a label string), and a permalink. The response also includes total_available (total reviews on Justia for that lawyer), total_reviews (count returned in the current call), has_more (boolean), and a summary string like '4 Recommends'. Pagination is controlled by page (1-based window index) and max_reviews (capped at 100); set all_pages to true to start from the first review regardless of page offset.Are federal statutes or the US Code available through this API?+
get_state_statutes_index and get_statute_section, and federal court opinions via get_case_detail using paths from law.justia.com/cases/federal/. Federal statutory code sections are not exposed as a dedicated endpoint. You can fork the API on Parse and revise it to add a federal code section endpoint.How specific does the `path` parameter need to be for `get_statute_section` and `get_case_detail`?+
law.justia.com. For statutes, the path should include state, year, code, division, and section segments (e.g. california/2024/code-civ/division-3/part-4/title-5/chapter-2/section-1940/). For cases, the path mirrors the structure under law.justia.com/cases/ (e.g. federal/appellate-courts/ca9/20-70424/20-70424-2024-12-31.html). Use get_state_statutes_index to discover available years before constructing statute paths.Does the API return law school details like tuition, rankings, or enrollment figures?+
get_law_schools_list returns state names and URLs pointing to state-level law school directory pages on Justia, but individual school detail fields such as tuition, rankings, or enrollment are not returned as structured data. You can fork the API on Parse and revise it to add a per-school detail endpoint.