APIs / Real estate / LandSearch

1 credit per call8 endpoints17 datapoints

LandSearch API

LandSearch API for US land for sale, lease or auction, listings, location pages, agent and lender profiles as JSON. 1 credit per successful call.

LandSearch
GET/v1/landsearch/search?location=texas&format=sale&price_max=100000&size_min=5
{
  "success": true,
  "data": {
    "applied_filters": {
      "location": "texas",
      "format": "sale",
      "price_max": "100000",
      "size_min": "5"
    },
    "pagination": {
      "page": 1,
      "limit": 50,
      "returned": 50,
      "total": 1514,
      "total_pages": 31,
      "has_next": true
    },
    "items": [
      {
        "id": 5679558,
        "url": "https://www.landsearch.com/properties/dumas-tx-79029/5679558",
        "title": "10 Acres of Land for Sale in Dumas, Texas",
        "format": "sale",
        "status": "active",
        "price": 65000,
        "size_acres": 10,
        "listed_at": "2026-11-12T09:04:32Z",
        "promoted": false,
        "location": {
          "locality": "Dumas",
          "locality_slug": "dumas-tx",
          "county": "Moore",
          "county_slug": "moore-county-tx",
          "state": "Texas",
          "state_code": "TX",
          "state_slug": "texas",
          "postal_code": "79029"
        },
        "geo": {
          "longitude": -101.977492,
          "latitude": 35.850987,
          "precision": "high"
        },
        "structure": {
          "has_building": false
        },
        "image_url": "https://cdn.landsearch.com/listings/4XNnt/small/dumas-tx-183752767.jpg",
        "image_url_large": "https://cdn.landsearch.com/listings/4XNnt/large/dumas-tx-183752767.jpg",
        "total_images": 1,
        "total_videos": 0,
        "source": "listhub"
      },
      {
        "id": 5679432,
        "url": "https://www.landsearch.com/properties/572-highway-155-avinger-tx-75630/5679432",
        "title": "7.62 Acres of Residential Land for Sale in Avinger, Texas",
        "format": "sale",
        "status": "active",
        "price": 99900,
        "size_acres": 7.616,
        "listed_at": "2026-11-11T00:00:00Z",
        "promoted": false,
        "location": {
          "locality": "Avinger",
          "locality_slug": "avinger-tx",
          "county": "Marion",
          "county_slug": "marion-county-tx",
          "state": "Texas",
          "state_code": "TX",
          "state_slug": "texas",
          "postal_code": "75630"
        },
        "geo": {
          "longitude": -94.615413,
          "latitude": 32.876813,
          "precision": "high"
        },
        "structure": {
          "has_building": false
        },
        "image_url": "https://cdn.landsearch.com/listings/4XNjR/small/avinger-tx-183747382.jpg",
        "image_url_large": "https://cdn.landsearch.com/listings/4XNjR/large/avinger-tx-183747382.jpg",
        "total_images": 13,
        "total_videos": 0,
        "source": "listhub"
      },
      {
        "id": 5678469,
        "url": "https://www.landsearch.com/properties/shady-grove-rd-jefferson-tx-75657/5678469",
        "title": "6 Acres of Land for Sale in Jefferson, Texas",
        "format": "sale",
        "status": "active",
        "price": 35000,
        "size_acres": 6,
        "listed_at": "2026-11-11T00:00:00Z",
        "promoted": false,
        "location": {
          "locality": "Jefferson",
          "locality_slug": "jefferson-tx",
          "county": "Marion",
          "county_slug": "marion-county-tx",
          "state": "Texas",
          "state_code": "TX",
          "state_slug": "texas",
          "postal_code": "75657"
        },
        "geo": {
          "longitude": -94.482436,
          "latitude": 32.83538,
          "precision": "medium"
        },
        "structure": {
          "has_building": false
        },
        "image_url": "https://cdn.landsearch.com/listings/4XMTN/small/jefferson-tx-183715411.jpg",
        "image_url_large": "https://cdn.landsearch.com/listings/4XMTN/large/jefferson-tx-183715411.jpg",
        "total_images": 2,
        "total_videos": 0,
        "source": "listhub"
      }
    ]
  },
  "meta": {
    "endpoint_family": "search",
    "request_id": "req_45f8508f53b74e1b97f072be773aed17",
    "credits_charged": 1,
    "credits_remaining": 1851
  }
}
200 OKJSONX-Credits-Used: 1
Recorded from our API and shortened.

Sample data

What one call returns

A recorded run of search: the fields and shapes you will get, shortened to 3 items.

#idintegerurlurltitlestringformatstringstatusstringpriceintegersize_acresnumberlisted_atstringpromotedbooleanlocationobjectgeoobjectstructureobjectimage_urlurlimage_url_largeurltotal_imagesintegertotal_videosintegersourcestring
15679558https://www.landsearch.com/properties/dumas-tx-79029/567955810 Acres of Land for Sale in Dumas, Texassaleactive65000102026-11-12T09:04:32Zfalse{8 fields}{3 fields}{1 fields}https://cdn.landsearch.com/listings/4XNnt/small/dumas-tx-183752767.jpghttps://cdn.landsearch.com/listings/4XNnt/large/dumas-tx-183752767.jpg10listhub
25679432https://www.landsearch.com/properties/572-highway-155-avinger-tx-75630/56794327.62 Acres of Residential Land for Sale in Avinger, Texassaleactive999007.6162026-11-11T00:00:00Zfalse{8 fields}{3 fields}{1 fields}https://cdn.landsearch.com/listings/4XNjR/small/avinger-tx-183747382.jpghttps://cdn.landsearch.com/listings/4XNjR/large/avinger-tx-183747382.jpg130listhub
35678469https://www.landsearch.com/properties/shady-grove-rd-jefferson-tx-75657/56784696 Acres of Land for Sale in Jefferson, Texassaleactive3500062026-11-11T00:00:00Zfalse{8 fields}{3 fields}{1 fields}https://cdn.landsearch.com/listings/4XMTN/small/jefferson-tx-183715411.jpghttps://cdn.landsearch.com/listings/4XMTN/large/jefferson-tx-183715411.jpg20listhub

Recorded from our API · 3 items shown · 17 datapoints per itemGET /v1/landsearch/search?location=texas&format=sale&price_max=100000&size_min=5

17 datapoints

Identity

  • idinteger
  • titlestring
  • statusstring

Contact

  • urlurl
  • image_urlurl
  • image_url_largeurl

Location

  • locationobject

Reputation

  • total_imagesinteger

Price

  • priceinteger

Other

  • formatstring
  • size_acresnumber
  • listed_atstring
  • promotedboolean
  • geoobject
  • structureobject
  • total_videosinteger
  • sourcestring

Playground

Run this API

cURLshell
curl "https://api.perceptlayer.com/v1/landsearch/search?location=texas&format=sale&price_max=100000&size_min=5" \
  -H "X-API-Key: $API_KEY"

LandSearch · 8 endpoints

Endpoints

Every endpoint takes the same key. Open one for its parameters and an example request.

EndpointRequired parametersCost
GET/v1/landsearch/autocomplete
q+2 optional
1 credit
GET/v1/landsearch/listing
listing_id
1 credit
GET/v1/landsearch/location
slug
1 credit
GET/v1/landsearch/profile
profile_id
1 credit
GET/v1/landsearch/profile-listings
profile_id+3 optional
1 credit
GET/v1/landsearch/profile-members
profile_id+3 optional
1 credit
GET/v1/landsearch/profiles
none+6 optional
1 credit
GET/v1/landsearch/search
none+21 optional
1 credit

Overview

About the LandSearch API

What you can get

The LandSearch API returns LandSearch land data as JSON through 8 endpoints.

  • Search: search takes a location, with format (sale, lease or auction), type (residential, commercial, agricultural or recreational), tag (waterfront, off-grid, ranch, timberland, cabin, hunting, owner-financing and more), status (pending), keywords, structure, price_min, price_max, size_min, size_max, ppa_min, ppa_max, bedrooms_min, bedrooms_max, bathrooms_min, space_min, space_max, sort (-promoted, -newest, -price, price, -size, size or -updated), page and limit.
  • Listings: listing takes a listing_id.
  • Locations: location takes a slug; autocomplete takes q, with type (locality, subterritory, postal_code or territory) and limit.
  • Profiles: profiles takes a type (agent, lender or service), location and keywords, with sort, page and limit; profile takes a profile_id; profile-listings and profile-members take a profile_id, with sort, page and limit.

The recorded search for Texas (for sale, at least 5 acres, up to 100,000) returns a total of 1,514, with total_pages and has_next. Each item carries id, url, title, format, status, price, size_acres, listed_at, promoted, location, geo, structure, image_url, total_images and total_videos.

How a call works

Search a state: GET /v1/landsearch/search?location=texas&format=sale&price_max=100000&size_min=5 with your key in the X-API-Key header. Each item's id is the listing_id that listing takes, and its location.locality_slug is the kind of slug location takes. Every successful call costs 1 credit; failed calls cost nothing.

Real estateJSONRESTMCP

More real estate APIs

Use cases

Track land prices per acre with `ppa_min` and `ppa_max`

Use the LandSearch API to track land prices per acre with `ppa_min` and `ppa_max`

Find rural, waterfront or off-grid parcels by `tag`

Use the LandSearch API to find rural, waterfront or off-grid parcels by `tag`

Watch land auctions with `format=auction`

Use the LandSearch API to watch land auctions with `format=auction`

Find land with owner financing with `tag=owner-financing`

Use the LandSearch API to find land with owner financing with `tag=owner-financing`

FAQ

Questions

How much does the LandSearch API cost?

Each successful call costs one credit. New accounts get free credits to start, and credit packs bring the price down as you scale.

What format are responses in?

Every endpoint returns JSON, with no HTML parsing on your side.

Do I need a LandSearch account?

No. You call this LandSearch API with your Perceptlayer key in the `X-API-Key` header, with no LandSearch login.

Can I filter by acreage?

Yes. Pass `size_min` and `size_max` to `search`; each item returns its `size_acres`.

Should I build a LandSearch scraper instead?

You can, but a LandSearch scraper is code you maintain: page changes break it, requests get blocked, and LandSearch's terms govern how you collect data. The LandSearch API gives you 8 endpoints of named JSON fields for 1 credit per successful call, and failed calls cost nothing. A scraper makes sense only for data these endpoints don't return, so check the response in the playground on this page first.

Try the LandSearch API with 100 free credits

No credit card. Failed calls are never billed.