Skip to content

Knowledge base

How the tools work, in plain words

What this is, in one minute

Search engines and AI assistants (Google, ChatGPT, Perplexity and others) read a hidden layer of labels on a web page. The labels say this page is about an agent named Maya Castillo, who works for Harbor Point Realty, holds license SL1234567, and serves Cooper City. That layer is called structured data, and the standard for it is schema.org.

If the labels are missing or wrong, the machines guess. If they are right, the machines can say who you are with confidence. That matters most for the real-estate community, where licenses, brokerages, teams and brands are easy to mix up.

This site does three jobs, all free:

JobWhereWhat it does
Create/builderBuilds the labels for a page (an agent page, a market report, a neighborhood guide, an FAQ, an open house, a help article) from a form.
Check/auditTests labels you already have, on a live page or pasted in, and tells you what is wrong and how to fix it.
Profile/profileStores who you are (license, brokerage, areas, links) once, so every page you create reuses it.

There are no accounts, no passwords and no pricing. Nothing you type into Profile leaves your computer unless you press a button that says it will (see §11).

What "passes" means. A pass means the labels are correctly built. It does not mean your license number is real or your phone number is right. The tool checks structure and vocabulary, not facts. Every result says so.

Five ideas you need

You will see these words in the tool. Each one is explained once here.

  1. Structured data / JSON-LD. The labels, written in a format called JSON-LD. You never write it by hand. You copy a block of it and paste it into your page. It is invisible to visitors.

  2. Entity. A thing the labels describe: a person, a brokerage, a website, a place, an event. One page's labels usually describe several entities and how they connect.

  3. The graph. Those entities, plus the links between them ("Maya works for Harbor Point"). The tool shows this as a small family tree on the results screen.

  4. ID. Each entity gets a unique address so other labels can point at it without repeating everything. Your page URL and site URL are what the tool builds IDs from, which is why they are required.

  5. Check result levels. Every finding is one of three kinds:

    You seeMeaningWhat to do
    ✖ Fix requiredThe labels are wrong in a way machines will trip on.Fix it. The page does not pass until you do.
    ▲ Should fixValid, but likely to confuse a search engine.Fix it when you can.
    • NotesWorth knowing. Not a problem.Read, then move on.

    The headline reads Passes · 0 to fix or Needs fixes · N to fix. Only "Fix required" items count toward N.

Your first ten minutes

Do this once, in this order.

  1. Open /profile and press Start from the sample. The sample is a made-up agent (Maya Castillo, Bayline Home Group). Click Next through all seven steps to see what it asks for, then press Save profile. Nothing is sent anywhere.

  2. Open /builder (the Create link in the top bar). The page type is already Agent or team profile. In Page URL, type any web address that starts with https://. The code appears on the right as you type, and the headline should read Passes · 0 to fix.

  3. Press Copy JSON-LD. That is the finished code for an agent page.

  4. Open /audit (the Check link). Choose Paste code, paste what you copied, press Check. You should see the same pass. Change one word of a property name in the box (for example name to nam) and check again: you now get a Fix required, with the message Did you mean "name"?

If those four steps worked, everything below is variations on them.

The sample profile is fictional on purpose. When you create your own profile, use real details only for people who have agreed to be listed.

Find your way around

The pill-shaped bar at the top of every page has: Check · Create · Profile, and a search button.

  • Search (⌘K on Mac, Ctrl+K on Windows). Opens a quick-jump box. It lists page types, actions, a glossary of the technical words, and your ten most recent checks. Type a few letters and press Enter.

  • Footer links. Help (this knowledge base), Privacy, Terms, Accessibility, Dataset (the license-authority list, see below).

  • A page that doesn't exist shows a "This address isn't on the map" page with a button that opens the search box, and a link back to the home page.

  • /bot. A public page describing the fetcher behind Check (§12).

  • /licenses ("Dataset"). A free list of the real-estate licensing authorities for every US state and Canadian province, with the license categories each issues. It can be downloaded as JSON or CSV. The Profile wizard uses the same list to prefill your license fields.

The site works on phones. Two-column screens stack into one.

Profile: tell it who you are, once

Why bother. Every page you create needs the same facts: who you are, your license, your brokerage. Profile asks once. Create reuses it.

Where it lives. Only in your own web browser. Nothing is uploaded. This has two consequences:

  • A different computer or browser has no profiles. Download your profile (below) to move it.

  • Clearing "site data" in your browser deletes your profiles. Download a copy of each profile you care about.

The Profile screen

ButtonWhat it does
New profileStarts the seven-step wizard with blank fields.
Start from the sampleStarts the wizard filled in with the made-up agent. Good for learning.
Import profileLoads a profile file (YAML, JSON, or a Markdown file with a header). Drag a file in, pick one, or paste. You see a preview before anything is saved.
Advanced: edit as textFor people who prefer editing the profile as text. Most users never need it.

Under Saved profiles, each profile has Edit, Download YAML, Download JSON and Delete.

If a profile was saved under older rules and no longer loads, it is listed with only Download and Delete. Download it so you don't lose it, fix it, and import it again.

If an imported profile has the same ID as one you already have, you are asked whether to overwrite or import as a copy.

The seven steps

A progress bar shows where you are. Back and Next move between steps. cancel leaves without saving.

StepYou enterNotes
1 WhereState or province, and a profile labelThe state fills in the licensing authority and license categories for you. Pick Other / not listed for free typing. The label is just how this profile appears in your list.
2 YouFull name, web name, professional title, profile page URL, headshot URL, phone, emailThe web name is used to build your unique ID, so keep it simple and stable (for example maya-castillo). Host your headshot on your own site, not on a social network.
3 License ("Your license & memberships")Your license, board membershipsThe license category list comes from your state.
4 Reach ("Your reach")Your profiles elsewhere (LinkedIn and similar), what you know best, service areasService areas and "what you know best" help machines connect you to places and topics. Wikipedia or Wikidata links make this stronger: type a service area, press Find on Wikidata under it, and pick the match to fill the link.
5 Practice ("How you present publicly")Whether you use a brand or team name, and if so its name, site URL, logo and areas servedIf you have no brand, there is little to fill in here. See "Brand or brokerage?" below.
6 Brokerage (named Brokerage of record if you entered a brand in step 5)The licensed company you work under: name, legal name, website, franchise brand, logo, main phone, contact email, entity license, areas served, its profiles elsewhere"Brokerage of record" means the licensed company legally responsible for your transactions.
7 FinishOptional Primary MLS and Disclaimer template, then a preview and a relationship diagram, plus Download YAML, Download JSON, Copy YAML and Save profileRead the diagram. It should match how you would describe yourself out loud.

Required fields are marked with a star. Some fields clean themselves up when you save: phone numbers become international format (+19545550142), web addresses go to lower case, and a licensing authority written in capitals gets its normal spelling.

Brand or brokerage? (the part people get wrong)

Real estate often has three layers:

You (the agent) → your brand or team (the name on your signs) → the brokerage of record (the licensed company).

The tool handles two common cases:

  • A real team. You work for the team. The team is a real organization under the brokerage.

  • A solo brand. Your brand is just your marketing name. You still work for the brokerage; the brand rides along beside you.

The wizard decides which one applies from what you enter, and the diagram on the last step shows the result. Licenses go where they belong: the brokerage's license on the brokerage, your license on you, and the brand carries none.

Create: make the code for a page

Open Create (/builder). The form is on the left. The finished code is on the right and updates as you type (after a short pause). The headline above the code shows pass or fix.

If you have no profile yet, Create says so and links to Profile. If you have several, a Profile dropdown appears.

Pick the page type

Page typeUse it forYou fill in
Agent or team profileYour "about me" or team-member pagePage URL; optional page headline (left blank, it builds one from your name, title and brokerage)
Market report or articleA market update, blog post or reportArticle URL, headline, description, published date, cover image, what it is about (places, with optional Wikipedia or Wikidata links)
Neighborhood guideA page about an areaGuide URL, headline, description, place name and description, Wikipedia or Wikidata link, the larger area it is part of, its kind (city, administrative area or state; left on "Choose one", it counts as a city) and its link (Find both on Wikidata fills both links, and the latitude and longitude if they are empty), latitude and longitude, amenities
Comparison FAQA buyer-question or "A vs. B" pageFAQ page URL, page name, description, the questions and answers, and an optional comparison list
Open houseOne open-house eventPage URL, address, place name, property type, start, end, status, a link to the listing, a photo, a short description, an optional RSVP capacity
Help articleA help-center or how-to article from a software or service companyArticle URL, headline, description, published date, audience, the product it documents, author, optional help-center name and category, lead image, and the steps of any procedure

A property-listing type does not exist yet. Listing pages are the hardest case (MLS and IDX feeds, co-listing). Existing listing code can still be checked.

Help article is meant for software, coaching and service companies rather than agents. It needs a provider profile: in Profile, choose New profile, then the path for a company that serves real estate professionals. The author (a named byline) is optional for a provider.

Open house dates. Pick the start and end with the date and time pickers. The tool works out the time zone from what you pick, so you do not type any time-zone codes.

Finding Wikidata links. A Wikidata link tells machines exactly which place you mean, so "Miami" can't be mistaken for another Miami. The tool can look them up for you; nothing is looked up until you press a button, and nothing is filled in until you pick a match.

  • Service areas (Profile, step 4). Type the place, then press Find on Wikidata under it. It lists the states, counties and cities with that name in your profile's state or province. Pick one to fill the link.

  • Neighborhood guide (Create). Type the place's name and the larger area it is part of, then press Find both on Wikidata once. It finds the larger area in your state, then the place inside it, and lists the pairs, for example Coconut Grove, part of Miami. One pick fills both links. If the larger area has already been linked, it uses that link. If Wikidata publishes a map point for the place and the latitude and longitude boxes are empty, the pick fills them too, rounded to the precision Wikidata gives. Numbers you typed are never replaced.

  • When nothing is found. Many small neighborhoods aren't on Wikidata, or aren't recorded as being inside their city. Leave the link empty, or paste one you found yourself. If only the larger area is found, you can still pick it on its own.

  • It needs your state. The buttons only work once your profile has a state or province (Profile, step 1).

The important question: "Does your site already add structured data?"

Most website platforms and SEO plugins already add some labels. If you add a second, competing set, you create duplicates. So the form asks:

  • No, this is the only markup. The code stands alone. Use this if you are not sure and a Check of your page shows no existing labels.

  • Yes, link to what is already there. The code attaches to what your platform already outputs. Two extra boxes appear: Your page's existing ID and Your site's existing organization ID. A developer or your plugin's settings can tell you these. They look like https://yoursite.com/page/#webpage and https://yoursite.com/#organization.

When unsure, run Check on your live page first (§8).

Reading the right-hand side

  1. A list of entity types across the top (agent, person, organization and so on).

  2. "N nodes" and a family tree of what was built. Click an item to highlight any finding about it. The other way round, press Show on a finding to highlight its item (Hide clears it).

  3. Passes · 0 to fix or Needs fixes, then any Notes. Notes about EducationalOccupationalCredential being "provisional" are normal and not a problem: schema.org publishes that label at a staging address while it finishes standardizing it.

  4. Copy code for your site, with Copy JSON-LD and Download .jsonld buttons, then the code itself.

If a required field is empty or wrong, the right-hand side shows a short plain message in a red box naming the field, for example pageUrl: Expected an http(s) URL. Fix the field and the code returns.

The tool never publishes anything. Create only produces text for you to copy.

Put the code on your website

Create gives you a block that begins {"@context": "https://schema.org", .... It must be wrapped in a script tag and placed in the page. The wrapper is:

<script type="application/ld+json">
  ...the code you copied...
</script>

Where it goes depends on your platform. Typical options:

  • WordPress. An SEO plugin with a "custom schema" or "header/footer scripts" setting, or a "Custom HTML" block on that one page.

  • Page builders and site platforms. A "custom code", "embed" or "head code" field on the individual page. Use the per-page field, not the sitewide one, since each page's code names its own URL.

  • A developer. Send them the copied code and the page's address.

Rules of thumb

  • One page, one set of code: put each page's code only on that page.

  • Do not edit the code by hand. Change the form, copy again.

  • If the site already outputs labels, use the "link to what is already there" option so you don't get duplicates.

After you publish, always test. Open /audit, choose Enter a URL, paste the page's address and press Check. You should see your entities under What we found and a pass. If something is added by JavaScript after the page loads (common with IDX search tools), also use the live-page check in §8.

Check: test any page or any code

Open Check (/audit). It works on your pages and on anyone else's, so it is also useful for studying a competitor's markup.

Two ways to check

TabUse it whenHow
Enter a URLThe page is liveType the full address starting with https://, press Check.
Paste codeYou have code but no page yet (for example, just made in Create)Paste the JSON-LD into the box, press Check.

Your last ten URL checks are remembered in your browser (and shown in the search box) so you can repeat them. They are not stored on the server.

What happens during a URL check

The site's fetcher reads the site's robots.txt first, then downloads the one page you named, following at most four redirects. It then looks for labels in the page's HTML. The fetch gives up after about 12 seconds. It will not fetch internal or private addresses such as 127.0.0.1, and only uses the normal web ports.

If it cannot check the page, you get a plain explanation and the result is not an error in the site. Common reasons:

You seeWhat it meansWhat to do
"Only public web addresses can be checked."You entered a private or local addressUse a public page, or use Paste code
A note about robots.txtThe site asks bots not to fetch that pageUse Paste code, or the live-page check below
The fetch failed or timed outThe site is down, slow, or blocks automated visitorsTry again; otherwise use the live-page check

When the page could not be fetched, there is no pass or fix verdict and the count reads 0 blocks of structured data. That only means nothing was read, not that the page has no labels. The reason is in the highlighted line underneath. It does not mean your labels are wrong.

The live-page check (for IDX widgets and tag managers)

Some tools (Showcase IDX, IDX Broker, iHomefinder, tag managers) add labels after the page loads, using JavaScript. A normal check reads only the original HTML and cannot see those labels. Some search crawlers cannot either. The live-page check shows you the difference.

One-time setup. After running a URL check, a panel titled Check schema added after the page loads appears. Drag RE Schema Inspector to your browser's bookmarks bar, or press Copy bookmarklet URL and paste it into a new bookmark.

Each time.

  1. Open the page you want to test in a new tab.

  2. Click the RE Schema Inspector bookmark. A Check tab opens with the page's labels.

  3. Or, to keep results in your current Check tab: press Open page and listen first, open the page it gives you, then click the bookmark. The result is handed back and the extra tab closes.

You then see each block tagged Added after load or In HTML source, and a Should fix warning for every type that exists only after the page loads.

Only use the bookmark on pages that are fine to inspect. Do not use it on signed-in or private pages (email, banking, dashboards): it reads the page's address and labels. Details in §11.

Reading a result

Results appear in this order:

  1. What we found. The family tree of entities. Click one to jump to its findings. Each shows a small count of its findings.

  2. A cross-block warning, if one set of labels points at something defined in a different <script> block on the same page. It is valid, but AI crawlers have not said they combine blocks the way Google and Bing do. If you see this, ask your developer to merge the blocks.

  3. The verdict and the three groups (Fix required, Should fix, Notes). Under the verdict is the reminder that it checks structure, not truth.

  4. Raw code. The labels exactly as the tool read them, folded away by default.

Each finding has four parts:

What is wrong · Did you mean… (a suggestion, when there is one) · Where (a short path like @graph[0].nam, meaning "the first entity, the property called nam") · Which check found it (for example property-existence).

The "where" path is mostly for developers. You can ignore it and use the plain sentence.

Copying findings. The text of a finding can be selected by hand. Each finding also has a Copy button (it copies all four parts plus the entity it is about), and Copy all findings above the groups copies the whole report, ready to send to a developer.

The most common thing you will see is a misspelled property name. The suggestion usually names the fix.

"Passes" is not the finish line. It means the code is built correctly. Also make sure the facts are right, the labels are on the live page, and a Check of the live URL passes.

Every check the tool runs, in plain words

There are 26. This is the full list, so you can look up anything you meet. Names appear under each finding.

Is the vocabulary right? (usually "Fix required")

NameIn plain words
type-existenceA label's type isn't in schema.org (error). Types still being finalized at pending.schema.org only get a note.
property-existenceA property name doesn't exist (usually a typo).
domainA property is used on a type that doesn't allow it.
rangeA value is the wrong kind: text where an entity belongs, or the reverse.
enumerationA value isn't one of the allowed choices (for example an invalid event status).
datatypeA value doesn't fit its slot, such as a decimal where a whole number belongs.
depth-limitThe code is nested more deeply than the checker will read, so part wasn't checked.
NameIn plain words
id-resolutionSomething points at an ID that nothing defines, or one ID is defined twice (errors).
orphanAn entity nothing links to, so a crawler walking the graph never reaches it.
self-referenceAn entity names itself as its own parent, publisher or author.
duplicate-nameSeveral different entities share a name, which can make search engines merge or split them wrongly.

Is it sensible for real estate? (mostly "Should fix" or "Notes")

NameIn plain words
credential-categoryA license "category" looks like a company name or an ALL-CAPS label instead of a category.
thin-entityAn author with nothing to show who they are (no profiles, photo, credential or expertise).
contact-placementA phone or email appears on both a company and a person, so it is unclear whose it is.
host-consistencyThe same site written with different host names, or a page URL with and without a trailing slash.
image-hostAn image on a host that blocks hotlinking or uses expiring links, so Google may not fetch it.
postal-code-regionA postal code belongs to a different state or province than the address says.
event-timingAn event that ends before it starts, or one that has passed but is still marked scheduled.
formatA value in a form search engines prefer to avoid (a phone not in international format, a capital letter in a web host).
markup-in-nameA name containing < or > characters.
url-schemeA web-address field holding mailto: or tel: instead of a web address.
text-qualityText a reader can't use: an empty-string value, or garbled characters (like ’) from a feed decoded with the wrong character set.
empty-nodeA nested item with a type and nothing else, such as an empty floor size.
identityWho-is-who mistakes: an organization named after its web address, an agent with no name, a software company typed as a brokerage, one unit typed as a whole apartment complex.
listing-completenessA property listing that says too little: no offer, no availability, no agent or brokerage, or a description that only repeats the facts.

Only on live pages

NameIn plain words
post-load-injected-schemaA type exists only after the page runs JavaScript, so some crawlers will not see it.

Privacy: what is and isn't kept

The site has no accounts, no cookies, no tracking and no analytics.

WhatWhere it goes
Profiles (everything in Profile)Only your browser's local storage. Never sent to the server, including on import.
Recent checks (your last ten URLs)Only your browser.
CreateYour form and profile are sent to the server to build the code, held in memory for that one request, then dropped. Nothing is logged or saved.
Check, by URLThe server fetches the one page you named and returns the report. The page and report are not kept.
Check, by pasteAnalyzed in memory and returned. Not kept.
Find on WikidataOnly when you press it, your browser sends the place name you typed straight to Wikidata (run by the Wikimedia Foundation) to look it up. It does not go through this site's server, and nothing else from your profile is sent.
The live-page bookmarkRuns in your browser on the page you click it on. It reads that page's address (including anything after a ?) and its labels, then opens Check with them after a #, which browsers do not send to servers. Check then sends the address and labels to the server to make the report, and the server fetches that page once to compare. None of it is stored.

To delete everything. Clear this site's data in your browser's settings. That erases profiles and recent checks. The server holds nothing to delete.

The Privacy page describes what the code does. It also has a disclaimer of warranties and a Hold Harmless section that applies to anyone who uses the site, its API or what it generates. This manual is not legal advice. Have your lawyer read the Privacy and Terms pages before you rely on them.

The audit bot

When you check a URL, the fetch comes from a robot named RealEstateSchemaBot. The /bot page explains it publicly. This is what a site owner needs to know:

  • It reads robots.txt first and obeys any group that names it.

  • It fetches only the page it was asked to check, plus the robots file.

  • It does not crawl a site.

To block it from your site, ask your developer to add this to robots.txt:

User-agent: RealEstateSchemaBot
Disallow: /

Checks of your pages will then say they were blocked. You can still use Paste code.

For AI assistants and developers

You can skip this section unless you want an AI assistant or another program to use the engine. The site's own Create and Check screens are built on the same interface, so anything they do, a program can do.

Why it exists

Search engines are no longer the only readers. AI assistants look things up, and the people who build them (and the people who build tools for agents) need a dependable way to produce and test labels without clicking through a form. The interface returns the same results as the screens, in a form a program can read.

Where to find it

AddressWhat it is
/llms.txtA plain-text page that tells AI assistants what this site is and how to call it. Start here if you are pointing an assistant at the site.
/api/v1/openapi.jsonThe full machine-readable description: every address, every field, every error. Start here if you are writing code.
POST /api/v1/recipes/<type>The same work as Create. Send a profile and the page's facts, get the code and its check results back. <type> is agent, article, neighborhood, faq, open-house or help-article.
POST /api/v1/validateThe same work as Check. Send pasted code or a URL, get the findings back. A page that cannot be fetched is a normal answer with an explanation, not an error.

How it behaves

  • One error shape. A failure always comes back as an error with a code and a message that says what to fix. When the request itself is wrong, every problem is listed at once, each naming the part and field.

  • Nothing is silently ignored. Unknown or misspelled fields are rejected and named.

  • Engine version. Every answer carries the engine version (currently 0.4.0). If it changes, the same input can give a different result, so a program that stores results should store the version too.

  • Limits. Requests over 1 MB are refused. There are no API keys. Abuse is handled by address: the host allows up to 120 requests a minute per network address, and checking a URL has its own smaller limit, with a waiting period that grows for repeat offenders. A limit answer says how long to wait. Wait the full time, then try again.

  • Servers and scripts only. Other websites' pages in a browser are not allowed to call the interface. Programs, AI tools and command-line tools are.

  • Privacy is the same as the screens. Nothing sent is stored. See §11.

Local AI tool (MCP)

MCP is a standard way for an AI assistant to use outside tools. A developer can run the engine as a local tool for an assistant. It offers five read-only tools:

ToolWhat it does
list_recipesLists the page types and what each is for.
get_schemaShows the exact shape of a profile, a page type's input, or the options.
compile_recipeBuilds the code for a page, like Create.
auditChecks code or a URL, like Check. Only this tool touches the network, and only to fetch a URL you give it.
explain_ruleExplains one of the checks in §10.

Checking code automatically

A developer can also run the same checker in an automated pipeline, so a change that breaks a page's labels is caught before it goes live. Ask your developer for the "CI action".

None of this is needed to use the site.

When something goes wrong

ProblemLikely causeWhat to do
Create says "No profile yet"This browser has no saved profileOpen Profile, create or import one
My profiles disappearedBrowser data was cleared, or you are on another browser or computerImport the downloaded copy. Download copies in future
A saved profile shows only Download and DeleteIt was saved under older rules and no longer loadsDownload it, fix the file, import it again
Create's right side says "Enter a valid URL"The page URL box is empty or lacks https://Type the full address
Create shows a red message naming a fieldThat field is missing or wrongFix the named field
Check says "Only public web addresses can be checked"You entered a local or private addressUse a public address or Paste code
Check can't fetch the pageSite blocks bots, is down, or robots.txt says noUse the live-page bookmark, or Paste code
"Too many requests from your network…"The rate limitWait a minute
Check says there are no labels, but my plugin adds someThey are added after load, by JavaScriptUse the live-page check (§8)
Pasted code says "not valid JSON"The paste lost or added characters (often smart quotes from a word processor, or the <script> tags)Paste only the JSON, from { to the matching }. Use plain text
type-existence note about a "provisional" typeNormal. The type is real but still being finalizedNothing
Every page returns an error after an upgradeThe site's temporary build files are staleA developer clears the build cache and restarts
"Fix required: property does not exist"A misspelled propertyUse the suggestion shown under the finding
Both Check and Create work, but Google shows nothingSearch engines take days to weeks to re-read a pageRequest re-indexing in Search Console; test with Google's Rich Results Test

Glossary

Terms beginning with a capital letter or in camelCase are schema.org names.

@id
The unique web address that tells search engines exactly which property, agent, or office a piece of data refers to.
about
The main subject of a page or event, such as a specific property listing or a neighborhood guide.
AEO
Answer Engine Optimization: being the source AI answer engines cite.
Apartment
A condo, apartment, or attached residence.
Bookmarklet
A bookmark that runs a small tool on the page you are viewing. Here: RE Schema Inspector.
brokerage of record
The licensed company that legally holds your real estate license.
Crawler
A robot that reads web pages for a search engine or AI.
domain/range
The rules for where a specific detail can be used. For instance, 'number of bedrooms' can be used on a house, but not on a person.
E-E-A-T
Google's Experience, Expertise, Authoritativeness, Trust framework for content quality.
E.164
The international phone number format search engines expect, e.g. +19545550142.
EducationalOccupationalCredential
The proper way to format a real estate license or professional certification (like a CRS or GRI) for search engines.
Engine version
The release number of the code that builds and checks labels. Currently 0.4.0.
Entity
A person, company, site, place or event described by the labels.
enumeration member
A specific, pre-approved option you can choose for a field. For example, an open house status must be exactly 'EventScheduled' or 'EventCancelled'.
GEO
Generative Engine Optimization: the same idea, for generative AI search.
Graph
The entities plus the connections between them.
House
A general category for a home or residence.
ID
A unique address given to an entity so other labels can refer to it.
IDX
The feeds that show MLS listings on an agent's site.
ItemList
A formatted list of items. We use this to organize comparison points, like the pros and cons of two different neighborhoods.
JSON-LD
The format the labels are written in.
knowsAbout
The specific neighborhoods, property types, or real estate topics an agent has proven expertise in.
Lint / linter
Automatic checking, like a spell-checker for structured data.
localStorage
Your browser's own storage, where profiles saved here never leave your device.
MCP
A standard way for AI assistants to use outside tools.
Node
One entity in the graph. "19 nodes" means 19 entities.
Offer
The specific terms of a sale or rental, including the price and availability status.
Person.brand
A real estate agent's personal brand name or team name, kept distinct from their official brokerage.
pinned release
The exact schema.org version this tool checks against, so results don't shift under you.
Place
A physical location, like a neighborhood, city, or open house address.
plugin stitching
Connecting your custom real estate data to the basic code your website platform already creates, rather than creating messy duplicates.
PostalAddress
The structured format for a property's mailing address.
Profile
Your saved identity details (license, brokerage, areas, links).
Rate limit
A cap on requests per minute that protects the site from overload.
RealEstateAgent
The official type used by search engines to recognize a real estate agent, team, or brokerage.
RealEstateListing
The standard format for a property that is currently for sale or rent.
Recipe
One page type's template (agent, article, neighborhood, FAQ, open house, help article).
robots.txt
A file on a website telling robots what they may fetch.
sameAs
A link to your verified profiles elsewhere online, like your Zillow, Realtor.com, or LinkedIn page.
schema.org
The shared vocabulary of labels that search engines and AI understand.
SingleFamilyResidence
A standalone, detached home or property.
Structured data
The hidden labels on a page. Same as JSON-LD for our purposes.
Vocabulary
The list of labels schema.org allows.
worksFor
The real estate brokerage or team that an agent is licensed with.