https://www.brainiac.software/api/v1/property-intelligence/overview$0.05 USDCProperty overview
Retrieve available planning and heritage information for a property using UPRN, coordinates, or postcode.
Body
| Field | Required | Notes |
|---|---|---|
uprn | No | string |
latitude | No | number |
longitude | No | number |
postcode | No | string |
Request exampleJSON
{
"uprn": "10008315764"
}Response exampleJSON
{
"retrievedAt": "2026-10-29T12:00:00.000Z",
"overview": {
"input": {
"uprn": "10008315764"
},
"totalEntities": 3,
"byDataset": {
"conservation-area": [
{
"name": "Trafalgar Square",
"dataset": "conservation-area",
"reference": "CONARA/1300",
"start-date": "2008-02-21",
"point": "POINT (-0.126727 51.508303)"
}
],
"listed-building": [
{
"name": "10 Downing Street",
"dataset": "listed-building",
"reference": "123456",
"start-date": "1970-01-01",
"listed_building_grade": "Grade I",
"point": "POINT (-0.1276 51.5031)"
}
]
}
},
"sources": [
{
"source": "Planning Data API",
"url": "https://www.planning.data.gov.uk/entity.json",
"retrievedAt": "2026-10-29T12:00:00.000Z"
}
],
"limitations": [
"Data coverage varies by local planning authority.",
"An absence of results does not mean no constraints exist.",
"UPRN queries are more precise than coordinates for registered properties."
]
}cURL
curl -i -X POST "https://www.brainiac.software/api/v1/property-intelligence/overview" \
-H 'content-type: application/json' \
-H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
--data-binary @- <<'JSON'
{
"uprn": "10008315764"
}
JSONhttps://www.brainiac.software/api/v1/property-intelligence/constraints/check$0.05 USDCCheck planning constraints
Check specific planning constraints (conservation areas, listed buildings, flood risk, etc.) for a location.
Body
| Field | Required | Notes |
|---|---|---|
uprn | No | string |
latitude | No | number |
longitude | No | number |
datasets | No | array; Array |
Request exampleJSON
{
"latitude": 51.5074,
"longitude": -0.1278
}Response exampleJSON
{
"retrievedAt": "2026-10-29T12:00:00.000Z",
"constraints": {
"input": {
"latitude": 51.5074,
"longitude": -0.1278
},
"datasetsQueried": [
"conservation-area",
"listed-building",
"green-belt",
"flood-risk-zone"
],
"totalConstraints": 2,
"constraints": [
{
"name": "Trafalgar Square",
"dataset": "conservation-area",
"reference": "CONARA/1300",
"startDate": "2008-02-21",
"documentUrl": "https://www.westminster.gov.uk/media/document/trafalgar-square-conservation-area-audit-spg",
"point": "POINT (-0.126727 51.508303)"
},
{
"name": "10 Downing Street",
"dataset": "listed-building",
"reference": "123456",
"startDate": "1970-01-01",
"documentUrl": "https://historicengland.org.uk/listing/the-list/list-entry/123456",
"point": "POINT (-0.1276 51.5031)",
"listedBuildingGrade": "Grade I"
}
]
},
"sources": [
{
"source": "Planning Data API",
"url": "https://www.planning.data.gov.uk/entity.json",
"retrievedAt": "2026-10-29T12:00:00.000Z"
}
],
"limitations": [
"Data coverage varies by local planning authority.",
"An absence of results does not mean no constraints exist.",
"UPRN queries are more precise than coordinates for registered properties."
]
}cURL
curl -i -X POST "https://www.brainiac.software/api/v1/property-intelligence/constraints/check" \
-H 'content-type: application/json' \
-H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
--data-binary @- <<'JSON'
{
"latitude": 51.5074,
"longitude": -0.1278
}
JSONhttps://www.brainiac.software/api/v1/property-intelligence/planning/search$0.05 USDCSearch planning applications
Search planning applications by local planning authority, date range, or other filters.
Body
| Field | Required | Notes |
|---|---|---|
localPlanningAuthority | No | string |
startDateYear | No | integer |
startDateMonth | No | integer |
startDateDay | No | integer |
startDateMatch | No | string; One of: since, on, before |
limit | Yes | integer; Default: 50 |
offset | Yes | integer; Default: 0 |
Request exampleJSON
{
"startDateYear": 2025,
"startDateMonth": 5,
"startDateDay": 1,
"startDateMatch": "since",
"limit": 50
}Response exampleJSON
{
"retrievedAt": "2026-10-29T12:00:00.000Z",
"applications": {
"filters": {
"localPlanningAuthority": null,
"startDate": "2025-5-1",
"startDateMatch": "since"
},
"totalApplications": 50,
"limit": 50,
"offset": 0,
"applications": [
{
"name": "Erection of two-storey rear extension",
"reference": "APP/2025/00123",
"dataset": "planning-application",
"startDate": "2025-05-15",
"address": "123 Main Street, London",
"point": "POINT (-0.1278 51.5074)"
}
]
},
"sources": [
{
"source": "Planning Data API",
"url": "https://www.planning.data.gov.uk/entity.json",
"retrievedAt": "2026-10-29T12:00:00.000Z"
}
],
"limitations": [
"Planning applications data is still subject to development and coverage limitations.",
"Local planning authorities are not currently required to share application data to this specification.",
"Do not claim complete coverage of planning applications."
]
}cURL
curl -i -X POST "https://www.brainiac.software/api/v1/property-intelligence/planning/search" \
-H 'content-type: application/json' \
-H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
--data-binary @- <<'JSON'
{
"startDateYear": 2025,
"startDateMonth": 5,
"startDateDay": 1,
"startDateMatch": "since",
"limit": 50
}
JSONhttps://www.brainiac.software/api/v1/property-intelligence/site/report$0.10 USDCGenerate site report
Generate a comprehensive site report combining constraints, brownfield land, and planning applications.
Body
| Field | Required | Notes |
|---|---|---|
uprn | No | string |
latitude | No | number |
longitude | No | number |
postcode | No | string |
includeBrownfield | Yes | boolean; Default: true |
includePlanningApplications | Yes | boolean; Default: true |
Request exampleJSON
{
"uprn": "10008315764",
"includeBrownfield": true,
"includePlanningApplications": true
}Response exampleJSON
{
"retrievedAt": "2026-10-29T12:00:00.000Z",
"report": {
"input": {
"uprn": "10008315764"
},
"totalEntities": 15,
"byDataset": {
"conservation-area": [
{
"name": "Trafalgar Square",
"dataset": "conservation-area"
}
],
"listed-building": [
{
"name": "10 Downing Street",
"dataset": "listed-building"
}
],
"brownfield-land": [
{
"name": "Former Industrial Site",
"dataset": "brownfield-land"
}
],
"planning-application": [
{
"name": "New Development",
"dataset": "planning-application"
}
]
},
"summary": {
"constraints": 2,
"brownfieldSites": 1,
"planningApplications": 12
}
},
"sources": [
{
"source": "Planning Data API",
"url": "https://www.planning.data.gov.uk/entity.json",
"retrievedAt": "2026-10-29T12:00:00.000Z"
}
],
"limitations": [
"Data coverage varies by local planning authority.",
"An absence of results does not mean no constraints exist.",
"Planning applications data is still subject to development and coverage limitations.",
"Do not claim complete coverage of planning applications.",
"Brownfield land coverage varies by local planning authority data sharing."
]
}cURL
curl -i -X POST "https://www.brainiac.software/api/v1/property-intelligence/site/report" \
-H 'content-type: application/json' \
-H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
--data-binary @- <<'JSON'
{
"uprn": "10008315764",
"includeBrownfield": true,
"includePlanningApplications": true
}
JSONhttps://www.brainiac.software/api/v1/property-intelligence/listing-extract$0.05 USDCExtract a listing
Read price, rent, address, and room counts from caller-supplied listing text or one public listing page. Missing figures stay blank.
Body
| Field | Required | Notes |
|---|---|---|
url | No | string |
title | No | string |
description | No | string |
text | No | string |
address | No | string |
price | No | number |
currency | No | string |
rent | No | number |
rentPeriod | No | string; One of: month, year |
bedrooms | No | integer |
bathrooms | No | number |
floorAreaSqm | No | number |
propertyType | No | string |
latitude | No | number |
longitude | No | number |
annualCosts | No | number |
deposit | No | number |
mortgageRate | No | number |
Request exampleJSON
{
"text": "Title: Dock Street flat\nAddress: 12 Dock Street, London\nProperty type: Flat\nPrice: £250,000\nRent: £1,000 pcm\nA 2 bedroom, 1 bathroom flat of 55 sqm with a garden and parking.\nStunning location."
}Response exampleJSON
{
"checkedAt": "2026-11-02T19:00:00.000Z",
"officialValuation": false,
"url": "",
"fields": [
{
"name": "title",
"value": "Dock Street flat",
"source": "listing"
},
{
"name": "address",
"value": "12 Dock Street, London",
"source": "listing"
},
{
"name": "propertyType",
"value": "Flat",
"source": "listing"
},
{
"name": "price",
"value": "250000",
"source": "listing"
},
{
"name": "currency",
"value": "GBP",
"source": "listing"
},
{
"name": "rent",
"value": "1000",
"source": "listing"
},
{
"name": "rentPeriod",
"value": "month",
"source": "listing"
},
{
"name": "bedrooms",
"value": "2",
"source": "listing"
},
{
"name": "bathrooms",
"value": "1",
"source": "listing"
},
{
"name": "floorAreaSqm",
"value": "55",
"source": "listing"
}
],
"findings": [],
"limitations": [
"This is not an official valuation.",
"Prices, rents, and yields are calculated only from figures supplied in the request or printed on the fetched page.",
"Crime statistics, planning permissions, and ownership were not checked.",
"OpenStreetMap results are nearby map features, not a statement about the property."
]
}cURL
curl -i -X POST "https://www.brainiac.software/api/v1/property-intelligence/listing-extract" \
-H 'content-type: application/json' \
-H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
--data-binary @- <<'JSON'
{
"text": "Title: Dock Street flat\nAddress: 12 Dock Street, London\nProperty type: Flat\nPrice: £250,000\nRent: £1,000 pcm\nA 2 bedroom, 1 bathroom flat of 55 sqm with a garden and parking.\nStunning location."
}
JSONhttps://www.brainiac.software/api/v1/property-intelligence/details-normalize$0.03 USDCNormalize listing details
Return one listing record from supplied fields or printed text. A supplied value is kept when it conflicts with the printed value.
Body
| Field | Required | Notes |
|---|---|---|
url | No | string |
title | No | string |
description | No | string |
text | No | string |
address | No | string |
price | No | number |
currency | No | string |
rent | No | number |
rentPeriod | No | string; One of: month, year |
bedrooms | No | integer |
bathrooms | No | number |
floorAreaSqm | No | number |
propertyType | No | string |
latitude | No | number |
longitude | No | number |
annualCosts | No | number |
deposit | No | number |
mortgageRate | No | number |
Request exampleJSON
{
"title": "Dock Street flat",
"address": "12 Dock Street, London",
"price": 250000,
"currency": "GBP",
"rent": 1000,
"rentPeriod": "month",
"bedrooms": 2,
"bathrooms": 1,
"floorAreaSqm": 55,
"propertyType": "Flat"
}Response exampleJSON
{
"checkedAt": "2026-11-02T19:00:00.000Z",
"officialValuation": false,
"url": "",
"title": "Dock Street flat",
"address": "12 Dock Street, London",
"propertyType": "Flat",
"price": 250000,
"currency": "GBP",
"rent": 1000,
"rentPeriod": "month",
"bedrooms": 2,
"bathrooms": 1,
"floorAreaSqm": 55,
"latitude": null,
"longitude": null,
"fields": [
{
"name": "title",
"value": "Dock Street flat",
"source": "caller"
},
{
"name": "address",
"value": "12 Dock Street, London",
"source": "caller"
},
{
"name": "propertyType",
"value": "Flat",
"source": "caller"
},
{
"name": "price",
"value": "250000",
"source": "caller"
},
{
"name": "currency",
"value": "GBP",
"source": "caller"
},
{
"name": "rent",
"value": "1000",
"source": "caller"
},
{
"name": "rentPeriod",
"value": "month",
"source": "caller"
},
{
"name": "bedrooms",
"value": "2",
"source": "caller"
},
{
"name": "bathrooms",
"value": "1",
"source": "caller"
},
{
"name": "floorAreaSqm",
"value": "55",
"source": "caller"
}
],
"findings": [],
"limitations": [
"This is not an official valuation.",
"Prices, rents, and yields are calculated only from figures supplied in the request or printed on the fetched page.",
"Crime statistics, planning permissions, and ownership were not checked.",
"OpenStreetMap results are nearby map features, not a statement about the property."
]
}cURL
curl -i -X POST "https://www.brainiac.software/api/v1/property-intelligence/details-normalize" \
-H 'content-type: application/json' \
-H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
--data-binary @- <<'JSON'
{
"title": "Dock Street flat",
"address": "12 Dock Street, London",
"price": 250000,
"currency": "GBP",
"rent": 1000,
"rentPeriod": "month",
"bedrooms": 2,
"bathrooms": 1,
"floorAreaSqm": 55,
"propertyType": "Flat"
}
JSONhttps://www.brainiac.software/api/v1/property-intelligence/description-analyze$0.03 USDCAnalyze a listing description
List bedrooms, area, amenities, and marketing phrases only where those words are printed. Marketing words are not a quality score.
Body
| Field | Required | Notes |
|---|---|---|
description | Yes | string |
Request exampleJSON
{
"description": "A 2 bedroom, 1 bathroom flat of 55 sqm with a garden and parking. Stunning location."
}Response exampleJSON
{
"checkedAt": "2026-11-02T19:00:00.000Z",
"officialValuation": false,
"bedrooms": 2,
"bathrooms": 1,
"floorAreaSqm": 55,
"amenities": [
"garden",
"parking"
],
"marketingPhrases": [
"stunning"
],
"findings": [
{
"kind": "observed",
"code": "description_only",
"detail": "Bedrooms, bathrooms, area, and amenities are reported only where those words are printed. Marketing words are not a quality score."
}
],
"limitations": [
"This is not an official valuation.",
"Prices, rents, and yields are calculated only from figures supplied in the request or printed on the fetched page.",
"Crime statistics, planning permissions, and ownership were not checked.",
"OpenStreetMap results are nearby map features, not a statement about the property."
]
}cURL
curl -i -X POST "https://www.brainiac.software/api/v1/property-intelligence/description-analyze" \
-H 'content-type: application/json' \
-H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
--data-binary @- <<'JSON'
{
"description": "A 2 bedroom, 1 bathroom flat of 55 sqm with a garden and parking. Stunning location."
}
JSONhttps://www.brainiac.software/api/v1/property-intelligence/area-context$0.04 USDCRead area context
Look up the OpenStreetMap place for a supplied address or coordinates. Planning, crime, ownership, and valuation stay unavailable.
Body
| Field | Required | Notes |
|---|---|---|
address | No | string |
latitude | No | number |
longitude | No | number |
Request exampleJSON
{
"latitude": 51.5074,
"longitude": -0.1278
}Response exampleJSON
{
"checkedAt": "2026-11-02T19:00:00.000Z",
"officialValuation": false,
"status": "observed",
"displayName": "Mileage Central Point of London Plaque, Charing Cross, Westminster, Covent Garden, City of Westminster, Greater London, England, WC2N 5DU, United Kingdom",
"locality": "Covent Garden",
"city": "City of Westminster",
"postcode": "WC2N 5DU",
"country": "United Kingdom",
"latitude": 51.5074062,
"longitude": -0.1276915,
"planning": "unavailable",
"crime": "unavailable",
"ownership": "unavailable",
"valuation": "unavailable",
"findings": [
{
"kind": "observed",
"code": "osm_place",
"detail": "The place is the OpenStreetMap reverse result for the supplied coordinates."
}
],
"limitations": [
"This is not an official valuation.",
"Prices, rents, and yields are calculated only from figures supplied in the request or printed on the fetched page.",
"Crime statistics, planning permissions, and ownership were not checked.",
"OpenStreetMap results are nearby map features, not a statement about the property."
]
}cURL
curl -i -X POST "https://www.brainiac.software/api/v1/property-intelligence/area-context" \
-H 'content-type: application/json' \
-H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
--data-binary @- <<'JSON'
{
"latitude": 51.5074,
"longitude": -0.1278
}
JSONhttps://www.brainiac.software/api/v1/property-intelligence/location-features$0.05 USDCList nearby location features
List schools, hospitals, pharmacies, supermarkets, stations, and parks that OpenStreetMap places within 500 metres. A missing feature is not treated as absent.
Body
| Field | Required | Notes |
|---|---|---|
address | No | string |
latitude | No | number |
longitude | No | number |
Request exampleJSON
{
"latitude": 51.5074,
"longitude": -0.1278
}Response exampleJSON
{
"checkedAt": "2026-11-02T19:00:00.000Z",
"officialValuation": false,
"status": "features",
"latitude": 51.5074,
"longitude": -0.1278,
"features": [
{
"name": "Charing Cross",
"category": "station",
"distanceMeters": 116
},
{
"name": "Boots",
"category": "pharmacy",
"distanceMeters": 238
},
{
"name": "Jumbo",
"category": "supermarket",
"distanceMeters": 246
},
{
"name": "park",
"category": "park",
"distanceMeters": 248
},
{
"name": "Charing Cross",
"category": "station",
"distanceMeters": 285
},
{
"name": "Superdrug",
"category": "pharmacy",
"distanceMeters": 336
},
{
"name": "Whitehall Garden",
"category": "park",
"distanceMeters": 363
},
{
"name": "Japan Centre",
"category": "supermarket",
"distanceMeters": 364
},
{
"name": "Leicester Square",
"category": "park",
"distanceMeters": 375
},
{
"name": "Boots",
"category": "pharmacy",
"distanceMeters": 382
},
{
"name": "Embankment",
"category": "station",
"distanceMeters": 385
},
{
"name": "Leicester Square",
"category": "station",
"distanceMeters": 453
},
{
"name": "Victoria Embankment Gardens",
"category": "park",
"distanceMeters": 463
}
],
"findings": [
{
"kind": "observed",
"code": "osm_features",
"detail": "Features come from OpenStreetMap within 500 metres. A missing feature was not treated as absent from the area."
}
],
"limitations": [
"This is not an official valuation.",
"Prices, rents, and yields are calculated only from figures supplied in the request or printed on the fetched page.",
"Crime statistics, planning permissions, and ownership were not checked.",
"OpenStreetMap results are nearby map features, not a statement about the property."
]
}cURL
curl -i -X POST "https://www.brainiac.software/api/v1/property-intelligence/location-features" \
-H 'content-type: application/json' \
-H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
--data-binary @- <<'JSON'
{
"latitude": 51.5074,
"longitude": -0.1278
}
JSONhttps://www.brainiac.software/api/v1/property-intelligence/amenities-extract$0.03 USDCExtract amenities
Keep amenities printed in the description separate from amenities copied from the request. Caller amenities are not checked against the property.
Body
| Field | Required | Notes |
|---|---|---|
description | No | string |
amenities | No | array; Array |
Request exampleJSON
{
"description": "A flat with a garden and parking.",
"amenities": [
"concierge"
]
}Response exampleJSON
{
"checkedAt": "2026-11-02T19:00:00.000Z",
"officialValuation": false,
"amenities": [
{
"name": "garden",
"source": "listing"
},
{
"name": "parking",
"source": "listing"
},
{
"name": "concierge",
"source": "caller"
}
],
"findings": [
{
"kind": "observed",
"code": "amenity_sources",
"detail": "Printed amenities are words found in the description. Caller amenities are copied from the request and are not checked against the property."
}
],
"limitations": [
"This is not an official valuation.",
"Prices, rents, and yields are calculated only from figures supplied in the request or printed on the fetched page.",
"Crime statistics, planning permissions, and ownership were not checked.",
"OpenStreetMap results are nearby map features, not a statement about the property."
]
}cURL
curl -i -X POST "https://www.brainiac.software/api/v1/property-intelligence/amenities-extract" \
-H 'content-type: application/json' \
-H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
--data-binary @- <<'JSON'
{
"description": "A flat with a garden and parking.",
"amenities": [
"concierge"
]
}
JSONhttps://www.brainiac.software/api/v1/property-intelligence/listing-duplicate-detect$0.04 USDCDetect duplicate listings
Compare at least two supplied listings. The same address is a duplicate. The same price, currency, and bedroom count is only a possible match.
Body
| Field | Required | Notes |
|---|---|---|
listings | Yes | array; Array |
Request exampleJSON
{
"listings": [
{
"title": "A",
"address": "12 Dock Street, London",
"price": 250000,
"currency": "GBP",
"bedrooms": 2
},
{
"title": "B",
"address": "12 Dock Street London",
"price": 250000,
"currency": "GBP",
"bedrooms": 2
},
{
"title": "C",
"address": "4 Mill Lane, Leeds",
"price": 250000,
"currency": "GBP",
"bedrooms": 2
}
]
}Response exampleJSON
{
"checkedAt": "2026-11-02T19:00:00.000Z",
"officialValuation": false,
"status": "duplicates",
"pairs": [
{
"left": "A",
"right": "B",
"status": "duplicate",
"evidence": "The supplied addresses match after spacing and punctuation are removed."
},
{
"left": "A",
"right": "C",
"status": "possible",
"evidence": "The price, currency, and bedroom count match, and the addresses differ."
},
{
"left": "B",
"right": "C",
"status": "possible",
"evidence": "The price, currency, and bedroom count match, and the addresses differ."
}
],
"findings": [
{
"kind": "observed",
"code": "duplicate_rule",
"detail": "A duplicate is the same normalized address. The same price, currency, and bedroom count is only a possible match."
}
],
"limitations": [
"This is not an official valuation.",
"Prices, rents, and yields are calculated only from figures supplied in the request or printed on the fetched page.",
"Crime statistics, planning permissions, and ownership were not checked.",
"OpenStreetMap results are nearby map features, not a statement about the property."
]
}cURL
curl -i -X POST "https://www.brainiac.software/api/v1/property-intelligence/listing-duplicate-detect" \
-H 'content-type: application/json' \
-H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
--data-binary @- <<'JSON'
{
"listings": [
{
"title": "A",
"address": "12 Dock Street, London",
"price": 250000,
"currency": "GBP",
"bedrooms": 2
},
{
"title": "B",
"address": "12 Dock Street London",
"price": 250000,
"currency": "GBP",
"bedrooms": 2
},
{
"title": "C",
"address": "4 Mill Lane, Leeds",
"price": 250000,
"currency": "GBP",
"bedrooms": 2
}
]
}
JSONhttps://www.brainiac.software/api/v1/property-intelligence/rent-yield-calculate$0.03 USDCCalculate rent yield
Divide the supplied annual rent by the supplied price. Monthly rent is multiplied by 12 only when the period is month. The result is not a valuation.
Body
| Field | Required | Notes |
|---|---|---|
url | No | string |
title | No | string |
description | No | string |
text | No | string |
address | No | string |
price | No | number |
currency | No | string |
rent | No | number |
rentPeriod | No | string; One of: month, year |
bedrooms | No | integer |
bathrooms | No | number |
floorAreaSqm | No | number |
propertyType | No | string |
latitude | No | number |
longitude | No | number |
annualCosts | No | number |
deposit | No | number |
mortgageRate | No | number |
Request exampleJSON
{
"price": 250000,
"rent": 1000,
"rentPeriod": "month",
"currency": "GBP"
}Response exampleJSON
{
"checkedAt": "2026-11-02T19:00:00.000Z",
"officialValuation": false,
"price": 250000,
"rent": 1000,
"rentPeriod": "month",
"currency": "GBP",
"annualRent": 12000,
"grossYield": 0.048,
"findings": [
{
"kind": "observed",
"code": "gross_yield",
"detail": "Gross yield 0.048 is annual rent 12000 divided by price 250000. It is not a valuation."
}
],
"limitations": [
"This is not an official valuation.",
"Prices, rents, and yields are calculated only from figures supplied in the request or printed on the fetched page.",
"Crime statistics, planning permissions, and ownership were not checked.",
"OpenStreetMap results are nearby map features, not a statement about the property.",
"Gross yield is annual rent divided by the supplied price. It is not a market valuation."
]
}cURL
curl -i -X POST "https://www.brainiac.software/api/v1/property-intelligence/rent-yield-calculate" \
-H 'content-type: application/json' \
-H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
--data-binary @- <<'JSON'
{
"price": 250000,
"rent": 1000,
"rentPeriod": "month",
"currency": "GBP"
}
JSONhttps://www.brainiac.software/api/v1/property-intelligence/investment-metrics$0.04 USDCCalculate investment metrics
Calculate net yield, price per square metre, loan, and cash flow only from supplied price, rent, costs, deposit, and mortgage rate. No loan-to-value is assumed.
Body
| Field | Required | Notes |
|---|---|---|
url | No | string |
title | No | string |
description | No | string |
text | No | string |
address | No | string |
price | No | number |
currency | No | string |
rent | No | number |
rentPeriod | No | string; One of: month, year |
bedrooms | No | integer |
bathrooms | No | number |
floorAreaSqm | No | number |
propertyType | No | string |
latitude | No | number |
longitude | No | number |
annualCosts | No | number |
deposit | No | number |
mortgageRate | No | number |
Request exampleJSON
{
"price": 250000,
"rent": 1000,
"rentPeriod": "month",
"floorAreaSqm": 50,
"annualCosts": 3000,
"deposit": 50000,
"mortgageRate": 0.04,
"currency": "GBP"
}Response exampleJSON
{
"checkedAt": "2026-11-02T19:00:00.000Z",
"officialValuation": false,
"price": 250000,
"currency": "GBP",
"annualRent": 12000,
"grossYield": 0.048,
"netYield": 0.036,
"pricePerSqm": 5000,
"loan": 200000,
"annualInterest": 8000,
"monthlyCashFlow": 83.33,
"assumptions": [
{
"name": "annualCosts",
"value": "3000",
"source": "caller"
},
{
"name": "deposit",
"value": "50000",
"source": "caller"
},
{
"name": "mortgageRate",
"value": "0.04",
"source": "caller"
}
],
"findings": [
{
"kind": "observed",
"code": "gross_yield",
"detail": "Gross yield 0.048 is annual rent 12000 divided by price 250000. It is not a valuation."
},
{
"kind": "assumption",
"code": "net_yield",
"detail": "Net yield subtracts the caller-supplied annual costs from the annual rent. Those costs are an assumption, not an observed bill."
}
],
"limitations": [
"This is not an official valuation.",
"Prices, rents, and yields are calculated only from figures supplied in the request or printed on the fetched page.",
"Crime statistics, planning permissions, and ownership were not checked.",
"OpenStreetMap results are nearby map features, not a statement about the property.",
"A mortgage rate is the caller-supplied annual decimal, such as 0.04. No loan-to-value or appreciation rate is assumed."
]
}cURL
curl -i -X POST "https://www.brainiac.software/api/v1/property-intelligence/investment-metrics" \
-H 'content-type: application/json' \
-H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
--data-binary @- <<'JSON'
{
"price": 250000,
"rent": 1000,
"rentPeriod": "month",
"floorAreaSqm": 50,
"annualCosts": 3000,
"deposit": 50000,
"mortgageRate": 0.04,
"currency": "GBP"
}
JSONhttps://www.brainiac.software/api/v1/property-intelligence/due-diligence-report$0.12 USDCPrepare a due diligence report
Combine the observed listing, supplied assumptions, and any OpenStreetMap place or nearby features. Planning, crime, ownership, and valuation stay unavailable.
Body
| Field | Required | Notes |
|---|---|---|
url | No | string |
title | No | string |
description | No | string |
text | No | string |
address | No | string |
price | No | number |
currency | No | string |
rent | No | number |
rentPeriod | No | string; One of: month, year |
bedrooms | No | integer |
bathrooms | No | number |
floorAreaSqm | No | number |
propertyType | No | string |
latitude | No | number |
longitude | No | number |
annualCosts | No | number |
deposit | No | number |
mortgageRate | No | number |
comparables | No | array; Array |
Request exampleJSON
{
"text": "Title: Dock Street flat\nAddress: 12 Dock Street, London\nProperty type: Flat\nPrice: £250,000\nRent: £1,000 pcm\nA 2 bedroom, 1 bathroom flat of 55 sqm with a garden and parking.\nStunning location.",
"latitude": 51.5074,
"longitude": -0.1278,
"annualCosts": 3000,
"comparables": [
{
"title": "Other",
"address": "4 Mill Lane, Leeds",
"price": 250000,
"currency": "GBP",
"bedrooms": 2
}
]
}Response exampleJSON
{
"checkedAt": "2026-11-02T19:00:00.000Z",
"officialValuation": false,
"summary": "Observed listing fields and caller-supplied assumptions are separate. This report is not an official valuation and does not check planning, crime, or ownership.",
"listing": {
"title": "Dock Street flat",
"address": "12 Dock Street, London",
"price": 250000,
"currency": "GBP",
"rent": 1000,
"rentPeriod": "month"
},
"metrics": {
"annualRent": 12000,
"grossYield": 0.048,
"netYield": 0.036,
"pricePerSqm": 4545.45,
"monthlyCashFlow": 750
},
"amenities": [
{
"name": "garden",
"source": "listing"
},
{
"name": "parking",
"source": "listing"
}
],
"marketingPhrases": [
"stunning"
],
"area": {
"status": "observed",
"displayName": "Mileage Central Point of London Plaque, Charing Cross, Westminster, Covent Garden, City of Westminster, Greater London, England, WC2N 5DU, United Kingdom",
"city": "City of Westminster"
},
"features": {
"status": "features",
"count": 13
},
"duplicates": {
"status": "possible",
"pairs": 1
},
"planning": "unavailable",
"crime": "unavailable",
"ownership": "unavailable",
"valuation": "unavailable",
"findings": [
{
"kind": "observed",
"code": "gross_yield",
"detail": "Gross yield 0.048 is annual rent 12000 divided by price 250000. It is not a valuation."
},
{
"kind": "assumption",
"code": "net_yield",
"detail": "Net yield subtracts the caller-supplied annual costs from the annual rent. Those costs are an assumption, not an observed bill."
},
{
"kind": "unavailable",
"code": "finance_missing",
"detail": "Loan interest was not calculated because deposit or mortgageRate was not supplied. No loan-to-value was assumed."
},
{
"kind": "unavailable",
"code": "not_a_valuation",
"detail": "No valuation, rental estimate, crime statistic, planning permission, or ownership record was created."
}
],
"limitations": [
"This is not an official valuation.",
"Prices, rents, and yields are calculated only from figures supplied in the request or printed on the fetched page.",
"Crime statistics, planning permissions, and ownership were not checked.",
"OpenStreetMap results are nearby map features, not a statement about the property."
]
}cURL
curl -i -X POST "https://www.brainiac.software/api/v1/property-intelligence/due-diligence-report" \
-H 'content-type: application/json' \
-H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
--data-binary @- <<'JSON'
{
"text": "Title: Dock Street flat\nAddress: 12 Dock Street, London\nProperty type: Flat\nPrice: £250,000\nRent: £1,000 pcm\nA 2 bedroom, 1 bathroom flat of 55 sqm with a garden and parking.\nStunning location.",
"latitude": 51.5074,
"longitude": -0.1278,
"annualCosts": 3000,
"comparables": [
{
"title": "Other",
"address": "4 Mill Lane, Leeds",
"price": 250000,
"currency": "GBP",
"bedrooms": 2
}
]
}
JSON