PageSourceSearch

https://www.propertymarketintel.com/_next/static/chunks/1554-f6a94de905a6a46c.js

js propertymarketintel.com collected 2026-10-01 23:43:20 UTC 85,764 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1554],{20409:function(e,t,r){r.d(t,{Z:function(){return j}});var n=r(56292),i=r(16319),a=r(11163),o=r(67294),s=r(41664),l=r(85893),c=function(e){var t=e.children,r=e.isActive,n=e.onClick,i=e.href,a=(0,o.useState)(!1),c=a[0],p=a[1],d={display:"flex",alignItems:"center",justifyContent:"space-between",padding:"9px 12px",borderRadius:6,cursor:"pointer",background:r?"#EEF0FF":c?"#F1F2F6":"transparent",userSelect:"none",textDecoration:"none",margin:0},u={fontSize:13.5,fontWeight:r?600:500,fontFamily:"'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif",color:r?"#4F46E5":"#334155",lineHeight:"20px"},m=function(){return p(!0)},g=function(){return p(!1)};return i?(0,l.jsx)(s.default,{href:i,legacyBehavior:!0,children:(0,l.jsx)("a",{style:d,onMouseEnter:m,onMouseLeave:g,children:(0,l.jsx)("span",{style:u,children:t})})}):(0,l.jsx)("div",{style:d,onClick:n,onMouseEnter:m,onMouseLeave:g,children:(0,l.jsx)("span",{style:u,children:t})})},p=r(14242),d=r(14355),u="'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif",m=function(e){var t=e.children,r=e.href,n=e.isActive,i=(0,o.useState)(!1),a=i[0],c=i[1];return(0,l.jsx)(s.default,{href:r||"#",legacyBehavior:!0,children:(0,l.jsx)("a",{style:{display:"flex",alignItems:"center",gap:8,padding:"7px 12px 7px 28px",borderRadius:6,cursor:"pointer",background:n?"#EEF0FF":a?"#F1F2F6":"transparent",textDecoration:"none"},onMouseEnter:function(){return c(!0)},onMouseLeave:function(){return c(!1)},children:(0,l.jsx)("span",{style:{fontSize:12.5,fontWeight:n?600:500,fontFamily:u,color:n?"#4F46E5":"#334155",lineHeight:"18px"},children:t})})})},g=function(e){var t=e.label,r=e.items,n=e.currentPath,i=e.defaultExpanded,a=void 0!==i&&i,s=r.some((function(e){return e.href===n})),c=(0,o.useState)(a||s),g=c[0],h=c[1],y=(0,o.useState)(!1),f=y[0],_=y[1];return(0,l.jsxs)("div",{style:{marginTop:4},children:[(0,l.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"9px 12px",borderRadius:6,cursor:"pointer",background:f?"#F1F2F6":"transparent",userSelect:"none"},onClick:function(){return h(!g)},onMouseEnter:function(){return _(!0)},onMouseLeave:function(){return _(!1)},children:[(0,l.jsx)("span",{style:{fontSize:13.5,fontWeight:500,fontFamily:u,color:"#334155",lineHeight:"20px"},children:t}),(0,l.jsx)("span",{style:{display:"inline-flex",transition:"transform 0.15s",transform:g?"rotate(90deg)":"rotate(0deg)"},children:(0,l.jsx)(p.N,{icon:d.QPh,size:14,color:"#94A3B8",strokeWidth:1.5})})]}),g&&(0,l.jsx)("div",{style:{padding:"2px 0 6px"},children:r.map((function(e){return(0,l.jsx)(m,{href:e.href,isActive:n===e.href,children:e.label},e.label)}))})]})},h=r(573),y=r(19932),f=r(12546),_=function(e){var t=e.id,r=e.method,n=e.path,i=e.credits,c=(0,o.useState)(!1),p=c[0],d=c[1],u=(0,a.useRouter)().asPath==="/api-docs/reference/".concat(t),m=u?"#EEF0FF":p?"#F1F2F6":"transparent",g=u?"#1E1B4B":"#334155",_=(0,l.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"42px 1fr auto",gap:8,alignItems:"center",padding:"6px 12px 6px 20px",borderRadius:6,cursor:"pointer",fontSize:11.5,color:g,background:m,transition:"background 0.1s"},onMouseEnter:function(){return d(!0)},onMouseLeave:function(){return d(!1)},children:[(0,l.jsx)(f.Z,{method:r}),(0,l.jsx)("span",{style:{fontFamily:h.g5.mono,fontSize:11,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:g,fontWeight:u?600:400},children:n}),(0,l.jsx)(y.Z,{credits:i})]});return t?(0,l.jsx)(s.default,{href:"/api-docs/reference/".concat(t),legacyBehavior:!0,children:(0,l.jsx)("a",{style:{textDecoration:"none",color:"inherit",display:"block"},children:_})}):_},b=function(e){var t=e.group,r=(0,a.useRouter)(),n=(0,o.useMemo)((function(){return t.endpoints.some((function(e){return e.id&&r.asPath==="/api-docs/reference/".concat(e.id)}))}),[t.endpoints,r.asPath]),i=(0,o.useState)(n),s=i[0],c=i[1],u=(0,o.useState)(!1),m=u[0],g=u[1];return(0,l.jsxs)("div",{style:{marginTop:4},children:[(0,l.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"9px 12px",borderRadius:6,cursor:"pointer",background:m?"#F1F2F6":"transparent",userSelect:"none"},onClick:function(){return c(!s)},onMouseEnter:function(){return g(!0)},onMouseLeave:function(){return g(!1)},children:[(0,l.jsx)("span",{style:{fontSize:13.5,fontWeight:500,fontFamily:"'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif",color:"#334155",lineHeight:"20px"},children:t.label}),(0,l.jsx)("span",{style:{display:"inline-flex",transition:"transform 0.15s",transform:s?"rotate(90deg)":"rotate(0deg)"},children:(0,l.jsx)(p.N,{icon:d.QPh,size:14,color:"#94A3B8",strokeWidth:1.5})})]}),s&&(0,l.jsx)("div",{style:{padding:"2px 0 6px"},children:t.endpoints.map((function(e){return(0,l.jsx)(_,{id:e.id,method:e.method,path:e.path,credits:e.credits},e.id||e.path)}))})]})},v="'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif",x=function(){return(0,l.jsxs)("div",{style:{padding:"18px 20px 24px",borderTop:"1px solid #EEF1F5",background:"linear-gradient(180deg, #FAFAFF 0%, #F3F0
1FF 100%)",flexShrink:0,position:"relative",overflow:"hidden"},children:[(0,l.jsx)("div",{style:{position:"absolute",top:-40,right:-40,width:140,height:140,background:"radial-gradient(circle, rgba(139,92,246,0.18), transparent 70%)",borderRadius:"50%",pointerEvents:"none"}}),(0,l.jsx)("span",{style:{position:"relative",zIndex:1,display:"inline-block",fontSize:10,fontWeight:700,fontFamily:v,letterSpacing:"0.08em",textTransform:"uppercase",color:"#4F46E5",background:"#fff",border:"1px solid #E0E4FF",padding:"2px 7px",borderRadius:10,marginBottom:10},children:"Free Tier"}),(0,l.jsxs)("p",{style:{position:"relative",zIndex:1,fontSize:12.5,color:"#334155",lineHeight:1.5,margin:"0 0 12px",fontFamily:v},children:["Get ",(0,l.jsx)("strong",{style:{color:"#0F172A"},children:"100 credits free"}),", no card required. Try every endpoint with your own key."]}),(0,l.jsxs)("a",{href:"https://app.propertymarketintel.com/register?source=data",style:{position:"relative",zIndex:1,display:"flex",alignItems:"center",justifyContent:"center",gap:8,width:"100%",padding:"9px 16px",borderRadius:8,fontSize:13,fontWeight:600,fontFamily:v,background:"#4F46E5",color:"#fff",border:"none",cursor:"pointer",textDecoration:"none"},children:[(0,l.jsx)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:(0,l.jsx)("path",{d:"M5 12h14M12 5l7 7-7 7"})}),(0,l.jsx)("span",{style:{fontFamily:v,fontWeight:600,fontSize:13},children:"Get a free key"})]}),(0,l.jsx)("span",{style:{position:"relative",zIndex:1,display:"block",fontSize:10.5,color:"#64748B",textAlign:"center",marginTop:8,fontWeight:500,fontFamily:v},children:"No credit card \xb7 cancel anytime"})]})},k=r(26717).F5.map((function(e){return{id:e.id,label:"".concat(e.number,". ").concat(e.title),endpoints:e.endpoints.map((function(e){return{id:e.id,method:e.method,path:e.path,credits:e.credits}}))}})),w=[{label:"MCP Server",href:"/api-docs/mcp"},{label:"ChatGPT Setup",href:"/api-docs/chatgpt"},{label:"Claude Setup",href:"/api-docs/claude"},{label:"AI-Readable Docs",href:"/api-docs/ai-docs"}],P=function(e){var t=e.children;return(0,l.jsx)("div",{style:{fontSize:10.5,fontWeight:700,letterSpacing:"0.1em",textTransform:"uppercase",color:"#64748B",padding:"6px 12px 10px"},children:t})},q=function(){return(0,l.jsx)("div",{style:{height:1,background:"#EEF1F5",margin:"14px 8px"}})},S=function(){var e=(0,a.useRouter)().asPath;return(0,l.jsxs)("div",{style:{width:280,background:"#FBFBFD",borderRight:"1px solid #E5E7EB",display:"flex",flexDirection:"column",flexShrink:0,position:"sticky",top:0,alignSelf:"flex-start",height:"100vh"},children:[(0,l.jsxs)("div",{style:{padding:"20px 20px 16px",borderBottom:"1px solid #EEF1F5"},children:[(0,l.jsx)("span",{style:{display:"block",fontSize:11,fontWeight:700,fontFamily:"'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif",letterSpacing:"0.1em",textTransform:"uppercase",color:"#64748B",marginBottom:4},children:"API Docs"}),(0,l.jsx)("span",{style:{display:"block",fontSize:15,fontWeight:700,fontFamily:"'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif",color:"#0F172A"},children:"Property Market Intel"})]}),(0,l.jsxs)("div",{style:{flex:1,overflowY:"auto",padding:"12px 12px 20px"},children:[(0,l.jsx)(c,{isActive:"/api-docs"===e,href:"/api-docs",children:"Getting Started"}),(0,l.jsx)(c,{isActive:"/api-docs/serviced-accommodation"===e,href:"/api-docs/serviced-accommodation",children:"Serviced Accommodation"}),(0,l.jsx)(g,{label:"AI & Integrations",items:w,currentPath:e}),(0,l.jsx)(c,{isActive:"/api-docs/pricing"===e,href:"/api-docs/pricing",children:"Pricing"}),(0,l.jsx)(q,{}),(0,l.jsx)(P,{children:"API Reference"}),k.map((function(e){return(0,l.jsx)(b,{group:e},e.label)}))]}),(0,l.jsx)(x,{})]})},j=function(e){var t=e.children;return(0,l.jsxs)("div",{style:{background:"#F7F8FA",fontFamily:"'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif",color:"#0F172A",WebkitFontSmoothing:"antialiased"},children:[(0,l.jsx)("div",{style:{background:"#F7F8FA",paddingBottom:12},children:(0,l.jsx)(n.Z,{})}),(0,l.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",background:"#F7F8FA"},children:[(0,l.jsx)(S,{}),(0,l.jsx)("main",{style:{flex:1,minWidth:0,background:"#F7F8FA"},children:(0,l.jsx)("div",{style:{maxWidth:1180,margin:"0 auto"},children:t})})]}),(0,l.jsx)(i.ZP,{})]})}},22898:function(e,t,r){r.d(t,{qR:function(){return d},sO:function(){return u},pW:function(){return m},VQ:function(){return g},rx:function(){return h}});var n=r(92809),i=r(9008),a=r(573),o=r(85893);function s(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}var l="Property Market Intel",c="".concat(a.e1,"/logo-purple-pmi-small.svg"),p=function(e){return e?e.startsWith("http")?e:"".concat(a.e1).concat(e.startsWith("/")?e:"/".concat(e)):a.e1},d=function(e){return{"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:e.map((function(e,t){return{"@type":"ListItem",position:t+1,name:e.name,item:e.url?p(e.url):void 0}}))}},u=function(e){var t=e.headline,r=e.description,n=e.url,i=e.datePublished,o=void 0===i?"202
16-04-29":i,s=e.dateModified,d=void 0===s?"2026-04-29":s;return{"@context":"https://schema.org","@type":"TechArticle",headline:t,description:r,url:p(n),datePublished:o,dateModified:d,inLanguage:"en-GB",author:{"@type":"Organization",name:l,url:a.e1},publisher:{"@type":"Organization",name:l,logo:{"@type":"ImageObject",url:c}}}},m=function(e){return{"@context":"https://schema.org","@type":"FAQPage",mainEntity:e.map((function(e){return{"@type":"Question",name:e.q,acceptedAnswer:{"@type":"Answer",text:e.a}}}))}},g=function(e){return{"@context":"https://schema.org","@type":"Product",name:"Property Market Intel API",description:"UK property data API with 28 endpoints across sales, rentals, short-term-let revenue, HMO yields, planning and environmental risk. Every UPRN in the country.",brand:{"@type":"Brand",name:l},url:p("/api-docs"),image:a.Vw,offers:e.map((function(e){return{"@type":"Offer",name:e.name,price:e.price,priceCurrency:"GBP",description:e.description,url:p("/api-docs/pricing"),availability:"https://schema.org/InStock"}}))}},h=function(e,t,r){return function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?s(Object(r),!0).forEach((function(t){(0,n.Z)(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):s(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({"@context":"https://schema.org","@type":"TechArticle",headline:"".concat(e.title," \u2014 ").concat(e.method," ").concat(e.path),description:e.description,url:p("/api-docs/reference/".concat(e.id)),inLanguage:"en-GB",datePublished:"2026-04-29",dateModified:"2026-04-29",author:{"@type":"Organization",name:l,url:a.e1},publisher:{"@type":"Organization",name:l,logo:{"@type":"ImageObject",url:c}},about:{"@type":"WebAPI",name:"".concat(e.title," (PMI API)"),description:e.description,documentation:p("/api-docs/reference/".concat(e.id)),url:"".concat(r).concat(e.path),httpMethod:e.method}},t?{articleSection:t.title}:{})},y=function(e){var t=e.data;if(!t)return null;var r=Array.isArray(t)?t:[t];return(0,o.jsx)(o.Fragment,{children:r.map((function(e,t){return(0,o.jsx)("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify(e)}},t)}))})};t.ZP=function(e){var t=e.title,r=e.description,n=e.path,s=e.image,c=void 0===s?a.Vw:s,d=e.ogType,u=void 0===d?"article":d,m=e.jsonLd,g=e.keywords,h=p(n);return(0,o.jsxs)(i.default,{children:[(0,o.jsx)("title",{children:t}),(0,o.jsx)("meta",{name:"description",content:r}),g&&(0,o.jsx)("meta",{name:"keywords",content:g}),(0,o.jsx)("link",{rel:"canonical",href:h}),(0,o.jsx)("meta",{property:"og:type",content:u}),(0,o.jsx)("meta",{property:"og:title",content:t}),(0,o.jsx)("meta",{property:"og:description",content:r}),(0,o.jsx)("meta",{property:"og:url",content:h}),(0,o.jsx)("meta",{property:"og:image",content:c}),(0,o.jsx)("meta",{property:"og:image:width",content:"1200"}),(0,o.jsx)("meta",{property:"og:image:height",content:"630"}),(0,o.jsx)("meta",{property:"og:site_name",content:l}),(0,o.jsx)("meta",{property:"og:locale",content:"en_GB"}),(0,o.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,o.jsx)("meta",{name:"twitter:title",content:t}),(0,o.jsx)("meta",{name:"twitter:description",content:r}),(0,o.jsx)("meta",{name:"twitter:image",content:c}),(0,o.jsx)("meta",{name:"robots",content:"index, follow, max-snippet:-1, max-image-preview:large"}),(0,o.jsx)(y,{data:m})]})}},19932:function(e,t,r){var n=r(573),i=r(85893);t.Z=function(e){var t=e.credits,r=0===t;return(0,i.jsx)("span",{style:{fontSize:10,fontWeight:600,padding:"2px 6px",borderRadius:10,border:"1px solid ".concat(r?n.DM.successSoft:n.DM.border),background:r?n.DM.successSoft:n.DM.panel,color:r?n.DM.successInk:n.DM.ink2,fontFamily:r?n.g5.sans:n.g5.mono,textTransform:r?"uppercase":"none",letterSpacing:r?"0.04em":"normal",display:"inline-flex",alignItems:"center"},children:r?"Free":t})}},12546:function(e,t,r){var n=r(573),i=r(85893);t.Z=function(e){var t=e.method,r=n._I[t]||n._I.GET;return(0,i.jsx)("span",{style:{fontFamily:n.g5.mono,fontSize:9.5,fontWeight:700,padding:"3px 5px",borderRadius:4,textAlign:"center",letterSpacing:"0.04em",background:r.bg,color:r.color,display:"inline-block"},children:t})}},16319:function(e,t,r){r.d(t,{ZP:function(){return u}});r(25675);var n=r(41664),i=r(14242),a=r(14355),o=r(85893),s=function(e){var t=e.options,r=e.title,s=e.icon,l={AnalysisTextLinkIcon:a.SS4,Building03Icon:a.cMz,City03Icon:a.z8G,GuestHouseIcon:a.i7x,ChartLineData02Icon:a.oqu},c=s?l[s]:null;return(0,o.jsxs)("div",{children:[(0,o.jsxs)("p",{className:" font-medium text-pmi-2 text-pmi-sm mb-5 xl:text-left text-center",children:[c&&(0,o.jsx)(i.N,{icon:c,size:16,color:"#6B7280",strokeWidth:1.5,className:"inline-block mr-2"}),(0,o.jsx)(n.default,{href:e.link,passHref:!0,children:(0,o.jsx)("a",{className:"text-pmi-2",children:r})})]}),(0,o.jsx)("div",{className:" flex flex-col gap-y-3 text-pmi-1 text-pmi-sm",children:t.map((function(e){var t=e.title,r=e.link;e.icon;return(0,o.jsx)("div",{className:"flow-root",children:(0,o.jsx)(n.default,{href:r,passHref:!0,children:(0,o.jsx)("div",{className:" flex items-center xl:justify-start justify-center gap-x-2",children:(0,o.jsx)("div",{className:" text-pmi-1 font-medium align-top cursor-pointer",children:e.title})})})},t)}))})]})},l=[{title:"On/Off-Market Deal Sourcing",link:"/for-investors",icon:"/icon/polygon.svg"},{title:"Comparables",link:"/for-investors",icon:"/icon/ftinserttable1.svg"},{title:"Sold Prices",link:"/for-investors",icon:"/icon/ftinserttable1.svg"},{title:"Valuations",link:"/for-investors",icon:"/icon/ftinserttable1.svg"},{title:"Market Research",link:"/for-investors",icon:"/icon/ftinserttable1.svg"},{title:"Land Map",link:"/for-investors",icon:"/icon/ftinserttable1.svg"},{title:"Profitability Calculator",link:"/for-investors",icon:"/icon/ftinserttable1.svg"}],c=[{title:"Comparables/Valuations",link:"/for-managers",icon:"/icon/brickwall1.svg"},{title:"Market Research",link:"/for-managers",icon:"/icon/brickwall1.svg"},{title:"Smart Reporting",link:"/for-managers",icon:"/icon/brickwall1.svg"},{title:"Training & Support",link:"/for-managers",icon:"/icon/brickwall1.svg"}],p=[{title:"AI Filters",link:"/for-deal-sourcers",icon:"/icon/planning1.svg"},{title:"On/Off-Market Deal Sourcing",link:"/for-deal-sourcers",icon:"/icon/planning1.svg"},{title:"Deal Pipeline",link:"/for-deal-sourcers",icon:"/icon/planning1.svg"},{title:"Automation",link:"/for-deal-sourcers",icon:"/icon/planning1.svg"},{title:"Deal Profitability Calculator",link:"/for-deal-sourcers",icon:"/icon/planning1.svg"},{title:"Land Opportunities",link:"/for-deal-sourcers",icon:"/icon/planning1.svg"}],d=[{title:"STR Location Dashboard",link:"/for-serviced-accommodation",icon:"/icon/geo1.svg"},{title:"Comps/Valuations",link:"/for-serviced-accommodation",icon:"/icon/map1.svg"},{title:"Dynamic Pricing",link:"/for-serviced-accommodation",icon:"/icon/map1.svg"}],u=function(){return(0,o.jsxs)("footer",{className:" font-manrope z-10",children:[(0,o.jsxs)("div",{className:"flex flex-col md:flex-row",children:[(0,o.jsx)("div",{className:" container sm:pl-pmi-72 px-pmi-12 py-pmi-64 mx-auto lex md:items-center lg:items-start lg:flex-row lg:flex-nowrap flex-wrap flex-col",children:(0,o.jsxs)("div",{className:" grid xl
1:grid-cols-5 md:grid-cols-3 sm:grid-cols-1 grid-cols-1 gap-y-10",children:[(0,o.jsx)(s,{title:"For Investors",icon:"AnalysisTextLinkIcon",options:l,link:"/for-investors"}),(0,o.jsx)(s,{title:"For Managers",icon:"Building03Icon",options:c,link:"/for-managers"}),(0,o.jsx)(s,{title:"For Deal Sourcers",icon:"City03Icon",options:p,link:"/for-deal-sourcers"}),(0,o.jsx)(s,{title:"Serviced Accommodation",icon:"GuestHouseIcon",options:d,link:"/for-serviced-accommodation"}),(0,o.jsx)(s,{title:"API Docs",icon:"ChartLineData02Icon",options:[{title:"Getting Started",link:"/api-docs",icon:"/icon/ftinserttable1.svg"},{title:"Serviced Accommodation API",link:"/api-docs/serviced-accommodation",icon:"/icon/ftinserttable1.svg"},{title:"API Reference",link:"/api-docs",icon:"/icon/ftinserttable1.svg"},{title:"MCP Server",link:"/api-docs/mcp",icon:"/icon/ftinserttable1.svg"},{title:"Claude Setup",link:"/api-docs/claude",icon:"/icon/ftinserttable1.svg"},{title:"ChatGPT Setup",link:"/api-docs/chatgpt",icon:"/icon/ftinserttable1.svg"},{title:"AI-Readable Docs",link:"/api-docs/ai-docs",icon:"/icon/ftinserttable1.svg"},{title:"API Pricing",link:"/api-docs/pricing",icon:"/icon/ftinserttable1.svg"},{title:"Enterprise",link:"/enterprise-api",icon:"/icon/ftinserttable1.svg"}],link:"/api-docs"})]})}),(0,o.jsxs)("div",{className:"flex flex-col gap-y-pmi-64 justify-center items-end pr-pmi-72 py-pmi-64",children:[(0,o.jsx)("img",{className:"",style:{height:48,width:48},src:"/logo-purple-pmi-small.svg",alt:""}),(0,o.jsxs)("div",{className:"relative w-full",children:[(0,o.jsx)("div",{className:"absolute right-0 w-1/3 border-t border-gray-200"}),(0,o.jsx)("div",{className:"pt-4 text-right text-manrope",style:{color:"#666E7D",fontSize:"14px"},children:"PropertyMarketIntel is part of The Octo Group"})]})]})]}),(0,o.jsxs)("div",{className:"flex flex-row justify-between items-center  sm:px-pmi-72 px-pmi-12 py-pmi-12 flex-wrap",children:[(0,o.jsx)("div",{className:"text-pmi-xs text-pmi-4",children:"\xa9 2025 - Copyright"}),(0,o.jsxs)("div",{className:"flex space-x-4",children:[(0,o.jsx)("a",{href:"https://www.facebook.com/PropertyMarketIntel/",target:"_blank",rel:"noopener noreferrer",children:(0,o.jsx)(i.N,{icon:a.zjg,size:24,color:"#6B7280",strokeWidth:1.5})}),(0,o.jsx)("a",{href:"https://www.linkedin.com/company/89229497",target:"_blank",rel:"noopener noreferrer",children:(0,o.jsx)(i.N,{icon:a.wk0,size:24,color:"#6B7280",strokeWidth:1.5})}),(0,o.jsx)("a",{href:"https://www.instagram.com/propertymarketintel/",target:"_blank",rel:"noopener noreferrer",children:(0,o.jsx)(i.N,{icon:a.yuF,size:24,color:"#6B7280",strokeWidth:1.5})})]})]})]})}},56292:function(e,t,r){r.d(t,{Z:function(){return c}});var n=r(41664),i=r(67294),a=r(63801),o=r(14242),s=r(14355),l=r(85893);function c(){var e=(0,i.useState)(!1),t=e[0],r=e[1],c=[{label:"For Investors",href:"/for-investors"},{label:"For Managers",href:"/for-managers"},{label:"For Deal Sourcers",href:"/for-deal-sourcers"},{label:"For Serviced Accommodation",href:"/for-serviced-accommodation"},{label:"Enterprise",href:"/enterprise-api"},{label:"API",href:"/api-docs"},{label:"Pricing",href:"/pricing"}];return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)("div",{className:"w-full py-1 px-6 flex justify-end bg-gray-100 gap-6",children:[(0,l.jsx)("a",{href:"/contact",target:"_blank",rel:"noopener noreferrer",className:"text-pmi-xs text-pmi-1 hover:text-pmi-1 transition-colors",children:"Contact Us"}),(0,l.jsx)("a",{href:"https://app.propertymarketintel.com/login",target:"_blank",rel:"noopener noreferrer",className:"text-pmi-xs text-pmi-1 hover:text-pmi-1 transition-colors",children:"Login"})]}),(0,l.jsx)("nav",{className:"w-10/12 mx-auto mt-3 rounded-md",style:{boxShadow:"\n            0px 1px 2px rgba(17, 24, 39, 0.05),\n            0px 3px 6px rgba(17, 24, 39, 0.06)\n          ",border:"1px solid #E5E7EB"},children:(0,l.jsxs)("div",{className:"py-3 px-6",children:[(0,l.jsxs)("div",{className:"flex items-center justify-between",children:[(0,l.jsx)(n.default,{href:"/",className:"flex items-center",children:(0,l.jsx)("div",{className:"flex items-center",style:{borderRight:"1px solid #E5E7EB",paddingRight:"24px"},children:(0,l.jsx)("img",{src:"/smallnavlogo.svg",alt:"Property Market Intel Logo",width:"31",height:"31",className:"rounded-full"})})}),(0,l.jsxs)("div",{className:"lg:hidden flex items-center gap-4",children:[(0,l.jsxs)("a",{href:"https://app.propertymarketintel.com/register?source=data",className:"flex items-center text-white rounded-lg transition-all hover:opacity-90 text-pmi-sm px-pmi-12 gap-4 py-pmi-8",style:{background:"linear-gradient(to right, #6366F1 0%, #4649E5 100%)",border:"1px solid #4749E4",boxShadow:"\n                    inset 0px 1px 0.5px 0.5px rgba(255, 255, 255, 0.44),\n                    inset 0px -1px 2px 0px rgba(46, 48, 129, 0.50),\n                    0px 1px 2px 0px rgba(17, 24, 39, 0.06)\n                  ",fontFamily:"Manrope"},children:["7 Day Free Trial",(0,l.jsx)(o.N,{icon:s.lJj,size:26,color:"white",strokeWidth:1.5})]}),(0,l.jsx)("button",{onClick:function(){return r(!t)},className:"text-gray-600 hover:text-gray-900 transition-colors",children:t?(0,l.jsx)(a.b0D,{className:"h-6 w-6"}):(0,l.jsx)(a.Oqj,{className:"h-6 w-6"})})]}),(0,l.jsx)("div",{className:"hidden lg:flex items-center sm:gap-1 lg:gap-10 text-pmi-sm",children:c.map((function(e){return(0,l.jsx)(n.default,{href:e.href,className:"text-gray-600 hover:text-gray-900 transition-colors",children:e.label},e.href)}))}),(0,l.jsx)("div",{className:"hidden lg:block",children:(0,l.jsxs)("a",{href:"https://app.propertymarketintel.com/register?source=data",className:"flex items-center text-white rounded-lg transition-all hover:opacity-90 text-pmi-sm px-pmi-12 gap-4 py-pmi-8 hover:cursor-pointer",style:{background:"linear-gradient(to right, #6366F1 0%, #4649E5 100%)",border:"1px solid #4749E4",boxShadow:"\n                    inset 0px 1px 0.5px 0.5px rgba(255, 255, 255, 0.44),\n                    inset 0px -1px 2px 0px rgba(46, 48, 129, 0.50),\n                    0px 1px 2px 0px rgba(17, 24, 39, 0.06)\n                  ",fontFamily:"Manrope"},children:["7 Day Free Trial",(0,l.jsx)("div",{className:"flex items-center",children:(0,l.jsx)(o.N,{icon:s.lJj,size:26,color:"white"})})]})})]}),t&&(0,l.jsxs)("div",{className:"lg:hidden mt-4 pb-4",children:[(0,l.jsx)("div",{className:"flex flex-col border-t border-gray-200 pt-4 space-y-4",children:c.map((function(e){return(0,l.jsx)(n.default,{href:e.href,className:"block px-6 py-4 text-gray-600 hover:text-gray-900 transition-colors border-b border-gray-100 last:border-b-0",onClick:function(){return r(!1)},children:e.label},e.href)}))}),(0,l.jsxs)("div",{className:"mt-6 space-y-3 px-4",children:[(0,l.jsxs)("a",{href:"https://app.propertymarketintel.com/register?source=data",className:"flex items-center justify-center text-white rounded-lg transition-all hover:opacity-90 text-pmi-sm px-pmi-12 gap-2 py-3 w-full",style:{background:"linear-gradient(to right, #6366F1 0%, #4649E5 100%)",border:"1px solid #4749E4",boxShadow:"\n                      inset 0px 1px 0.5px 0.5px rgba(255, 255, 255, 0.44),\n                      inset 0px -1px 2px 0px rgba(46, 48, 129, 0.50),\n                      0px 1px 2px 0px rgba(17, 24, 39, 0.06)\n                    ",fontFamily:"Manrope"},children:["7 Day Free Trial",(0,l.jsx)(o.N,{icon:s.lJj,size:20,color:"white"})]}),(0,l.jsx)("a",{href:"https://app.propertymarketintel.com/login",className:"block w-full text-center py-2.5 px-4 border border-gray-300 rounded-lg text-gray-700 hover:bg-gray-50 transition-colors",children:"Sign In"})]})]})]})})]})}},26717:function(e,t,r){r.d(t,{hZ:function(){return s},TP:function(){return l},F5:function(){return c}});var n=r(92809),i=r(573);function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function o(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};
1t%2?a(Object(r),!0).forEach((function(t){(0,n.Z)(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var s={version:"1.1",base_url:"".concat(i.Tg,"/v1"),text_format:"markdown",conventions:{auth:"`Authorization: Bearer <api_key>` on every request.",content_type:"`application/json` for POST bodies.",currency:"All monetary values are in GBP.",dates:"All dates are ISO-8601 (`YYYY-MM-DD`).",errors:"Every error follows RFC 7807 Problem Details: `{ type, title, status, detail }`.",rate_limit_window_seconds:10,dry_run:"Add `?dry_run=true` to any billable endpoint to preview the credit cost without spending any credits."},response_headers:[{name:"X-Call-Weight",description:"Credits this call cost."},{name:"X-Credits-Remaining",description:"Credits left in the monthly allowance."},{name:"X-Rate-Limit",description:"Max requests per window for this key's tier."},{name:"X-Rate-Window",description:"Window size in seconds \u2014 always **10**."},{name:"Retry-After",description:"Seconds to wait before retry. Sent only on **429**."}],tiers:[{id:"starter",name:"Starter",credits_monthly:2e3,rate_limit_per_10s:4,price_gbp_monthly:28,tagline:"Build and test"},{id:"growth",name:"Growth",credits_monthly:5e3,rate_limit_per_10s:4,price_gbp_monthly:48,tagline:"Small production apps"},{id:"pro",name:"Pro",credits_monthly:15e3,rate_limit_per_10s:6,price_gbp_monthly:96,tagline:"The sweet spot"},{id:"business",name:"Business",credits_monthly:5e4,rate_limit_per_10s:8,price_gbp_monthly:192,tagline:"Scaling workflows"},{id:"scale",name:"Scale",credits_monthly:1e5,rate_limit_per_10s:12,price_gbp_monthly:288,tagline:"High volume"},{id:"premium",name:"Premium",credits_monthly:15e4,rate_limit_per_10s:16,price_gbp_monthly:384,tagline:"Large teams"}],groups:[{id:"property-identity",number:1,title:"Property Identity & Lookup",description:"Resolve addresses to UPRNs and pull core property records."},{id:"valuations-pricing",number:2,title:"Valuations & Pricing",description:"Sale, rental and HMO valuations; comparables; area market stats."},{id:"rental-market",number:3,title:"Rental Market Intelligence",description:"Long-let rents, HMO rents, LHA rates, yields, demand."},{id:"serviced-accommodation",number:4,title:"Serviced Accommodation",description:"UK-wide short-term-rental intelligence at postcode granularity, billed per-call."},{id:"listings-sourcing",number:5,title:"Listings & Sourcing",description:"Live listings search with 22 strategy tags."},{id:"location-intelligence",number:6,title:"Location Intelligence",description:"Schools, infrastructure, composite area profiles."},{id:"environmental-risk",number:7,title:"Environmental & Risk",description:"12 risk datasets for due diligence \u2014 flood, radon, coal, listed, HMO, Article 4..."},{id:"planning-regulatory",number:8,title:"Planning & Regulatory",description:"Planning applications, HMO register, HMLR titles."},{id:"account-platform",number:9,title:"Account & Platform",description:"Free meta endpoints: tier, usage, status."}],endpoints:[{id:"addresses-search",group:"property-identity",title:"Address Search",method:"GET",path:"/addresses/search",credits:1,description:"Typeahead fuzzy-search UK addresses and resolve them to canonical UPRNs.",long_description:"Ranked fuzzy search against **63M+ UK addresses** (Ordnance Survey AddressBase Plus) using trigram similarity.\n\nReturns up to 50 ranked matches with coordinates and similarity scores. Sub-200ms p95.",use_cases:["Power an **autocomplete box** in a signup form, valuation request, or deal-sourcing UI.","Clean user-typed addresses before hitting a downstream endpoint \u2014 every other endpoint keys off `uprn` or `postcode`.",'Find a property when you only know a partial address like _"12 Bennett Road, LS6"_.'],value_proposition:"UPRN is the canonical UK property identifier \u2014 the key that unlocks the rest of the PMI API.\n\nLicensing AddressBase Premium from Ordnance Survey starts at **~\xa310,000/year** and requires GIS infrastru
1cture. This endpoint gives you it on a pay-per-call basis.",path_params:[],query_params:[{name:"q",type:"string",required:!0,description:"Search string, minimum **2 characters**."},{name:"limit",type:"integer",required:!1,default:10,description:"Max results. Capped at **50**."}],response_schema:{results:"Array of `{ uprn, address, postcode, latitude, longitude, score }`.",count:"Integer \u2014 total results returned."},example_request:{language:"bash",code:'curl -G __API_BASE__/v1/addresses/search \\\n  --data-urlencode "q=12 bennett road ls6" \\\n  --data-urlencode "limit=5" \\\n  -H "Authorization: Bearer pmi_live_aB7qX2Z9"'},example_response:{results:[{uprn:72226528,address:"12 BENNETT ROAD, LEEDS, LS6 3HN",postcode:"LS6 3HN",latitude:53.8197,longitude:-1.572,score:.82}],count:1},see_also:["addresses-match","properties-uprn"]},{id:"addresses-match",group:"property-identity",title:"Address Match (bulk)",method:"POST",path:"/addresses/match",credits:1,description:"Fuzzy-match a free-text address + postcode to the most likely UPRN.",long_description:"Filters by exact postcode then ranks by trigram similarity on the full address. Falls back to postcode-prefix match if nothing hits.\n\nHandles messy input from forms, spreadsheets, CRMs. Returns the best match plus up to 4 alternatives, each with a confidence score.",use_cases:["Clean up a spreadsheet or CRM export of landlord / tenant addresses and attach UPRNs.","Resolve addresses from web forms to canonical records.",'Power an _"is this your property?"_ confirmation step in a valuation flow.'],value_proposition:'Matching _"Flat 2, 12a Bennett Rd"_ to `12A BENNETT ROAD, FLAT 2` is a **two-week project** in itself. This endpoint does it in one request.',path_params:[],body:[{name:"address",type:"string",required:!0,description:'Free-text address, e.g. `"9 Bennett Road"`.'},{name:"postcode",type:"string",required:!0,description:'UK postcode, e.g. `"LS6 3HN"`. Case and hyphens are normalised automatically.'}],response_schema:{match:"Object: `{ uprn, address, postcode, latitude, longitude, confidence }`.",alternatives:"Array of `{ uprn, address, postcode, confidence }` (up to 4 items)."},example_request:{language:"bash",code:'curl -X POST __API_BASE__/v1/addresses/match \\\n  -H "Authorization: Bearer pmi_live_aB7qX2Z9" \\\n  -H "Content-Type: application/json" \\\n  -d \'{"address":"9 bennett road","postcode":"LS6 3HN"}\''},example_response:{match:{uprn:72226425,address:"9 BENNETT ROAD, LEEDS, LS6 3HN",postcode:"LS6 3HN",latitude:53.8198,longitude:-1.5721,confidence:.94},alternatives:[{uprn:72226528,address:"12 BENNETT ROAD, LEEDS, LS6 3HN",postcode:"LS6 3HN",confidence:.52}]},see_also:["addresses-search","properties-uprn"]},{id:"properties-uprn",group:"property-identity",title:"Property Record",method:"GET",path:"/properties/{uprn}",credits:1,description:"Core property record for a UPRN \u2014 address, property type, floor area, bedrooms, tenure, EPC, flood zones, last sold price.",long_description:"Merges **AddressBase**, **EPC register**, **off-market** (our proprietary enriched dataset), and **Land Registry price-paid** into a single dossier.\n\nCovers all three UK jurisdictions \u2014 England, Wales, Scotland \u2014 with jurisdiction-appropriate fields.",use_cases:["Pre-fill a property listing or valuation request with real OS + EPC data.",'Run a _"property facts"_ panel in a deal-sourcing tool.',"Enrich a CRM record \u2014 UPRN in, full dossier out."],value_proposition:"Stitching AddressBase (licensed), EPC register (free but messy), Land Registry price-paid (free but monthly), and a sqft model is a **multi-month** data-engineering project.\n\nOne call replaces all of it.",path_params:[{name:"uprn",type:"string",required:!0,description:"Unique Property Reference Number."}],query_params:[{name:"fields",type:"string (csv)",required:!1,description:"Comma-separated field names to return. Omit for all fields."}],response_schema:{uprn:"String \u2014 echoes the input UPRN.",address:"Full formatted address.",postcode:"Postcode.",location:"Object: `{ lat, lng }`.",country:'`"England"` \\| `"Wales"` \\| `"Scotland"`.',property_type:'E.g. `"Terraced"`, `"Detached"`.',build_form:'E.g. `"Mid-Terrace"`, `"End-Terrace"`.',floor_area_sqft:"Number \u2014 floor area in square feet.",habitable_rooms:"Integer.",bedrooms:"Integer.",tenure:'`"Freehold"` \\| `"Leasehold"`.',construction_age:'E.g. `"1900-1929"`.',epc:"Object: `{ current_rating, potential_rating }`.",pmi_estimate:"Number \u2014 PMI sale-value estimate (GBP).",pmi_sqft:"Number \u2014 PMI \xa3/sqft estimate.",plot_size:"Number \u2014 plot size in square metres.",last_sold_price:"Number \u2014 last Land Registry sale price.",last_sold_date:"ISO date.",flood_zone_2:"Boolean.",flood_zone_3:"Boolean.",conservation_area:"Boolean."},example_request:{language:"bash",code:'curl __API_BASE__/v1/properties/72226528 \\\n  -H "Authorization: Bearer pmi_live_aB7qX2Z9"'},example_response:{uprn:72226528,address:"12 BENNETT ROAD, LEEDS, LS6 3HN",postcode:"LS6 3HN",location:{lat:53.8197,lng:-1.572},country:"England",property_type:"Terraced",build_form:"Mid-Terrace",floor_area_sqft:882,habitable_rooms:5,bedrooms:3,tenure:"Freehold",construction_age:"1900-1929",epc:{current_rating:"D",potential_rating:"B"},pmi_estimate:278e3,pmi_sqft:315,plot_size:121,last_sold_price:215e3,last_sold_date:"2019-08-14",flood_zone_2:!1,flood_zone_3:!1,conservation_area:!1},see_also:["valuations-sale","valuations-rental","risks"]},{id:"valuations-sale",group:"valuations-pricing",title:"Sale Valuation (AVM)",method:"GET",path:"/valuations/{uprn}/sale",credits:3,description:"Automated Valuation Model for UK residential sale price. Point estimate, \xb110% bounds, and a confidence label.",long_description:"Cascading confidence model:\n\n1. **High** \u2014 last sold price with area-level growth applied.\n2. **
1Medium** \u2014 EPC-derived sqft valuation.\n3. **Low** \u2014 comparables fallback (nearest 7 similar properties).",use_cases:['Show an _"estimated value"_ on a property detail page, CRM, or buyer dashboard.',"Bulk-revalue a portfolio monthly for asset reporting or **LTV monitoring**.",'Power instant-offer flows (_"we buy any house"_ products).'],value_proposition:"Most enterprise valuation services are sold as bulk contracts with no usable REST endpoint.\n\nThis returns a defensible valuation in under a second, for any UK UPRN, with a clear confidence label so you can decide when to fall back to a human.",path_params:[{name:"uprn",type:"string",required:!0,description:"Property UPRN."}],query_params:[],response_schema:{uprn:"String \u2014 echoes the input UPRN.",postcode:"Property postcode.",value:"Number (GBP) \u2014 point estimate.",lower_bound:"Number (GBP) \u2014 \u2248 90% of `value`.",upper_bound:"Number (GBP) \u2014 \u2248 110% of `value`.",confidence:'`"High"` \\| `"Medium"` \\| `"Low"`.',method:'`"last_sold_growth"` \\| `"sqft_estimate"` \\| `"comparables"`.',currency:'Always `"GBP"`.'},example_request:{language:"bash",code:'curl __API_BASE__/v1/valuations/72226528/sale \\\n  -H "Authorization: Bearer pmi_live_aB7qX2Z9"'},example_response:{uprn:"72226528",postcode:"LS6 3HN",value:278e3,lower_bound:250200,upper_bound:305800,confidence:"High",method:"last_sold_growth",currency:"GBP"},see_also:["valuations-rental","valuations-hmo","prices-comparables-uprn"]},{id:"valuations-rental",group:"valuations-pricing",title:"Rental Valuation",method:"GET",path:"/valuations/{uprn}/rental",credits:3,description:"Estimated monthly rent for a UK property using expanding-radius comparable search.",long_description:"Searches historical rentals at **220m \u2192 670m \u2192 1.3km** radii, then falls back to live listings if needed.\n\nReturns point / min / max / median rent, comparable count, the search radius that produced the answer, and a confidence label.",use_cases:["Instant **rent estimate** on a listing page or buyer calculator.","**Yield engine** \u2014 pair with `/valuations/{uprn}/sale` for gross-yield calculations.",'Landlord portals: _"suggested asking rent"_ before a new let.'],value_proposition:"Rightmove and Zoopla restrict access to rental data.\n\nWe maintain a **7M+ row rental history** plus a continuous live-listings feed across all UK regions.",path_params:[{name:"uprn",type:"string",required:!0,description:"Property UPRN."}],query_params:[{name:"bedrooms",type:"integer",required:!1,description:"Override the inferred bedroom count."}],response_schema:{uprn:"String \u2014 echoes the input UPRN.",postcode:"Property postcode.",bedrooms:"Integer \u2014 bedroom count used for the comp search.",monthly_rent:"Number \u2014 point estimate (GBP/month).",average_rent:"Number \u2014 mean of comparables (GBP/month).",min_rent:"Number \u2014 minimum of comparables.",max_rent:"Number \u2014 maximum of comparables.",comparable_count:"Integer \u2014 how many comps contributed.",search_radius_m:"Integer \u2014 the radius that produced a valid answer.",confidence:'`"High"` \\| `"Medium"` \\| `"Low"`.',currency:'Always `"GBP"`.'},example_request:{language:"bash",code:'curl __API_BASE__/v1/valuations/72020053/rental \\\n  -H "Authorization: Bearer pmi_live_aB7qX2Z9"'},example_response:{uprn:"72020053",postcode:"LS6 3HN",bedrooms:3,monthly_rent:1250,average_rent:1275,min_rent:1100,max_rent:1450,comparable_count:18,search_radius_m:670,confidence:"High",currency:"GBP"},see_also:["valuations-sale","valuations-hmo","valuations-str-estimate","rents-yields"]},{id:"valuations-hmo",group:"valuations-pricing",title:"HMO Valuation",method:"GET",path:"/valuations/{uprn}/hmo",credits:5,description:"HMO-specific valuation: sale value as an HMO, gross rent per-room, implied yield.",long_description:"Built on **live SpareRoom room-rent data** and regional HMO market multiples. Returns a point sale value plus low/high band, gross rent broken down per room, and the implied gross yield.",use_cases:["Underwrite **HMO conversion projects** \u2014 compare C3 \u2192 C4 use-class uplift.","Sourcing tools for HMO investors: filter by implied yield at property level.","Refinance valuations for licensed HMOs (lenders increasingly w
1ant a GDV split)."],value_proposition:"No mainstream AVM covers HMOs \u2014 they're priced off **room count, not bedroom count**, with comparables on SpareRoom rather than Rightmove.\n\nBuilding this yourself means scraping SpareRoom, mapping rooms to LHA bands, and inferring EPC-derived room counts. One endpoint does it all.",path_params:[{name:"uprn",type:"string",required:!0,description:"Property UPRN."}],query_params:[{name:"finish_quality",type:"string",required:!1,default:"average",description:"`below_average` \\| `average` \\| `above_average` \\| `very_high`."},{name:"living_room",type:"boolean",required:!1,default:!0,description:"Whether to count one room as a communal living room."},{name:"parking",type:"boolean",required:!1,default:!0,description:"Whether the property has parking."},{name:"outside_space",type:"boolean",required:!1,default:!0,description:"Whether the property has outside space."}],response_schema:{uprn:"String \u2014 echoes input UPRN.",hmo_sale_value:"Object: `{ point, low, high, confidence }`.",gross_rent_pcm:"Object: `{ total, per_room_avg, rooms }`.",gross_yield_pct:"Number \u2014 implied gross yield.",article_4:"Boolean \u2014 `true` if the property is in an Article 4 direction area.",as_of:"ISO date of the valuation."},example_request:{language:"bash",code:'curl -G __API_BASE__/v1/valuations/72226528/hmo \\\n  --data-urlencode "finish_quality=above_average" \\\n  -H "Authorization: Bearer pmi_live_aB7qX2Z9"'},example_response:{uprn:"72226528",hmo_sale_value:{point:485e3,low:452e3,high:518e3,confidence:"medium"},gross_rent_pcm:{total:3250,per_room_avg:650,rooms:5},gross_yield_pct:8.04,article_4:!1,as_of:"2026-04-24"},see_also:["valuations-sale","valuations-rental","rents-hmo","planning-hmo-register"]},{id:"valuations-development-gdv",group:"valuations-pricing",title:"Development GDV",method:"POST",path:"/valuations/development-gdv",credits:5,description:"Gross Development Value for a proposed development. Location + unit mix in; GDV estimate out.",long_description:"Benchmarks each proposed unit against our **25M+ row Rightmove sales dataset** to produce a per-unit valuation and a total GDV.",use_cases:["**Feasibility / appraisal** for small-scale developers.","Lender **pre-qualification** for development finance.","Planning viability assessments and S106 negotiations."],value_proposition:"Replaces the expensive desktop-appraisal stage for early feasibility. Pays for itself on the first site you screen.",body:[{name:"postcode",type:"string",required:"one of",description:"Site postcode."},{name:"lat",type:"number",required:"one of",description:"Site latitude."},{name:"lng",type:"number",required:"one of",description:"Site longitude (pair with `lat`)."},{name:"polygon",type:"string",required:"one of",description:'`"lng,lat lng,lat \u2026"` polygon.'},{name:"units",type:"array",required:!0,description:"Array of unit definitions: `{ bedrooms, size_sqft, property_type }`."}],response_schema:{location_label:"String \u2014 human-readable site label.",gdv_total:"Number (GBP) \u2014 total Gross Development Value.",units:"Array of `{ bedrooms, size_sqft, estimated_value, price_per_sqft }`.",currency:'Always `"GBP"`.'},see_also:["prices-market","prices-comparables"]},{id:"prices-comparables-uprn",group:"valuations-pricing",title:"Comparables (by UPRN)",method:"GET",path:"/prices/{uprn}/comparables",credits:5,description:"Nearby comparable transactions for a subject property. Sold / for-sale / rented / for-rent. Rich filters and pagination.",long_description:"The most-used sourcing endpoint. Defaults to **sold transactions** in the past 12 months within a radius sized to the target bedroom count.\n\nFilters by bedrooms, property type, date, tenure, price, sqft, new-build. Sort by distance, price, date, or sqft.",use_cases:['_"Recent sales near this property"_ block on a listing page.',"Power the comparables behind an **in-house AVM**.","Agent pitch packs \u2014 print an instant comps sheet."],value_proposition:"Land Registry data is free but lags 2-3 months and has **no bedroom/type attributes**.\n\nWe join it to Rightmove to get those, plus `prop_details_sales` and `rightmove_scotland` for UK-wide coverage.",path_params:[{name:"uprn",type:"string",required:!0,description:"Subject property UPRN."}],query_params:[{name:"type",type:"string",required:!1,default:"sold",description:"`sold` \\| `for_sale` \\| `rented` \\| `for_rent`."},{name:"radius_m",type:"integer",required:!1,description:"Search radius in metres. Max **5000**."},{name:"bedrooms",type:"integer",required:!1,description:"Exact bedroom count."},{name:"min_bedrooms",type:"integer",required:!1,description:"Minimum bedroom count (use with `max_bedrooms` for a range)."},{name:"max_bedrooms",type:"integer",required:!1,description:"Maximum bedroom count."},{name:"property_type",type:"string",required:!1,description:"`Flat` \\| `Terrace` \\| `Semi-detatched` \\| `Detached` \\| `Bungalow` \\| `Other`."},{name:"tenure",type:"string",required:!1,description:"`Freehold` \\| `Leasehold`."},{name:"min_price",type:"integer",required:!1,description:"Minimum price (GBP)."},{name:"max_price",type:"integer",required:!1,description:"Maximum price (GBP)."},{name:"min_sqft",type:"number",required:!1,description:"Minimum floor area (sqft)."},{name:"max_sqft",type:"number",required:!1,description:"Maximum floor area (sqft)."},{name:"min_date",type:"date",required:!1,description:"Earliest transaction date (ISO)."},{name:"max_date",type:"date",required:!1,description:"Latest transaction date (ISO)."},{name:"new_build",type:"boolean",required:!1,description:"Restrict to new builds."},{name:"sort",type:"string",required:!1,default:"distance",description:"`distance` \\| `price_asc` \\| `price_desc` \\| `date_desc` \\| `date_asc` \\| `sqft_desc`."},{name:"page",type:"integer",required:!1,default:1,description:"Page number (1-indexed)."},{name:"per_page",type:"integer",required:!1,default:10,description:"Results per page. Max **50**."}],response_schema:{comp_type:"Echo of the `type` param.",country:'`"England"` \\| `"Wales"` \\| `"Scotland"`.',location:"Human-readable location label.",radiu
1s_m:"Integer \u2014 radius used.",sort:"Echo of the `sort` param.",page:"Integer.",per_page:"Integer.",total_count:"Integer \u2014 total matching comps.",total_pages:"Integer.",count:"Integer \u2014 comps in this page.",comparables:"Array of `{ uprn, address, postcode, price, date, bedrooms, property_type, floor_area_sqft, tenure, distance_m, price_per_sqft }`.",target:"Object: `{ bedrooms, property_type }` \u2014 the subject property's inferred attributes."},see_also:["prices-comparables","valuations-sale"]},{id:"prices-comparables",group:"valuations-pricing",title:"Comparables (by Location)",method:"GET",path:"/prices/comparables",credits:5,description:"Same as Comparables (by UPRN) but no subject property \u2014 supply a location directly.",long_description:"Useful when the user hasn't picked a specific property yet (e.g. exploring an area).",use_cases:["Comp search when the user hasn't picked a specific property yet.",'Area exploration \u2014 _"what\'s selling in BA1 3?"_.'],value_proposition:"Same underlying dataset as Comparables (by UPRN). Use whenever you don't have, or don't need, a UPRN anchor.",query_params:[{name:"postcode",type:"string",required:"one of",description:"Full postcode or sector."},{name:"outcode",type:"string",required:"one of",description:"Outcode / district (e.g. `LS6`)."},{name:"lat",type:"number",required:"one of",description:"Latitude (pair with `lng`)."},{name:"lng",type:"number",required:"one of",description:"Longitude."},{name:"polygon",type:"string",required:"one of",description:'`"lng,lat lng,lat \u2026"` polygon.'},{name:"(all filter + pagination params from Comparables by UPRN also apply)",type:"",required:!1,description:"See `/prices/{uprn}/comparables`."}],response_schema:{same_shape_as:"Identical to `/prices/{uprn}/comparables` response, minus the `target` object."},see_also:["prices-comparables-uprn","prices-market"]},{id:"prices-market",group:"valuations-pricing",title:"Area Market Prices",method:"GET",path:"/prices/market",credits:2,description:"Area-level live sale market stats \u2014 summary, per-sqft, distribution percentiles, by bedrooms, by property type.",long_description:"Returns all five dashboard sections in a **single sub-second call**, aggregating continuously-refreshed Rightmove sale listings.\n\nUse `?include=` to narrow the payload if you only want some sections.",use_cases:['_"Local market snapshot"_ dashboards.',"Automated area reports for agent pitches.","Baseline data for an in-house AVM."],value_proposition:"Five dashboard sections in one call. The equivalent Rightmove / Zoopla data packages are five-figure annual licences.",query_params:[{name:"postcode",type:"string",required:"one of",description:"Full postcode or sector."},{name:"outcode",type:"string",required:"one of",description:"District (e.g. `LS6`)."},{name:"lat+lng+radius_m",type:"",required:"one of",description:"Radius search. Max radius **5km**."},{name:"polygon",type:"string",required:"one of",description:'`"lng,lat lng,lat \u2026"`.'},{name:"bedrooms",type:"integer",required:!1,description:"Filter by bedroom count."},{name:"property_type",type:"string",required:!1,description:"Same enum as `/prices/{uprn}/comparables`."},{name:"new_build",type:"boolean",required:!1,description:"Include / exclude new builds."},{name:"shared_ownership",type:"boolean",required:!1,description:"Default **excluded**."},{name:"retirement",type:"boolean",required:!1,description:"Default **excluded**."},{name:"auction",type:"boolean",required:!1,description:"Default **excluded**."},{name:"tenure",type:"string",required:!1,description:"`Freehold` \\| `Leasehold`."},{name:"points",type:"integer",required:!1,default:20,description:"Sample size for spatial modes (15\u2013100)."},{name:"include",type:"string (csv)",required:!1,description:"`summary`, `by_bedrooms`, `by_type`, `distribution`, `per_sqft`. Omit for all."}],response_schema:{location:"Human-readable location label.",currency:'Always `"GBP"`.',points:"Integer \u2014 sample size used.",summary:"`{ count, average_price, median_price, min_price, max_price }`.",distribution:"`{ p10, p25, median, p75, p90, std_dev }`.",per_sqft:"`{ count_with_floor_area, average_price_per_sqft, median_price_per_sqft }`.",by_bedrooms:"Array of `{ bedrooms, count, average_price, median_price, min_price, max_price }`.",by_type:"Array of `{ property_type, count, average_price, median_price }`."},see_also:["rents-long-term","prices-comparables","location-profile"]},{id:"rents-long-term",group:"rental-market",title:"Long-let Rents",method:"GET",path:"/rents/long-term",credits:2,description:"Live asking rents for long-let residential properties.",long_description:"Mirrors `/prices/market` but for rentals \u2014 summary, per-sqft, distribution, by bedrooms, by type. Filters for student lets, house shares, BTR, furnished status.",use_cases:["**Area rental insights** on an investor sourcing tool.","Benchmark a landlord's asking rent against the local market.","Feed area rent averages into a yield model."],value_proposition:"Rightmove rental data isn't publicly queryable.\n\nOur **25M-row** `rightmove_rental` dataset covers all UK live + historical long-let listings with cleaned attributes (student let, house share, BTR flags).",query_params:[{name:"postcode",type:"string",required:"one of",description:"Full postcode or sector."},{name:"outcode",type:"string",required:"one of",description:"District."},{name:"lat+lng+radius_m",type:"",required:"one of",description:"Radius search."},{name:"polygon",type:"string",required:"one of",description:"Polygon string."},{name:"bedrooms",type:"integer",required:!1,description:"Filter."},{name:"property_type",type:"string",required:!1,description:"`Flat` \\| `Terrace` \\| `Semi-detatched` \\| `Detached` \\| `Bungalow` \\| `Other`."},{name:"furnished",type:"string",required:!1,description:"`furnished` \\| `unfurnished` \\| `part_furnished`."},{name:"student",type:"boolean",required:!1,description:"`true` = only student lets, `false` = exclude (default)."},{name:"house_share",type:"boolean",required:!1,description:"Same semantics as `student`."},{name:"build_to_rent",type:"boolean",required:!1,description:"Same semantics as `student`."},{name:"points",type:"integer",required:!1,default:20,description:"15\u2013100."},{name:"include",type:"string (csv)",required:!1,description:"`summary`, `by_bedrooms`, `by_type`, `distribution`, `per_sqft`."}],response_schema:{same_shape_as:"Mirrors `/prices/market` but with `*_pcm` (per calendar month) fields instead of `*_price`."},see_also:["prices-market","rents-yields","rents-demand"]},{id:"rents-hmo",group:"rental-market",title:"HMO Room Rents",method:"GET",path:"/rents/hmo",credits:2,description:"Live HMO room rents from SpareRoom, by 4 room types (double en-suite / double shared-bath / single en-suite / single shared-bath).",long_description:"Returns **average / median / count / min / max** per category plus up to 20 nearest comparable rooms.",use_cases:["Pricing rooms in a **new HMO letting**.","Underwriting **HMO conversion** decisions.","Rent review evidence for existing HMO landlords."],value_proposition:"SpareRoom has no public API.\n\nWe maintain a continuous feed and structure it into **4 standardised room types** so you can compare like-for-like.",query_params:[{name:"postcode",type:"string",required:"one of",description:"Full postcode."},{name:"outcode",type:"string",required:"one of",description:"District code."},{name:"lat+lng",type:"",required:"one of",description:"Coordinates."}],response_schema:{location:"Location label.",by_room_type:"Array of `{ room_type, count, avg_pcm, median_pcm, min_pcm, max_pcm, sample_listings: [...] }`."},see_also:["valuations-hmo","planning-hmo-register"]},{id:"rents-lha",group:"rental-market",title:"LHA Rates",method:"GET",path:"/rents/lha",credits:1,description:"Local Housing Allowance rates for a postcode, by room category.",long_description:"LHA is published per **Broad Rental Market Area (BRMA)**, not per postcode, and changes yearly. We map each postcode to its current BRMA.",use_cases:["Benefits-based lettings strategies \u2014 **check ceiling rent** before acquiring.","Build an LHA calculator.","Pricing for social-letting agencies."],value_proposition:"Postcode \u2192 BRMA mapping changes every April. We keep it current so you don't need to.",query_params:[{name:"postcode",type:"string",required:!0,description:"UK postcode."},{name:"bedrooms",type:"integer",required:!1,description:"Filter to a single room category."}],response_schema:{postcode:"Echo of input.",brma:"Broad Rental Market Area name.",lha_date:"Effective-from date of the rates.",rates:"`{ shared_room, one_bed, tw
1o_bed, three_bed, four_bed }` \u2014 weekly rates (GBP).",currency:'Always `"GBP"`.'},see_also:["rents-long-term","rents-hmo"]},{id:"rents-yields",group:"rental-market",title:"Rental Yields",method:"GET",path:"/rents/yields",credits:2,description:"Gross rental yield for an area \u2014 `(median annual rent / median asking price) \xd7 100`. Uses IQR-filtered robust statistics.",long_description:"Returns overall + breakdown by bedrooms. Uses **p5\u2013p95 trimmed statistics** to stay robust against outliers \u2014 one \xa310k/mo luxury listing in SW1 won't skew the answer.",use_cases:['_"Best yields"_ **heatmap** or league table in an investor portal.',"Area shortlisting for BTL buyers.","Refinance stress testing."],value_proposition:"No commercial source exposes yield at **postcode granularity**. We compute it live from our rental + sales tables.",query_params:[{name:"postcode",type:"string",required:"one of",description:"Full postcode or sector."},{name:"outcode",type:"string",required:"one of",description:"District code."},{name:"bedrooms",type:"integer",required:!1,description:"Filter."},{name:"property_type",type:"string",required:!1,description:"Same enum."}],response_schema:{location:"Location label.",gross_yield_pct:"Number \u2014 overall gross yield %.",median_rent_pcm:"Number (GBP).",average_rent_pcm:"Number (GBP).",median_price:"Number (GBP).",average_price:"Number (GBP).",rent_count:"Integer \u2014 rental sample size.",sale_count:"Integer \u2014 sales sample size.",data_quality:'`"high"` \\| `"medium"` \\| `"low"`.',by_bedrooms:"Array of `{ bedrooms, median_rent_pcm, median_price, gross_yield_pct, rent_count, sale_count }`.",currency:'Always `"GBP"`.'},see_also:["valuations-rental","valuations-sale","rents-long-term"]},{id:"rents-demand",group:"rental-market",title:"Rental Demand",method:"GET",path:"/rents/demand",credits:2,description:"Rental demand indicators \u2014 average days-to-let, supply count, demand count, demand score, monthly-lets timeline.",long_description:"_Days-to-let_ isn't published anywhere \u2014 we derive it by tracking listing lifecycles in our **7M+ row** `historical_rental` table.",use_cases:["Portfolio management \u2014 detect areas with **slowing demand**.","Acquisition screening \u2014 avoid areas where voids are lengthening.",'Landlord dashboards (_"Properties in LS6 are letting in 14 days"_).'],value_proposition:"The only way to get days-to-let at postcode level without scraping Rightmove yourself.",query_params:[{name:"postcode",type:"string",required:"one of",description:"Full postcode or sector."},{name:"outcode",type:"string",required:"one of",description:"District code."},{name:"bedrooms",type:"integer",required:!1,description:"Filter."}],response_schema:{location:"Location label.",average_days_to_let:"Number \u2014 mean days between listing and let.",median_days_to_let:"Number \u2014 median.",supply_count:"Integer \u2014 live listings currently available.",demand_count:"Integer \u2014 properties let in the last 6 months.",demand_score:"Number \u2014 `demand_count / supply_count` (>1 = high demand).",data_quality:'`"high"` \\| `"medium"` \\| `"low"`.',monthly_lets:'Array of `{ month: "YYYY-MM", lets: integer }`.'},see_also:["rents-yields","rents-long-term"]},{id:"str-market",group:"serviced-accommodation",title:"STR Market Analysis",method:"GET",path:"/str/market",credits:3,description:"Complete UK short-term-rental market intelligence \u2014 ADR, occupancy, RevPAR, 24 months of historical data, supply, ratings, amenities, breakdowns, demand, grade.",long_description:"Full short-term-rental market analysis for any UK location \u2014 postcode, outcode, lat+lng+radius, or polygon.\n\nBuilt from continuously-refreshed listing-level Airbnb + Vrbo data with **24 months of history at the listing level**.",use_cases:['**Acquisition underwriting:** _"Before buying a \xa3280k flat in Bath, I check `/str/market` for BA1 1. ADR \xa3142, occupancy 68%, RevPAR \xa397, grade A. Projected ~\xa335k/yr gross. I proceed."_ \u2014 a 3-credit call answers a \xa3280k decision.',"**Pricing / revenue management:** Compare your listing's ADR to the `by_price_tier` summary each Monday. Dynamic-pricing tooling typically charges 1% of revenue for the same signal \u2014 you replicate it with one daily call.","**SA vs long-let comparison:** Pair `/str/market` (3 cr) + `/rents/long-term` (2 cr) for the same location. Decide strategy in 5 credits.","**Market saturation screening:** The `supply` section flags when listings are up 40% YoY but RevPAR is flat \u2014 over-supplied.","**Lender / broker due diligence:** SA mortgage lenders need revenue projections signed off. A reproducible, timestamped API response is stronger evidence than a hand-compiled screenshot pack."],value_proposition:"UK-wide SA intelligence at **postcode granularity**, billed per-call \u2014 roughly **\xa30.02** per area snapshot.\n\nIncludes a letter-grade market score, 24 months of listing-level history, and every breakdown (bedrooms, listing type, price tier) in one call. Nothing else in the UK market bundles this as a callable REST API.",highlights:["**~\xa30.02 per call**, UK-wide, postcode-granular","**24 months** of listing-level history with YoY revenue change per month","Headline metrics \u2014 ADR, occupancy %, RevPAR, monthly and annual revenue, active listings","Breakdowns by **bedrooms / listing type / price tier** without extra calls","**Letter-grade (A\u2013F)** market score with strongest / weakest dimensions","Ratings + amenity prevalence for all listings in the area","Supply growth and demand signals (booked vs available nights, lead time, length of stay)"],query_params:[{name:"postcode",type:"string",required:"one of",description:"Full postcode or sector."},{name:"outcode",type:"string",required:"one of",description:"District (e.g. `BA1`)."},{name:"lat+lng+radius_m",type:"",required:"one of",description:"Radius up to 5 km."},{name:"polygon",type:"string",required:"one of",description:'`"lng,lat lng,lat \u2026"` (\u22653 pairs).'},{name:"listing_type",type:"string",required:!1,description:"`entire_home` \\| `private_room` \\| `shared_room`."},{name:"bedrooms",type:"integer",required:!1,description:"Exact bedroom count."},{name:"min_bedrooms",type:"integer",required:!1,description:"Minimum."},{name:"max_bedrooms",type:"integer",required:!1,description:"Maximum."},{name:"property_type",type:"string",required:!1,description:"`house` \\| `apartment`."},{name:"min_rating",type:"number",required:!1,description:"Floor on guest rating (e.g. `4.0`)."},{name:"price_tier",type:"string (repeatable)",required:!1,description:"`Budget` \\| `Economy` \\| `Midscale` \\| `Upscale` \\| `Luxury`."},{name:"include",type:"string (csv)",required:!1,description:"One or more of: `summary`, `historical`, `supply`, `ratings`, `amenities`, `by_bedrooms`, `by_listing_type`, `by_price_tier`, `demand`, `grade`. Default: all."}],response_schema:{location:"Location label.",country:'`"England"` \\| `"Wales"` \\| `"Scotland"`.',currency:'Always `"GBP"`.',summary:"`{ adr, occupancy_pct, revpar, revenue_pcm, revenue_annual, active_listings }`.",historical:"Array of 24 months \xd7 `{ month, adr, occupancy_pct, revenue_pcm, revpar, yoy_revenue_change }`.",supply:"`{ active_listings, yoy_growth_pct, new_listings_30d, blocked_listings }`.",ratings:"`{ overall_avg, count_with_rating, cleanliness, accuracy, communication, location, check_in, value }`.",amenities:"Object of `{*_pct}` floats (wifi, kitchen, washing_machine, parking, \u2026).",by_bedrooms:"Array of `{ bedrooms, listings, adr, occupancy_pct, revenue_pcm }`.",by_listing_type:"Array of `{ listing_type, listings, adr, occupancy_pct }`.",by_price_tier:"Array of `{ tier, listings, adr, occupancy_pct, revenue_pcm }`.",demand:"`{ booked_nights_30d, available_nights_30d, lead_time_avg_days, length_of_stay_avg }`.",grade:'`{ letter: "A"\u2013"F", score_0_100, strongest: [...], weakest: [...] }`.'},example_request:{language:"bash",code:'curl -G __API_BASE__/v1/str/market \\\n  --data-urlencode "outcode=BA1" \\\n  --data-urlencode "bedrooms=2" \\\n  --data-urlencode "include=summary,historical,grade" \\\n  -H "Authorization: Bearer pmi_live_aB7qX2Z9"'},example_response:{location:"BA1",country:"England",currency:"GBP",summary:{adr:142,occupancy_pct:68,revpar:97,revenue_pcm:2955,revenue_annual:354
160,active_listings:418},historical:[{month:"2024-05",adr:138,occupancy_pct:70,revenue_pcm:2940,revpar:97,yoy_revenue_change:.08},{month:"2024-06",adr:159,occupancy_pct:82,revenue_pcm:3914,revpar:130,yoy_revenue_change:.11}],grade:{letter:"A",score_0_100:86,strongest:["revpar","occupancy"],weakest:["supply_growth"]}},see_also:["valuations-str-estimate","rents-long-term","valuations-rental"]},{id:"valuations-str-estimate",group:"serviced-accommodation",title:"STR Revenue Estimate (property-level)",method:"POST",path:"/valuations/str-estimate",credits:50,description:"12-month revenue projection for a specific property operated as short-term-let \u2014 monthly ADR, occupancy, revenue PCM, RevPAR, annual totals.",long_description:"Runs a **similarity-weighted regression** over up to ~100 comp listings within 2 km, weighted by resemblance to the subject property on beds, baths, and property type.\n\nReturns a **month-by-month breakdown** so seasonality is visible.",primary_use_case:"Property management companies embedding an instant revenue-projection widget on their website as a lead-capture tool.",use_cases:['**Property management companies** embed a _"what could your property earn?"_ widget on their homepage. Owner enters address + bedrooms, sees a \xa338k/yr projection in 2 seconds, then clicks _"Book a management consultation"_. At ~\xa30.35 per call and 2% conversion to managed clients (\xa37\u201310k/yr fee), every API call is worth **~\xa3140\u2013\xa3200 in LTV**. Break-even conversion is **1 in 20,000**.',"**Pre-acquisition underwriting:** \xa3420k 3-bed semi in York \u2192 projected \xa348.2k/yr, 64% occupancy, ADR \xa3207. At 35% costs + 6% finance the deal cash-flows. You offer.","**Strategy decision on a current BTL:** \xa3260k 2-bed flat letting for \xa31,100 pcm. `str-estimate` says \xa332k/yr STR = \xa32,670 pcm gross = \xa31,730 pcm net. **STR beats long-let by 57%**.","**SA-mortgage verification:** Lenders (Together, Paragon, Precise) need third-party revenue projections. This endpoint returns one in <2s with a reproducible methodology.","**Portfolio screening at scale:** 200 acquisition targets/year \xd7 50 credits = 10k credits \u2014 fits comfortably in the Pro tier cap.","**Due diligence in SA-sale transactions:** Brokers need independent revenue numbers to show buyers \u2014 more trusted than self-reported P&L."],embedded_widget_economics:{scenario:"Property management company website lead widget",rows:[{metric:"Cost per submission",value:"**50 credits \u2248 \xa30.35** (Pro tier, \xa30.007/credit)"},{metric:"Typical lead \u2192 managed client conversion",value:"~2%"},{metric:"Typical SA management fee",value:"15\u201320% of revenue = **\xa37k\u2013\xa310k/yr per client**"},{metric:"Effective LTV per \xa30.35 API call",value:"**~\xa3140\u2013\xa3200** (2% conversion \xd7 1-year retention)"},{metric:"Break-even conversion rate",value:"**1 in 20,000** \u2014 you'll beat that by 3 orders of magnitude"}],implementation_notes:["**Cache responses by UPRN for 30 days** \u2014 most owners share their result, friends re-request. Cuts costs further.","Use `include_comparables=false` (default) so responses are small and fast to render.","Set `finish_quality=average` on public widgets; let customers upgrade during onboarding.",'Add your **15\u201320% management fee** deduction to the displayed number (_"You keep \xa338,400/yr after our fee"_) \u2014 converts better than the gross figure.',"**Server-side proxy** the call with a site-wide key; never expose your Bearer token in the browser.","Rate-limit per-IP or per-session in your own code \u2014 PMI rate limits are per-API-key, not per-end-user."]},value_proposition:"A property-level 12-month revenue projection runs per-request and is callable from your own product \u2014 which means you can embed it in a site, pass it through an agent, or batch it over a pipeline.\n\nFor property management companies specifically, a **\xa30.35 API call has ~\xa3140\u2013\xa3200 LTV** when embedded as a lead widget \u2014 a **400\u2013600\xd7 return**.",body:[{name:"uprn",type:"string",required:"one of",description:"Property UPRN (preferred \u2014 we auto-detect beds/baths/type if omitted)."},{name:"postcode",type:"string",required:"one of",description:"Full postcode (for off-market or new-build properties)."},{name:"lat+lng",type:"",required:"one of",description:"Exact coordinates."},{name:"bedrooms",type:"integer",required:!0,description:"Bedroom count \u2014 the biggest driver of projected revenue."},{name:"bathrooms",type:"integer",required:!1,description:"Defaults to `max(1, bedrooms - 1)`."},{name:"property_type",type:"string",required:!1,description:"`house` \\| `apartment`. Defaults inferred from nearby comps."},{name:"finish_quality",type:"string",required:!1,default:"average",description:"`below_average` \\| `average` \\| `above_average` \\| `very_high`. Shifts ADR \xb110% around the comp median."},{name:"include_comparables",type:"boolean",required:!1,default:!1,description:"If `true`, response includes the listing-level comps used."}],response_schema:{location_label:"Human-readable location label.",currency:'Always `"GBP"`.',projected_monthly:"`{ adr, occupancy_pct, revenue_pcm, revpar }`.",projected_annual:"`{ revenue, occupancy_pct, high_season_months, low_season_months }`.",monthly_breakdown:"Array of 12 \xd7 `{ month, adr, occupancy_pct, revenue_pcm, revpar }`.",comps:"`{ listings_sampled, radius_m, similarity_weight_avg, comparables: [...] }` (comparables only when `include_comparables=true`).",confidence:'`"High"` \\| `"Medium"` \\| `"Low"`.'},example_request:{language:"bash",code:'curl -X POST __API_BASE__/v1/valuations/str-estimate \\\n  -H "Authorization: Bearer pmi_live_aB7qX2Z9" \\\n  -H "Content-Type: application/json" \\\n  -d \'{\n    "uprn": "72226528",\n    "bedrooms": 2,\n    "bathrooms": 1,\n    "property_type": "apartment",\n    "finish_quality": "above_average"\n  }\''},example_response:{location_label:"BA1 1, Bath",currency:"GBP",projected_monthly:{adr:156,occupancy_pct:71,revenue_pcm:3355,revpar:111},projected_annual:{revenue:40260,occupancy_pct:71,high_season_months:["Jun","Jul","Aug"],low_season_months:["Jan","Feb","Nov"]},monthly_breakdown:[{month:"Jan",adr:128,occupancy_pct:52,revenue_pcm:2066,revpar:67},{month:"Jun",adr:178,occupancy_pct:84,revenue_pcm:4484,revpar:150}],comps:{listings_sampled:42,radius_m:1800,similarity_weight_avg:.74},confidence:"High"},see_also:["str-market","valuations-rental","valuations-hmo"]},{id:"listings",group:"listings-sourcing",title:"Live Listings Search",method:"GET",path:"/listings",credits:1,description:"Search live for-sale or for-rent listings with **22 strategy tags** (chain-free, HMO potential, below market value, auction, price reduced, probate, tenanted, planning potential, \u2026).",long_description:"Aggregates Rightmove / Zoopla / OnTheMarket plus off-market inventory, enriched with 22 tags inferred from listing text so you don't have to scrape descriptions.",use_cases:["Power a **sourcing / deal-finder tool**.","**BMV deal alerts**.",'Strategy-specific feeds: _"chain-free BTLs in Leeds under \xa3200k with yield > 7%"_.'],value_proposition:"Rightmove / Zoopla / OnTheMarket each require commercial agreements.\n\nWe aggregate all three **plus off-market inventory** and enrich with 22 tags \u2014 tags you'd otherwise have to infer by scraping listing descriptions.",query_params:[{name:"postcode/outcode/lat+lng+radius_m/polygon",type:"",required:"one of",description:"Location."},{name:"type",type:"string",required:!1,default:"sale",description:"`sale` \\| `rent`."},{name:"min_price",type:"integer",required:!1,description:"Minimum price."},{name:"max_price",type:"integer",required:!1,description:"Maximum price."},{name:"bedrooms",type:"integer",required:!1,description:"Exact."},{name:"min_bedrooms",type:"integer",required:!1,description:"Minimum."},{name:"max_bedrooms",type:"integer",required:!1,description:"Maximum."},{name:"property_type",type:"string",required:!1,description:"Same enum as other endpoints."},{name:"tenure",type:"string",required:!1,description:"`Freehold` \\| `Leasehold`."},{name:"tags",type:"string (csv)",required:!1,description:"Any of 22 strategy tags \u2014 see `tags_available`."},{name:"sort",type:"string",required:!1,default:"distance",description:"`distance` \\| `price_asc` \\| `price_desc` \\| `date_desc` \\| `date_asc`."},{name:"page",type:"integer",required:!1,default:1,description:"Page number."},{name:"per_page",type:"integer",required:!1,default:10,description:"Max **50**."}],tags_available:["chain_free","quick_sale","hmo","hmo_potential","btl_ready","cash_only","auction","price_reduced","below_market_value","new_listing","long_on_market","high_yield","probate","divorce","repossession","tenanted","sitting_tenant","planning_potential","renovation","development","land","commercial_conversion","serviced_accommodation"],response_schema:{location:"Location label.",type:"Echo of the `type` param.",sort:"Echo of the `sort` param.",page:"Integer.",per_page:"Integer.",total_count:"Integer.",total_pages:"Integer.",listings:"Array of `{ uprn, address, postcode, price, bedrooms, property_type, tenure, tags: [...], listed_date, distance_m, url }`."},see_also:["prices-comparables","rents-long-term"]},{id:"location-schools",group:"location-intelligence",title:"Nearby Schools",method:"GET",path:"/location/schools",credits:1,description:"Schools near a point with Ofsted ratings, age range, distance.",long_description:"Primary, secondary, sixth-form, special. Filterable by stage and minimum Ofsted rating.",use_cases:['_"School catchment"_ panel on a property listing.',"Family-buyer recommendations.","Input feature for a higher-value valuation model."],value_proposition:"Up-to-date Ofsted + school register in one call, with distance pre-computed.",query_params:[{name:"postcode/outcode/lat+lng+radius_m/polygon",type:"",required:"one of",description:"Location."},{name:"limit",type:"integer",required:!1,default:5,description:"Max **50**."},{name:"stage",type:"string",required:!1,description:"`primary` \\| `secondary` \\| `sixth_form` \\| `special`."},{name:"min_ofsted",type:"integer",required:!1,description:"`1` (Outstanding) \u2026 `4`."}],response_schema:{location:"Location label.",schools:"Array of `{ name, stage, ofsted_rating, age_range, distance_m, urn, postcode }`."}}
1,{id:"location-infrastructure",group:"location-intelligence",title:"Infrastructure",method:"GET",path:"/location/infrastructure",credits:2,description:"Transport, amenities, services within walking distance \u2014 train / tube / bus, supermarkets, GPs, hospitals, parks, gyms.",use_cases:['_"Living here"_ panel on property pages.',"**Commutability scores** for investor reports.",'Student-let viability (_"is this campus-walkable?"_).'],value_proposition:"Stitches OS OpenData + NHS + DfT + OpenStreetMap into one call. No separate licences, no separate ingests.",query_params:[{name:"postcode/outcode/lat+lng+radius_m",type:"",required:"one of",description:"Location."},{name:"include",type:"string (csv)",required:!1,description:"`transport`, `retail`, `health`, `education`, `leisure`."}],response_schema:{location:"Location label.",transport:"Array of transport POIs (train, tube, bus).",retail:"Array of retail POIs (supermarkets, shops).",health:"Array of health POIs (GPs, pharmacies, hospitals).",education:"Array of education POIs (see also `/location/schools`).",leisure:"Array of leisure POIs (parks, gyms)."}},{id:"location-profile",group:"location-intelligence",title:"Area Profile",method:"GET",path:"/location/profile",credits:2,description:"Composite one-shot area profile \u2014 sales, rentals, key stats, property-type mix, tenure breakdown.",use_cases:["**Area landing page** for a property portal.",'_"Is this worth a viewing?"_ top-of-funnel for buyers.',"**Pitch packs** for agents."],value_proposition:"Replaces 5 separate endpoint calls with one summarised view. Designed for **first-screen dashboards**.",query_params:[{name:"postcode",type:"string",required:"one of",description:"Full postcode or sector."},{name:"outcode",type:"string",required:"one of",description:"District code."}],response_schema:{location:"Location label.",country:'`"England"` \\| `"Wales"` \\| `"Scotland"`.',currency:'Always `"GBP"`.',sales:"`{ sold_last_12m, average_price, median_price, property_type_mix: { detached_pct, semi_detached_pct, terraced_pct, flat_pct } }`.",rentals:"`{ live_listings, average_rent_pcm, median_rent_pcm, recently_let_6m, avg_days_to_let }`.",key_stats:"`{ median_price, median_rent_pcm, gross_yield_pct, licensed_hmos }`.",tenure:"`{ freehold_pct, leasehold_pct, count }`."},see_also:["prices-market","rents-long-term","rents-yields"]},{id:"risks",group:"environmental-risk",title:"Property Risks",method:"GET",path:"/risks/{uprn}",credits:8,credit_note:"Cost drops to **1 credit per type** when `?types=` is used (e.g. `types=flood,radon` \u2192 2 credits).",description:"Property-level environmental, hazard, and regulatory risk profile \u2014 12 risk datasets in one call.",long_description:"Covers 12 spatial datasets \u2014 Environment Agency (flood), UKHSA (radon), Coal Authority, Historic England (listed), Natural England (AONB), HMO registers, Article 4 designations, TPOs, subsidence, ground stability, contaminated land, conservation areas.",use_cases:["**Pre-purchase due diligence** automation.",'Flag risks on a listing page (_"Zone 3 flood risk"_, _"Grade II listed"_).',"**Reduce abortive survey spend** by surfacing issues before instruction."],value_proposition:"Licensing + geocoding 12 spatial datasets individually is a **six-month project**.\n\nOne endpoint, sub-second response.",path_params:[{name:"uprn",type:"string",required:!0,description:"Property UPRN."}],query_params:[{name:"types",type:"string (csv)",required:!1,description:"Subset of risk types \u2014 reduces cost to 1 credit per type. Valid values: `flood`, `radon`, `coal`, `listed_building`, `conservation_area`, `hmo`, `article_4`, `aonb`, `tpo`, `subsidence`, `ground_stability`, `contaminated_land`."}],response_schema:{uprn:"String \u2014 echoes input UPRN.",flood:"`{ zone_2, zone_3, surface_water_risk }`.",radon:"`{ class, affected_pct }`.",coal_mining:"`{ risk_level, notes }`.",listed_building:"`{ grade, list_entry }`.",conservation_area:"`{ name }`.",hmo:"`{ licensed, license_number }`.",article_4:"`{ designation }`.",aonb:"`{ in_aonb, name }`.",tpo:"`{ present, references }`.",subsidence:"`{ risk_level }`.",ground_stability:"`{ risk_level }`.",contaminated_land:"`{ risk_level }`."},see_also:["properties-uprn","planning-applications"]},{id:"planning-applications",group:"planning-regulatory",title:"Planning Applications",method:"GET",path:"/planning/applications",credits:2,description:"Search UK planning applications. Filters for status, decision, type, dates, conservation / listed flags, appeals. Full-text search on proposal descriptions.",use_cases:['Property due diligence \u2014 _"has anything been applied for here?"_.',"**Development pipeline visibility** \u2014 track competitor applications.","Sourcing \u2014 find properties with **granted planning** but not yet marketed."],value_proposition:"National planning data is fragmented across **400+ council portals**.\n\nWe aggregate nightly and normalise decision codes so `APPROVED` means the same thing everywhere.",query_params:[{name:"uprn/postcode/outcode/lat+lng+radius_m/polygon",type:"",required:"one of",description:"Location selector."},{name:"status",type:"string",required:!1,description:"`Current` \\| `Decided`."},{name:"decision",type:"string",required:!1,description:"`APPROVED` \\| `REJECTED` \\| `WITHDRAWN` \\| `UNDECIDED` \\| `OTHER`."},{name:"final_decision",type:"string",required:!1,description:"Effective decision after appeal."},{name:"appealed",type:"boolean",required:!1,description:"`true` = only appealed; `false` = exclude appealed."},{name:"application_type",type:"string",required:!1,description:"E.g. `Full Planning Application`, `Listed Building Application`."},{name:"since",type:"date",required:!1,description:"Earliest `date_received`."},{name:"until",type:"date",required:!1,description:"Latest `date_received`."},{name:"decided_since",type:"date",required:!1,description:"Earliest `decision_issued_date`."},{name:"decided_until",type:"date",required:!1,description:"Latest `decision_issued_date`."},{name:"q",type:"string",required:!1,description:"Free-text search on proposal."},{name:"conservation_area",type:"boolean",required:!1,description:"Restrict to conservation-area applications."},{name:"listed_building",type:"boolean",required:!1,description:"Restrict to listed-building applications."},{name:"sort",type:"string",required:!1,description:"`distance` \\| `date_desc` \\| `date_asc` \\| `decided_desc` \\| `decided_asc`."},{name:"page",type:"integer",required:!1,default:1,description:"Page number."},{name:"per_page",type:"integer",required:!1,default:10,description:"Max **50**."}],response_schema:{location:"Location label.",total_count:"Integer.",applications:"Array of planning records (full field list in the detailed docs)."},see_also:["risks","planning-hmo-register"]},{id:"planning-hmo-register",group:"planning-regulatory",title:"HMO Register",method:"GET",path:"/planning/hmo-register",credits:2,description:"Licensed HMO register search \u2014 **142k+ licensed HMOs UK-wide**.",use_cases:['_"Is this property licensed?"_ checks.',"LA HMO supply analysis.","Licensing-expiry pipelines for letting agents."],value_proposition:"Each of **320+ local authorities** publishes its HMO register separately.\n\nWe consolidate them UK-wide and spatial-index them for fast lookup.",query_params:[{name:"postcode/outcode/lat+lng+radius_m/polygon",type:"",required:"one of",description:"Location."},{name:"per_page",type:"integer",required:!1,description:"Max **50**."}],response_schema:{location:"Location label.",total_count:"Integer.",hmos:"Array of `{ license_number, address, licensed_from, licensed_to, occupants, issuing_authority, distance_m }`."},see_also:["valuations-hmo","rents-hmo"]},{id:"property-title",group:"planning-regulatory",title:"Property Title",method:"GET",path:"/property/title/{title_number}",credits:3,description:"HM Land Registry title details \u2014 tenure, registered proprietor class, price-paid history, charges summary.",long_description:"Direct HMLR access without buying from a legal-search reseller per lookup.",use_cases:["Ownership / tenure **verification during due diligence**.","Historical price-paid + dates for a known title.","Feed into a **legal-search stack**."],value_proposition:"Direct HMLR access without buying from a legal-search reseller per lookup.",path_params:[{name:"title_number",type:"string",required:!0,description:"HMLR title number, e.g. `WYK528966`."}],response_schema:{title_number:"Echo of input.",tenure:'`"Freehold"` \\| `"Leasehold"`.',proprietor_class:'E.g. `"Private individual"`, `"Limited company"`.',proprietor_count:"Integer.",price_paid_history:"Array of `{ date, price }`.",charges_summary:"`{ count, latest_date }`."}},{id:"account-info",group:"account-platform",title:"Account",method:"GET",path:"/account",credits:0,description:"Current tier, credits allowance and usage, rate limit, billing cycle start.",use_cases:["Dashboard header widget.","Post-signup confirmation page."],response_schema:{plan:'Tier id \u2014 e.g. `"pro"`.',credits_monthly:"Integer \u2014 monthly allowance.",credits_used_this_month:"Integer \u2014 consumed this cycle.",credits_remaining:"Integer.",rate_limit_per_10s:"Integer \u2014 requests per 10-second window.",period_start:"ISO date \u2014 start of current billing cycle."}},{id:"account-usage",group:"account-platform",title:"Usage",method:"GET",path:"/account/usage",credits:0,description:"Populates the usage dashboard in one call \u2014 cycle summary ring, endpoint-group breakdown table, Highcharts-ready calls-over-time bars.",query_params:[{name:"range",type:"string",required:!1,default:"30d",description:"`7d` \\| `30d` \\| `90
1d`. Only affects `calls_over_time`."}],response_schema:{tier:"Tier id.",rate_limit_per_10s:"Integer.",cycle:"`{ start, end_estimate, days_elapsed, credits_monthly, credits_used, credits_remaining, pct_used, daily_average, calls_total }`.",by_group:"Array of `{ group, calls, credits, share_pct }` sorted by credits desc.",calls_over_time:'`{ range, categories: [dates...], series: [{ name: "Calls", data: [n...] }] }` \u2014 Highcharts-ready.'}},{id:"api-status",group:"account-platform",title:"Status",method:"GET",path:"/status",credits:0,auth_required:!1,description:"Unauthenticated health check.",response_schema:{status:'`"ok"`.',version:"String \u2014 API version.",timestamp:"ISO-8601 datetime."}}]},l=s.endpoints.reduce((function(e,t){return e[t.id]=t,e}),{}),c=s.groups.map((function(e){return o(o({},e),{},{endpoints:s.endpoints.filter((function(t){return t.group===e.id}))})}));s.groups.reduce((function(e,t){return e[t.id]=t,e}),{})},573:function(e,t,r){r.d(t,{DM:function(){return i},g5:function(){return a},Tg:function(){return o},kt:function(){return s},e1:function(){return l},Vw:function(){return c},wj:function(){return p},_I:function(){return d}});var n=r(34155),i={ink:"#0F172A",ink2:"#334155",muted:"#64748B",muted2:"#94A3B8",border:"#E5E7EB",border2:"#EEF1F5",bg:"#F7F8FA",panel:"#FFFFFF",sidebarBg:"#FBFBFD",topbar:"#0E1220",primary:"#4F46E5",primaryHover:"#4338CA",primarySoft:"#EEF0FF",success:"#059669",successSoft:"#DCFCE7",successInk:"#166534",danger:"#DC2626",dangerSoft:"#FEE2E2",dangerInk:"#991B1B",warningSoft:"#FEF3C7",warningInk:"#92400E",infoSoft:"#DBEAFE",infoInk:"#1E40AF",purpleSoft:"#F3E8FF",purpleInk:"#6B21A8",codeBg:"#0F1221",codeInk:"#E2E8F0"},a={sans:"'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif",mono:"'JetBrains Mono', ui-monospace, monospace"},o=(n.env.NEXT_PUBLIC_PMI_API_DOMAIN||"https://api.propertymarketintel.com").replace(/\/+$/,""),s="".concat(o,"/mcp"),l="https://www.propertymarketintel.com",c="".concat(l,"/enterpriseApi.png"),p="https://app.propertymarketintel.com/register?source=data",d={GET:{bg:i.successSoft,color:i.successInk},POST:{bg:i.infoSoft,color:i.infoInk},PUT:{bg:i.warningSoft,color:i.warningInk},DELETE:{bg:i.dangerSoft,color:i.dangerInk}}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.