Pets4Homes Scraper avatar

Pets4Homes Scraper

Pricing

$15.00 / 1,000 pet listings

Go to Apify Store
Pets4Homes Scraper

Pets4Homes Scraper

Scrape Pets4Homes, the UK's largest pet classifieds site. Paste any search, advert or breeder URL to get puppies, kittens and every other pet for sale, adoption or stud, with prices, breed, age, health checks, KC registration, licence details, litters, views, photos and videos.

Pricing

$15.00 / 1,000 pet listings

Rating

0.0

(0)

Developer

VividSoftwares

VividSoftwares

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

What does Pets4Homes Scraper do?

Pets4Homes Scraper extracts pet adverts from Pets4Homes, the UK's largest pet classifieds site. Paste any Pets4Homes search, advert or breeder URL and get every matching advert as clean JSON: puppies, kittens, rabbits, birds, reptiles, horses and every other species, for sale, for adoption or at stud. Each advert includes the price and deposit, breed, parents' breeds and generation, date of birth and age, every pet in the litter with its sex, price and status, and the health checks: vaccinations, vet health check, worming, microchip, parents' health tests and KC registration. You also get views and favourites, the full description, every photo and video, the town and county, and for licensed breeders the council licence number and licensing authority.

It is a dedicated Pets4Homes scraper and a practical UK pet listings API. Run it from Apify Console, call it over the API, schedule it, or connect it to AI agents through MCP.

  • 🐶 Puppies and dogs for sale, for adoption from rescues, and at stud
  • 🐱 Kittens and cats for sale, for adoption and at stud
  • 🐰 Rabbits, rodents, reptiles, birds, poultry, fish, livestock, horses and invertebrates
  • 🧬 300+ dog breeds and 90 cat breeds, crossbreeds and generations (F1, F1B, F2 …)
  • 📍 Every UK country, county and town with a radius search
  • 🩺 Health checks, vaccinations, microchip, KC registration and breeder licence details
  • 📉 Delisting report: see which adverts sold, were reserved or rehomed, or were removed since your last run

Why use this Pets4Homes scraper?

  • Every advert, not just the first page. Paste one URL and the Actor collects every matching advert, up to your limit. Pets4Homes shows at most about 10,000 results for one search; bigger searches are split automatically so nothing is cut off.
  • Complete, not reshuffled. Pets4Homes' default "relevance" order reshuffles between pages, so about 1 in 15 adverts never appears when you page through it. The Actor reads in a stable order and also includes the boosted adverts, so you get every advert once. We checked this against the site's own counts.
  • Every seller's other adverts: a link to the seller's adverts page and a seller ID to group adverts, without ever naming private sellers.
  • Litter-level detail: each pet's name, sex, price, status (Available, Reserved, Rehomed), ready-to-leave date and photos.
  • Demand signals: views and favourites for every advert.
  • Only new adverts on repeat runs: adverts you already received are skipped and not charged.
  • Delisting report: find out which adverts disappeared and why.
  • Fast: about 27 full adverts a second (1,500 adverts in under a minute).

Common uses:

  • Pet market research: prices by breed, region and age; supply of popular breeds such as Cockapoo, Cavapoo, French Bulldog and Ragdoll
  • Price tracking for breeds and litters over time
  • Breeder and rescue research: licensed breeders with their licence numbers and councils, rescues and their adverts
  • Welfare and compliance monitoring: unlicensed litters, very young puppies, missing health checks
  • Pet-services lead lists built from public business details of licensed breeders and rescues
  • Pet data for AI agents: structured UK pet adverts for assistants and automations

How to scrape Pets4Homes

  1. Go to pets4homes.co.uk and search. Add any filters you like: breed, location and radius, price, sex, age, licensed breeders, KC registered and so on.
  2. Copy the results URL from your browser, for example https://www.pets4homes.co.uk/sale/puppies/cockapoo/?price=500,1500.
  3. Paste it into Pets4Homes search, advert or seller URLs, set Maximum listings and click Start.

You can paste as many URLs as you like in one run. These Pets4Homes pages all work:

  • Species pages: /sale/puppies/, /sale/kittens/, /sale/rabbits/, /sale/horses/ …, all pets /sale/pets/, everything /search/
  • Adoption and stud: /adoption/dogs/, /adoption/cats/, /stud/dogs/, /stud/cats/
  • Breed pages: /sale/puppies/cockapoo/, /sale/kittens/ragdoll/
  • Location pages: /sale/puppies/near-me/united-kingdom/england/greater-london/london/, /sale/kittens/ragdoll/united-kingdom/scotland/
  • Any filtered search: price, keyword, sex, age range, generation, licensed breeders, ID verified, KC registered dogs, registered cats, breeder rating, crossbreeds, radius and sort order
  • Single adverts: /classifieds/…
  • Breeder, rescue and seller pages (/breeder/…, /shelter/…, /user/…): you get all of that seller's adverts

Option 2: use the optional search builder

Pick one or more Species, Advert types and optional Breeds and Locations, then add any of Pets4Homes' filters: radius, price, keyword, sex, age range, generation, council licensed breeders, KC registered dogs, GCCF/TICA/FIFe registered cats, ID verified sellers, breeder rating and crossbreeds. Each species is searched for every advert type and location. You can combine URLs and builder searches in one run, and duplicates are removed.

Download results as JSON, CSV, Excel or HTML, or read them through the API.

Input

The main input is startUrls. The other search fields belong to the optional search builder.

FieldDescription
startUrlsMain input. Any Pets4Homes search, breed, location, adoption, stud, advert, breeder or rescue page. Every matching advert is collected.
speciesdogs, cats, rodents, reptiles, rabbits, livestock, poultry, birds, fish, horses, invertebrates
advertTypessale (default), adoption, stud (adoption and stud: dogs and cats)
breeds670+ Pets4Homes breeds, for example pets.dogs.breed.cockapoo or pets.cats.breed.ragdoll
includeCrossbreedsAlso return crossbreeds with a parent of the chosen breed
locations548 Pets4Homes locations: England, Scotland, Wales, Northern Ireland, every county and 390 towns
radiusMiles5, 10, 15, 30, 50, 75, 100 or 150 miles (Pets4Homes default: 50)
minPrice, maxPricePrice in pounds
keywordWords in the advert, such as merle, toy or working
sexFemale, male, mixed
ageRanges0–3 months, 4–12 months, 1–2 years, 3–5 years, older than 5 years
generationsP, F1, F2, F3, F4, F1B, F1BB, F2B, Multigen
licensedBreedersOnly, kcRegisteredOnly, registeredCatsOnly, idVerifiedOnly, breederRating4PlusPets4Homes' "popular filters"
sortByNewest first (default), oldest first, cheapest first, most expensive first
maxItemsMaximum number of saved adverts (default 50)
scrapeDetailsRead each advert page for health checks, litter, views, videos and the full description (default on)
includeDuplicatesInclude adverts from previous runs (default off)
reportDelistedReport adverts that disappeared since your last run of the same search (default on, free)
proxyConfigurationNot needed; see Tips

Example input: Pets4Homes URLs

{
"startUrls": [
{ "url": "https://www.pets4homes.co.uk/sale/puppies/cockapoo/?price=500,1500" },
{ "url": "https://www.pets4homes.co.uk/adoption/dogs/" }
],
"maxItems": 500
}

Example input: search builder

{
"species": ["dogs"],
"breeds": ["pets.dogs.breed.cavapoo", "pets.dogs.breed.cockapoo"],
"locations": ["england/greater-manchester/manchester"],
"radiusMiles": "30",
"maxPrice": 1500,
"ageRanges": ["1"],
"licensedBreedersOnly": true,
"maxItems": 200
}

Output

Each advert is one dataset item. Fields that Pets4Homes does not show for an advert are left out rather than guessed.

Example advert

{
"listing_id": "f6263b33-3ea4-4544-a253-4a899f22ff8e",
"listing_number": "S-jP2hfzi",
"url": "https://www.pets4homes.co.uk/classifieds/s-jp2hfzi-miniature-dachshund-puppies-kelso/",
"title": "Miniature dachshund puppies",
"advert_type": "For sale",
"species": "Dogs",
"breed": "Dachshund",
"father_breed": "Dachshund",
"mother_breed": "Dachshund",
"generation": "P",
"price": 1000,
"price_text": "£1,000",
"currency": "GBP",
"price_on_application": false,
"deposit": 100,
"date_of_birth": "2026-08-25",
"age": "4 weeks",
"ready_to_leave": "2026-10-19",
"males": 3,
"females": 1,
"number_available": 4,
"pets": [
{
"name": "Dachshund 1",
"sex": "Male",
"price": 1300,
"status": "Available",
"ready_to_leave": "2026-10-19",
"deposit": 100,
"images": ["https://assets.pets4homes.co.uk/originalImages/41c89ba5-9430-4a09-9f25-8cdd621b992e/originalImage.jpeg"],
"description": "The only long haired out the litter, lovely nature and very cuddly"
},
"…"
],
"vaccinated": true,
"health_checked": true,
"parents_health_tested": false,
"wormed_and_flea_treated": true,
"microchipped": true,
"neutered": false,
"kc_registered": false,
"viewable_with_mother": true,
"original_breeder": true,
"town": "Kelso",
"county": "Scottish Borders",
"region": "Scotland",
"country": "United Kingdom",
"description": "Lovely litter of puppies. Mum and dad both family pets and great nature. Just started weaning and going well",
"main_image_url": "https://assets.pets4homes.co.uk/originalImages/6b4aa5db-43ea-4e56-ac14-85e69884c372/originalImage.jpeg",
"images": ["https://assets.pets4homes.co.uk/originalImages/6b4aa5db-43ea-4e56-ac14-85e69884c372/originalImage.jpeg", "…"],
"image_count": 13,
"mother_image_url": "https://assets.pets4homes.co.uk/originalImages/163dc89d-6506-4bf7-be27-2a547d5f9866/originalImage.jpeg",
"video_count": 0,
"date_created": "2026-09-21T00:33:45.553Z",
"date_published": "2026-09-21T00:47:46.882Z",
"date_refreshed": "2026-09-28T07:46:12.017Z",
"views": 369,
"favourites": 4,
"status": "Active",
"listing_package": "Basic",
"boosted": false,
"seller_type": "Individual",
"seller_is_business": false,
"seller_licensed_breeder": false,
"seller_kc_assured": false,
"seller_id_verified": false,
"seller_reviews_count": 0,
"seller_active_adverts": 1,
"seller_member_since": "2026",
"seller_average_response_hours": 0.8,
"seller_last_active": "2026-09-28T13:27:40.735Z",
"seller_id": "b5d9527e-9b13-4b53-9904-c6abbf630082",
"seller_adverts_url": "https://www.pets4homes.co.uk/user/seller-b5d9527e-9b13-4b53-9904-c6abbf630082/",
"search_url": "https://www.pets4homes.co.uk/sale/puppies/dachshund/?sort=newest-first",
"detail_page_complete": true,
"seen_in_previous_run": false,
"scraped_at": "2026-09-28T14:01:29+00:00"
}

A licensed breeder's advert also has seller_name, seller_profile_url, licence_number (for example 21/12807/ANIMAL), licence_authority (for example North East Derbyshire District Council) and licence_status. A rescue's advert has the rescue's name and profile link.

Output fields

GroupFields
Advertlisting_id, listing_number, url, title, advert_type (For sale, For adoption, For stud), status, listing_package, boosted, featured, distance_miles (location searches), preferred_contact, search_url
Petspecies, breed, father_breed, mother_breed, generation, date_of_birth, age, ready_to_leave, sex, males, females, number_available, other_attributes (for example height, discipline and country of origin for horses)
Litterpets: name, sex, price, status, ready-to-leave date, deposit, photos and description of each pet
Priceprice, price_text, currency, price_on_application, deposit, buyer_protection_fee
Health and papersvaccinated, health_checked, parents_health_tested, wormed_and_flea_treated, microchipped, neutered, kc_registered, registered_with (GCCF, TICA, FIFe), viewable_with_mother, original_breeder
Locationtown, county, region, country
Description and mediadescription, main_image_url, images, image_count, mother_image_url, videos (MP4), video_count
Dates and demanddate_created, date_published, date_refreshed, views, favourites
Sellerseller_type, seller_is_business, seller_licensed_breeder, seller_kc_assured, seller_id_verified, seller_email_verified, seller_phone_verified, seller_rating, seller_reviews_count, seller_active_adverts, seller_active_pets, seller_member_since, seller_average_response_hours, seller_delivers, seller_last_active, seller_confirmed_payments, seller_facebook_verified, seller_google_verified, seller_full_service_breeder, seller_id, seller_adverts_url (the seller's page with all their adverts)
Business sellers onlyseller_name, seller_logo_url, seller_profile_url, licence_number, licence_authority, licence_status, kc_assured_number
Runseen_in_previous_run, detail_page_complete, scraped_at

The Output tab has two views: Overview and Health and breeder. A RUN_SUMMARY record in the key-value store lists advert URLs that are no longer on Pets4Homes (unavailable_urls) and any that could not be loaded (failed_urls). The DELISTED_LISTINGS record holds the delisting report (see below).

Pagination, duplicates and new-advert monitoring

  • The Actor reads each search page by page until it reaches the end of the results or your Maximum listings, and it includes the boosted adverts that Pets4Homes shows in their own block.
  • Pets4Homes shows at most about 10,000 results for one search. Bigger searches (such as all pets for sale) are split into advert types, species and then price bands with the same filters, so nothing is cut off.
  • Within a run, each advert is saved once, even if it appears in several searches.
  • Across runs, the Actor remembers the adverts it has already saved for your account and skips them by default, so scheduled runs only return and charge for new adverts. Turn on Include listings from previous runs to get everything again; seen_in_previous_run tells you which ones you had before. The history is kept in a dataset named pets4homes-history-<your user ID> in your own Apify account.

Delisted-advert report

Scheduled runs also tell you which adverts disappeared since the last run of the same search, so you can track how fast breeds sell or get rehomed.

  • The Actor remembers every advert each search returned. On the next run of the same URL or builder search, adverts that are no longer in the results are saved to the DELISTED_LISTINGS record in the run's key-value store (also linked from the Output tab).
  • Each one is re-checked on Pets4Homes and gets a reason: removed_from_pets4homes (the advert is gone), no_longer_active, all_pets_reserved_or_rehomed, or no_longer_matches_search (for example, the price changed), with its current_status and current_price.
  • Every entry keeps the title, last_price, last_status, last_seen_at and the search_url it came from.
  • The report is free: it is not charged as results. It needs the whole search to be read, so set Maximum listings above the number of results. Searches cut short by the limit are skipped for that run and compared again next time.

Use the Pets4Homes scraper through the API

curl -X POST "https://api.apify.com/v2/acts/vivid-softwares~pets4homes-scraper/run-sync-get-dataset-items?token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"startUrls": [{"url": "https://www.pets4homes.co.uk/sale/puppies/cockapoo/"}], "maxItems": 20}'

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("vivid-softwares/pets4homes-scraper").call(run_input={
"species": ["cats"],
"breeds": ["pets.cats.breed.ragdoll"],
"locations": ["scotland"],
"maxItems": 100,
})
for advert in client.dataset(run["defaultDatasetId"]).iterate_items():
print(advert["price_text"], advert["breed"], advert.get("age"), advert["town"])

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('vivid-softwares/pets4homes-scraper').call({
startUrls: [{ url: 'https://www.pets4homes.co.uk/sale/puppies/french-bulldog/' }],
maxItems: 200,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.map((ad) => `${ad.price_text} - ${ad.title} (${ad.views ?? 0} views)`));

Pet data for AI agents and MCP

The Actor works with the Apify MCP server, so assistants such as Claude, ChatGPT or Cursor can call it as a tool. Add vivid-softwares/pets4homes-scraper to your MCP configuration and ask, for example:

  • "What is the average price of a Cockapoo puppy in Greater Manchester this week?"
  • "List Ragdoll kittens in Scotland from licensed breeders that are vaccinated and microchipped."
  • "Which rescues have the most dogs for adoption right now?"

How this Pets4Homes scraper compares

We checked Apify Store in September 2026. There was no other Pets4Homes Actor, so we compared this one with the other pet-listing Actors in the Store (all for US sites):

What you getThis ActorOther pet-listing Actors in Apify Store
Pets4Homes and UK pet adverts✅None
Every species, not only dogs✅1 of 3
For sale, adoption and stud adverts✅None
Paste search URLs and use a search builder✅None
Vet health check, worming and parents' health tests✅None
Breeder licence number and licensing council✅None
Views and favourites✅None
Video URLs✅1 of 3
Only new adverts on repeat runs; skipped adverts cost nothing✅None
Delisting report that says why an advert went (rehomed, reserved, removed)✅None
No per-run start fee✅None

In short: one run gives you the market (every advert, in full), the health and licence details, the demand (views and favourites) and the history (new and delisted adverts) for the UK's largest pet classifieds site.

How much does it cost to scrape Pets4Homes?

This Actor uses pay-per-event pricing: $15 per 1,000 pet listings, which is $0.015 for each advert saved to the dataset. You are not charged for search pages, retries, invalid input, adverts that are no longer available, or adverts skipped because you already received them. For example, 500 Cockapoo adverts cost $7.50.

Tips

  • Paste the URL you see on Pets4Homes. Every filter in it is applied on Pets4Homes itself. Searches using Pets4Homes' default "relevance" order are read newest first instead, because relevance order reshuffles between pages and loses adverts.
  • Speed: with full details the Actor saves about 27 adverts a second at the default 1 GB memory (1,500 adverts in under a minute), and about 38 a second at 2 GB.
  • Turn off Get full advert details for faster, cheaper-to-run searches (about 35 adverts a second) with the search-result fields only (price, breed, age, litter counts, town, photos, seller type). The health checks, litter, views, videos and the full description come from the advert page.
  • Proxy: not needed. The Actor connects directly, which is fastest. If Pets4Homes ever starts refusing requests, the run switches to Apify Proxy by itself. The Actor never tries to get around CAPTCHAs or other bot protection.
  • Schedule a daily run to monitor a breed or area: only new adverts are returned and charged, and DELISTED_LISTINGS shows what was rehomed, reserved or removed.

Data limitations

  • Private sellers are never identified. Their names, phone numbers, email addresses and exact locations are never returned (seller_adverts_url is a name-free link to their adverts page), and phone numbers and email addresses typed into their advert text are removed. Their adverts have seller_type: Individual.
  • Seller names and profile links are returned only for business sellers, as Pets4Homes shows them publicly: council licensed breeders, Kennel Club Assured breeders, rescues and companies.
  • Locations are the town, county and country. Pets4Homes does not show street addresses or postcodes.
  • Health checks, KC registration and litter details are only present when the seller provides them. Views and favourites are Pets4Homes' own figures at the time of the run.
  • In search-result-only mode, description is the short preview Pets4Homes shows in its results.

Public contact data policy

The Actor only returns seller details that Pets4Homes shows publicly for businesses: the licensed breeder's, rescue's or company's name, profile page and licence details. It never returns private sellers' details or anything behind Pets4Homes' messaging. If you use breeder data for outreach, follow UK GDPR and PECR.

FAQ

What is the best Pets4Homes scraper on Apify? In September 2026 this was the only Pets4Homes Actor in Apify Store. It covers every species and advert type (sale, adoption, stud), returns health checks, KC registration, breeder licence details, every pet in the litter, views and favourites, and reports delisted adverts. On repeat runs you pay only for new adverts.

Is there an official Pets4Homes API? Pets4Homes does not offer a public listings API. This Actor gives you structured Pets4Homes data through the Apify API.

Is it legal to scrape Pets4Homes? The Actor collects publicly available advert information, paces its requests and never identifies private sellers. You are responsible for how you use the data, including data protection rules. If in doubt, ask a lawyer.

Can I scrape a single breed or town? Yes. Paste a breed or location page such as pets4homes.co.uk/sale/puppies/cockapoo/, or pick breeds and locations in the search builder.

Does it get more than the first page of results? Yes. It collects every matching advert up to your limit, and splits very large searches so nothing is lost.

Does it return duplicate adverts? No. Adverts are de-duplicated within a run, and adverts from your previous runs are skipped by default.

Can you add a field or a custom version? Open an issue on the Issues tab.

This Actor is not affiliated with, endorsed by or connected to Pets4Homes.