1import{k as t,y as e,L as r}from"./main-Bjb98eut.js";import{u as p}from"./DocsThemeProvider-DsQpK6nJ.js";import{C as n}from"./CopyBlock-DMVxc9K2.js";import{F as h}from"./file-braces-B51AZ8G3.js";import{E as m}from"./external-link-CReePQid.js";import{F as x}from"./file-text-JEyPcJ3q.js";import"./check-Dn_42aUH.js";import"./copy-YIUWEp6k.js";const g=`You can call the RealtyAPI real estate data API. 2 3Base URL: https://{provider}.realtyapi.io 4 (provider = redfin, airbnb, rightmove, zoopla, ...) 5Auth: header x-realtyapi-key: YOUR_API_KEY 6Format: every response is JSON 7Index: https://www.realtyapi.io/llms.txt (all APIs & endpoints) 8OpenAPI: https://{provider}.realtyapi.io/openapi.json (3.1) 9 10Example: 11 GET https://redfin.realtyapi.io/properties/search?location=Seattle,WA`;function P(){const{resolvedTheme:o}=p(),s=o==="dark",l=t("text-xl font-bold mb-4",s?"text-white":"text-slate-900"),a=t("text-sm leading-relaxed",s?"text-white/70":"text-slate-600"),d=t("text-xs px-1.5 py-0.5 rounded font-mono",s?"bg-white/10 text-white/80":"bg-slate-100 text-slate-700");return e.jsxs("article",{className:"max-w-none",children:[e.jsxs("div",{className:"mb-8",children:[e.jsx("h1",{className:t("text-3xl font-black tracking-tight mb-4",s?"text-white":"text-slate-900"),children:"OpenAPI Specs & llms.txt"}),e.jsxs("p",{className:t("text-base leading-relaxed",s?"text-white/70":"text-slate-600"),children:["Everything RealtyAPI exposes is machine-readable. Each provider publishes a public OpenAPI 3.1 spec, and a site-wide ",e.jsx("code",{className:d,children:"llms.txt"})," indexes every API and endpoint for LLM agents. Both are public â no API key needed to read them."]})]}),e.jsxs("section",{className:"mb-10",children:[e.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[e.jsx("div",{className:t("w-9 h-9 rounded-lg flex items-center justify-center",s?"bg-emerald-500/15":"bg-emerald-50"),children:e.jsx(h,{className:"w-4.5 h-4.5 text-emerald-500"})}),e.jsx("h2",{className:t("text-xl font-bold",s?"text-white":"text-slate-900"),children:"OpenAPI 3.1 specs"})]}),e.jsx("p",{className:a,children:"Every provider serves its full spec â endpoints, parameters, and response schemas â from its own base URL:"}),e.jsx(n,{code:"https://{provider}.realtyapi.io/openapi.json",label:"URL pattern"}),e.jsx("p",{className:t(a,"mb-3"),children:"For example:"}),e.jsx("div",{className:"flex flex-wrap gap-2 mb-6",children:["redfin","realtor","airbnb","zoopla","rightmove"].map(i=>e.jsxs("a",{href:`https://${i}.realtyapi.io/openapi.json`,target:"_blank",rel:"noopener noreferrer",className:t("inline-flex items-center gap-1.5 px-3 py-1.5 rounded-lg border text-[11px] font-mono transition-colors",s?"border-white/10 bg-white/5 text-white/60 hover:text-white hover:border-white/25":"border-slate-200 bg-white text-slate-500 hover:text-slate-900 hover:border-slate-300"),children:[i,".realtyapi.io/openapi.json",e.jsx(m,{className:"w-3 h-3"})]},i))}),e.jsx("h3",{className:t("text-sm font-bold mb-3",s?"text-white":"text-slate-900"),children:"What to do with a spec"}),e.jsx("div",{className:"grid gap-4 md:grid-cols-2",children:[{title:"Generate typed clients",description:"Feed the spec to openapi-generator, orval, or openapi-typescript for a fully typed SDK in your language."},{title:"Import into API tools",description:"Postman, Insomnia, and Bruno import the spec directly â every endpoint pre-configured."},{title:"Power custom GPTs & actions",description:"Paste the spec URL as an Action schema so ChatGPT (or any OpenAPI-aware agent) can call the provider."},{title:"Point coding agents at it",description:"Agents read the spec and write the integration for you â parameters, paths, and response shapes included."}].map((i,c)=>e.jsxs("div",{className:t("p-4 rounded-lg border",s?"bg-white/5 border-white/10":"bg-white border-slate-200"),children:[e.jsx("h4",{className:t("text-sm font-bold mb-1",s?"text-white":"text-slate-900"),children:i.title}),e.jsx("p",{className:t("text-xs leading-relaxed",s?"text-white/60":"text-slate-500"),children:i.description})]},c))})]}),e.jsxs("section",{className:"mb-10",children:[e.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[e.jsx("div",{className:t("w-9 h-9 rounded-lg flex items-center justify-center",s?"bg-sky-500/15":"bg-sky-50"),children:e.jsx(x,{className:"w-4.5 h-4.5 text-sky-500"})}),e.jsx("h2",{className:t("text-xl font-bold",s?"text-white":"text-slate-900"),children:"llms.txt"})]}),e.jsxs("p",{className:a,children:[e.jsx("a",{href:"https://llmstxt.org",target:"_blank",rel:"noopener noreferrer",className:"text-violet-500 hover:underline font-medium",children:"llms.txt"}
11)," ","is a convention for making a site legible to language models. Ours indexes all providers and 400+ endpoints â each with its method, path, and a link to full documentation:"]}),e.jsx(n,{code:"https://www.realtyapi.io/llms.txt",label:"URL"}),e.jsx("p",{className:a,children:"Paste that URL into your agent's context (or just mention it in a prompt) and the agent can navigate our entire catalog on its own â pick the provider, find the endpoint, and read its docs page before writing code."})]}),e.jsxs("section",{className:"mb-10",children:[e.jsx("h2",{className:l,children:"The one-paragraph integration prompt"}),e.jsx("p",{className:a,children:"No spec tooling at hand? This snippet is all an AI agent needs to wire up RealtyAPI:"}),e.jsx(n,{code:g,label:"Paste into your agent"})]}),e.jsx("section",{children:e.jsxs("p",{className:a,children:["Want live tool-calling instead of code generation? Use the"," ",e.jsx(r,{to:"/docs/integrations/mcp",className:"text-violet-500 hover:underline font-medium",children:"MCP server"}),". Working in Claude Code? The"," ",e.jsx(r,{to:"/docs/integrations/agent-skills",className:"text-violet-500 hover:underline font-medium",children:"Agent Skill"})," ","bundles all of this knowledge into one install."]})})]})}export{P as component};
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.