Fetching Pets via API

Retrieve pet profiles with PawPlacer's API

The PawPlacer API allows you to retrieve pet profiles and their related data. This enables external systems to access up-to-date information about available pets and their medical history.

Note: This feature is in beta and may be subject to changes. DO NOT use this feature in production environments until it is officially released. Please contact us with any feedback or issues.

If you would rather embed a full-feature widget for your organization and pets, you can use the widget instead.

Endpoint

GET /api/pets

Authentication

All API requests require an API key, which can be retrieved from your account settings. Include the API key in the request headers as follows:

"x-api-key": process.env.PAWPLACER_API_KEY

Example

async function fetchPets() {
  try {
    const response = await fetch("https://pawplacer.com/api/pets", {
      headers: {
        "x-api-key": process.env.PAWPLACER_API_KEY
      }
    });

    if (!response.ok) {
      throw new Error('Failed to fetch pets');
    }

    return await response.json();
  } catch (error) {
    console.error('Error:', error);
  }
}

Response Format

A successful request returns a JSON object containing an array of pet profiles with the following fields.

Fields

FieldTypeRequiredDescription
idstringYesUnique identifier for the pet
namestringYesPet's name
speciesSpeciesYesSee types below
age_categoryAgeYesSee types below
sexSexYesSee types below
sizeSizeYesSee types below
statusStatusYesSee types below
healthHealthYesSee types below
breedstring[]NoList of breeds associated with the pet
colorstring[]NoList of colors describing the pet
age_yearsstringNoAge in years
age_monthsstringNoAge in months
age_birthdaystringNoPet's birthdate
descriptionstringNoDescription of the pet
spayedbooleanNoWhether the pet is spayed/neutered
adoption_feestringNoAdoption fee amount
adopted_bystringNoID of adopter
adopted_onstringNoDate of adoption
microchip_idstringNoMicrochip ID
good_withCompatibility[]NoList of compatibilities. See types below
bad_withCompatibility[]NoList of incompatibilities. See types below
temperamentsTemperament[]NoList of temperaments. See types below
image_urlsstring[]NoList of image URLs
created_atstringYesTimestamp when pet profile was created
updated_atstringYesTimestamp when pet profile was last updated
notesNote[]NoList of notes. See Note type below
examsExam[]NoList of medical exams. See Exam type below
vaccinationsVaccination[]NoList of vaccinations. See Vaccination type below
proceduresProcedure[]NoList of procedures. See Procedure type below

Types

General

TypeValues
Ageyoungest, young, adult, senior
CompatibilityactiveLifestyle, cats, disabledMental, disabledPhysical, dogs, families, firstTimeOwners, frequentTravelers, kids, otherPets, outdoorsLiving, sedentaryLifestyle, seniors, smallApartments
Healthunknown, poor, good, great
Sexmale, female
SizexSmall, small, medium, large, xLarge
Speciesdog, cat, rabbit
Statusadopted, archived, available, deceased, escaped, euthanized, fostered, hold, intake, lost, medicalHold, medicalTreatment, other, pending, quarantine, recoveryPeriod, returnedToOwner, stray, surrendered, transferred
Temperamentaffectionate, aggressive, cuddly, curious, docile, energetic, fearful, gentle, independent, loyal, mischievous, moody, playful, protective, quiet, rough, shy, smart, social, stubborn, vocal

Note

FieldTypeRequiredDescription
idstringYesUnique identifier for the note
author_idstringYesID of the user who authored the note
bodystringYesContent of the note
created_atstringYesTimestamp when note was created
titlestringYesTitle of the note
updated_atstringYesTimestamp when note was last updated

Exam

FieldTypeRequiredDescription
idstringYesUnique identifier for the exam
assignee_idstringNoID of assigned staff member
costnumberNoCost of the exam
datestringYesDate of the exam
diagnosesstring[]NoList of diagnoses from the exam
follow_up_datestringNoFollow-up appointment date
medicationsstring[]NoList of medications prescribed
notesstringNoAdditional notes from the exam
reasonsstring[]NoReasons for the exam
recurring_end_datestringNoEnd date for recurring exams
recurring_intervalnumberNoInterval for recurring exams in days
vet_namestringNoName of the veterinarian

Vaccination

FieldTypeRequiredDescription
idstringYesUnique identifier for the vaccination
administration_routestringNoHow vaccine was administered
administration_sitestringNoWhere vaccine was administered
assignee_idstringNoID of assigned staff member
costnumberNoCost of vaccination
date_administeredstringYesDate vaccination was given
did_receive_proofbooleanNoWhether proof was received
dose_numbernumberNoDose number in series
follow_up_datestringNoDate for next vaccination
lot_expiration_datestringNoExpiration date of vaccine lot
lot_numberstringNoVaccine lot number
manufacturerstringNoVaccine manufacturer
namestringYesName of the vaccination
notesstringNoAdditional notes
recurring_end_datestringNoEnd date for recurring vaccinations
recurring_intervalnumberNoInterval for recurring vaccinations in days
vet_namestringNoName of the veterinarian

Procedure

FieldTypeRequiredDescription
idstringYesUnique identifier for the procedure
assignee_idstringNoID of assigned staff member
complicationsstringNoAny complications that occurred
costnumberNoCost of procedure
date_performedstringYesDate procedure was performed
durationstringNoDuration of procedure
follow_up_datestringNoFollow-up appointment date
medications_administeredstring[]NoMedications given during procedure
medications_prescribedstring[]NoMedications prescribed after procedure
notesstringNoAdditional notes
procedure_namestringYesName of the procedure
procedure_typestringNoType of procedure performed
recovery_instructionsstringNoPost-procedure recovery instructions
recurring_end_datestringNoEnd date for recurring procedures
recurring_intervalnumberNoInterval for recurring procedures in days
vet_namestringNoName of the veterinarian

Error Handling

Status CodeMeaningReason
400Bad RequestInvalid or missing fields
401UnauthorizedAPI key missing or invalid
500Server ErrorAn error occurred on the server

Best Practices

  • Keep API keys secure and do not expose them publicly
  • Make requests efficiently to avoid rate limiting
  • Keep data in sync with your application by updating records periodically