AKC Events Scraper avatar

AKC Events Scraper

Pricing

from $1.24 / 1,000 akc event dates

Go to Apify Store
AKC Events Scraper

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

Stas Persiianenko

Maintained by Community

Actor 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-MM format;
  • 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?

FieldMeaning
dateMatching calendar date in YYYY-MM-DD format
eventCountNumber of matching AKC events on that date
eventTypeCodeCalendar code such as AG, CONF, or SCWK
eventTypeHuman-readable competition type
monthRequested month
statesState filters; empty means all locations
breedResolved breed label, or null for all breeds
breedCodeAKC calendar breed code, or null
drillDownUrlAKC page for inspecting events on that date
sourceApiUrlPublic calendar endpoint used for the record
scrapedAtCollection timestamp

How to search AKC events

  1. Open the Actor input page.
  2. Enter a month such as 2026-09.
  3. Add one or more event type codes.
  4. Optionally add state codes such as CA, TX, or NY.
  5. Optionally enter an exact AKC breed label such as Golden Retrievers.
  6. Set maxItems and start the run.
  7. 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 Group
  • S — Conformation: Specialty
  • AG — Agility Trials
  • OBED — Obedience Trials
  • RLY — Rally Trials
  • SCWK — Scent Work
  • FCAT — Fast CAT
  • HT — Hunting Tests
  • HE — Herding Tests and Trials
  • TRK — 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:

OutputEstimated 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:

  1. Save one Task per event type, state group, or breed.
  2. Schedule it monthly or weekly in Apify Console.
  3. Send each run's dataset to Google Sheets, Make, Zapier, or a webhook.
  4. Compare date/count pairs with the previous run.
  5. 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 ApifyClient
client = 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().items
print(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.

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.