# Get count or buy a property list

There are multiple endpoints you can access for LeadGen: Property. These endpoints are all formatted like:

https://list.melissadata.net/v2/Property/{action}_{geographicType}

Make sure to replace {action} and {geographicType} with the appropriate values. For more information on the available actions and geographic types, see the parameters below.

Endpoint: GET /{action}_{geographicType}

## Header parameters:

  - `Accept` (string, required)
    Format of the response.
    Enum: "application/json", "*/*"

  - `Content-Type` (string, required)
    Format of the request.
    Enum: "application/json", "application/xml"

## Path parameters:

  - `action` (string, required)
    There are two available actions:
- count - Get count of addresses that fit in the given criteria.
- buy - Buy a list of addresses' info that fit the given criteria.
    Enum: "count", "buy"

  - `geographicType` (string, required)
    Each request must specify a single geographic type. Here are the available Geographic Types:

- Zip
  - Zips - 5-digit ZIPs. Multiple ZIP can be requested, comma separated with no space or period.
  - ZIP in Radius - 5-digit ZIP. Miles of radius from any given ZIP (mile in decimal).
  - ZIP(s) in City - 5-digit ZIP, City, and 2-digit State.
- Address - Address, City and State or ZIP. Miles of radius from a given address. (mile in decimal)
- Street - Street name and ZIP or city and state, with street number range being optional
- City - Format: 2-digit state;city name, i.e. TX;Dallas. Multiple cities be requested, comma separated with no space, or period
- County
  - by FIPS - Format: 2-digit state;county name, or FIPS
  - by County, State - Multiple counties be requested, comma separated with no space or period, i.e. CA:Lake, 06029.
- State - 2-digit state name.
- Circle - Miles of radius from a point defined as “latitude;longitude” with a semi colon delimiter, i.e.“-117.597760116333;33.63565170564778”. 0.25 miles radius min., 25 miles radius max.
- Polygon - A set of points (latitude /longitude) within 0.25 miles square and 25 miles square. Each point is defined as “latitude;longitude” with a semi colon delimiter, use comma delimiter between each set of latitude;longitude. For example, 33.649656850987895;-117.59544268774414, 33.636509228993326;-117.6109780423584, 33.63222152688031;-117.59518519567871”.
- Rectangle - Southwest and northeast points (latitude /longitude). Each point is defined as “latitude;longitude” with a semi colon delimiter, use comma delimiter between each set of latitude;longitude. For example, “33.63565170564778;-117.597760116333, 33.649513952846554;-117.58685961889648”. 0.25 miles square min., 25 miles square max.
    Enum: "zip", "address", "street", "city", "county", "state", "circle", "polygon", "rectangle"

## Query parameters:

  - `id` (string, required)
    Customer ID, License Key, or Email Address. This is checked against the list of registered customers.
    Example: "REPLACE-WITH-YOUR-LICENSE-KEY"

  - `zip` (string, required)
    Required for Geographic Type: zip

Optional for Geographic Type: address, street, circle, rectangle

Each five-digit ZIP is validated.
    Example: "92688"

  - `addr` (string)
    Required for Geographic Type: address

No validation.

  - `ctyst` (string)
    Required for Geographic Type: city

Format: state;city

  - `city` (string)
    Optional for Geographic Type: address, street, zip

If ZIP is given, city is not necessary.

  - `cntyst` (string)
    Required for Geographic Type: county

The value could be a variety of state;county and/or FIPS.

  - `state` (string)
    Required for Geographic Type: state

Optional for Geographic Type: address, county, street, zip

For state type, 2-digit state is required. For other types, if ZIP or FIPS is given, state is not necessary.

  - `mile` (string)
    Required for Geographic Type: address, street, circle

Optional for Geographic Type: zip

Radius of miles from a given street, address or ZIP.

  - `street` (string)
    Required for Geographic Type: street

Exact street name is required. No validation.

  - `num1` (string)
    Optional for Geographic Type: street

Start of the range of street numbers. Either end can be left unspecified.

  - `num2` (string)
    Optional for Geographic Type: street

End of the range of street numbers. Either end can be left unspecified.

  - `pt` (string)
    Required for Geographic Type: circle, rectangle, polygon

Each point is defined as “latitude;longitude” with a semi colon delimiter. For multiple points, use comma delimiter between each set of latitude;longitude. For example, “33.63565170564778;-117.597760116333, 33.649513952846554;-117.58685961889648”. Rectangle takes 2 points: 1) southwest, 2) northeast. Polygon takes at least 3 points, counter clockwise.

  - `propertype` (string)
    Default: all. Otherwise specify the index; use - dash to specify multiple choices, e.g. propertype =10-11 means Single Family Residence and Condominium(Residential)

Property codes & types:
- 00 - Miscellaneous
- 000 - Not Available/None
- 10 - Single Family Residence
- 11 - Condominium(Residential)
- 20 - Commercial
- 21 - Duplex, Triplex, Quadplex
- 22 - Apartment
- 23 - Hotel, Motel
- 24 - Condominium(Commercial)
- 25 - Retail
- 26 - Service(general public)
- 27 - Office Building
- 28 - Warehouse
- 29 - Financial Institution
- 30 - Hospital(medical complex, clinic)
- 31 - Parking
- 32 - Amusement-Recreation
- 33 - Mobile Home
- 50 - Industrial
- 51 - Industrial Light
- 52 - Industrial Heavy
- 53 - Transport
- 54 - Utility
- 70 - Agricultural
- 80 - Vacant Lot (Land)
- 90 - Exempt

  - `bedrooms` (string)
    Number of bedrooms

  - `bathrooms` (string)
    Number of bathrooms

  - `units` (string)
    Unit number

  - `yearbuilt` (string)
    Year built. Format: YYYY.

  - `pval` (string)
    Property value ($)

  - `equity` (string)
    Equity ($)

  - `lvratio` (string)
    Loan to value ratio (%)

  - `sqft` (string)
    Square footage

  - `bsqft` (string)
    Basement square footage

  - `lot` (string)
    Lot size. It can be a range. The unit can be:

- a for acre
- f for ft.

Format: unit; size.

Default: no filter.

Unit: default is sq. ft (f).

Size: To specify a range, use min-max. 2-4 means 2-4 acres. Use 0 if either end has no preference. For instance, f;2000-0 means at least 2000 sq. ft.

  - `samt` (string)
    Range of sale amounts in thousands ($).

Default: no filter. To specify a range, use min-max, i.e. 2-4. Use 0 if either end has no preference. For instance, 2-0 means at least $2,000.

  - `sdt` (string)
    Range of sale dates.

Default: no filter. To specify a period, use MYYYY-MYYYY. The start month starts on the 1st; the end month ends on the last day, i.e. sdt=32010-122014, this covers 3/1/2010 to 12/31/2014.

  - `pool` (integer)
    Has pool or not.

1 means using it as a filter while 0 means no preference. For example, pool=1. If not specified, it means no preference.

  - `heat` (integer)
    Has heater or not.

1 means using it as a filter while 0 means no preference. For example, heat=1. If not specified, it means no preference.

  - `ac` (integer)
    Has A/C or not.

1 means using it as a filter while 0 means no preference. For example, ac=1. If not specified, it means no preference.

  - `fireplace` (integer)
    Has fireplace or not.

1 means using it as a filter while 0 means no preference. For example, fireplace=1. If not specified, it means no preference.

  - `mtgAmt` (string)
    (Range of) amount in thousands ($). Combined amount for 1st and 2nd mortgages

Default: no filter. To specify a range of amounts, use min-max. Use 0 if either end has no preference.

For instance, 2-0 means at least $2000, 5-10 means between $5000 and $10000. It's an OR relationship when more than one of mtgAmt, mtgAmt1, and mtgAmt2 have values.

  - `mtgAmt1` (string)
    1st Mortgage Amount

Default: no filter. To specify a range of amounts, use min-max. Use 0 if either end has no preference.

For instance, 2-0 means at least $2000, 5-10 means between $5000 and $10000. It's an OR relationship when more than one of mtgAmt, mtgAmt1, and mtgAmt2 have values.

  - `mtgAmt2` (string)
    2nd Mortgage Amount

Default: no filter. To specify a range of amounts, use min-max. Use 0 if either end has no preference.

For instance, 2-0 means at least $2000, 5-10 means between $5000 and $10000. It's an OR relationship when more than one of mtgAmt, mtgAmt1, and mtgAmt2 have values.

  - `mtgRt` (string)
    Rate (range)Rate for either 1st or 2nd mortgage

Default: no filter. To specify a range of rates, use min-max. Use 0 if either end has no preference.

For instance, 2.5-0 means 2.5% at least, 3-5.5 means between 3% and 5.5%. It's an OR relationship when more than one of the three parameters have values.

  - `mtgRtTp` (string)
    Interest rate type for 1st or 2nd mortgage. Types are:

- 2 - Fixed Rate
- 1 - Adjustable Rate
- 0 - Unknown

Default: no filter.

To include a variety of types, use -. For instance, 2-1 means to include fixed and adjustable rate.

It's an OR relationship when more than one of the three parameters have values.

  - `mtgRecDt` (string)
    Recording date (range)

Default: no filter.

  - `mtgTp` (string)
    Interest rate type for 1st or 2nd mortgage. Types are:

- 0 - Unknown
- 3 - Building or Construction
- 5 - Conventional
- 6 - Line of Credit
- 8 - FHA
- 10 - Conventional
- 16 - Veterans Administration Loan
- 101 - USDA - US Department of Agriculture Loan
- 102 - Regional Government Programs
- 103 - Commercial
- 104 - Regional Government Programs
- 105 - Reverse Mortgage
- 120 - Private Party Loan

Default: no filter.

For instance, 5-8 means conventional or FHA.

It's an OR relationship when more than one of the three parameters have values.

  - `mtgScb` (string)
    Seller Carry Back (Is the seller is also the lender?)

Default: no filter.

  - `occu` (string)
    Occupant types

- 1 - Owner occupied
- 2 - Absentee owner (all types)
- 3 - Absentee Owner - In County
- 4 - Absentee Owner - In State
- 5 - Absentee Owner - Out of Country
- 6 - Absentee Owner - Out of State

Default: no preference.

For multiple absentee owner types, use - as the delimiter. It's an OR relationship between the selected types. For instance, 3-6 means in county or out of state.

  - `owntrs` (string)
    Trustee owner

Default: no preference.

Including or excluding - true or false.

  - `vacant` (string)
    Vacant property

Default: no preference.

Including or excluding - true or false.

  - `hhage` (string)
    Household age

- 1 - 18 - 24 Years
- 2 - 25 - 34 Years
- 3 - 35 - 44 Years
- 4 - 45 - 54 Years
- 5 - 55 - 64 Years
- 6 - 65 - 74 Years
- 7 - 75+ Years

Default: all.

Otherwise specify the index; use - dash to specify multiple choices, i.e. 1-2 means 18-34 years old

  - `gender` (string)
    Gender

- f - female
- m - male
- u - unisex

Default: all.

Otherwise specify the index; use - dash to specify multiple genders, i.e. f-m mean female and male

  - `hhinc` (string)
    Household income

- 1 - Under $10,000
- 2 - $10,000 - $14,999
- 3 - $15,000 - $19,999
- 4 - $20,000 - $24,999
- 5 - $25,000 - $29,999
- 6 - $30,000 - $34,999
- 7 - $35,000 - $39,999
- 8 - $40,000 - $44,999
- 9 - $45,000 - $49,999
- A - $50,000 - $54,999
- B - $55,000 - $59,999
- C - $60,000 - $64,999
- D - $65,000 - $69,999
- E - $70,000 - $99,999
- F - $100,000 - $149,999
- G - $150,000 - $174,999
- H - $175,000 - $199,999
- I - $200,000 - $249,999
- J - $250,000+

Default: all.

Otherwise specify the index; use - dash to specify multiple choices, i.e. 1-2 means $14,999 or less

  - `marital` (string)
    Marital Status

- a - inferred married
- b - inferred single
- m - married
- s - single

Default: all.

Otherwise specify the index; use - dash to specify multiple choices, i.e. b-s means inferred single or single

  - `lores` (string)
    Length of Residence

- 0 - Less than 1 year
- 1 - 1 Years
- 2 - 2 Years
- 3 - 3 Years
- 4 - 4 Years
- 5 - 5 Years
- 6 - 6 Years
- 7 - 7 Years
- 8 - 8 Years
- 9 - 9 Years
- 10 - 10 Years
- 11 - 11 Years
- 12 - 12 Years
- 13 - 13 Years
- 14 - 14 Years
- 15 - Over 14 Years

Default: all.

Otherwise specify the index; use - dash to specify multiple choices, i.e. 0-1-2 means 2 years or under

  - `people` (string)
    Persons in household (number of people in household)

- 1 - 1 Person
- 2 - 2 Persons
- 3 - 3 Persons
- 4 - 4 Persons
- 5 - 5 Persons
- 6 - 6 Persons
- 7 - 7 Persons
- 8 - 8 Persons
- 9 - 9+ Persons

Default: all.

Otherwise specify the index; use - dash to specify multiple choices, i.e. 1-2 means 2 or less

  - `adults` (string)
    Adults  in household

- 1 - 1 Adult
- 2 - 2 Adults
- 3 - 3 Adults
- 4 - 4 Adults
- 5 - 5 Adults
- 6 - 6+ Adults

Default: all.

Otherwise specify the index; use - dash to specify multiple choices, i.e. 1-2 means 2 or less

  - `kids` (string)
    Children in household

- 1 - 1 Child
- 2 - 2 Children
- 3 - 3 Children
- 4 - 4 Children
- 5 - 5 Children
- 6 - 6 Children
- 7 - 7 Children
- 8 - 8+ Children

Default: all.

Otherwise specify the index; use - dash to specify multiple choices, i.e. 1-2 means 2 or less

  - `qty` (integer)
    Number of records to buy

Default: no preference.

  - `file` (integer)
    File Format

- 1 - Zipped .dbf
- 3 - Zipped .csv
- 5 - Zipped .xls
- 6 - .dbf
- 8 - .csv
- 10 - .xls
    Enum: 1, 3, 5, 6, 8, 10

  - `emails` (integer)
    - 0 - records with no email
- 1 - records with email
- 2 - all records
    Enum: 0, 1, 2

  - `femails` (integer)
    - 0 - do not append
- 1 - append email to order file
    Enum: 0, 1

  - `one` (boolean)
    - false - all properties owned by owner
- true - one property per owner

  - `xml` (boolean)
    - false - response in json
- true - response in xml

## Response 200 fields (application/json):

  - `options` (object)

  - `options.propertyOptions` (array)

  - `options.mortgageOptions` (array)

  - `options.occupantOptions` (array)

  - `options.demographicOptions` (array)

  - `options.foreclosureOptions` (array)

  - `options.listOptions` (array)

  - `areas` (array)

  - `areas.geo` (string)

  - `areas.count` (integer)

  - `areas.message` (string)

  - `summary` (object)

  - `summary.geoType` (string)

  - `summary.totalCount` (integer)

  - `summary.orderId` (integer)

  - `summary.fileUrl` (string,null)

  - `summary.status` (array)

  - `summary.status.statusCode` (integer)
    For details of all status codes please visit [here](https://docs.melissa.com/other/status-codes-index.html).

All Melissa products use result codes. LeadGen - Property Status codes are numeric codes, e.g. 101. Status codes are returned as a comma-delimited string with no whitespace, e.g. 100,101.

  - `summary.status.statusDetail` (string)

## Response 400 fields (application/json):

  - `type` (string)
    The type of error that occurred.

  - `title` (string)
    A short summary of the error.

  - `status` (integer)
    The HTTP status code for the error.

  - `errors` (object)

  - `errors.$.<PropertyName>` (array)
    A detailed message about the error.

  - `traceId` (string)
    A unique identifier for the request, useful for debugging.


