SYSTEM all green source cfa.org queue 2,194 pages p99 latency 312ms dataflirt.com · scraper/cfa-org
RUN · 12 active pipelines · cfa.org live

CFA registry data,
extracted at scale.

We extract breeder directories, cattery profiles, recognised cat breeds, show schedules, and club data from cfa.org. Delivered as clean JSON, CSV, or Parquet to S3 or BigQuery on your cadence.

Breeders profiled
4,892 /run
Show schedules
341 /month
Catteries
8,105 /run
Active pipelines
12
Uptime
99.94%
Data Dictionary

Every field we extract from cfa.org

Structured, schema-consistent data across all major object types — delivered clean, typed, and ready to query.

Complete list of extractable fields for Breeder Directory objects from cfa.org. All fields typed and schema-versioned.

namecattery_namebreedslocationemailwebsitephonestatus
breeder_directory
● 200 OK
"name": "Jane Doe",
"cattery_name": "FelineGrace",
"breeds": "['Persian', 'Exotic']",
"location": "Ohio, USA",
"email": "jane@example.com",
"status": "CFA Feline Council Member"
# namecattery_namebreedslocationemailwebsite
1
2
3

Complete list of extractable fields for Cat Breeds objects from cfa.org. All fields typed and schema-versioned.

breed_nameorigindescriptioncoat_lengthcharacteristicsstandard_urlaccepted_colorsweight_range
cat_breeds
● 200 OK
"breed_name": "Maine Coon",
"origin": "United States",
"coat_length": "Longhair",
"characteristics": "['Large', 'Tufted ears', 'Bushy tail']",
"standard_url": "https://cfa.org/maine-coon/maine-coon-standard",
"accepted_colors": "['Solid', 'Tabby', 'Bi-color']"
# breed_nameorigindescriptioncoat_lengthcharacteristicsstandard_url
1
2
3

Complete list of extractable fields for Show Schedules objects from cfa.org. All fields typed and schema-versioned.

show_namedatelocationclub_namejudgesentry_clerkflyer_urlformat
show_schedules
● 200 OK
"show_name": "Midwest Feline Expo",
"date": "2024-10-12",
"location": "Chicago, IL",
"club_name": "Great Lakes Cat Club",
"judges": "['Smith', 'Johnson', 'Davis']",
"format": "6AB, 2SP"
# show_namedatelocationclub_namejudgesentry_clerk
1
2
3

Complete list of extractable fields for Clubs objects from cfa.org. All fields typed and schema-versioned.

club_nameregionsecretarycontact_emailwebsiteaffiliated_breedsmeeting_schedulecharter_date
clubs
● 200 OK
"club_name": "Pacific Cat Fanciers",
"region": "Region 5",
"secretary": "Robert Brown",
"contact_email": "info@pacificcatfanciers.org",
"affiliated_breeds": "['Allbreed']",
"charter_date": "1982-04-15"
# club_nameregionsecretarycontact_emailwebsiteaffiliated_breeds
1
2
3

Complete list of extractable fields for Catteries objects from cfa.org. All fields typed and schema-versioned.

cattery_nameregistration_numberownerregionbreeds_focusedestablished_yearwebsiteactive_status
catteries
● 200 OK
"cattery_name": "SilverPaws",
"registration_number": "CAT-9921",
"owner": "Alice Smith",
"region": "Region 1",
"breeds_focused": "['Siamese']",
"active_status": true
# cattery_nameregistration_numberownerregionbreeds_focusedestablished_year
1
2
3

Capabilities

Extract the complete CFA registry

Our cfa.org scraper handles the complexities of the association's directory architecture, parsing unstructured text into clean tabular data.

Breeder Directory Extraction

Extract contact details, cattery names, and associated breeds for thousands of registered breeders globally.

Show Schedule Tracking

Monitor upcoming cat shows, capturing locations, dates, hosting clubs, and judging panels.

Breed Standards Parsing

Pull official breed standards, point allocations, and accepted colour descriptions into structured formats.

Club Registry Scraping

Aggregate data on regional CFA clubs, including secretary contacts and affiliated regions.

Judge Profile Aggregation

Track approved judges, their licensing status (Allbreed vs Specialty), and regional assignments.

Regional Data Filtering

Segment breeders, clubs, and shows by the 9 official CFA regions automatically.

JavaScript Execution

Render dynamic directory elements and interactive maps using headless Playwright sessions.

Automated Pagination

Traverse deep directory structures without missing records or hitting server limits.

Pipeline Scheduling

Run monthly or quarterly syncs to capture new breeders, updated show dates, and revised standards.

// engagement pipeline

From target URL to warehouse record

Brief in. Clean data out.

Define Scope
d 0

Select target directories: breeders, shows, clubs, or breeds. We map the required schema.

Pipeline Build
d 2–4

We configure crawlers to handle cfa.org pagination, unstructured text parsing, and rate limits.

Validation & QA
d 4–6

Schema validation, null-rate checks, and data normalisation before full deployment.

Delivery
ongoing

JSON, CSV, or Parquet pushed to your S3 bucket or data warehouse on schedule.

Under the hood

Navigating the CFA web architecture

Extracting data from association websites often involves dealing with legacy HTML and inconsistent formatting. Here is how we handle it.

pipeline-monitor · cfa.org · live ● active
// fingerprinting
Identity rotation
TLS fingerprintrandomised
User-agentrotated
IP poolresidential
Challenges blocked0
// pagination
Page coverage
48,291 pages queued running
// observability
Pipeline health
99.9%
uptime
142ms
p99 lat
0.3%
null rate
2
alerts
Text normalisation
Cleaning unstructured breeder entries

Breeder contact details on cfa.org are often formatted inconsistently. We use regex patterns and NLP to normalise phone numbers, separate names from cattery titles, and structure addresses.

Rate limiting
Respectful crawling cadence

Association websites typically run on limited infrastructure. We throttle concurrency and use residential proxies to prevent server strain while ensuring complete data extraction.

Schema stability
Adapting to CMS updates

We monitor DOM changes on cfa.org. If the underlying WordPress or CMS structure shifts, our selector fallbacks ensure the pipeline continues delivering without interruption.

Pagination handling
Deep directory traversal

We automate the traversal of multi-page breeder and club directories, ensuring every record is captured even when pagination parameters are hidden in JavaScript.

Data deduplication
Merging overlapping records

Breeders often list themselves under multiple breeds or regions. Our pipeline deduplicates records based on cattery name and email, providing a clean, unique dataset.

Applications

Who uses CFA data

Teams across industries use cfa.org data to build competitive products and smarter operations.

01
Pet Industry Market Research

Analyse breed popularity trends and geographic distribution of breeders for product targeting.

02
Breeder Verification & Aggregation

Pet marketplaces verify breeder credentials against official CFA registries to prevent fraud.

03
Veterinary & Genetic Studies

Researchers map regional breed concentrations for epidemiological and genetic studies.

04
Pet Product Marketing

Brands target specific breed clubs and show locations for sponsorships and specialised product launches.

05
Show Logistics & Planning

Vendors track upcoming show schedules to plan travel and inventory allocation for events.

06
Animal Registry Consolidation

Global pet databases cross-reference CFA data with TICA and FIFe registries to build comprehensive profiles.

Why DataFlirt

"The CFA database holds the most authoritative records on pedigreed cats globally, but extracting structured intelligence requires navigating legacy web architecture."

Extracting data from cfa.org requires handling inconsistent HTML structures, parsing unstructured contact blocks, and navigating paginated directories. DataFlirt manages this infrastructure so your team can focus on veterinary research, market analysis, or directory aggregation rather than building scrapers.

Technical Spec

CFA scraper capabilities

Everything supported by our cfa.org scraper — rendered SPA elements, auth walls, rate-limit evasion and beyond.

Breeder directory parsing
Extracts names, catteries, breeds, and contact info
Supported
Show schedule extraction
Captures dates, locations, clubs, and judges
Supported
Breed standard scraping
Pulls text descriptions and point allocations
Supported
Club registry traversal
Collects regional club data and secretary contacts
Supported
Text normalisation
Cleans and structures inconsistent address and phone formats
Supported
JavaScript rendering
Handles dynamic content loading via Playwright
Supported
eCat portal pedigrees
Requires authenticated access to the eCat system
Partial
Private breeder contact details
Data hidden behind member login walls
Partial
Infrastructure

Infrastructure powering the CFA pipeline

Open-source tooling on proven cloud infra — no vendor lock-in, full observability.

ScrapyPlaywrightPython 3.12RedisPostgreSQLApache AirflowAWS LambdaS3CloudWatch2CaptchaCapSolverResidential ProxiesDockerKubernetesGrafanaPrometheus
Scrapy + Playwright Stack

Scrapy handles orchestration and deduplication. Playwright handles JavaScript rendering and interaction flows for dynamic directory elements.

NLP Normalisation Pipeline

Custom Python modules clean and structure messy contact blocks, ensuring phone numbers and addresses fit strict database schemas.

Cloud-Native Orchestration

Pipelines run on AWS infrastructure. Airflow handles scheduling for regular directory syncs. All state stored in managed Postgres.

Output & Delivery

Your data, your destination

Data delivered to where your team already works — no new tooling required.

JSON
Newline-delimited or nested arrays
CSV
Flat file with typed columns
XLS
Spreadsheet format for manual review
Parquet
Columnar format for data warehouses
AWS S3
Direct bucket delivery
Webhook
HTTP POST per record
API
REST endpoint for on-demand queries
PostgreSQL
Direct database insertion
S3
Direct bucket delivery — compatible with any data lake
// faq

Common questions.

About cfa.org scraping, legality, and pipeline operations.

Ask us directly →
Can you scrape pedigree data from the CFA eCat portal?

No. The eCat portal requires authenticated member access and payment for pedigree lookups. We only extract publicly available data from the main cfa.org directories.

How often can the breeder directory be updated?

We typically recommend a monthly or quarterly sync, as breeder information on cfa.org does not change rapidly. However, we can configure the pipeline to run at any required cadence.

Do you parse PDF show flyers?

While we capture the URL links to show flyers, we do not parse the internal text of the PDFs by default due to highly variable formatting. We extract the structured show data directly from the HTML schedule tables.

How do you handle incomplete breeder profiles?

Our schema accepts null values for optional fields. If a breeder lists an email but no phone number, the record is still captured and structured accordingly.

Is it legal to scrape cfa.org?

Scraping publicly accessible, non-copyrighted factual data (like names, dates, and locations) is generally permissible. We do not bypass authentication walls or extract proprietary member-only data. Clients should ensure their specific use case complies with applicable laws.

Can I get a sample of the breeder directory?

Yes. We provide a sample export of up to 100 breeder records during the scoping phase so you can verify the data structure and normalisation quality.

$ dataflirt scope --new-project --source=cfa.org ready

Tell us what
to extract.
We do the rest.

20-minute scoping call. Pilot dataset within the week. Production within two. Whether you need a one-off breeder directory export or continuous show schedule monitoring — we build and operate the pipeline. Tell us what you need.

hello@dataflirt.com · Bengaluru · IST · typical reply < 4h
Related Scrapers

More in pets

Services

Data Extraction for Every Industry

View All Services →