Chrome extension that searches Solano County (nCourt) citations from a CSV file, marks each row found or not found, then lets you download or email the results.
Also includes experimental support for Santa Clara and Fresno court portals.
- Download or clone this repository.
- Open Chrome and go to
chrome://extensions. - Turn on Developer mode (top right).
- Click Load unpacked.
- Select the
extension/folder inside this project. - Pin Case Search Tool from the Extensions puzzle-piece menu so it stays visible.
- Open
dist/case-search-tool-extension.zipand unzip it to a folder. - Follow steps 2–6 above, selecting the unzipped folder (the one that contains
manifest.json).
After install, the teal ticket + magnifying-glass icon should appear in Chrome.
-
Click the Case Search Tool icon.
-
Confirm API base URL is:
https://jmznvsrgfd.execute-api.us-east-1.amazonaws.com -
Enter your license key (standard or single-use demo key).
-
Click Activate License.
Demo keys only work on the first browser that activates them. A second computer or fresh Chrome profile will be rejected.
You need a valid license key before search or email will work. Ask your admin for a key, or create one (admins):
# reusable
AWS_PROFILE=betaquick ./infra/create-license.sh
# single-use demo (binds to first install)
AWS_PROFILE=betaquick ./infra/create-demo-key.sh 'demo-user'Create a CSV with a header row. citation_number is required.
Optional columns: last_name, first_name
If you include a name, the tool only counts the row as found when the party name on nCourt matches.
citation_number,last_name,first_name
ST05880,Applegate,Bradley
ZZ99999,Doe,JaneA ready-to-use sample is here:
samples/solano-citation-test.csvdist/solano-citation-test.csv
| Citation | Expected result |
|---|---|
ST05880 |
Found (Bradley Applegate) |
ZZ99999 |
Not found |
- Open the extension popup.
- Court should be Solano (nCourt).
- Click Open Court Portal — Chrome opens the Solano nCourt payment search page.
- Keep that nCourt tab selected (active).
- In the extension, upload your CSV.
- Click Start Search.
- Watch the progress log while each citation is searched.
When finished, the Summary shows:
- Found count
- Not found count
- Rows searched
- Court and completion time
- The nCourt tab must stay active while the search runs.
- Do not close or navigate away from that tab mid-search.
- nCourt uses reCAPTCHA; normal use is fine, but very large batches may get challenged.
Click Download Results CSV.
The results file includes, for each row:
found(yes/no)citation_numbercase_number(when nCourt returns one)- party name, violation, status
- notes (for example, “no payable records…”)
- Enter the recipient address under Email results to.
- Click Email Results.
The address is remembered for next time.
Emails are sent from:
Case Search Tool <noreply@betaquick.com>
The message includes a short summary plus the results CSV as an attachment.
| Problem | What to try |
|---|---|
| “Could not reach license server” | Check the API base URL, and that you are online. |
| “Invalid license key” | Confirm the key with your admin; keys are case-sensitive. |
| “Active tab is not a supported court portal” | Click Open Court Portal, then keep that tab active before Start Search. |
| CSV upload error | Ensure the file has a citation_number column and at least one data row. |
| Search finds nothing unexpectedly | Confirm the citation is typed exactly as on the Notice to Appear (letters + numbers). |
| Email fails | Confirm license is active and the recipient address is valid. |
- Extension loaded from
extension/ - License activated
- CSV has
citation_number - Solano nCourt tab open and active
- Start Search → review summary
- Download and/or email results
| Task | Command |
|---|---|
| Deploy API (license + email) | AWS_PROFILE=betaquick ./infra/deploy.sh |
| Create a license key | AWS_PROFILE=betaquick ./infra/create-license.sh |
| Create a single-use demo key | AWS_PROFILE=betaquick ./infra/create-demo-key.sh 'prospect-name' |
| Test email (SES) | AWS_PROFILE=betaquick ./infra/test-email.sh you@example.com |
| Local API (optional) | cd api && npm install && npm start |
More detail: infra/README.md