Plat Listings API
DocsRequest access

MLS data infrastructure

Every market.One endpoint.

Plat normalizes every MLS feed you are licensed for into one RESO schema, and enforces each market's rules on every request.

Available nowFloridaCaliforniaTexasHigh demand
Plat of Sample AdditionSheet 1 of 1 · 1" = 100'
12345678910123456789101112123456789101112345678910BLOCK ABLOCK BBLOCK CBLOCK DCAPITAL AVENUE60' R.O.W.LYNN STREET50' R.O.W.N 89°58'41" E 308.00'N 89°58'41" E 308.00'S 89°58'41" W 308.00'S 89°58'41" W 308.00'S 00°01'19" E 188.00'S 00°01'19" E 188.00'N 00°01'19" W 188.00'N 00°01'19" W 188.00'N
Point at a lot

Available markets

Florida, California and Texas.

Three of the most in-demand housing markets in the country are available now. Need somewhere else? Name it in your request.

Florida FL

Available nowHigh demand

California CA

Available nowHigh demand

Texas TX

Available nowHigh demand
Another marketName it in your request

The integration tax

The standard is open. Access is not.

RESO publishes the schema but hands out no data. Approval comes from each MLS, credentials come from whichever vendor that MLS runs, and the two are separate errands. In every market.

~500MLS organizations in the United States, each with its own rules.
4major vendor platforms behind those feeds, each with its own credentials.
3licence tiers that expose different fields on the same listing.
1credential and one schema once Plat sits in front of them.

Who it is for

Built for the teams that touch listing data.

Each licence tier unlocks a different product. Plat serves all three from the same endpoint and enforces the difference for you.

IDX · Brokerages

Listing search your compliance team can sign off on.

  • Only the fields your IDX licence allows, on every response
  • Scoped to the markets your brokerage belongs to
  • Radius, polygon and fuzzy address search built in
VOW · Software vendors

Portals and CRMs that show clients the full record.

  • Close prices and history under VOW, withheld under IDX automatically
  • One schema across every market you add
  • Sandbox keys while your licences are pending
BBO · Lenders, investors and analysts

Valuation and underwriting on complete listing history.

  • Every price cut and status change recorded as an event
  • The raw upstream value kept beside every field
  • Comparables by radius or drawn boundary

Product

Everything between the MLS and your app.

Licensing, normalization and serving in one place, so the data layer under your product is something you configure instead of something you maintain.

Listings API

Preview a live query.

OData 4.01 filters over RESO field names, radius and polygon search, and fuzzy matching for half-remembered addresses. This is the production parser, running in your browser against sample listings.

Read the query reference
  • OData 4.01 filters
  • Radius and polygon search
  • Fuzzy address match
  • RESO field names
  • $select, $expand, $orderby
GET/v1/listings/data/Property?$filter=StandardStatus eq 'Active' and geo.distance(Location, geography'POINT(-97.7404 30.2747)') le 5000&$orderby=ListPrice desc&$top=10&$count=true
Response
200 OK9 of 24 sample listings matched
5,000 m1104 W Lynn St, Austin, TX 78703 · $749,0002214 Barton Springs Rd, Austin, TX 78704 · $1,185,0001711 S Congress Ave, Austin, TX 78704 · $525,0001907 Bouldin Ave, Austin, TX 78704 · $689,0004312 Avenue F, Austin, TX 78751 · $895,0001805 Berkman Dr, Austin, TX 78723 · $615,0002508 E Cesar Chavez St, Austin, TX 78702 · $572,0001402 Holly St, Austin, TX 78702 · $499,0007813 Burnet Rd, Austin, TX 78757 · $418,0001206 Justin Ln, Austin, TX 78757 · $639,0002803 Windsor Rd, Austin, TX 78703 · $2,150,0002601 Barton Hills Dr, Austin, TX 78704 · $979,0003415 S Lamar Blvd, Austin, TX 78704 · $459,0005109 Northeast Dr, Austin, TX 78723 · $548,000506 North Loop Blvd, Austin, TX 78751 · $725,0003007 Westlake Dr, West Lake Hills, TX 78746 · $2,495,0001611 Riverside Dr, Austin, TX 78741 · $355,000806 St Johns Ave, Austin, TX 78752 · $435,0002410 Guadalupe St, Austin, TX 78705 · $399,0002004 Manor Rd, Austin, TX 78722 · $675,000
MatchNo match+4 outside view
ListingKeyAddressStatusListPriceBeds
SAMPLE-00022214 Barton Springs RdActive$1,185,0004
SAMPLE-00122601 Barton Hills DrActive$979,0004
SAMPLE-00054312 Avenue FActive$895,0003
SAMPLE-00011104 W Lynn StActive$749,0003
SAMPLE-00072508 E Cesar Chavez StActive$572,0002
SAMPLE-00031711 S Congress AveActive$525,0001
SAMPLE-00133415 S Lamar BlvdActive$459,0001
SAMPLE-00232410 Guadalupe StActive$399,0001
SAMPLE-00211611 Riverside DrActive$355,0001

Sample data: invented listings on real Austin street names. JSON shows the first three rows as an IDX key receives them.

Licence engine

Every licence, enforced.

Whether a field may be shown depends on how it was licensed. Plat resolves that on every request and never returns a field your key does not cover, including on expanded rows.

See the field rules

Internet Data Exchange

Public search and listing pages. Close prices, buyer-side agents and every platform field are withheld.

8 of 15 fields returned for this listing

FieldValueUnder IDX
ListingKeySAMPLE-0008Returned
StandardStatusClosedReturned
UnparsedAddress1402 Holly St, Austin, TX 78702Returned
ListPrice$499,000Returned
ClosePriceWithheld
CloseDateWithheld
ListAgentFullNameJordan LeeReturned
BuyerAgentFullNameWithheld
ListOfficeNameCapitol View PropertiesReturned
BedroomsTotal2Returned
LivingArea960Returned
plat_sourceBBO only
plat_geohashBBO only
plat_ingestedAtBBO only
plat_rawBBO only

Normalization

Built from the feed up.

Feeds disagree about status codes, number formats and which fields exist at all. Plat maps each one to the RESO Data Dictionary and keeps the raw value beside it. A code it cannot map with confidence stays unmapped instead of guessed.

How replication works
Feed A"Active"Active
Feed B"A"Active
Feed C"ACT"Active
Feed D"UC"Active Under Contract
Feed E"Contingent"Active Under Contract
Feed F"PND"Pending
Feed G"Sold"Closed
Feed H"Temp Off Market"Hold
Feed I"C"No safe mapping. Needs a per-source rule.
Pending

How it works

Live in four steps.

You build while the licences clear. Nothing about your integration changes when a market goes live.

  1. 01

    Request access

    Tell us who you are, what you are building and which markets you need. It takes about three minutes.

  2. 02

    Build on the sandbox

    Sandbox keys return invented listings on the production endpoints and schema, so the integration is done before any licence clears.

  3. 03

    We file the paperwork

    Plat prepares the data licence applications for each market you need and follows them through to approval.

  4. 04

    Markets switch on

    As each MLS approves, its listings appear on the same endpoint under the same schema. No code changes.

Request access

Give us the whole picture.

Licensing turns on who you are, which markets you need and what the data will do. Tell us all of it up front and there are fewer round trips between you and live data.

  • Five short steps, about three minutes.
  • Your answers are saved in this browser until you send them.
  • One request per browser, so nothing gets sent twice by accident.
  • A confirmation lands in your inbox as soon as you send.
Step 1 of 5 · You

You

Who we will be talking to.

Every market. One credential.

Build once. Switch markets on as they clear.