Skip to main content
A rulebook is an official set of numbered rules that a court system or rule maker publishes as one book, such as the California Rules of Court. The API returns each rule’s official text, its status and its place in the book, and the filing requirements we read from it, with the rule that sets each one.

Three terms

A rule is the official text. A requirement is what that text asks of a filer. Rule 3.1113 is one rule; its page limits are separate requirements.

Why teams use rulebooks

  • Open a rule from a citation. A docketing tool that sees “rule 3.1113” in a motion can show the official text and link to the official page.
  • Cite the rule behind a limit. Show a filer that a 15-page limit comes from Rule 3.1113(d), next to any limit a judge adds.
  • Search a rulebook by topic. Find every rule whose number, heading or text mentions a word, such as “memorandum”.
  • Keep a stored copy current. A rule’s revision_id changes whenever the rule does, so a stored copy can be checked against it.

How a rulebook relates to courts

Every rulebook has a scope:
  • statewide: applies across one state. The California Rules of Court is statewide. It applies in the state’s courts without naming them, so governed_court_ids is empty, and a rule’s own text says which courts it covers.
  • court: applies in the courts listed in governed_court_ids, such as one court’s local rules.
  • national: applies across the country.
Find rulebooks by place with jurisdiction and scope. Find a court’s own rulebooks with district_id, which matches only the courts a rulebook names. No layering yet. The API does not combine a rulebook with a court’s rules, a judge’s rules or another rulebook. /rules and /extracted-rules?district_id=... return what they returned before, and they do not include the California Rules of Court. /check does not use rulebooks. To see a judge’s rules and the statewide rules together, call both and combine them yourself.

Read a rulebook in four calls

The examples read Rule 3.1113 of the California Rules of Court. They are shortened where a response is long.

1. Find the rulebook

GET /api/v1/rulebooks lists the rulebooks you can read. Filter by jurisdiction, scope, district_id or words in the name with q. Read one rulebook by id with GET /api/v1/rulebooks/{rulebook_id}.
rule_count counts the rules in force that the official source still lists. last_checked_at is when we last read the official source.

2. Search its rules

GET /api/v1/rulebooks/{rulebook_id}/rules lists a rulebook’s rules in book order, without their text. Search the number, heading and text with q, filter with legal_status and has_requirements, and page with limit and offset.

3. Read one rule

GET /api/v1/rulebooks/{rulebook_id}/rules/{number} returns one rule with its official text. The number is the rulebook’s own, URL-encoded, and must match exactly.
The real response lists subdivisions (a) through (m). The example keeps (d), the page limits, and the notes printed with the rule.

4. Read the rule’s requirements

GET /api/v1/extracted-rules with rulebook_id and rule_number returns the requirements read from that rule. Each result names the rulebook rule it came from. The example asks for the page limits, one per page.
Rule 3.1113(d) sets three page limits: the opening or responding memorandum (15 pages), the same memorandum in a summary judgment or summary adjudication motion (20 pages), and the reply (10 pages). Follow meta.next_offset for the rest.

Behavior details

  • Numbers match exactly. A rule number is the rulebook’s own, without the word Rule, and matches as printed: 3.1113, 4:46-2, 21a. 21a and 21A are different rules, and 3.111 does not find 3.1113. URL-encode numbers that hold spaces or slashes. A number with a space at either end, two spaces in a row, a control character, or more than 40 characters is a 400.
  • Two forms of the text. blocks keeps the structure: items with their labels and headings, paragraphs, tables, and notes. plain_text is the operative text as lines, in order, with item labels.
  • Notes are not rule text. History lines and committee comments arrive in blocks as note blocks. They are left out of plain_text, left out of search, and no requirement is read from them.
  • Status. legal_status is in_force, repealed or reserved. Repealed and reserved rules usually carry only a history note, so their plain_text is empty and their extraction_status is skipped.
  • Removed rules. removed: true means the official source no longer lists the rule. It keeps the heading, status and text it had when it was last listed, has no requirements, and is not in rule_count.
  • Requirements and extraction_status. requirement_count is the number of results /extracted-rules returns for the rule. extraction_status says whether the count is final: succeeded means the text was read (0 means it states none of the requirements that are read, as with a definition or a rule about mediators or court staff; the text is still in the rule), pending means it has not been read yet, failed means reading did not work, and skipped means there is nothing to read.
  • One version at a time. A rule’s revision_id names the version of the rule you are looking at. The requirements of a rule carry the same id in rulebook_rule.revision_id. If the two differ, the rule changed between your calls: read it again.
  • Order. Rules come in book order. Requirements come ordered by rule number as text, then by id. The order is stable between calls but is not book order, so use the rule list for book order.
  • Citations. Rule text is not paginated, so citation_source on a rulebook requirement never carries a page number. Cite with rulebook_rule.citation and link rulebook_rule.site_url.

Errors and limits

Rulebook calls count against your daily rows like other calls: a list counts one row per item returned, and one rulebook or one rule counts as one row, however long its text. See Rate limits.

Common mistakes

  • Sending Rule 3.1113 or rule-3.1113. Send the number alone: 3.1113.
  • Reading requirement_count: 0 as “no requirements”. Check extraction_status first. pending and failed also show 0.
  • Looking for the California Rules of Court by court. Statewide rulebooks name no courts. Use jurisdiction=CA&scope=statewide.
  • Expecting a judge’s rules to include the rulebook. Rulebooks are not merged into /rules or into /extracted-rules?district_id=....
  • Treating notes as the rule. Read plain_text, or skip note blocks in blocks.
  • Sorting requirements by position. /extracted-rules does not return book order. Look up each rule’s place with the rule list.