AKC Events Scraper
Pricing
from $1.24 / 1,000 akc event dates
AKC Events Scraper
Search the public AKC Events Calendar by month, event type, breed, and state. Export dated event counts and drill-down URLs for competition monitoring.
Pricing
from $1.24 / 1,000 akc event dates
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 days ago
Last modified
Categories
Share
Search public AKC events by calendar month, competition type, breed, and US state. The Actor exports one normalized record per matching date with the event count and an AKC drill-down URL.
Use it to build a monthly competition calendar, compare scheduled runs, or feed dated AKC event availability into a spreadsheet or data pipeline. It does not scrape entrants, placements, dog results, or handlers.
What does AKC Events Scraper do?
The Actor queries the public American Kennel Club Events Calendar and turns its interactive month view into reusable JSON records.
It supports:
- one month per run in
YYYY-MMformat; - one or more AKC event type codes;
- optional state filtering;
- an optional exact AKC breed label;
- a predictable maximum output limit;
- direct links back to each dated AKC calendar view.
The primary output is a dated count, not an individual event-detail record. If the source says three agility events match September 12, the Actor saves one September 12 row with eventCount: 3.
Who is it for?
- Competitors and handlers planning travel around upcoming competitions.
- Breed clubs tracking relevant conformation and companion events.
- Trainers reviewing agility, obedience, rally, scent work, and Fast CAT availability.
- Researchers comparing event density across months or states.
- Automation teams scheduling a monthly calendar export into Sheets, Airtable, or a database.
Why use this Actor?
The public calendar is designed for browsing. This Actor provides compact records that are easier to store, compare, filter, and integrate.
It uses the calendar's lightweight public structured-data route rather than rendering a browser. That keeps runs fast and avoids downloading images, fonts, advertising, or unrelated page assets. No AKC account, cookies, user credentials, or proxy configuration is required.
What AKC event data is extracted?
| Field | Meaning |
|---|---|
date | Matching calendar date in YYYY-MM-DD format |
eventCount | Number of matching AKC events on that date |
eventTypeCode | Calendar code such as AG, CONF, or SCWK |
eventType | Human-readable competition type |
month | Requested month |
states | State filters; empty means all locations |
breed | Resolved breed label, or null for all breeds |
breedCode | AKC calendar breed code, or null |
drillDownUrl | AKC page for inspecting events on that date |
sourceApiUrl | Public calendar endpoint used for the record |
scrapedAt | Collection timestamp |
How to search AKC events
- Open the Actor input page.
- Enter a month such as
2026-09. - Add one or more event type codes.
- Optionally add state codes such as
CA,TX, orNY. - Optionally enter an exact AKC breed label such as
Golden Retrievers. - Set
maxItemsand start the run. - Export the default dataset as JSON, CSV, Excel, or XML.
A useful first run is:
{"month": "2026-09","eventTypes": ["AG"],"states": ["CA"],"maxItems": 100}
Input parameters
month
Calendar month in YYYY-MM format. If omitted through the API, the Actor uses the current UTC month.
eventTypes
One or more supported AKC codes. Common values include:
CONF— Conformation: All-Breed and GroupS— Conformation: SpecialtyAG— Agility TrialsOBED— Obedience TrialsRLY— Rally TrialsSCWK— Scent WorkFCAT— Fast CATHT— Hunting TestsHE— Herding Tests and TrialsTRK— Tracking Events
The input validator rejects unknown codes instead of silently returning misleading empty output.
states
Optional list of two-letter state or territory codes. Use an empty list for all locations. Multiple states are combined into one calendar search, and every output row retains the applied list.
breed
Optional exact label from the AKC calendar, for example Golden Retrievers. A calendar breed code is also accepted. Breed filtering primarily applies to competition types where AKC exposes breed eligibility, especially conformation.
maxItems
Maximum dated rows saved across all selected event types, from 1 to 5,000. The Actor stops before exceeding the limit.
Example output
A California scent work search can return:
{"date": "2026-09-05","eventCount": 2,"eventTypeCode": "SCWK","eventType": "Scent Work","month": "2026-09","states": ["CA"],"breed": null,"breedCode": null,"drillDownUrl": "https://www.apps.akc.org/apps/event_calendar/index.cfm?urlday=2026-09-05&event_type=SCWK&event_states=CA&event_month=Sep&event_year=2026&breed=&#buttonlocal","sourceApiUrl": "https://www.apps.akc.org/apps/event_calendar/queries/_functions_ajax2.cfm?start_month=9&start_year=2026&breed=&event_type=SCWK&event_states=CA","scrapedAt": "2026-08-28T15:09:20.099Z"}
Open drillDownUrl to inspect the source calendar's individual listings for that date.
How much does it cost to search AKC events?
Pricing uses one run-start charge and one item charge for each dated record saved. Empty dates, malformed records, and records outside the requested month are not charged as items.
At the BRONZE tier, the current source configuration is:
- $0.05 per run start;
- $0.002068 per dated item.
Example BRONZE totals:
| Output | Estimated Actor charge |
|---|---|
| 10 dated records | $0.07068 |
| 25 dated records | $0.10170 |
| 100 dated records | $0.25680 |
Apify applies account-volume tiers, so the actual item rate can be lower at higher tiers. Platform compute may also appear according to your Apify plan. Check the live pricing panel before a large run.
Recurring monitoring workflow
For recurring competition monitoring:
- Save one Task per event type, state group, or breed.
- Schedule it monthly or weekly in Apify Console.
- Send each run's dataset to Google Sheets, Make, Zapier, or a webhook.
- Compare date/count pairs with the previous run.
- Follow changed dates through
drillDownUrl.
The Actor produces snapshots. It does not maintain history, compute diffs, or send alerts itself; those steps belong in the scheduled workflow.
Export and integration options
The default dataset works with:
- JSON, JSONL, CSV, Excel, XML, and RSS exports;
- Apify webhooks;
- Make and Zapier;
- Google Sheets;
- Python or JavaScript pipelines;
- Apify API clients;
- MCP-compatible AI assistants.
Use date, eventTypeCode, states, and breedCode as a practical comparison key. Keep scrapedAt to distinguish snapshots.
Run with the Apify API
Replace <APIFY_TOKEN> with your token.
cURL
curl -X POST \"https://api.apify.com/v2/acts/automation-lab~akc-events-calendar/run-sync-get-dataset-items?token=<APIFY_TOKEN>" \-H "Content-Type: application/json" \-d '{"month":"2026-09","eventTypes":["AG"],"states":["CA"],"maxItems":100}'
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/akc-events-calendar').call({month: '2026-09',eventTypes: ['AG'],states: ['CA'],maxItems: 100,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python
from apify_client import ApifyClientclient = ApifyClient(token="<APIFY_TOKEN>")run = client.actor("automation-lab/akc-events-calendar").call(run_input={"month": "2026-09","eventTypes": ["AG"],"states": ["CA"],"maxItems": 100,})items = client.dataset(run["defaultDatasetId"]).list_items().itemsprint(items)
Use AKC Events Scraper through MCP
Add the Apify MCP server to Claude Code:
claude mcp add --transport http apify \"https://mcp.apify.com?tools=automation-lab/akc-events-calendar"
Claude Desktop, Cursor, and VS Code setup
Claude Desktop, Cursor, and VS Code can use this equivalent MCP configuration:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=automation-lab/akc-events-calendar"}}}
Example prompts:
- “Find September AKC agility event dates in California.”
- “Export Texas and Oklahoma conformation dates for Golden Retrievers.”
- “Run the AKC calendar search for scent work and summarize the busiest dates.”
Limits and failure behavior
- The source provides calendar counts, so multiple individual events can be represented by one dated row.
- Dates outside the requested month are removed even when the calendar endpoint returns adjacent weeks.
- The Actor does not return entrants, placements, dogs, judges, handlers, or show results.
- Breed names must match the public calendar label or code.
- Empty valid searches succeed with an empty dataset.
- Invalid months, event codes, states, breeds, HTTP errors, and malformed upstream responses fail the run clearly.
- Public source content can change; use the linked AKC page as the final authority.
Legality and responsible use
The Actor accesses public AKC calendar information without an account. Use it in accordance with applicable law, AKC terms, and Apify policies. Avoid excessive schedules, republishing copyrighted page content, or using event information for harassment or unsafe activity.
This tool is independent and is not affiliated with, endorsed by, or sponsored by the American Kennel Club.
Related Actors
This Actor is intentionally standalone because no current automation-lab Actor provides a directly complementary AKC or dog-competition dataset. Combine it with Apify webhooks, dataset exports, or your existing comparison pipeline rather than an unrelated scraper.
Troubleshooting
Why is the dataset empty?
The chosen month, event type, state, and breed combination may have no matching public dates. Try removing the breed or state filter, or verify the month in the AKC calendar.
Why was my breed rejected?
Use the full calendar label, such as Golden Retrievers, rather than a casual singular name. The AKC calendar code also works.
Why are there fewer rows than events?
Each row represents a date and contains eventCount. A count of four means four matching calendar events share that date.
Why did the run stop early?
Check maxItems. It applies across all selected event types, not separately to each type.
FAQ
Does it scrape AKC show results?
No. This Actor intentionally covers upcoming calendar counts and drill-down URLs. Entrants, placements, and results are excluded.
Does it need an AKC login or proxy?
No. It uses anonymous public calendar routes.
Can I search several event types?
Yes. Add several codes to eventTypes. Output rows identify the type that produced each match.
Can I monitor changes automatically?
Schedule an Apify Task and compare successive datasets in your preferred integration. The Actor itself emits the current snapshot and does not send change alerts.
Is an empty run an error?
No, when the source genuinely has no matching dates. Invalid inputs or unrecognizable source responses fail instead of being reported as an empty success.