Sprift Property API
The Property API from Sprift — 10 operation(s) for property.
The Property API from Sprift — 10 operation(s) for property.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/sprift-property-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
description: ''
version: 1.3.9
title: Sprift Property API
contact: {}
servers:
- url: https://sprift.com/dashboard/api/v1
security:
- auth: []
tags:
- name: Property
paths:
/property/search:
post:
tags:
- Property
summary: Sprift Property Report
description: 'Report types are: <p>1 = Market Appraisal Report / Desktop Research Report</p> <p>2 = Appointment Confirmation</p> <p>3 = Key Facts For Buyers / Key Property Facts </p><p>4 = Property Overview </p> <p>Pages to include are seperated by comma:</p> <p><b>agency</b> : Only For Appointment Confirmation (Report Type 2)</p><p><b>appraisal</b> : Only For Appointment Confirmation (Report Type 2)</p><p><b>helpful_info</b> : Only For Appointment Confirmation (Report Type 2)</p><p><b>toptips</b> : Only For Appointment Confirmation (Report Type 2)</p><p><b>photos</b> : (Report Type 1 and 3)</p><p><b>epc</b> : (Report Type 1 and 3)</p><p><b>titleplans</b> : (Report Type 1 and 3)</p><p><b>schools</b> : (Report Type 1 and 3)</p><p><b>transport</b> : (Report Type 1 and 3)</p><p><b>hpi</b></p><p><b>hpi_estimate</b></p><p><b>floorplans</b> : (Report Type 1 and 3)</p><p><b>about</b></p><p><b>sis</b> : (Report Type 1 and 3)</p><p><b>disclaimer</b> : Only For Key Facts reports (Report Type 3)</p><p><b>testimonials</b></p><p><b>notes</b> : Only For Market Appraisal reports (Report Type 1)</p><p><b>radon</b> : (Report Type 1 and 3)</p><p><b>soils_clay</b> : (Report Type 1 and 3)</p><p><b>masts_and_pylons</b> : (Report Type 1 and 3)</p><p><b>surface_water</b> : (Report Type 1 and 3)</p><p><b>river_seas</b> : (Report Type 1 and 3)</p><p><b>road_noise </b> : (Report Type 1 and 3)</p><p><b>coal_mining</b> : (Report Type 1 and 3)</p><p><b>landfill_sites</b> : (Report Type 1 and 3)</p><p><b>conservation_area</b> : (Report Type 1 and 3)</p><p><b>council_wards</b> : (Report Type 1 and 3)</p><p><b>listed_buildings</b> : (Report Type 1 and 3)</p><p><b>green_belt</b> : (Report Type 1 and 3)</p><p><b>rail_noise</b> : (Report Type 1 and 3)</p><p><b>road_noise</b> : (Report Type 1 and 3)</p>'
operationId: SpriftPropertyReport
parameters:
- name: SPRIFT-API-KEY
in: header
description: Sprift API Key
required: true
schema:
type: string
deprecated: false
responses:
'200':
description: Property Details
content:
application/json:
schema:
$ref: '#/components/schemas/inline_response_200_5'
requestBody:
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
uprn:
type: number
reportType:
type: number
description: If you want to get Sprift Report URL instead of the property data, you have to specify a report Type
reportPage:
type: string
description: If you are requesting the report url instead of data, you should specify which pages you want to include.
userID:
type: number
description: You can send a User ID of which you want to use its details. This parameter can only be used along with reportType option.
pdf:
type: boolean
description: If you want to recieve a download url for the report, you can add this parameter and set its value to true along with reportType parameter.
portal_version:
type: number
description: Suitable for embedding on your portal/websites - anonymised addresses with no door numbers. You need to pass 1 to use portal version.
bedroom:
type: number
description: This parameter allows override the bedroom value when generating the requested property report.
bathroom:
type: number
description: This parameter allows override the bathroom value when generating the requested property report.
required:
- uprn
/property/{propertyID}:
get:
tags:
- Property
summary: Request property details using property ID
operationId: PropertyDetails
parameters:
- name: SPRIFT-API-KEY
in: header
description: Sprift API Key
required: true
schema:
type: string
- name: propertyID
in: path
description: Property ID
required: true
schema:
type: integer
format: int32
deprecated: false
responses:
'200':
description: Property Details
content:
application/json:
schema:
$ref: '#/components/schemas/inline_response_200_5'
/property/{uprn}/tv:
get:
tags:
- Property
summary: Returns TV availability of the property
description: <p>TV availability of the property</p><p>BT, SKY and Virgin</p>
operationId: PropertyDetails-Tv
parameters:
- name: SPRIFT-API-KEY
in: header
description: Sprift API Key
required: true
schema:
type: string
- name: uprn
in: path
description: Property UPRN
required: true
schema:
type: integer
format: int32
deprecated: false
responses:
'200':
description: Tv Availability
content:
application/json:
schema:
$ref: '#/components/schemas/inline_response_200_6'
/property/{propertyID}/maps:
get:
tags:
- Property
summary: Returns property map image, satellite image and street view image.
description: <p>Get property map and satellite with title plan polygon and Google street view images as base64 encoded string.</p> <p>Images are Base64 encoded strings.</p>
operationId: PropertyDetails-Maps
parameters:
- name: SPRIFT-API-KEY
in: header
description: Sprift API Key
required: true
schema:
type: string
- name: propertyID
in: path
description: Property ID
required: true
schema:
type: integer
format: int32
deprecated: false
responses:
'200':
description: Map, Satellite and Street View Images
content:
application/json:
schema:
$ref: '#/components/schemas/inline_response_200_7'
/property/{propertyID}/tpo:
get:
tags:
- Property
summary: Tree Preservation Orders Around the Property
operationId: PropertyDetails-TPO
parameters:
- name: SPRIFT-API-KEY
in: header
description: API Key
required: true
schema:
type: string
- name: propertyID
in: path
description: Property ID
required: true
schema:
type: integer
format: int32
deprecated: false
responses:
'200':
description: Tree Preservation Order List
content:
application/json:
schema:
$ref: '#/components/schemas/inline_response_200_8'
/property/{propertyID}/listedbuildings:
get:
tags:
- Property
summary: Listed Buildings Around the Property
operationId: PropertyDetails-LB
parameters:
- name: SPRIFT-API-KEY
in: header
description: API Key
required: true
schema:
type: string
- name: propertyID
in: path
description: Property ID
required: true
schema:
type: integer
format: int32
deprecated: false
responses:
'200':
description: Listed Buildings List
content:
application/json:
schema:
$ref: '#/components/schemas/inline_response_200_9'
/property/{propertyID}/recentlysold:
get:
tags:
- Property
summary: Property Details - Recently Sold Properties
operationId: PropertyDetails-RS
parameters:
- name: SPRIFT-API-KEY
in: header
description: API Key
required: true
schema:
type: string
- name: propertyID
in: path
description: Property ID
required: true
schema:
type: integer
format: int32
- name: userID
in: query
description: ''
required: false
schema:
type: integer
format: int32
- name: bedroom
in: query
description: Bedroom numbers seperated by comma. 1,2,3,4,5,6(for greater than 5)
required: false
schema:
type: string
- name: type
in: query
description: Property types seperated by comma. Flat,Detached,Semi-Detached,Terraced,Other
required: false
schema:
type: string
- name: price1
in: query
description: 'Minimum price. Ex: 300000'
required: false
schema:
type: integer
- name: price2
in: query
description: 'Maximum price. Ex: 500000'
required: false
schema:
type: integer
- name: searchDistance
in: query
description: 'Search radius. Accepted values are : "0","0.25", "0.50", "1","2","3", "5","10"'
required: false
schema:
type: number
- name: searchDate
in: query
description: 'Properties sold in. Accepted values: "6","12","18","24","36","36+"'
required: false
schema:
type: number
- name: sort
in: query
description: 'Sorts results. "1: Price (asc)", "2: Price (desc)" , "3 : Distance (asc)"'
required: false
schema:
type: number
deprecated: false
responses:
'200':
description: Recently sold property list
content:
application/json:
schema:
$ref: '#/components/schemas/inline_response_200_10'
/property/{propertyID}/currentlyforsale:
get:
tags:
- Property
summary: Property Details - CFS-UO
operationId: PropertyDetails-CFS-UO
parameters:
- name: SPRIFT-API-KEY
in: header
description: ''
required: true
schema:
type: string
- name: propertyID
in: path
description: ''
required: true
schema:
type: integer
format: int32
- name: bedroom
in: query
description: Bedroom numbers seperated by comma. 1,2,3,4,5,6(for greater than 5)
required: false
schema:
type: string
- name: type
in: query
description: Property types seperated by comma. Flat,Detached,Semi-Detached,Terraced,Other
required: false
schema:
type: string
- name: price1
in: query
description: 'Minimum price. Ex: 300000'
required: false
schema:
type: integer
- name: price2
in: query
description: 'Maximum price. Ex: 500000'
required: false
schema:
type: integer
- name: searchDistance
in: query
description: 'Search radius. Accepted values are : "0","0.25", "0.50", "1","2","3", "5","10"'
required: false
schema:
type: number
- name: sort
in: query
description: 'Sorts results. "1: Price (asc)", "2: Price (desc)" , "3 : Distance (asc)"'
required: false
schema:
type: number
deprecated: false
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/inline_response_200_11'
/property/{uprn}/{status}:
get:
tags:
- Property
summary: Property Details - Comparables (Unified)
description: 'Returns comparable properties near the target property. `status` selects the listing category — sales: `available`, `sstc`, `forsalewithdrawn`, `soldwithdrawn`; lettings: `tolet`, `letagreed`, `letagreedwithdrawn`, `letwithdrawn`. Price, bedroom, property-type, distance and sort filters behave the same as on /currentlyforsale and /recentlysold.'
operationId: PropertyDetails-Comparables
parameters:
- name: SPRIFT-API-KEY
in: header
required: true
schema:
type: string
- name: uprn
in: path
description: Unique Property Reference Number
required: true
schema:
type: integer
- name: status
in: path
required: true
description: 'Listing status to filter by. Sales: `available` (currently listed for sale), `sstc` (sold subject to contract — sale agreed but not completed), `forsalewithdrawn` (was listed for sale, then withdrawn without a sale), `soldwithdrawn` (was listed for sale, went SSTC, then withdrawn from portal after sale completed). Lettings: `tolet` (currently listed to let), `letagreed` (tenant agreed), `letagreedwithdrawn` (was let agreed, then withdrawn), `letwithdrawn` (was listed to let, then withdrawn without agreement).'
schema:
type: string
enum:
- available
- sstc
- forsalewithdrawn
- soldwithdrawn
- tolet
- letagreed
- letagreedwithdrawn
- letwithdrawn
- name: bedroom
in: query
required: false
schema:
type: string
- name: type
in: query
description: Property types seperated by comma. Flat,Detached,Semi-Detached,Terraced,Other
required: false
schema:
type: string
- name: price1
in: query
required: false
schema:
type: integer
- name: price2
in: query
required: false
schema:
type: integer
- name: searchDistance
in: query
description: Search radius in miles (default 0.5)
required: false
schema:
type: number
- name: sort
in: query
description: '1: Price asc, 2: Price desc, 3: Distance asc'
required: false
schema:
type: number
- name: limit
in: query
description: Maximum number of results to return. Default 30, max 100.
required: false
schema:
type: integer
- name: days
in: query
description: Only return listings from the last N days. Omit for all time.
required: false
schema:
type: integer
- name: newBuild
in: query
description: Set to 1 to return new-build properties only.
required: false
schema:
type: string
- name: bungalow
in: query
description: Set to 1 to return bungalows only.
required: false
schema:
type: string
deprecated: false
responses:
'200':
description: Comparables list
content:
application/json:
schema:
$ref: '#/components/schemas/inline_response_200_comparables'
'400':
description: Unknown comparable type
/property/{uprn}/materialinformation:
get:
tags:
- Property
summary: Property Details - Material Information
operationId: PropertyDetails-MaterialInformation
parameters:
- name: SPRIFT-API-KEY
in: header
description: ''
required: true
schema:
type: string
- name: uprn
in: path
description: Property UPRN
required: true
schema:
type: integer
format: int32
deprecated: false
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/inline_response_200_13'
components:
schemas:
inline_response_200_1_materialinformation:
type: object
properties:
uprn:
type: integer
description: Unique Property Reference Number
A:
$ref: '#/components/schemas/inline_response_200_1_materialinformation_financialtenure'
B:
$ref: '#/components/schemas/inline_response_200_1_materialinformation_physicalcharacteristics'
C:
$ref: '#/components/schemas/inline_response_200_1_materialinformation_environmentalplanning'
inline_response_200_5_mobile_coverage_data:
type: object
properties:
EEIndoor:
type: number
3Indoor:
type: number
O2Indoor:
type: number
VOIndoor:
type: number
inline_response_200_5_nearby_schools:
type: object
properties:
name:
type: string
ofsted_rating:
type: string
pupils:
type: number
distance:
type: number
latitude:
type: number
longitude:
type: number
school_type:
$ref: '#/components/schemas/inline_response_200_5_school_type'
inline_response_200_9:
type: object
properties:
status:
type: boolean
listed_buildings:
type: array
items:
$ref: '#/components/schemas/inline_response_200_9_listed_buildings'
inline_response_200_5_street_view_pov:
type: object
properties:
lat:
type: string
lng:
type: string
heading:
type: number
pitch:
type: number
zoom:
type: number
description: Google Street View Correction
inline_response_200_8_tpo:
type: object
properties:
latitude:
type: number
longitude:
type: number
species:
type: string
order:
type: string
polygon:
type: array
items:
type: array
items:
type: array
items:
type: number
description: TPO Data
inline_response_200_7:
type: object
properties:
status:
type: boolean
propertyMapWithPolygon:
type: string
propertySatelliteImage:
type: string
propertyStreetViewImage:
type: string
inline_response_200_5_epc:
type: object
properties:
message:
type: string
epc_address:
type: string
property_id:
type: integer
epc_total_floor_area:
type: string
epc_current_energy_efficiency:
type: string
epc_potential_energy_efficiency:
type: string
epc_current_energy_rating:
type: string
epc_potential_energy_rating:
type: string
epc_certificate_number:
type: string
epc_update_date:
type: string
epc_current_energy_efficiency_category:
type: string
epc_potential_energy_efficiency_category:
type: string
epc_first_page_report_image:
type: string
description: EPC image url
epc_file_date:
type: string
description: EPC date of issue
inline_response_200_2_materialinformation_immediate_proximity:
type: object
properties:
date:
type: string
description: Application date in ISO 8601 format
area_name:
type: string
description: Local authority area name
proposal:
type: string
description: Planning proposal description
uprn:
type: string
description: UPRN of the application property
property_address:
type: string
description: Address of the application property
latitude:
type: number
description: Latitude coordinate
application_number:
type: string
description: Planning application reference number
longitude:
type: number
description: Longitude coordinate
status:
type: string
description: Application status
inline_response_200_11_comparables:
type: object
properties:
status:
type: integer
property_type_description:
type: string
classification_codes:
type: string
additional_params:
type: string
properties:
type: array
items:
$ref: '#/components/schemas/inline_response_200_11_comparables_properties'
inline_response_200_6:
type: object
properties:
bt:
type: boolean
sky:
type: boolean
virgin:
type: string
inline_response_200_5_councilTax:
type: object
properties:
property_id:
type: string
council_tax_band:
type: string
council_tax_monthly_cost:
type: string
council_tax_annual_cost:
type: string
council_tax_update_date:
type: string
inline_response_200_9_listed_buildings:
type: object
properties:
latitude:
type: number
longitude:
type: number
name:
type: string
grade:
type: string
listed:
type: string
description: Listed Building Data
inline_response_200_5:
type: object
properties:
status:
type: boolean
propertyDetails:
$ref: '#/components/schemas/inline_response_200_5_propertyDetails'
floodRisk:
$ref: '#/components/schemas/inline_response_200_5_floodRisk'
coastal_erosion:
type: string
estimatedPrice:
type: string
rentalEstimate:
type: string
yield:
type: string
landRegistry:
$ref: '#/components/schemas/inline_response_200_5_landRegistry'
propertyValue:
type: string
poundPerSquareFoot:
type: string
poundPerSquareFootCurrent:
type: string
isInteriorUpdated:
type: boolean
interior:
$ref: '#/components/schemas/inline_response_200_5_interior'
councilTax:
$ref: '#/components/schemas/inline_response_200_5_councilTax'
epc:
$ref: '#/components/schemas/inline_response_200_5_epc'
propertyDefaultImage:
type: string
description: 'Return default image url. If there is no image, return street view url. '
propertyImages:
type: array
description: Property images
items:
$ref: '#/components/schemas/inline_response_200_5_propertyImages'
street_view_pov:
$ref: '#/components/schemas/inline_response_200_5_street_view_pov'
propertyPolygon:
$ref: '#/components/schemas/inline_response_200_5_propertyPolygon'
nearby_schools:
type: array
description: Nearby Schools
items:
$ref: '#/components/schemas/inline_response_200_5_nearby_schools'
nearby_transport:
$ref: '#/components/schemas/inline_response_200_5_nearby_transport'
broadband_speeds:
$ref: '#/components/schemas/inline_response_200_5_broadband_speeds'
mobile_coverage:
$ref: '#/components/schemas/inline_response_200_5_mobile_coverage'
inline_response_200_11_comparables_propertyImages_images:
type: object
properties:
srcUrl:
type: string
srcsetUrl:
type: string
url:
type: string
inline_response_200_13:
type: object
properties:
status:
type: boolean
example: true
description: Status of the API request
data:
$ref: '#/components/schemas/inline_response_200_1_materialinformation'
inline_response_200_11_comparables_location:
type: object
properties:
latitude:
type: number
longitude:
type: number
inline_response_200_5_propertyPolygon:
type: object
properties:
nearby:
type: object
example: []
description: Nearby property polygon data. Not in use.
properties: {}
property:
$ref: '#/components/schemas/inline_response_200_5_propertyPolygon_property'
description: Property land registry area polygon data.
inline_response_200_5_floodRisk:
type: object
properties:
rivers_seas:
type: string
surface_water:
type: string
inline_response_200_5_propertyPolygon_property:
type: object
properties:
uprn:
type: string
poly_id:
type: string
poly:
type: array
items:
type: array
items:
type: array
items:
type: number
area:
type: number
lrtn:
type: string
tenure:
type: string
basic:
type: boolean
selected:
type: boolean
description: Property polygon data
inline_response_200_1_materialinformation_financialtenure:
type: object
description: Financial and Tenure Information
properties:
rent_frequency:
type:
- string
- 'null'
description: Frequency of rent payment
price_qualifier:
type:
- string
- 'null'
description: Price qualifier abbreviation
tenure_l_f:
type:
- string
- 'null'
description: Tenure type (Leasehold/Freehold)
lease_term_remaining:
type:
- integer
- 'null'
description: Remaining lease term in years
counciltax:
type:
- string
- 'null'
description: Council tax band
valuation_filter:
type:
- integer
- 'null'
description: Property valuation amount
price_per_sqft:
type:
- number
- 'null'
description: Price per square foot
ground_rent:
type:
- number
- 'null'
description: Annual ground rent amount
ground_rent_review_period:
type:
- string
- 'null'
description: Ground rent review period
service_charge:
type:
- number
- 'null'
description: Annual service charge amount
security_deposit:
type:
- number
- 'null'
description: Security deposit amount
inline_response_200_1_materialinformation_physicalcharacteristics:
type: object
description: Physical Property Characteristics
properties:
property_description:
type:
- string
- 'null'
description: Detailed property description
construction_type:
type:
- string
- 'null'
description: Type of construction
radon_risk:
type:
- string
- 'null'
description: Radon risk percentage range
mainheat_description:
type:
- string
- 'null'
description: Main heating system description
property_type_basic:
type:
- string
- 'null'
description: Basic property type classification
floorplan_filenames:
type: array
description: Array of floorplan image URLs
items:
type: string
format: uri
propertyimage_filenames:
type: array
description: Array of property image URLs
items:
type: string
format: uri
plot_size:
type:
- number
- 'null'
description: Plot size in acres
total_floor_area_sqft:
type:
- integer
- 'null'
description: Total floor area in square feet
floor_level:
type:
- integer
- 'null'
description: Floor level for flats/apartments
above_commercial_premises:
type:
- string
- 'null'
description: Indicates if property is above commercial premises
non_standard_construction_flag:
type:
- string
- 'null'
description: Indicates non-standard construction
parking_description:
type:
- string
- 'null'
description: Parking arrangement description
cost_to_park:
type:
- number
- 'null'
description: Cost of parking
parking_proximity:
type:
- string
- 'null'
description: Proximity of parking to property
bedrooms:
type:
- integer
- 'null'
description: Number of bedrooms
bathrooms:
type:
- integer
- 'null'
description: Number of bathrooms
inline_response_200_comparables:
type: object
properties:
status:
type: boolean
category:
type: string
enum:
- SALE
- LETTINGS
type:
type: array
description: The listing-status values that were queried against OpenSearch for the requested type.
items:
type: string
properties:
type: array
items:
$ref: '#/components/schemas/inline_response_200_comparables_item'
inline_response_200_10:
type: object
properties:
status:
type: boolean
sold_properties:
type: array
items:
$ref: '#/components/schemas/inline_response_200_10_sold_properties'
inline_response_200_2_materialinformation_planningapplication:
type: object
properties:
application_number:
type: string
description: Planning application reference number
proposal:
type: string
description: Planning proposal description
status:
type: string
description: Application status
date:
type: string
description: Application date in ISO 8601 format
inline_response_200_5_broadband_speeds:
type: object
properties:
result:
type: string
data:
$ref: '#/components/schemas/inline_response_200_5_broadband_speeds_data'
inline_response_200_5_broadband_speeds_data:
type: object
properties:
basicDown:
type: number
basicUp:
type: number
superDown:
type: number
superUp:
type: number
ultraDown:
type: number
ultraUp:
type: number
inline_response_200_5_nearby_transport_Local_Connections_elements:
type: object
properties:
name:
type: string
latitude:
type: number
longitude:
type: number
distance:
type: number
metres:
type: number
distanceInMiles:
type: number
inline_response_200_5_interior:
type: object
properties:
bedroom:
type: string
bathroom:
type: string
reception:
type: string
separateWc:
type: string
dining:
type: string
outsideSpace:
type: string
parking:
type: string
kitchenUtility:
type: string
inline_response_200_10_sold_properties:
type: object
properties:
property_id:
type: number
tenure:
type: string
full_address:
type: string
price:
type: number
date_sold:
type: string
type:
type: st
# --- truncated at 32 KB (51 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/sprift/refs/heads/main/openapi/sprift-property-api-openapi.yml