LandFlip APIlandflip.com ↗
Access LandFlip land listings via API. Filter by state, acreage, price, and owner financing. Retrieve full property details, financing terms, and seller info.
What is the LandFlip API?
The LandFlip API provides 2 endpoints for searching and retrieving land listings from LandFlip.com. The search_listings endpoint accepts filters for state, price range, acreage, and owner financing status, returning paginated summaries with per-listing price, acres, seller, and badge data. The get_listing_detail endpoint returns structured financing terms, zoning, terrain, APN, taxes, and full property descriptions for any individual listing ID.
curl -X GET 'https://api.parse.bot/scraper/a21de796-59bb-4c4b-a20d-e679adbc6736/search_listings?page=1&state=Texas&finance=True&max_acres=100&max_price=50000&min_acres=1&min_price=1000' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace landflip-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
from parse_apis.landflip_api import LandFlip, Listing, ListingSummary
client = LandFlip()
# Search for owner-financed land in Texas under $50k
for summary in client.listings.search(state="Texas", finance=True, max_price=50000, min_acres=5):
print(summary.title, summary.location, summary.price, summary.acres)
# Navigate from summary to full detail
full = summary.details()
print(full.description, full.price)
print(full.seller.name, full.seller.company)
print(full.details.owner_will_finance, full.details.estimated_annual_taxes)
print(full.financing.down_payment, full.financing.monthly_payment)
break
# Fetch a specific listing directly by ID
listing = client.listings.get(listing_id="418775")
print(listing.title, listing.price, listing.acres)
print(listing.seller.name, listing.seller.company)
print(listing.details.assessor_parcel_number, listing.details.dirt_road_access)
Search for land listings with filters including owner financing, acreage, price, and US state. Returns paginated results with listing summaries. Paginates by page number. Each listing includes an ID usable with get_listing_detail for full property information.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination. |
| state | string | US state name to filter by (e.g. 'Texas', 'Colorado'). Omitting returns listings from all states. |
| finance | boolean | Filter for owner-financed listings only. |
| max_acres | integer | Maximum acreage filter. |
| max_price | integer | Maximum price in USD. |
| min_acres | integer | Minimum acreage filter. |
| min_price | integer | Minimum price in USD. |
{
"type": "object",
"fields": {
"listings": "array of listing summary objects with id, url, title, location, price, acres, seller, badge",
"total_pages": "integer, total number of pages",
"current_page": "integer, current page number",
"total_results": "integer, total number of matching results"
},
"sample": {
"data": {
"listings": [
{
"id": "418080",
"url": "https://www.landflip.com/land/418080",
"acres": "10 Acres",
"badge": "Showcase",
"price": "$14,900",
"title": "Camp, RV Living & Explore Outdoors",
"seller": "Wide Sky Properties, LLC",
"location": "Salt Flat : Culberson Co : TX"
}
],
"total_pages": 26,
"current_page": 1,
"total_results": 476
},
"status": "success"
}
}About the LandFlip API
Searching Land Listings
The search_listings endpoint accepts up to seven optional filter parameters: state (US state name, e.g. 'Texas'), finance (boolean to restrict to owner-financed listings), min_price / max_price (integer USD bounds), and min_acres / max_acres. Results are paginated; the pagination object in the response reports current_page, total_pages, and total_results. Each entry in the listings array includes the listing id, url, title, location, price, acres, seller, and badge.
Listing Detail Data
Passing a numeric listing_id string (obtained from search results) to get_listing_detail returns the full record for that property. The details object surfaces structured fields such as zoning, terrain type, taxes, and APN. When a listing offers owner financing, the financing object includes down_payment, monthly_payment, term_months, interest_rate, cash_price, and finance_price. The seller object identifies the seller by name and company, and description contains the full property description text.
Coverage and Pagination
Listings span all US states; omitting the state parameter returns results across the full inventory. The page parameter steps through paginated result sets. Financing fields are only populated for listings that advertise owner-financing terms — for cash-only listings, the financing object will not contain parsed term data.
The LandFlip API is a managed, monitored endpoint for landflip.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when landflip.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official landflip.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a land investment screener that filters by state, acreage, and maximum price to surface under-market listings.
- Monitor owner-financed land deals by polling
search_listingswithfinance: trueacross target states. - Aggregate listing counts and average prices by state to produce a rural land market summary.
- Extract APN and zoning data from
get_listing_detailto cross-reference with county parcel records. - Track down-payment and monthly-payment terms across owner-financed listings to model buyer affordability.
- Populate a curated land marketplace by syncing titles, prices, acreage, and seller info from search results.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does LandFlip offer an official developer API?+
What does the `financing` object contain, and when is it populated?+
financing object from get_listing_detail includes down_payment, monthly_payment, term_months, interest_rate, cash_price, and finance_price. For cash-only listings, these fields will not be present. You can pre-filter for financed listings using the finance boolean in search_listings.Does the API return property photos or map coordinates?+
How does pagination work in `search_listings`?+
pagination object in every search_listings response includes current_page, total_pages, and total_results. Pass the integer page parameter to step through result sets. All other filter parameters persist independently of the page value.