{
  "openapi": "3.0.1",
  "info": {
    "title": "Shelter Pet Finder - Adoptable Dogs, Cats and More",
    "description": "Adoptable dogs, cats, rabbits and more near any location, with photos, breed, age, sex, size, kids/dogs/cats compatibility and shelter contact. UK, Ireland, France, Germany, Italy, Spain, Taiwan, Japan and Singapore with no keys; US, Canada and Korea via free API keys (beta).",
    "version": "1.3",
    "x-build-id": "tl4gcdHV8opQVezMM"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/marielise.dev~shelter-pet-finder/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-marielise.dev-shelter-pet-finder",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/marielise.dev~shelter-pet-finder/runs": {
      "post": {
        "operationId": "runs-sync-marielise.dev-shelter-pet-finder",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/marielise.dev~shelter-pet-finder/run-sync": {
      "post": {
        "operationId": "run-sync-marielise.dev-shelter-pet-finder",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "location": {
            "title": "Location",
            "type": "string",
            "description": "City, town, postcode or region to search around. Examples: \"London\", \"Paris\", \"Berlin\", \"Dublin\", \"Taipei\", \"Tokyo\", \"Singapore\", \"Austin, TX\".",
            "default": "London"
          },
          "species": {
            "title": "Species",
            "type": "array",
            "description": "Which animals to include. Leave empty for every species a source offers. Sources that do not list a requested species are skipped.",
            "items": {
              "type": "string",
              "enum": [
                "dog",
                "cat",
                "rabbit",
                "small-furry",
                "bird",
                "reptile",
                "fish",
                "horse",
                "farm",
                "other"
              ],
              "enumTitles": [
                "Dogs",
                "Cats",
                "Rabbits",
                "Small furries (guinea pigs, hamsters, ferrets)",
                "Birds",
                "Reptiles",
                "Fish",
                "Horses and ponies",
                "Farm animals",
                "Other"
              ]
            },
            "default": [
              "dog",
              "cat"
            ]
          },
          "radiusKm": {
            "title": "Search radius (km)",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Animals and shelters further than this from the location are dropped.",
            "default": 50
          },
          "country": {
            "title": "Country filter",
            "type": "array",
            "description": "Optional ISO 3166-1 alpha-2 codes to restrict sources. Usually inferred from the location.",
            "items": {
              "type": "string",
              "enum": [
                "GB",
                "IE",
                "FR",
                "DE",
                "IT",
                "ES",
                "US",
                "CA",
                "MX",
                "TW",
                "JP",
                "KR",
                "SG",
                "PT",
                "NL"
              ]
            },
            "default": []
          },
          "searchMode": {
            "title": "Search mode",
            "enum": [
              "adopt",
              "support",
              "both"
            ],
            "type": "string",
            "description": "Adoptable animals only, shelters only, or both record types in one dataset.",
            "default": "adopt"
          },
          "sources": {
            "title": "Sources",
            "type": "array",
            "description": "Adoption platforms to query. Leave empty for all. Sources outside the searched country are skipped automatically.",
            "items": {
              "type": "string",
              "enum": [
                "dogstrust",
                "battersea",
                "rspca",
                "wamiz",
                "petfinder",
                "rescuegroups",
                "taiwan-gov",
                "pet-home-jp",
                "korea-gov",
                "spca-sg",
                "pawseum",
                "secondechance",
                "tierheimhelden"
              ],
              "enumTitles": [
                "Dogs Trust (UK, Ireland; dogs)",
                "Battersea (London; dogs and cats)",
                "RSPCA (England and Wales; 10 species)",
                "Wamiz (France, Germany, Italy, Spain, UK; dogs and cats)",
                "Petfinder API (US/CA/MX, key required, beta)",
                "RescueGroups API (US/CA, key required, beta)",
                "Taiwan public shelters (MOA open data)",
                "pet-home.jp (Japan; 6 categories)",
                "Korea animal protection API (key required, beta)",
                "SPCA Singapore (7 types)",
                "Pawseum (Portugal; dogs and cats)",
                "Seconde Chance (France; 9 species)",
                "Tierheimhelden (Germany; 10 species)"
              ]
            },
            "default": [
              "dogstrust",
              "battersea",
              "rspca",
              "wamiz",
              "petfinder",
              "rescuegroups",
              "taiwan-gov",
              "pet-home-jp",
              "korea-gov",
              "spca-sg",
              "pawseum",
              "secondechance",
              "tierheimhelden"
            ]
          },
          "maxResults": {
            "title": "Max results",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "Upper bound on records returned across all sources. Results are interleaved across species so one species cannot fill the cap. Each result is charged, so this also bounds the cost of a run.",
            "default": 50
          },
          "breed": {
            "title": "Breed filter",
            "type": "array",
            "description": "Keep animals whose breed contains any of these words, e.g. labrador, lurcher, tabby.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "ageMax": {
            "title": "Max age (years)",
            "minimum": 0,
            "maximum": 30,
            "type": "integer",
            "description": "Drop animals older than this. Animals with unknown age are kept."
          },
          "size": {
            "title": "Size",
            "enum": [
              "small",
              "medium",
              "large",
              "any"
            ],
            "type": "string",
            "description": "Preferred size. Applies to species that report one; animals with unknown size are kept.",
            "default": "any"
          },
          "goodWithKids": {
            "title": "Good with children",
            "type": "boolean",
            "description": "Only animals explicitly marked as able to live with children.",
            "default": false
          },
          "goodWithDogs": {
            "title": "Good with dogs",
            "type": "boolean",
            "description": "Only animals explicitly marked as able to live with dogs.",
            "default": false
          },
          "goodWithCats": {
            "title": "Good with cats",
            "type": "boolean",
            "description": "Only animals explicitly marked as able to live with cats.",
            "default": false
          },
          "includeReserved": {
            "title": "Include reserved animals",
            "type": "boolean",
            "description": "Keep animals that are reserved or have an adoption pending. Off by default so results are actionable.",
            "default": false
          },
          "fetchDetails": {
            "title": "Fetch detail pages",
            "type": "boolean",
            "description": "Open each animal's page for the full description, all photos and compatibility flags. Slower but much richer.",
            "default": true
          },
          "petfinderApiKey": {
            "title": "Petfinder API key",
            "type": "string",
            "description": "Free key from petfinder.com/developers. Required for the petfinder source (US, CA, MX). Beta: this source has not been verified with a live key yet."
          },
          "petfinderApiSecret": {
            "title": "Petfinder API secret",
            "type": "string",
            "description": "Secret paired with the Petfinder API key."
          },
          "rescueGroupsApiKey": {
            "title": "RescueGroups API key",
            "type": "string",
            "description": "Free key from rescuegroups.org (Adoptable Pet Data API). Required for the rescuegroups source (US, CA). Beta: this source has not been verified with a live key yet."
          },
          "koreaApiKey": {
            "title": "Korea data.go.kr service key",
            "type": "string",
            "description": "Free key from data.go.kr for service 15098931 (abandonmentPublicService_v2). Required for the korea-gov source. Beta: this source has not been verified with a live key yet."
          },
          "enableGoogleMaps": {
            "title": "Discover shelters on Google Maps",
            "type": "boolean",
            "description": "Run compass/crawler-google-places to find local shelters and rescues, including ones with no listing platform. That actor has its own pricing (about $0.004 per place). Only used when search mode includes shelters.",
            "default": false
          },
          "googleMapsMaxPlaces": {
            "title": "Google Maps max places",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Cap on places pulled from Google Maps per run.",
            "default": 30
          },
          "exportStoreName": {
            "title": "Export to named key-value store",
            "type": "string",
            "description": "Optional. Also saves the results to this named key-value store in your account, so an app can always read the latest list from one fixed URL. Letters, digits and hyphens."
          },
          "exportKey": {
            "title": "Export key",
            "type": "string",
            "description": "Record key inside the export store, e.g. the city name. Defaults to LATEST. Each run overwrites it; a run with no results leaves it unchanged."
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}