Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/rea-group-transactions-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no email required.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
version: '1.0'
title: Properties Transactions API
description: "<div class=\"cta\" style=\"display: flex; justify-content: flex-start; flex-wrap: wrap; margin-top: 0px; margin-bottom: 30px\">\n <div\n style=\"\n text-align: left;\n min-width: 1000px;\n font-family: 'Open Sans', Arial, sans-serif;\n padding: 13px 20px;\n color: rgb(255, 255, 255);\n font-size: 16px;\n line-height: 28px;\n font-weight: 700;\n border-radius: 4px;\n background: #0078BD;\n text-decoration: none;\n margin-right: 20px;\n margin-top: 10px;\n \"\n ><i class=\"fa-solid fa-house\"></i> Properties API</div\n >\n\n- **[Properties/Summary](https://developer.proptrack.com.au/docs/apis/properties/operations/get-a-api-v-2-property-summary): <span style=\"color:#28a745;\">**GET**</span> /api/v2/properties/{propertyId}/summary**</br>Retrieves basic property and listing information about a property, including a single photo and current market status </br>\n- **[Properties/Attributes](https://developer.proptrack.com.au/docs/apis/properties/operations/list-api-v-2-property-attributes): <span style=\"color:#28a745;\">**GET**</span> /api/v2/properties/{propertyId}/attributes**</br>Retrieves comprehensive and up to date property attributes and features for a given property </br>\n- **[Properties/Listings](https://developer.proptrack.com.au/docs/apis/properties/operations/list-api-v-2-property-listings): <span style=\"color:#28a745;\">**GET**</span> /api/v2/properties/{propertyId}/listings**</br>Retrieves current and historic listings for a given property.</br>\n- **[Properties/Planning:](https://developer.proptrack.com.au/docs/apis/properties/operations/list-api-v-2-property-planning) <span style=\"color:#28a745;\">**GET**</span> /api/v2/properties/{propertyId}/planning**</br>Retrieves planning and zoning information for a given property</br>\n- **[Properties/TenureType:](https://developer.proptrack.com.au/docs/apis/properties/operations/list-api-v-2-property-tenure-type) <span style=\"color:#28a745;\">**GET**</span> /api/v2/properties/{propertyId}/tenure-type**</br>Retrieves historical property tenure information for a given property</br>\n- **[Properties/Transactions:](https://developer.proptrack.com.au/docs/apis/properties/operations/list-api-v-2-property-transactions) <span style=\"color:#28a745;\">**GET**</span> /api/v2/properties/{propertyId}/transactions**</br>Retrieves sold transactions for a given property</br>\n\n<div class=\"cta\" style=\"display: flex; justify-content: flex-start; flex-wrap: wrap; margin-top: 0px; margin-bottom: 30px\">\n <div\n style=\"\n text-align: left;\n min-width: 1000px;\n font-family: 'Open Sans', Arial, sans-serif;\n padding: 13px 20px;\n color: rgb(255, 255, 255);\n font-size: 16px;\n line-height: 28px;\n font-weight: 700;\n border-radius: 4px;\n background: #0078BD;\n text-decoration: none;\n margin-right: 20px;\n margin-top: 10px;\n \"\n ><i class=\"fa-solid fa-money-bill-wave\"></i> AVM Valuation API</div\n >\n\n \n- **[Properties/Valuations/Sale](https://developer.proptrack.com.au/docs/apis/properties/operations/create-a-api-v-1-property-valuation-sale): <span style=\"color:#28a745;\">**Post**</span> /api/v1/properties/valuations/sale**</br> Orders a sale valuation from PropTrack's Automated Valuation Model (AVM) for a given address string, either as requestType=enquiry OR requestType=origination</br>\n- **[Properties/Valuations/Sale](https://developer.proptrack.com.au/docs/apis/properties/operations/get-a-api-v-1-property-valuation-sale-request-type-enquiry-or-request-type-origination): <span style=\"color:#28a745;\">**GET**</span> /api/v1/properties/{propertyId}/valuations/sale**</br> Orders a sale valuation from PropTrack's Automated Valuation Model (AVM) for a given property (by propertyId), , either as ?requestType=enquiry OR ?requestType=origination</br>\n- **[Properties/Valuations/Rent](https://developer.proptrack.com.au/docs/apis/properties/operations/get-a-api-v-1-property-valuation-rent-request-type-enquiry-or-request-type-origination): <span style=\"color:#28a745;\">**GET**</span> /api/v1/properties/{propertyId}/valuations/rent?requestType=enquiry OR requestType-origination**</br> Orders an Enquiry Rental valuation from PropTrack's Automated Valuation Model (AVM) for a given property (by propertyId), either as Enquiry or Origination Request Type</br>\n- **[Properties/Valuations/Sale~AVM Plus](https://developer.proptrack.com.au/docs/apis/properties/operations/get-a-api-v-1-property-valuation-sale-request-type-plus): <span style=\"color:#28a745;\">**Post**</span> /api/v1/properties/valuations/sale ~plus**</br> Orders a AVM Plus valuation from PropTrack's Automated Valuation Model (AVM) for a given address string, combines Sale and Rental into a single request</br>\n- **[Properties/Valuations/Sale~AVM Plus](https://developer.proptrack.com.au/docs/apis/properties/operations/get-a-api-v-1-property-valuation-sale-request-type-plus): <span style=\"color:#28a745;\">**GET**</span> /api/v1/properties/{propertyId}/valuations/sale?requestType=plus**</br> Orders a AVM Plus valuation from PropTrack's Automated Valuation Model (AVM) for a given property (by propertyId), combines Sale and Rental into a single request</br>\n- **[Properties/Valuations/Sale~AVM Pro](https://developer.proptrack.com.au/docs/apis/properties/operations/get-a-api-v-1-property-valuation-sale-request-type-pro): <span style=\"color:#28a745;\">**Post**</span> /api/v1/properties/valuations/sale ~pro**</br> Orders a AVM Pro valuation from PropTrack's Automated Valuation Model (AVM) for a given address string, combines Sale, Rental and environment hazards into a single request</br>\n- **[Properties/Valuations/Sale~AVM Pro](https://developer.proptrack.com.au/docs/apis/properties/operations/get-a-api-v-1-property-valuation-sale-request-type-pro): <span style=\"color:#28a745;\">**GET**</span> /api/v1/properties/{propertyId}/valuations/sale?requestType=pro**</br> Orders a AVM Pro valuation from PropTrack's Automated Valuation Model (AVM) for a given property (by propertyId), combines Sale, Rental and environment hazards into a single request</br>\n\n\n\n</br>\n\n<div class=\"section-about\" style=\"margin-top: 40px\">\n <div class=\"page-section__inner\" style=\"margin: 0px auto; max-width: 1250px; -webkit-font-smoothing: antialiased\" >\n <div\n class=\"cards-list\"\n style=\"\n display: flex;\n flex-wrap: wrap;\n justify-content: space-between;\n margin: 20px 0px;\n max-width: 900px;\n padding: px;\n box-sizing: 1px;\n border-box: 1px;\n border-color: black;\n \"\n >\n <div\n class=\"cards-list__item\"\n style=\"\n margin-top: 16px;\n padding: 0px 16px;\n max-width: 250px;\n min-width: 200px;\n margin-bottom: 0px;\n box-sizing: border-box;\n \"\n >\n <div\n class=\"card__thumb\"\n style=\"height: 49px; width: 50px; background-color: #0078BD; border-radius: 4px; padding: 4px; display: flex; align-items: center; justify-content: center;\"\n >\n <i class=\"fa-regular fa-badge-check\" style=\"font-size: 24px; color: #F7F8F9;\"></i>\n </div>\n <div\n class=\"card__title\"\n style=\"\n margin-top: 22px;\n font-family: Graphik, Arial, sans-serif;\n font-size: 24px;\n line-height: 36px;\n font-weight: 700;\n color: rgb(44, 44, 44);\n \"\n >\n Getting Started\n </div>\n <div\n class=\"card__text\"\n style=\"\n margin-top: 8px;\n font-size: 14px;\n line-height: 24px;\n font-family: 'Open Sans', Arial, sans-serif;\n font-weight: 400;\n color: rgb(44, 44, 44);\n \"\n >\n Start your journey\n </div>\n <ul>\n <li>\n <a href=\"https://developer.proptrack.com.au/docs/apis/api-trials\"\n > API Trials</a\n >\n </li>\n <li><a href=\"https://developer.proptrack.com.au/docs/apis/how-to-authenticate\">Authentication</a></li>\n <li>\n <a href=\"https://developer.proptrack.com.au/docs/apis/error-handling\">Error Handling</b></a>\n </li>\n </ul>\n </div>\n <div\n class=\"cards-list__item\"\n style=\"\n margin-top: 16px;\n padding: 0px 16px;\n max-width: 250px;\n min-width: 200px;\n margin-bottom: 0px;\n box-sizing: border-box;\n \"\n >\n <div\n class=\"card__thumb\"\n style=\"height: 49px; width: 50px; background-color: #0078BD; border-radius: 4px; padding: 4px; display: flex; align-items: center; justify-content: center;\"\n >\n <i class=\"fa-regular fa-list\" style=\"font-size: 24px; color: #F7F8F9;\"></i>\n </div>\n <div\n class=\"card__title\"\n style=\"\n margin-top: 22px;\n font-family: Graphik, Arial, sans-serif;\n font-size: 24px;\n line-height: 36px;\n font-weight: 700;\n color: rgb(44, 44, 44);\n \"\n >\n API References\n </div>\n <div\n class=\"card__text\"\n style=\"\n margin-top: 8px;\n font-size: 14px;\n line-height: 24px;\n font-family: 'Open Sans', Arial, sans-serif;\n font-weight: 400;\n color: rgb(44, 44, 44);\n \"\n >\n Explore our knowledge base\n </div>\n <ul>\n <li>\n <a href=\"https://developer.proptrack.com.au/docs/apis/guide\"\n >API Guide</a\n >\n </li>\n <li><a href=\"https://developer.proptrack.com.au/docs/apis/rate-limits\">Rate Limiting</a></li>\n <li>\n <a href=\"https://developer.proptrack.com.au/docs/apis/getting-support\"\n >Getting Support</a\n >\n </li>\n </ul>\n </div>\n <div\n class=\"cards-list__item\"\n style=\"\n margin-top: 16px;\n padding: 0px 16px;\n max-width: 250px;\n min-width: 200px;\n margin-bottom: 0px;\n box-sizing: border-box;\n \"\n >\n <div\n class=\"card__thumb\"\n style=\"height: 49px; width: 50px; background-color: #0078BD; border-radius: 4px; padding: 4px; display: flex; align-items: center; justify-content: center;\"\n >\n <i class=\"fa-regular fa-files\" style=\"font-size: 24px; color: #F7F8F9;\"></i>\n </div>\n <div\n class=\"card__title\"\n style=\"\n margin-top: 22px;\n font-family: Graphik, Arial, sans-serif;\n font-size: 24px;\n line-height: 36px;\n font-weight: 700;\n color: rgb(44, 44, 44);\n \"\n >\n Useful Docs\n </div>\n <div\n class=\"card__text\"\n style=\"\n margin-top: 8px;\n font-size: 14px;\n line-height: 24px;\n font-family: 'Open Sans', Arial, sans-serif;\n font-weight: 400;\n color: rgb(44, 44, 44);\n \"\n >\n Helpful resources\n </div>\n <ul>\n <li>\n <a href=\"https://developer.proptrack.com.au/docs/apis/pagination\">Pagination</a>\n </li>\n <li><a href=\"https://developer.proptrack.com.au/docs/apis/rules-engine\">Rules Engine</a></li>\n <li><a href=\"https://developer.proptrack.com.au/docs/apis/faqs\">FAQs</a></li>\n </ul>\n </div>\n <div\n class=\"cards-list__item\"\n style=\"\n margin-top: 16px;\n padding: 0px 16px;\n max-width: 250px;\n min-width: 200px;\n margin-bottom: 0px;\n box-sizing: border-box;\n \"\n >\n <div\n class=\"card__thumb\"\n style=\"height: 49px; width: 50px; background-color: #0078BD; border-radius: 4px; padding: 4px; display: flex; align-items: center; justify-content: center;\"\n >\n <i class=\"fa-regular fa-tag\" style=\"font-size: 24px; color: #F7F8F9;\"></i></i>\n </div>\n <div\n class=\"card__title\"\n style=\"\n margin-top: 22px;\n font-family: Graphik, Arial, sans-serif;\n font-size: 24px;\n line-height: 36px;\n font-weight: 700;\n color: rgb(44, 44, 44);\n \"\n >\n Get in Touch\n </div>\n <div\n class=\"card__text\"\n style=\"\n margin-top: 8px;\n font-size: 14px;\n line-height: 24px;\n font-family: 'Open Sans', Arial, sans-serif;\n font-weight: 400;\n color: rgb(44, 44, 44);\n \"\n >\n Connect with us\n </div>\n <ul>\n <li><a href=\"https://www.proptrack.com.au/contact-us/sales/\">Contact Sales</a></li>\n <li><a href=\"https://www.proptrack.com.au/support/contact-support/\">Contact Support</a></li>\n </ul>\n </div>\n </div>\n </div>\n</div>"
contact:
email: support@proptrack.com
name: PropTrack Support
servers:
- url: https://data.proptrack.com
description: ''
tags:
- name: Transactions
description: Property Transactions
paths:
/api/v2/properties/{propertyId}/transactions:
get:
tags:
- Transactions
summary: /api/v2/properties/{propertyId}/transactions
description: 'Retrieves sold transactions for a given property.
#### Data Attribution Notice:
This endpoint contains State and Territory data which may be subject to approval by the relevant government department.
Due to licensing agreement requirements, it is necessary to include data disclaimers and PropTrack branding when displaying this data in a user experience or printable output.
<br><br>
Disclaimer Types: `vg`,`serviceAgent`
Please refer to [Disclaimers and Branding](https://developer.proptrack.com.au/docs/apis/disclaimersBranding) for more information on implementing data source disclaimers in your experience.
'
operationId: transactions
parameters:
- name: Authorization
in: header
description: Provide your bearer token as a string, in the format `Bearer {access_token}` in the Authorization Header</br>Refer to [Authentication](https://developer.proptrack.com.au/docs/apis/authentication/operations/create-a-oauth-2-token)
required: true
schema:
type: string
example: Bearer jyJraWQiOiJiYWRmKzUyNC1jYzBkLTQ9YWUtYTAzMC02MjBlYTE3ZDNlZjMiLCJ0eXAiO
default: Bearer {access_token}
- name: latestTransactionOnly
in: query
description: Return the single most recent transaction
schema:
type: boolean
default: false
- name: sourceCategory
in: query
description: Filter the transaction source
schema:
enum:
- vg
- agency
- name: propertyId
in: path
description: Unique identifier for a property</br>Refer to [Obtaining a propertyId](https://developer.proptrack.com.au/docs/apis/guide#obtaining-a-propertyid)
required: true
schema:
type: string
examples:
- '123456789'
responses:
'200':
description: '<!-- theme: success -->
> #### Success (200)'
content:
application/json:
schema:
type: object
x-examples:
Example 1:
propertyId: 123456789
transactions:
- sourceCategory: agency
transactionDate: '2020-09-23'
transferType: partial
saleValue: 580000
listingDetails:
listingId: '123456789'
daysOnMarket: 5
agencyName:
- Bob's Real Estate
- Jenny's Real Estate
agentName:
- Bob Smith
- Jenny Smith
- sourceCategory: vg
contractDate: '2020-09-11'
transactionDate: '2020-09-14'
transferDate: '2020-09-15'
transferType: partial
saleValue: 390000
listingDetails:
listingId: '123456789'
daysOnMarket: 6
agencyName:
- Bob's Real Estate
- Jenny's Real Estate
agentName:
- Bob Smith
- Jenny Smith
- sourceCategory: vg
contractDate: '2020-09-03'
transactionDate: '2020-09-03'
transferDate: '2020-09-05'
transferType: full
saleValue: 330000
listingDetails:
listingId: '123456789'
daysOnMarket: 8
agencyName:
- Bob's Real Estate
- Jenny's Real Estate
agentName:
- Bob Smith
- Jenny Smith
- sourceCategory: agency
transactionDate: '2020-09-01'
transferType: partial
saleValue: 560000
listingDetails:
listingId: '123456789'
daysOnMarket: 3
agencyName:
- Bob's Real Estate
- Jenny's Real Estate
agentName:
- Bob Smith
- Jenny Smith
properties:
propertyId:
type: integer
description: Unique identifier for a property
examples:
- 123456789
transactions:
type: array
items:
type: object
properties:
sourceCategory:
enum:
- vg
- agency
- other
description: Source of transaction event data
examples:
- vg
type: string
transactionDate:
type: string
description: Date associated with the transaction event</br>Format `YYYY-MM-DD`
format: date
examples:
- '2023-01-27'
contractDate:
type: string
description: Date on which the contract for the transaction was signed</br>Format `YYYY-MM-DD`
format: date
examples:
- '2023-01-25'
transferDate:
type: string
description: Date on which ownership is transferred</br>Format `YYYY-MM-DD`
format: date
examples:
- '2023-01-25'
transferType:
enum:
- full
- multi
- partial
- nil
- other
description: Type of transfer</br>Refer to [Transfer Types](https://developer.proptrack.com.au/docs/apis/guide#transfer-types)
examples:
- full
type: string
saleValue:
type: integer
description: 'Price associated with the transaction event</br>
If `"saleValueSuppressed": true`, then this field will return as `undefined`'
examples:
- 1350000
saleValueSuppressed:
type: boolean
x-stoplight:
id: 0zx8itumihsdg
description: Flags if the saleValue has been suppressed
listingDetails:
type: object
properties:
listingId:
type: string
description: Unique identifier for a listing
examples:
- '123456789'
daysOnMarket:
type: integer
description: Number of days the listing was advertised before resulting in a transaction
examples:
- 24
agencyName:
type: array
description: Name of the responsible agency
items:
type: string
examples:
- '"Bob''s Real Estate","Jenny''s Real Estate"'
agentName:
type: array
description: Name of the responsible agent/s
items:
type: string
examples:
- '"Bob Smith","Jenny Smith"'
required:
- transactionDate
required:
- propertyId
examples:
Property with 4 transactions:
value:
propertyId: 123456789
transactions:
- sourceCategory: agency
transactionDate: '2020-09-23'
saleValue: 580000
listingDetails:
listingId: '123456789'
daysOnMarket: 5
agencyName:
- Bob's Real Estate
agentName:
- Bob Smith
- Jenny Smith
- sourceCategory: vg
contractDate: '2020-09-11'
transactionDate: '2020-09-14'
transferDate: '2020-09-15'
transferType: partial
saleValue: 390000
listingDetails:
listingId: '123456789'
daysOnMarket: 6
agencyName:
- Jenny's Real Estate
agentName:
- Bob Smith
- Jenny Smith
- sourceCategory: vg
contractDate: '2020-09-03'
transactionDate: '2020-09-03'
transferDate: '2020-09-05'
transferType: full
saleValue: 330000
listingDetails:
listingId: '123456789'
daysOnMarket: 8
agencyName:
- Bob's Real Estate
agentName:
- Bob Smith
- Jenny Smith
- sourceCategory: agency
transactionDate: '2020-09-01'
saleValue: 560000
listingDetails:
listingId: '123456789'
daysOnMarket: 3
agencyName:
- Jenny's Real Estate
agentName:
- Bob Smith
- Jenny Smith
sourceCategory=vg:
value:
propertyId: 123456789
transactions:
- sourceCategory: vg
contractDate: '2020-09-11'
transactionDate: '2020-09-14'
transferDate: '2020-09-15'
transferType: partial
saleValue: 390000
listingDetails:
listingId: '123456789'
daysOnMarket: 6
agencyName:
- Jenny's Real Estate
agentName:
- Bob Smith
- Jenny Smith
- sourceCategory: vg
contractDate: '2020-09-03'
transactionDate: '2020-09-03'
transferDate: '2020-09-05'
transferType: full
saleValue: 330000
listingDetails:
listingId: '123456789'
daysOnMarket: 8
agencyName:
- Bob's Real Estate
- Jenny's Real Estate
agentName:
- Bob Smith
- Jenny Smith
sourceCategory=agency:
value:
propertyId: 123456789
transactions:
- sourceCategory: agency
transactionDate: '2020-09-23'
saleValue: 580000
listingDetails:
listingId: '123456789'
daysOnMarket: 5
agencyName:
- Bob's Real Estate
agentName:
- Bob Smith
- Jenny Smith
- sourceCategory: agency
transactionDate: '2020-09-01'
saleValue: 560000
listingDetails:
listingId: '123456789'
daysOnMarket: 3
agencyName:
- Bob's Real Estate
agentName:
- Bob Smith
- Jenny Smith
latestTransactionOnly=true:
value:
propertyId: 123456789
transactions:
- sourceCategory: agency
transactionDate: '2020-09-23'
saleValue: 580000
listingDetails:
listingId: '123456789'
daysOnMarket: 5
agencyName:
- Bob's Real Estate
agentName:
- Bob Smith
- Jenny Smith
Property with no transaction events:
value:
propertyId: 123456789
transactions: []
headers:
Content-Type:
schema:
enum:
- application/json
type: string
description: Media type of the resource
X-Transaction-Id:
schema:
type: string
example: bxxe12cb-a6a8-4cad-9a8c-4f1d8abfa0d9
description: Should be quoted as a reference for any support request/unexpected error
'400':
description: '<!-- theme: danger -->
> #### Bad Request (400)
Refer to [Status Codes & Error Handling](https://developer.proptrack.com.au/docs/apis/error-handling#propertiestransactions) for information on error handling.'
content:
application/json:
schema:
type: object
x-examples:
Example 1:
errors:
- code: 0
level: string
description: string
parameters:
propertyId: string
sourceCategory: string
latestTransactionOnly: string
properties:
errors:
type: array
items:
type: object
properties:
code:
enum:
- 7004
- 7007
- 7008
- 7011
description: Defines the type of error that has occurred
type: integer
level:
enum:
- CRITICAL
description: 'Defines the severity of the error</br>Note: If level is `CRITICAL` then a successful response will not be returned'
x-deprecated: true
type: string
description:
type: string
description: Overview of the error that has occurred
examples:
- An incorrect field type has been included - Please ensure that all values are using the correct field type
parameters:
type: object
description: A set of parameters that are causing the error and the rule that was invoked
properties:
propertyId:
type: string
examples:
- must be an integer
sourceCategory:
type: string
examples:
- must only include an allowed value
latestTransactionOnly:
type: string
examples:
- must be boolean
required:
- code
- description
headers:
X-Transaction-Id:
schema:
type: string
example: bxxe12cb-a6a8-4cad-9a8c-4f1d8abfa0d9
description: Should be quoted as a reference for any support request/unexpected error
'401':
description: '<!-- theme: danger -->
> #### Unauthorized (401)
Refer to [Status Codes & Error Handling](https://developer.proptrack.com.au/docs/apis/error-handling#propertiestransactions) for information on error handling.'
content:
application/json:
schema:
type: object
x-examples:
Example 1:
errors:
- code: 9012
level: CRITICAL
description: Authentication token validation has failed - Please ensure that a valid Token Authentication Request has been completed before trying again
properties:
errors:
type: array
items:
type: object
properties:
code:
enum:
# --- truncated at 32 KB (39 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/rea-group/refs/heads/main/openapi/rea-group-transactions-api-openapi.yml