Wisconsin CCAP Case Search Scraper
Pricing
from $1.49 / 1,000 item extracteds
Wisconsin CCAP Case Search Scraper
Search Wisconsin CCAP public circuit court summaries by business, party name or case number. Export case IDs, captions, county, matched party, status, filing dates and source links; no docket, charge or birth-date data.
Pricing
from $1.49 / 1,000 item extracteds
Rating
0.0
(0)
Developer
Automation Lab
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Use Wisconsin CCAP case search to export public Wisconsin circuit court summary records for a business, a named party, or a known case number. Legal operations and research teams can compare scheduled snapshots of case identities, filing dates and status without collecting docket events, charges or birth dates.
This is an independent tool, not a Wisconsin Courts service. A matching name is not proof of identity, liability, guilt or conviction.
What does it return?
One row per unique county/case identity, in source order. If several parties match a case, the first matched party is retained, not a full party list.
| Field | Meaning |
|---|---|
| caseId | Stable county number + case number |
| caseNo | Official case identifier |
| caption | Public summary caption |
| countyNo | Official county code, 1–72 |
| countyName | County name |
| matchedPartyName | First matched party, nullable |
| status | Source status, nullable |
| filingDate | Source filing date, nullable |
| sourceUrl | Official case link |
| scrapedAt | UTC observation timestamp |
The Actor never opens the case detail page. The link may require a CAPTCHA when you open it yourself. Birth dates, charges, docket events, documents, addresses and full party lists are excluded.
Who is this for?
- Legal operations teams checking a known business name in a particular county.
- Researchers exporting public filing/status summaries for review.
- Teams that already know a county and case number and want a repeatable status snapshot.
It is not a background-check product and does not identify a person uniquely. It does not send alerts or compute changes for you.
Why use this Actor?
The output is normalized into a stable case key and a small consistent table, rather than an HTML page. You can join successive exports on caseId, retain the observation timestamp and compare status changes in your own workflow. No court account, cookies supplied by you or proxy configuration is required.
Getting started
- Select one search mode below.
- Prefer a specific business/party name and county to avoid oversized source searches.
- Choose the maximum number of unique cases to save.
- Run the Actor and inspect the Dataset tab.
- Export JSON, CSV or Excel using Apify's dataset export controls.
Try this real tested input:
{"businessName":"Wisconsin Restaurant Association","countyNo":13,"maxItems":5}
At testing this returned four public case summaries. Results and status can change over time.
Input parameters
Choose exactly one of businessName, lastName or caseNo.
| Input | Behavior |
|---|---|
| businessName | WCCA native business-name search; trimmed, 2–120 characters |
| lastName | Native person surname search; trimmed, 2–120 characters |
| firstName | Optional native first-name filter, requires lastName, 2–120 characters |
| caseNo | Exact YYYYTTNNNNNN case number, trimmed and uppercased; requires countyNo |
| countyNo | Optional county for names, mandatory for case number; 13 means Dane |
| maxItems | Global unique-case output cap, 1–1000, default 100 |
Name matching is performed by WCCA, not a local exact-name matcher. Partial names may match. When first and last names are supplied, both are submitted together under the source's matching semantics. Results should be reviewed for relevance; name matching does not establish identity.
Business, person and case-number modes cannot be combined. Unsupported fields such as birth-date filters are rejected, not silently ignored. With no county on a name search, WCCA searches its supported counties; this does not guarantee complete statewide coverage.
Case-number search
{"caseNo":"2026UC000646","countyNo":13,"maxItems":5}
The county is essential because case numbers are not globally unique. This still returns only the search summary, not the case details.
Output example
This illustrates the shape of a real business-summary result observed during testing:
{"caseId": "13:2026UC000646","caseNo": "2026UC000646","caption": "Dept. of Workforce Development vs. WISCONSIN RESTAURANT ASSOCIATION INC","countyNo": 13,"countyName": "Dane","matchedPartyName": "WISCONSIN RESTAURANT ASSOCIATION INC","status": "Filed Only","filingDate": "2026-09-11","sourceUrl": "https://wcca.wicourts.gov/caseDetail.html?caseNo=2026UC000646&countyNo=13","scrapedAt": "2026-10-23T06:09:38.544Z"}
Limits and completeness
maxItems caps saved unique cases across the whole run after deduplication. It does not cap upstream search size: WCCA returns a summary list before the Actor applies the limit. There is no pagination or promise of exhaustive historical coverage. The first matching party is kept if the same case appears multiple times.
Broad statewide searches may be rejected by WCCA. Narrow the name or select a county. A rejected response, challenge or changed response schema fails the run rather than masquerading as a successful empty result. A recognized empty cases list is a valid successful no-match result.
Requests run sequentially. Transient DNS/network failures and HTTP 429/5xx have at most three attempts per request with bounded backoff. There is no browser, residential-proxy or CAPTCHA-solving fallback.
How much does it cost to search Wisconsin circuit court summaries?
Pricing is pay per event: a $0.005 start fee per run, plus one case summary event per saved unique case. No per-case event is charged for duplicates or an empty result. A valid no-match search still has the start fee.
The applicable per-case prices depend on your Apify plan; the Pricing tab is authoritative. Illustrative BRONZE pricing is $0.00248 per case:
| Saved cases | BRONZE Actor event total |
|---|---|
| 1 | $0.007480 |
| 5 | $0.017400 |
| 100 | $0.253000 |
Totals describe Actor event charges, not third-party workflow costs. If a run fails after saving rows, those partial results and applicable charges may remain; do not treat a failed run as complete coverage.
Integrations
Use an Apify Schedule for recurring snapshots. Export the dataset to a spreadsheet for review or send rows to your database through Apify integrations/API. Join snapshots on caseId and compare status or filingDate; keep scrapedAt so that an observation is never mistaken for a court update timestamp.
A Make or Zapier workflow can fetch the finished dataset and route changed rows to internal legal review. The Actor itself does not notify people, deduce outcomes or persist a monitoring baseline.
API usage
Store your token securely; never include it in shared links.
curl -X POST -H "Authorization: Bearer $APIFY_TOKEN" \-H 'Content-Type: application/json' \-d '{"businessName":"Wisconsin Restaurant Association","countyNo":13,"maxItems":5}' \'https://api.apify.com/v2/acts/automation-lab~wisconsin-ccap-circuit-court-search/runs'
JavaScript with the Apify client:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/wisconsin-ccap-circuit-court-search').call({businessName: 'Wisconsin Restaurant Association', countyNo: 13, maxItems: 5});const { items } = await client.dataset(run.defaultDatasetId).listItems({ limit: 5 });console.log(items);
Python:
import osfrom apify_client import ApifyClientclient = ApifyClient(os.environ['APIFY_TOKEN'])run = client.actor('automation-lab/wisconsin-ccap-circuit-court-search').call(run_input={'businessName': 'Wisconsin Restaurant Association', 'countyNo': 13, 'maxItems': 5})rows = client.dataset(run['defaultDatasetId']).list_items(limit=5).items
MCP usage
Use the stable Actor-specific endpoint:
claude mcp add --transport http apify \'https://mcp.apify.com?tools=automation-lab/wisconsin-ccap-circuit-court-search'
Equivalent HTTP configuration for Claude Desktop, Cursor and VS Code (use your client's HTTP-server settings):
{"mcpServers":{"apify":{"url":"https://mcp.apify.com?tools=automation-lab/wisconsin-ccap-circuit-court-search"}}}
Configure authorized authentication in your client. Discover actual tool names and schemas with tools/list; Actor selection also supplies run/storage helpers and does not expose only one tool. Example prompt: “Search Wisconsin Restaurant Association in Dane County and show at most five public summary cases.”
For an authorized invocation, start once and retain the run ID and storage IDs. IDs are not result rows. call-actor may wait only 0–45 seconds (default 30). If pending, check the same run using get-actor-run, with 2/4/8-second backoff capped at 10 seconds and a 120-second total deadline. Set the client's timeout above its server wait plus transport margin. Recover a known run after client timeout; do not blindly restart. At the deadline report pending with the run ID. Failed runs contain partial evidence, not complete results.
After success, fetch bounded get-dataset-items pages using the returned dataset ID, explicit offset/limit and needed fields. An example consumer budget is 20 rows per page, at most 100 source rows and 64 KiB serialized UTF-8 across all pages, whichever comes first. Enforce bytes host-side before model injection; disclose omitted/oversized rows, continuation offset and truncation. Without client-side interception, do not claim a hard byte guarantee. These are consumer context budgets, not changes to Actor collection. Keep full exports outside model context. Discovery caching depends on client support; no token-savings guarantee is made.
Legality, responsible use and privacy
Use records only for lawful purposes and verify consequential findings with the court. Public records can be incomplete, corrected, sealed, removed or associated with a different person. This is not legal advice or a consumer-reporting service. Do not use name matches alone for employment, housing, credit, insurance or other consequential decisions.
No AI model is used in extraction or output generation. For help, open an issue on the Actor's Apify page and include a run link without secrets.
The Actor saves only its documented summary fields. Failed operations send sanitized diagnostic input, exceptions and actor/build/run IDs to our private GlitchTip service for repair; secret fields and URL queries are removed and reports are retained for 30 days. Your own input, dataset and log retention remain governed by your Apify settings; delete runs/storage through your account when no longer needed. Cookies are in-memory for one run only; the Actor creates no persistent cache or cross-run party database.
FAQ and troubleshooting
Why are no rows returned? A valid source search can have no public matches. Try the exact known case and county, or verify the name manually. Empty output does not prove that no case exists.
Why did a broad query fail? The source may refuse too many results or impose access limits. Narrow your business/person name and county. The Actor does not silently return a partial search-error page as data.
Why can I not open a source link automatically? Detail access may require a CAPTCHA. This Actor deliberately does not access that route.
Can I get docket events, charges or birth dates? No. Those are outside this product's contract.
Does it detect changes automatically? No. Schedule snapshots and compare them downstream by caseId.
Related workflows
This is a standalone Wisconsin summary-search workflow. No related Actor is required, and results are not enriched with cross-source personal profiles. For other products, browse automation-lab and review each product's supported scope separately.