- Brand
- Assetfy
- Category
- Data & Analytics
- Primary Subcategory
- Real Estate Investment & Deal Analytics
Integration details
Description
Site checks and land acquisition for brokers, project developers, homebuilders, architects, valuers and institutional investors who want to buy or appraise a property in Germany. Ask in plain language about a Flurstück, an address or a current listing. The answer comes from the official cadastre (ALKIS), 3D building models (LoD2), Bodenrichtwerte (BORIS), aerial images and Bebauungspläne where available. What Assetfy provides: - Flurstück and cadastral map: Gemarkung, Flur, Flurstücksnummer, plot size in m², outline, shape, street frontage and location - Buildings: address, building function, number of storeys, building height, Traufhöhe, Firsthöhe, roof shape, year of construction, footprint - Actual land use from the cadastre, e.g. residential, commercial and industrial land, storage, agriculture, railway land - Planning law and an indicative first assessment of building potential: Bebauungsplan with plan documents, §34/§35 BauGB, GRZ, GFZ, BGF (gross floor area), densification and extension potential - Bodenrichtwert and land value (BORIS) - Aerial image: official orthophoto (DOP20) for every site - Property listings: plots, houses, apartments, commercial properties and foreclosure auctions - Site search for commercial, logistics, data centres, battery storage and solar parks by use, size, building coverage, Bebauungsplan and motorway access in one step (depending on the account) Read-only: the plugin never changes or adds anything, neither in Assetfy nor in the user's account. Limitations: coverage is Germany. Bebauungsplan data is not available in every state or municipality, and the result says so where it is missing. Building potential is an indicative first assessment, not a legal opinion or a building permit. Sign in with your Assetfy account to connect.
- Integration type
- Plugin
- Verification status
- Not applicable
- Platform
- ChatGPT
- Primary Subcategory
- Real Estate Investment & Deal Analytics
- Secondary Subcategories
- None listed
- Brand
- Assetfy
- Access
- Account required
- First tracked
- 2026-11-12
- Tool count
- 41
- Market
- US
The Primary Subcategory used for this profile’s headline score.
Other Subcategories where the Integration is listed.
Not discoverable in ChatGPT yet
ChatGPT now suggests Plugins on its own when they match a user's request, but not every Plugin is being surfaced yet.We haven’t seen Assetfy suggested yet. Sign up and we’ll track it, and your Discoverability Score will appear here once ChatGPT starts surfacing it.
What discovery looks like

Get alerts for Assetfy
Get updates when Assetfy’s Discoverability Score or category rank changes.
Competing in ChatGPT Real Estate Investment & Deal Analytics
View Category41 tools agents can invoke
Aerial image (Luftbild, Luftaufnahme, Orthofoto — what users often call a Satellitenbild; digitales Orthophoto DOP20 — 20 cm ground resolution, Bremen and Nordrhein-Westfalen 10 cm) of a location in Germany, fetched live from the official WMS of the state survey office — the imagery of the aerial layer on the Assetfy map. Returns the image itself (JPEG, north up, true to scale) together with its footprint: bbox in WGS84, metres per pixel, state and the required attribution. Use it to check the results of the other tools by eye: whether tracks still lie on railway land from assetfy_db_rail_corridor_parcels or assetfy_db_rail_listings, whether the free strip beside the track is really free (embankment, trees, buildings, masts, roads, station tracks), whether a parcel is built on, what a site looks like. Give either lat/lon with size_m — a square centred on the coordinate — or a bbox [west, south, east, north], e.g. spanned by start and ende of a corridor abschnitt; a bbox is padded by 10 % (at least 25 m) and widened to an aspect ratio of at most 2:1 so the surroundings stay visible. Up to 3000 m edge length per image — split longer stretches. Keep size_m near 100–300 m to see tracks, masts and small buildings; above about 1000 m only the coarse layout remains. Parcel boundaries are not drawn in: relate them through the bbox. The imagery is the state's current flight, as a rule one to three years old; the service supplies no capture date. For CAD/GIS the result also carries cad: the same area north-up in the state's UTM system (EPSG:25832, Berlin/Brandenburg/M-V/Sachsen EPSG:25833) as a direct download URL of the state WMS in full resolution (no login), with the world file (.jgw) to save next to it — the image then sits in place under a DXF. With the same lat/lon and size_m as assetfy_get_site_plan the extent is exactly that of the DXF.
assetfy_get_aerial_image
Buildings (Gebäude) from the cadastre (ALKIS-Kataster) with their address (Adresse, Hausnummer), function (Gebäudefunktion, e.g. Wohnhaus, Garage, Lagerhalle), floors (Geschosse) and footprint (Gebäudegrundfläche). Either every building on one parcel (gml_id) or all buildings within a radius of a coordinate. Use this to confirm which parcel a listing refers to — the HTTP API does not return addresses. Floors here are the ALKIS attribute only, empty in several states; for Traufhöhe, Firsthöhe, Gebäudehöhe and the Geschosszahl derived from the LoD2 3D models use assetfy_get_parcel_profile or assetfy_get_parcel_overview.
assetfy_db_buildings
Line of sight (Sichtverbindung) between two sites for a radio link — Richtfunk, point-to-point WLAN, a mobile antenna site: is the direct line between the two antennas free, and is at least 60 % of the first Fresnel zone free at the given frequency? Builds a path profile along the line from the official terrain model (DGM1), the LoD2 buildings crossing it (ridge height) and, where the surface model is imported (Berlin, Brandenburg, Sachsen, Nordrhein-Westfalen), every measured object above ground — trees included. Earth curvature with standard refraction (k = 4/3). Returns result (clear, fresnel_obstructed, blocked), the minimum clearance, the obstructions with their distance from site A, type (terrain, building with gml_id, vegetation_or_object) and height, how much higher both antennas would have to be for line of sight and for 60 % Fresnel, the bearing from each site to the other, the elevation angle and a thinned profile for the chart. The verdict and all clearances are computed on every sample of the line (about every 1–2 m, step_m), not on the thinned profile — each profile entry is the most critical sample of its section, so the thinning loses no obstruction: never tell the user that peaks between profile points may be missing, and never recompute the verdict from profile. obstacles_source says what was covered: ndom_and_lod2, partly_ndom, lod2_buildings_only (no trees — say so, a "clear" there is no guarantee) or terrain_only (no buildings either — a terrain check only). trees.covered (full, partial, none) says whether real trees are in the profile; when it is not full, tell the user plainly that trees are not checked there (trees.note, trees.states_with_trees). Each obstruction carries assetfy_url: the Assetfy map at that spot with the aerial image on and a marker — give that link with every obstruction you report, so the user can check on the aerial image what stands there. geojson holds the link, both sites, the Fresnel zone, the building footprints under the line and the obstructions for a map; render says how to draw the profile chart and the map — a realistic visualisation helps the user judge the link. Always deliver the full report described in render.report (verdict, profile chart, map and aerial image, tightest points, required mast height, assumptions and data, sources), not a short text answer. Pass on result_note and the sources. Up to 5 km, both sites in the same Bundesland (terrain everywhere except Bremen and Saarland; LoD2 in Berlin, Brandenburg, Bremen, Hamburg, Hessen, Nordrhein-Westfalen, Rheinland-Pfalz, Sachsen). Each site takes an address, a gml_id or lat/lon. Use this tool for any line-of-sight or radio-link question instead of combining assetfy_get_elevation_profile and assetfy_get_3d_buildings.
assetfy_line_of_sight
Which datasets exist in the connected database and how current they are: row counts per category and Bundesland plus the latest import log entries. Mirrors assetfy.com/datenaktualitaet.
assetfy_db_data_freshness
Existing public EV charging infrastructure (Ladesäulen, Ladepunkte, Schnellladen, HPC) around one or more locations, from the Ladesäulenregister der Bundesnetzagentur — every publicly accessible charging station in Germany whose operator completed the registration (about 116,000 stations with 209,000 charging points; privately registered or not yet reported ones are missing, so real numbers are higher). Answers "wie viele HPC-Ladepunkte gibt es im Umkreis von 5 km", "gibt es Schnelllader in der Nähe", "weniger als 5 bestehende HPC-Ladepunkte im Umfeld", "wer betreibt die Ladesäulen hier". Per location it returns the counts within radius_km — Ladeeinrichtungen, Ladepunkte, ladepunkte_dc (fast charging, more than 22 kW) and ladepunkte_hpc (High Power Charging, at least 150 kW at the strongest plug of the charging point) — the nearest HPC station regardless of the radius, and the stations themselves nearest first (operator, address, power, plugs, number of points, commissioning date). Pass up to 50 locations at once in points to check a list of candidate sites in ONE call — never one call per candidate. To FIND sites by this criterion together with land use, size or Bebauungsgrad, use max_hpc_ladepunkte in assetfy_db_screen_sites instead. Distances are straight-line.
assetfy_db_charging_stations
Score a real estate candidate (Immobilienangebot, Exposé) against buyer criteria — Kaufpreis, Grundstücksgröße, Wohnfläche, Zimmer — and optionally enrich it with parcel data (Flurstück, Bodenrichtwert).
assetfy_evaluate_candidate
Search industrial and commercial parcels (Industriefläche, Gewerbegrundstück, Gewerbefläche, Logistikfläche) by their ACTUAL cadastral use — assetfy_db_find_parcels_by_use with the use preset to "Industrie". This is the entry point for finding sites for data centres, battery storage, solar or charging parks: a parcel whose use includes "Versorgungsanlage" or "Umspannstation" already carries grid infrastructure, which is the scarce resource. For any other use — cemeteries, quarries, sports grounds, allotments — use assetfy_db_find_parcels_by_use, which takes a free nutzungsart. Same coverage and same caveats as that tool.
assetfy_db_find_industrial_sites
Look up a parcel (Flurstück) from the Liegenschaftskataster / Flurkarte and its SIZE (Grundstücksgröße, Flurstücksfläche). This answers "how many m²/qm does Gemarkung X, Flur Y, Flurstück Z have" — the most common cadastral question — and returns area in m², coordinates, gml_id and the cadastral identity (Gemarkung, Flur, Flurstücksnummer). Also searches by postal code with an area range, or within a radius of a coordinate. Covers 15 of the 16 German states, including Brandenburg, Berlin, Bremen and Hamburg — only BAYERN is missing, because its cadastre is not openly licensed; a Bayern lookup answers "No parcel table for Bayern" and says what is available there instead. Do not confuse this coverage with assetfy_db_find_parcels_by_use, assetfy_db_find_industrial_sites or assetfy_db_screen_sites, which are limited to the states reporting the use attribute. Leading zeros are irrelevant: Flur "3" finds "003". A search by gemarkung is resolved through the precomputed Gemarkung index first and then runs geometrically around that Gemarkung — the result reports the zone and its suchradius_m, and an unknown name comes back with did_you_mean instead of a timeout. Without bundesland, zip or a coordinate the index supplies the state too; a Gemarkung name that exists in several states ("Biesdorf": Berlin, Brandenburg, Rheinland-Pfalz) is searched in each of them when flurstuecksnummer is given, otherwise the result lists the states to choose from. In the few states not yet in that index the name search still scans the state and can exceed the time limit; adding zip or lat/lon + radius_m avoids that.
assetfy_db_find_parcels
Search parcels by their ACTUAL cadastral use (ALKIS "tatsächliche Nutzung", also called Nutzungsart, Grundstücksnutzung or Flächennutzung), nationwide or within a region — cemeteries, quarries, sports grounds, landfills, allotments, power stations, industrial land, anything the cadastre records as a use. This is a discovery tool for sites matching a use profile; to look up ONE known parcel by Gemarkung/Flur/Flurstücksnummer or to get its size, use assetfy_db_find_parcels instead, which covers all states. Spelling differences between states are handled: the states write the same use as "Industrie- und Gewerbefläche", "Industrie Und Gewerbeflaeche", "IndustrieUndGewerbeflaeche" or "Industrie und Gewerbe", and any of those spellings finds all of them. Search broadly and with the stem of a word — "friedhof" also finds "Parkfriedhof" and "Historischer Friedhof". Note the coverage: NRW, Hessen, Brandenburg, Mecklenburg-Vorpommern, Schleswig-Holstein and Baden-Württemberg are searched in their own ALKIS land-use datasets and carry the detailed designation (e.g. "Lagerfläche") plus further attributes such as Zustand; Niedersachsen, Hamburg, Bremen, Saarland, Sachsen, Sachsen-Anhalt, Thüringen and Rheinland-Pfalz are searched through the coarser parcel attribute, which knows only the main category. Baden-Württemberg records Funktion and Vegetationsmerkmal but no Zustand. Bayern and Berlin are not covered by this tool and come back in skipped_states rather than as an empty result — assetfy_db_screen_sites covers both. A nationwide search is therefore not exhaustive, and absence of a hit is not evidence of absence. This tool knows nothing about listings; for railway land that is for sale (Grundstücke mit Gleisanlagen zum Verkauf) use assetfy_db_rail_listings. SEVERAL CRITERIA AT ONCE — a use PLUS a share of the parcel ("must cover at least 80 % of the Flurstück"), a size window, a building coverage (Bebauungsgrad), or a Bebauungsplan — is covered by assetfy_db_screen_sites, which evaluates all of them in one database pass per state. Checking candidates from here one by one with assetfy_db_planning_at_point and assetfy_db_buildings runs out of calls before the last criterion is reached, which is the reason assetfy_db_screen_sites exists. This tool is for a single use as the question: which parcels carry it, where, and how large. If a nationwide search times out on a common use, split it by bundesland rather than retrying — and say in the answer which states you actually covered.
assetfy_db_find_parcels_by_use
Official 3D building model (3D-Gebäudemodell, LoD2) around a Flurstück: every building within radius_m as its real roof and wall surfaces (Dachflächen, Wandflächen) from the state LoD2 CityGML — the data for a 3D visualisation, a massing study, a shadow sketch or an architectural design in its real surroundings. Coordinates are local metres: x east, y north (grid north of the state UTM zone, origin.epsg), z up above origin.z0_m_nhn (the lowest building base in the scene, m above NHN); the origin is the requested point. Each face is a flat list [x1,y1,z1, x2,y2,z2, …] of one planar polygon ring, not closed — triangulate it in its own plane (roofs can be non-convex). own true marks the buildings on the requested Flurstück. Each building carries roof_color (from the aerial image, as in the Assetfy viewer) and wall_color (plaster); render describes how the Assetfy 3D viewer draws the scene — buildings as real roof and wall faces in these colours (never all neighbours in one grey, never boxes extruded from the roof outline), the trees as low-poly model trees, the ground coloured by land use like an architectural model rather than a stretched aerial photo. Follow it for a 3D view. eaves_z/ridge_z (Traufhöhe/Firsthöhe) are in the same z system; height_m is the measured building height. trees (where the state surface model is imported, so far Berlin, Brandenburg, Sachsen and Nordrhein-Westfalen; within counts.trees_radius_m, at least 150 m even when radius_m is smaller): single trees detected from the surface model minus the terrain model (nDOM) — x/y of the trunk in the same local metres, height_m above its own ground, crown_radius_m, own true when it stands on the requested Flurstück (counts.trees_own). Derived by Assetfy, not a tree register: no species, no trunk girth — say so. Set each trunk on the local ground, not on z = 0. Without trees in the result there is no surface model for the area: do not invent trees, at most mention them from the aerial image. For the ground see render.ground; an aerial layer, if wanted, is assetfy_get_aerial_image with the same lat/lon and size_m = 2 × radius_m — its cad.bbox_utm minus origin.utm_x/utm_y places it in this system; assetfy_get_terrain gives the slope and heights. Terrain, contour lines and spot heights from the site-plan GeoPackage are in m above NHN: subtract origin.z0_m_nhn from them (or add it to every building z) so buildings and ground share one height system. Use this tool instead of rebuilding buildings from the site-plan export. Buildings and trees only: terrain (DGM1), Flurstück boundaries and land use such as water come from the GeoPackage of assetfy_get_site_plan, which counts against the Lageplan quota — so before the first call the user picks the scene: "einfaches 3D-Gebäudemodell" or "3D-Architektenmodell full" (with terrain, parcels and water). Abstandsflächen, a house type or a design brief do not pick it; only a request naming the scene skips the question. Covered: Berlin, Brandenburg, Bremen, Hamburg, Hessen, Nordrhein-Westfalen, Rheinland-Pfalz and Sachsen; elsewhere it answers not available — then the building heights of assetfy_get_parcel_profile are the fallback (footprint extruded, roof shape unknown; say so). Give gml_id, lat/lon or address. Pass on source.attribution.
assetfy_get_3d_buildings
Returns the content of one Bebauungsplan document — Planzeichnung, textliche Festsetzungen, Begründung — fetched by the Assetfy server as text and page images. The url is one from planunterlagen of assetfy_db_planning_at_point (or planzeichnung_pdf / document_links of the other tools), unchanged. Those links point to the municipality's server; this tool fetches the document and delivers it inside its result. Pages with a text layer come as text (text_layer: "included", "truncated" or "none"). Pages without one — most plans are scans — come as JPEG images to be read directly. A plan sheet larger than A3 comes as the whole sheet reduced, followed by overlapping tiles of about 1568 px in reading order, each announced with its row and column: the Nutzungsschablonen and printed Festsetzungen of an A0 sheet are legible only in the tiles. One call carries a limited number of images; pages_not_included and more name the pages left out, which a second call with pages returns. An A0 sheet is 13 images; a client with a small per-result limit (about 25k tokens ≈ 7 images) takes it in portions with tiles: first "overview", then "1-6", "7-12". noise_mentions names the pages of the whole document whose text layer mentions noise requirements (Lärmpegelbereich, Emissionskontingent, dB(A), DIN 4109 …), with short excerpts, so those pages can be requested directly; pages_without_text_layer were not searched. Only documents Assetfy has on record can be opened, up to 64 MB.
assetfy_get_plan_document
Which data this server covers, per German state (Bundesland): Liegenschaftskataster/ALKIS (Flurstücke, Gebäude, LoD2 heights, tatsächliche Nutzung), Bebauungspläne, Flächennutzungspläne, Bodenrichtwerte and Luftbilder — read from the datasets actually present in the database — plus the nationwide listings, railway and noise data, and what exists for Austria (cadastre and buildings, no planning law). For row counts and import dates use assetfy_db_data_freshness.
assetfy_get_data_coverage
Elevation in m above NHN at up to 20 points, or — with as_profile true — a terrain section (Geländeschnitt) along the line through them: samples every step_m metres with distance and elevation, total ascent and descent, and the steepest gradient in %. For questions like "Wie verläuft das Gelände von der Straße bis zum Ende des Grundstücks?", "Wie steil wird die Zufahrt?", "Wie hoch liegt dieser Punkt?". The line may be up to 1,000 m long and all points must lie within 496 m of each other and in one Bundesland. Heights come from the official DGM1 (1 m terrain model) of the state — live from the state web service or from tiles Assetfy imported; the result names the source, attribution and licence. Covered: every state except Bremen and Saarland.
assetfy_get_elevation_profile
Energetischer Sanierungsplan (energy retrofit plan) for the residential building(s) on one Flurstück: current state (Bauteilflächen, U-Werte, Heizwärme-, End- and Primärenergie, Effizienzklasse A+–H, CO2, Heizkosten), a step-by-step Einzelmaßnahmen-Fahrplan (Dach/oberste Geschossdecke, Kellerdecke, Fenster, Fassade, then Wärmepumpe) and four Effizienzhaus packages (EH 85, 70, 55, 40 EE; EH 70 is the default recommendation), each with costs, Förderung (BAFA BEG EM, KfW 458, KfW 261, status 21.07.2026), savings and payback. The method is the established one — U-Werte by Baualtersklasse (TABULA / Bekanntmachung Datenaufnahme Wohngebäudebestand), heat loss Q = U · A · F with reduction for walls shared with neighbouring buildings, solar and internal gains, heating efficiency, costs = Σ area × cost rate — so no outside methodology page is needed. Areas come from the cadastre and the LoD2 3D model (Grundfläche, perimeter, Trauf-/Firsthöhe); shared walls are measured against the neighbouring buildings. Takes address, gml_id or lat/lon. The Baujahr is required: the cadastre rarely has it, so pass baujahr from the user or the exposé; without it the tool returns success false and asks for it. Pass what the user knows (energietraeger, keller, dachgeschoss, wohnflaeche_m2, wohneinheiten, bereits_saniert) — every assumption the tool had to make is listed under annahmen. The result always includes the aerial image of the building: look at it and check the points in luftbild_pruefen (PV already on the roof, dormers, extensions, attached neighbours), and call again with corrected parameters if the image contradicts an assumption. A rough estimate, not an Energieausweis or KfW proof — say so and name the Energieeffizienz-Experte as the next step.
assetfy_get_renovation_plan
Returns images whose URL appears in an Assetfy tool result — such as the images field of a result — as image content to be looked at directly. The image is delivered inside the result. Pass the URLs unchanged, up to 12 per call. Such images can show a floor plan with outer dimensions, a site plan or a map excerpt: compare them with the buildings of a parcel (assetfy_db_buildings) and with the aerial image (assetfy_get_aerial_image). Anything read from an image — a Flurstück number, a street name — is evidence, not a cadastral fact; say where it came from. Only images from sources Assetfy has on record can be loaded.
assetfy_get_image
Derive plot shape metrics from the parcel polygon: bounding rectangle (width x depth), all edge lengths, compactness and a street frontage estimate. Answers "Zuschnitt", "Grundstücksbreite/-tiefe", "Grundstücksform" and "erste Reihe / Strassenfront" questions.
assetfy_get_parcel_geometry_metrics
Full development fact sheet for one parcel in a single call: cadastral identity (Gemarkung/Flur/Flurstueck), area, actual land use (ALKIS), buildings with footprint, Geschosszahl, Gebäudehöhe, Traufhöhe and Firsthöhe über Grund (from LoD2 where available), GRZ/GFZ (Grundflächenzahl/Geschossflächenzahl) existing vs. neighbourhood percentiles — the existing GRZ comes twice: eckdaten.bestand.grz_1_hauptanlagen (main buildings only) is the value to compare with the GRZ of a Bebauungsplan, grz_2_inkl_nebenanlagen adds garages and outbuildings and may exceed the plan GRZ by up to 50 %, at most 0.8 (§ 19 Abs. 4 BauNVO) — development potential traffic light (Bebauungspotenzial, Nachverdichtung, Aufstockung), B-plan hit, or Paragraph 34/35 BauGB where the municipality is covered by our B-plan data — where it is not (eckdaten.planungsrecht.regime "unbekannt", daten_vorhanden false), the planning law is unknown and no B-plan hit says nothing, Bodenrichtwert incl. zone GFZ, plus computed land value (Grundstückswert) and buildable-BGF (Bruttogeschossfläche) headroom, and Umgebungslärm from the strategic noise maps (umgebungslaerm). Preferred tool for "Eckdaten zur Bebaubarkeit", "was darf ich hier bauen", Baurecht, Baulücke and Innenbereich/Außenbereich. Parcel outline and building footprints as GeoJSON only on request (include_geometry). In Bayern the parcel is an approximation (gml_id DEBY_NAEH_…, genaehert, not official): approximate area, no Flurstücksnummer, GRZ/GFZ computed on the approximate boundary.
assetfy_get_parcel_overview
Aggregated profile of one parcel (Flurstück): Kataster data, tatsächliche Nutzung / Grundstücksnutzung, Bodenrichtwert, development potential (Bebaubarkeit, GRZ/GFZ, Nachverdichtung; in potenzial, grz1 counts the main buildings only and is the value to compare with the GRZ of a Bebauungsplan, grz adds garages and outbuildings — the GRZ 2 of § 19 Abs. 4 BauNVO, which may exceed the plan GRZ by up to 50 %, at most 0.8) and every building (Gebäude) on it with function, Geschosszahl (oberirdisch/unterirdisch, flagged when estimated), Gebäudehöhe, Traufhöhe and Firsthöhe über Grund, Dachform, Baujahr, Grundfläche, BGF (Bruttogeschossfläche), Nutzfläche and Volumen, plus Umgebungslärm (noise) from the strategic noise maps. Heights come from the LoD2 3D building models where the state publishes them (e.g. Bayern, Hessen, Berlin, Brandenburg, Sachsen); where a source only has elevations above sea level (Niedersachsen) the fields stay empty. In Bayern the parcel is an approximation (gml_id DEBY_NAEH_…, not official): area as flaeche_ca_m2, and GRZ/GFZ are computed on that approximate boundary.
assetfy_get_parcel_profile
Find the cadastral parcel (Flurstück) at a street address or coordinate — what the Flurkarte / Liegenschaftskarte (ALKIS-Kataster) shows there: Gemarkung, Flur, Flurstücksnummer, Grundstücksgröße in m² and the parcel outline. In Austria the same lookup is the Katasterplan / DKM: Katastralgemeinde (KG), Grundstücksnummer and Grundstücksfläche. In Bayern the result is an approximated parcel (gml_id DEBY_NAEH_…, genaehert true, not official): outline and approximate area flaeche_ca_m2, no Gemarkung, Flur or Flurstücksnummer. Takes the address directly; the tool resolves it itself.
assetfy_get_parcel_at_coordinate
Look up ONE known parcel (Flurstück) by its cadastral designation — Gemarkung, optionally Flur, and Flurstücksnummer — as written in a Grundbuchauszug, Kaufvertrag, Exposé or Liegenschaftskataster extract ("Gemarkung Kressbronn, Flurstück 1924/1"). Returns the parcel with area in m² (Grundstücksgröße), coordinates, gml_id, Lagebezeichnung and assetfy_url; the gml_id then feeds every other parcel tool (overview, profile, buildings, planning law, land value, terrain, aerial image). Covers 15 of the 16 German states — only BAYERN is missing, because its cadastre is not openly licensed; there the parcel is found by address or coordinate instead. Leading zeros are irrelevant: Flur "3" finds "003". Many states (Baden-Württemberg among them) have no Flur, so leave it out when the source names none. Give the Gemarkung, not the Gemeinde: they often differ ("Gemeinde Kressbronn am Bodensee, Gemarkung Kressbronn"). An unknown Gemarkung comes back with did_you_mean; a name that exists in several states is searched in each of them, and bundesland or zip narrows it when the source names the state or postcode. This is a lookup of a designation, not a search: flurstuecksnummer is required.
assetfy_get_parcel_by_number
Retrieve one cadastral parcel (Flurstück) by its ALKIS GML id: Gemarkung, Flur, Flurstücksnummer, Grundstücksgröße and outline, as in the Flurkarte / Liegenschaftskataster — or, for Austrian ids ("AT:…"), the Katasterplan with Katastralgemeinde and Grundstücksnummer. Ids starting DEBY_NAEH_ are approximated Bayern parcels (not official, approximate area flaeche_ca_m2).
assetfy_get_parcel_by_gml_id
Retrieve one real estate listing (Immobilien-Inserat, Exposé, Angebot) from the Assetfy listing database by its platform URL, e.g. an ImmobilienScout24, Immowelt or Kleinanzeigen link — price, area, rooms, year built, condition, coordinates, images and the full exposé description text (expose.description) where the portal published one. The URL is only the lookup key: the tool never contacts the portal or a portal API, it calls the Assetfy API (GET https://assetfy.com/api/v1/real-estates/by-url), which searches the listings Assetfy has already collected. A listing that is not in that stock returns success false with the reason and the way to match it by its exposé facts instead.
assetfy_get_real_estate
Lageplan (site plan) export for architects and planners — the files for Vorentwurf, Bauvoranfrage and the documents to a Bauantrag: DXF for CAD (AutoCAD, Vectorworks, ArchiCAD) with Flurstücke and their numbers, ALKIS buildings with house numbers, tatsächliche Nutzung, LoD2 roof edges with Traufhöhe/Firsthöhe, DGM1 contour lines (Höhenlinien) and spot heights as 3D z values, the Geltungsbereich of Bebauungspläne and, where the state surface model is imported (Berlin, Brandenburg, Sachsen, Nordrhein-Westfalen), single trees with crown and height (derived from the surface model, not a tree register), all in UTM (EPSG:25832/25833, 1 unit = 1 m, heights in m above NHN); a print-ready PDF (Umgebungsplan) on paper A4–A0 at 1:250–1:2000; IFC for BIM (terrain, LoD2 building bodies and the trees); GeoPackage for QGIS; SVG. Returns signed download links valid for 7 days that open without a login — give them to the user as links. Each location counts once per month against the account's site-plan quota, whatever the formats and downloads; it is booked when a link is first opened. The result reports kontingent (genutzt, limit, verbleibend; unbegrenzt true means no limit) — mention it; when the quota is used up the tool says so and names the options. The files are built when a link is opened (DXF up to ~30 s, the state terrain service is queried live). Give gml_id, lat/lon or address; with gml_id the parcel is highlighted. What a state does not publish (Flurstücke in Bayern, 3D roofs outside the states with LoD2 surfaces, terrain in Bremen and Saarland) is left out and named in the drawing. It is a working plan from the official cadastre, not an amtlicher Lageplan: for the Bauantrag a Lageplan by an Öffentlich bestellter Vermessungsingenieur (ÖbVI) or the Vermessungsamt is still required — say so. Baugrenzen and Baulinien are not in the drawing (most plans exist only as scans); assetfy_db_planning_at_point returns the georeferenced plan raster where the state publishes one, and the plan documents. Where it has no Bebauungsplan data for the Gemeinde or a plan comes without PDF, search the web on the website of the Stadt, Gemeinde or Verbandsgemeinde (Bauleitplanung, Geoportal, Ratsinformationssystem) for the Bebauungsplan and its Planzeichnung, and link what you find as found there, not as Assetfy data. lizenzen lists the attribution (Namensnennung) and licence of every dataset in the plan — pass it on with the files. For an aerial image under the DXF call assetfy_get_aerial_image with the same lat/lon and size_m: its cad part is the same extent in UTM with a world file.
assetfy_get_site_plan
Terrain (Gelände) of one Flurstück: elevation in m above NHN (min, max, mean, difference), Hangneigung (mean, 90th percentile and max in % and degrees, with a class from "eben" to "sehr steil"), aspect (which way the slope faces: N, NO, … — "S" is a south-facing slope), the elevation at the Flurstück corners, and whether it lies lower or higher than its surroundings (a ring of umgebung_m around it). Answers questions like "Wie steil ist das Grundstück?", "Ist das ein Südhang?", "Wie viel Höhenunterschied hat das Grundstück?", "Liegt es in einer Senke?". Give gml_id, lat/lon or address. In Bayern there is no Flurstück geometry, so a circle of 20 m around the point is evaluated and the result says so. "Tiefer als die Umgebung" is a terrain hint, not a flood or Starkregen assessment. Contour lines are not returned here; they come in the DXF/IFC of assetfy_get_site_plan. Heights come from the official DGM1 (1 m terrain model) of the state — live from the state web service or from tiles Assetfy imported; the result names the source, attribution and licence. Covered: every state except Bremen and Saarland.
assetfy_get_terrain
Bodenrichtwert zones (BORIS, Gutachterausschuss) at a coordinate or parcel, including value per m2 (Bodenwert, Grundstückspreis pro Quadratmeter), reference date (Stichtag), permitted use (Art der Nutzung, e.g. Bauland, Wohnbaufläche, Gewerbe, Acker) and the zone GFZ used for the land value calculation. Rheinland-Pfalz and Sachsen are looked up live from the nationwide BORIS-D service for the parcel or point: there the share of the parcel is estimated from sample points (anteil_flurstueck_ca, stichproben) and the zone GFZ is usually missing. Saarland is not available (the state has not released its values for reuse).
assetfy_db_land_values
All stored exposé attributes for a listing URL, including the ones the HTTP API drops: number of floors, construction year, condition, cellar, building type, private/agent offer — plus the platform image URLs. These are URLs only, not visible image content: to inspect them, pass the returned images array unchanged as `urls` to assetfy_get_image. Use it when ZIP + plot area leave several candidate parcels: floors and construction year discriminate. Also returns the exposé description text (Beschreibung) where the portal published one — outbuildings, renovation state, rental status, heating and plot details often appear only there. Not available for Zwangsversteigerungen.
assetfy_db_listing_details
Listings FOR SALE (zum Verkauf) — Grundstücke, Gewerbeobjekte, Häuser and BVVG land from the Assetfy listing stock (real_estates_*) — that involve railway land: alte Gleisanlagen, Gleise, Gleisanschluss, Anschlussgleis, Bahngelände, Bahnbrache, ehemaliger Güterbahnhof, Bahntrasse, Bahndamm, Stellwerk, Lokschuppen. This is the tool that joins the property market with railway and cadastral data; it answers "Grundstücke zum Verkauf mit alten Gleisanlagen", "Gewerbefläche mit Gleisanschluss kaufen", "ehemaliges Bahngelände zu verkaufen". Every hit carries its evidence: (1) the listing names railway facilities — the title, for BVVG also the description; "Bahnhofsnähe", "Bahnhofstraße" or "S-Bahn" do not count; (2) the parcel (Flurstück) under the listing coordinate has the actual use (tatsächliche Nutzung) Bahnverkehr — only where the coordinate is not a locality geocode shared with other listings, and checked against the advertised plot area; (3) the nearest operating line from the Infrastrukturregister (ISR) of DB InfraGO — railway land without an operating line within 100 m points to disused, dismantled, siding or station tracks, and the NRW cadastre adds the state "außer Betrieb, stillgelegt"; (4) where the listing has an exact address with house number (as for the exact markers on the Assetfy map, but not when the geocoder put a business or institution in front of the street — that is the address of a POI, not of the property), its distance to the nearest operating line counts by itself: up to 100 m "stark", up to 500 m "mittel" — proximity to a line, not proof of tracks on the plot. evidenz is "stark", "mittel" or "schwach"; "schwach" — a railway parcel at the coordinate that is much larger than the listing or cannot be compared because the listing states no plot area (usually a geocode on the neighbouring track), or a railway term only in a long BVVG description (usually the transport connection) — is left out unless include_weak is set. Nationwide by default, or within a Landkreis, bbox or radius. The cadastral check runs where the state cadastre in the database carries the actual use; elsewhere only the listing text counts, and the result lists which states were checked. No source says whether tracks are still on site — confirm with the exposé and the aerial image (assetfy_get_aerial_image at the listing coordinate). For railway land that is not on the market use assetfy_db_rail_corridor_parcels or assetfy_db_find_parcels_by_use with nutzungsart "Bahnverkehr".
assetfy_db_rail_listings
Match a real estate listing to the most plausible cadastral parcel and return the full development fact sheet for it. Give either a listing_url or exposé facts (zip, plot area, living area, floors, building type, street address). If the exposé states a street address, the tool resolves it first and verifies the house number against the cadastral building address; this also works when the stated plot area combines several parcels. Otherwise it searches parcels with that plot area inside the ZIP polygon — exact area first, then a small tolerance — and compares candidate buildings when needed.
assetfy_match_listing_to_parcel
The signed-in user's saved properties ("Favoriten") with their private notes, enriched with the listing data. The notes are the user's own assessment of a property and exist nowhere else — use them when the user asks about "my" properties, what they noted, or wants their saved properties compared. listing_status says whether the listing is still active on the portal, offline (sold or withdrawn, last known data) or deleted from the Assetfy database (only the note remains; deleted ones without a note are left out). Identity comes from the access token; there is no way to query another account.
assetfy_my_favorites
The signed-in user's own map markers ("Meine Orte") with their titles and notes — places the user pinned on the Assetfy map. Not the same as assetfy_my_favorites: favourites are saved listings, places are free coordinates. Use it when the user asks about "meine Orte", "meine Marker", or what they noted at a place. Optional lat/lon + radius_m restricts to markers near a point. Identity comes from the access token; there is no way to query another account.
assetfy_my_places
Bebauungsplan polygons covering a coordinate or a parcel, with plan name, type and date. It is built for the Bebauungsplan. Where a state register also carries the Flächennutzungsplan (e.g. NRW), it comes back as a hit with planart "Flächennutzungsplan"; in Rheinland-Pfalz it is looked up live at the municipal komserv service, with its PDFs where the municipality publishes them; most states do not publish the FNP as data, and there it is held by the Gemeinde. Use it to prove whether a parcel is governed by a B-plan (then its rules apply) or falls under §34/§35 BauGB — but only where our data covers the municipality: the result reports gemeinde_abdeckung, and where the state or the Gemeinde is not in our B-plan data, beurteilung says so and no hit is NOT evidence of §34. Sachsen-Anhalt and Bayern have no B-plan data here at all. Hessen and Niedersachsen have no state dataset: in Hessen covered are the municipalities of GDI-Südhessen, Frankfurt am Main, Stadt and Landkreis Kassel, Landkreis Fulda and Vogelsbergkreis; in Niedersachsen those publishing through govconnect, the Landkreise Rotenburg (Wümme), Nienburg/Weser and Osterholz and the cities Osnabrück, Oldenburg, Göttingen, Hildesheim, Wolfsburg and Hameln (not Hannover and Braunschweig). The others come back as not covered. Every hit carries planunterlagen: the direct PDF links of that plan — Planzeichnung, textliche Festsetzungen, Begründung, taken from the source record or from the portal pages it links to, in the spelling the municipality publishes them. They belong to that plan. In Rheinland-Pfalz a Bebauungsplan hit also carries planraster: the plan scan of the municipality, georeferenced, as a PNG of 160 × 160 m around the point (getmap_png, EPSG:25832, 0.1 m per pixel) with its worldfile (.pgw) — Baugrenzen, Baulinien and the Nutzungsschablone in position, to lay under a site plan in CAD or GIS; other states publish no such raster. assetfy_get_plan_document returns the content of a document itself, as text and page images. The links are not checked for reachability, so an occasional one is stale. The list can be empty even for a plan in force: not every municipality publishes its documents, and a few portals need a login. quelle_url is the link the state register itself carries — usually a portal page rather than a document — and is the fallback when planunterlagen is empty. datum belongs to the record, not necessarily to the plan: where the name marks an amendment ("Änderung Nr. 4 des Bebauungsplanes Ma 110", "2. Änderung"), it is the date that amendment took effect, and the original plan is usually older — in NRW it is missing from the register entirely for 5.341 of 6.254 amendments. The amendment date is therefore not the age of the planning law.
assetfy_db_planning_at_point
Asking prices per m² for a postcode area — the data behind the price heatmap on the Assetfy map. Answers "was kostet der Quadratmeter in X", "Preisniveau PLZ Y", "ist das Angebot teuer für die Gegend": average, minimum and maximum €/m² plus the number of listings, separately for Häuser, Wohnungen, Grundstücke and Gewerbe, across roughly 8.000 postcode areas. Based on active portal listings from the last nine months with outliers removed, so it reflects what sellers currently ask, not what buyers paid and not the official land value. For the official Bodenrichtwert of the Gutachterausschuss use assetfy_db_land_values; for the individual listings behind these figures use assetfy_db_search_listings. Requires zip, ort or a coordinate.
assetfy_db_price_heatmap
Parcels (Flurstücke) along railway lines whose actual use (tatsächliche Nutzung) is "Bahnverkehr" — the railway land, as a rule owned by DB InfraGO — measured ACROSS the track: how wide that land is beside the outermost existing track, on each side. Answers "welche Bahngrundstücke sind breit genug für ein weiteres Gleis", "wo passt ein Überholgleis / eine Kreuzungsstelle / ein drittes Gleis", "wo reicht der Bahnkorridor für einen Gleisausbau". The line is sampled every step_m with a cross-section (Querprofil); in each, the existing tracks come from the ISR and the free width is the contiguous Bahnverkehr land beyond the outer track. Returns (1) abschnitte: continuous stretches where the free width on one side stays ≥ required_free_width_m for at least min_run_length_m — the candidate sites — with side (e.g. "östlich der Gleise"), length, free width, nearest station and the parcels involved; and (2) flurstuecke: those parcels with Gemarkung/Flur/Flurstück, area, Bahnverkehr share, free width and length along the track. Needs a region (landkreis, lat/lon + radius_m or bbox) and/or strecke_nr; at most 80 km of line per call — split by strecke_nr if the region holds more (the refusal lists the lines). The use comes from the parcel attribute where the state has it, otherwise from the state’s own land-use dataset (NRW, Hessen, Brandenburg, Mecklenburg-Vorpommern, Baden-Württemberg, Berlin, Bayern) and only then live from the state ALKIS WFS; where none exists the parcels the track runs over are used instead, and the result says so (tn_quelle). This is a screening, not a plan: the ISR draws double track schematically 6 m apart (real 4.0–4.5 m, so the real free width is about 1 m larger), station tracks and sidings are not in the ISR, and terrain, embankments, masts and buildings are not considered — check candidates with assetfy_db_buildings, the planning tools and assetfy_get_aerial_image (the start and ende of an abschnitt span its bbox).
assetfy_db_rail_corridor_parcels
Railway lines (Bahnstrecken, Gleise) of the German federal rail network from the Infrastrukturregister (ISR) of DB InfraGO: route number (Streckennummer), sections (Streckenabschnitt von–bis, km), number of tracks (eingleisig / zweigleisig), line speed, electrification, traffic type (Personenverkehr, Güterverkehr, S-Bahn), line class, ETCS and TEN classification — plus stations and junctions (Betriebsstellen: Bahnhof, Haltepunkt, Abzweig, Überleitstelle) and, on request, bridges and tunnels and the line geometry. Search by Streckennummer, by a station or section name, by Landkreis, bbox or around a coordinate. Answers "welche Bahnstrecken verlaufen durch X", "wie ist die Strecke 6088 ausgebaut", "wo ist die Strecke eingleisig". For the parcels along a line — the railway land itself and whether there is room for another track — use assetfy_db_rail_corridor_parcels.
assetfy_db_rail_lines
Resolve a real estate listing (Immobilien-Inserat, Exposé) to the cadastral parcel (Flurstück) at the listing's coordinate and assess whether that match is plausible. Input is the listing's platform URL, e.g. an ImmobilienScout24, Immowelt or Kleinanzeigen link. The URL is only the lookup key — the tool never contacts the portal or a portal API. It calls the Assetfy API — GET https://assetfy.com/api/v1/real-estates/by-url for the listing (same lookup as assetfy_get_real_estate, so the listing must be in the Assetfy listing stock), then /api/v1/flurstueck and the /api/v1/flurstueck/{gml_id} endpoints for the parcel. The tool reads the listing coordinate, looks up the Flurstück there in the ALKIS cadastre and adds its parcel profile: area, GFZ/GRZ potential, Bodenrichtwert, buildings and actual land use. match_assessment returns status plausible_match, needs_review, unlikely_match or no_match with a confidence, from comparing the listed plot area with the parcel area and a house listing with the buildings on the parcel. Portal coordinates are often only approximate — when the status is not plausible_match, use assetfy_match_listing_to_parcel, which searches by ZIP and plot area instead. A listing without a street has no property coordinate (the map places it on a random point in its postcode area); the tool then reads no parcel and names assetfy_match_listing_to_parcel as next_step.
assetfy_resolve_listing_parcel
Resolve German place names, districts or postal codes (Ort, Stadt, Gemeinde, Stadtteil, PLZ) into search center points with a radius derived from the size of the place. Useful to check how a location will be interpreted before searching; assetfy_search_property_candidates does this resolution itself.
assetfy_resolve_locations
Find parcels (Flurstücke) by their actual cadastral use AND several further criteria AT ONCE — the multi-criteria variant of assetfy_db_find_parcels_by_use, for a site profile across many parcels. Returns only the parcels that pass every criterion: the use, how much of the parcel that use covers, the parcel size, how densely it is already built (Bebauungsgrad), and whether a Bebauungsplan applies. Example: "Lagerflächen, die mindestens 80 % des Flurstücks einnehmen, 10.000 bis 100.000 m², 5 bis 30 % bebaut, mit B-Plan, deutschlandweit". Every criterion is evaluated in one database pass: a nationwide screening takes one call per state, and the hits need no per-parcel follow-up calls to assetfy_db_planning_at_point or assetfy_db_buildings for these criteria. Every hit reports the measured figures it passed on (nutzung_anteil_prozent, bebauungsgrad_prozent, the Bebauungsplan) so the numbers can be checked, plus assetfy_url. The distance to the nearest Autobahn junction is covered by max_autobahn_km and measured in the database. Noise from the strategic noise maps is covered by max_laerm_lden_db / max_laerm_lnight_db, and every hit reports its loudest mapped band as umgebungslaerm. Bebauungspotenzial is covered by grz_min/grz_max, gfz_min/gfz_max and min_bgf_potenzial_m2 ("GFZ unter 0,5, mindestens 1.500 m² zusätzliche BGF"), and every hit reports it as bebauungspotenzial, with keine_bauflaeche: true where the map greys the parcel out as no building land (forest, farmland, roads) — such parcels stay in the result, the user decides; with these filters nutzungsart may be left out, but then the search needs a region (zip, landkreis, polygon, or lat/lon + radius_m). A screening covers Germany, one bundesland, a postcode area, one Landkreis or kreisfreie Stadt (landkreis), a radius up to 50 km (lat/lon + radius_m), or an area the user defines as a GeoJSON polygon (polygon). Existing EV fast-charging nearby ("weniger als 5 HPC-Ladepunkte im Umfeld") is covered by max_hpc_ladepunkte with ladesaeulen_radius_km, counted against the Ladesäulenregister of the Bundesnetzagentur. The criteria this tool does NOT cover — distance to a substation, to a railway line — apply to the RESULT, not to the search: screen here first, then check the few survivors, or use near_use in assetfy_db_find_parcels_by_use for a second cadastral use nearby. Coverage: all 16 states, from three kinds of data — every hit says which in nutzung_quelle. States with their own detailed ALKIS land-use dataset carry the detailed designation (e.g. "Lagerfläche"); the others record the use as text at the parcel — always the main category, the detail only in some states — so a main category ("Industrie", "Friedhof", "Bahnverkehr") finds parcels in all of them while a detailed term can miss parcels there. Bayern has no parcels: there the hit is the ALKIS use area itself, with its size, Bebauungsgrad and Bebauungsplan, and no Flurstück number. See the coverage note in the result for the current split. count is the number of parcels returned; more_matches true means more parcels pass than were returned (largest first) — narrow the search to see the others.
assetfy_db_screen_sites
Search real estate listings (Immobilien, Angebote, Inserate, Exposés) directly in the database with structured filters — the tool for "vermietete Wohnungen mit hohen Mieteinnahmen", "Zwangsversteigerungen im Raum X", "Garagen unter 20.000 €", "BVVG-Flächen", "Gewerbeobjekte", "Grundstücke ab 800 m²". Pick the market with `type`: housebuy (Haus), apartmentbuy (Eigentumswohnung), landbuy (Grundstück, Bauplatz), garagebuy (Garage, Stellplatz), officebuy (Gewerbe, Büro), agriculture (BVVG-Flächen, landwirtschaftliche Flächen der Bodenverwertungs- und -verwaltungs GmbH). Boolean filters cover the special cases: foreclosure for Zwangsversteigerungen, rented for vermietete Kapitalanlagen, private_offer for Angebote ohne Makler, price_reduced, leasehold for Erbbaurecht. Monthly rental income (Mieteinnahmen), gross yield and return on equity are returned for every hit where the platform reported them. Mieteinnahmen is the monthly rent the portal states — what the portals label "Cashflow" — not a cashflow after costs and financing: it is never negative, so it cannot tell a positive from a negative cashflow. Not every filter exists for every type — BVVG parcels carry no foreclosure or rented flag, only houses and apartments have rooms — and any filter that cannot apply is reported back in ignored_filters instead of being silently dropped. For prices per m² across a whole postcode area rather than single listings, use assetfy_db_price_heatmap; for cadastral parcels rather than marketed properties, use assetfy_db_find_parcels. For listings involving railway land — alte Gleisanlagen, Gleisanschluss, Bahngelände — use assetfy_db_rail_listings, which joins them with the cadastre and the rail network.
assetfy_db_search_listings
Find cadastral parcels by postal code and plot area. Answers questions like "which parcels in ZIP 12683 have exactly 1026 m2". Use this to map an exposé without a street address to a concrete parcel. The ZIP is matched against the parcel polygons via de_zipcodes geometry, never by town name, and the Bundesland follows from the ZIP — no coordinates needed. Exact area first, then a small tolerance, because exposés round.
assetfy_search_parcels_by_zip_and_area
Search Assetfy real estate listings around named places, filtered by structured criteria (price, plot and living area, rooms) and ranked — the tool for "finde mir eine Wohnung/ein Haus/ein Grundstück in X für unter Y". Takes place names or coordinates plus those criteria and returns a scored shortlist. The criteria are hard limits: a listing whose value lies outside them is dropped (counted in filtered_out); a listing that does not state the value stays in, with the gap named in its risks. Every criterion goes into a structured field; there is no free-text input. Needs locations or center_points — without a place use assetfy_db_search_listings for the whole listing stock, and assetfy_db_rail_listings for listings involving railway land (alte Gleisanlagen, Gleisanschluss, Bahngelände). Covers listings for sale (Kaufangebote, Verkaufsangebote, Immobilien, Objekte): Wohnung/apartmentbuy, Haus/housebuy, Grundstück/Bauplatz/landbuy, Garage/Stellplatz/garagebuy, Gewerbe/Büro/officebuy, Zwangsversteigerung/official_foreclosure. This searches MARKETED PROPERTIES, not the cadastre: for one parcel by Gemarkung/Flur/Flurstücksnummer use assetfy_get_parcel_by_number, for parcels by size or area assetfy_db_find_parcels, and for parcels by their recorded use use assetfy_db_find_parcels_by_use — neither of those knows anything about prices or listings. Use assetfy_search_real_estates instead when you already have a coordinate and just want what is nearby, without ranking.
assetfy_search_property_candidates
Find real estate listings near a coordinate — Immobilien, Wohnungen, Häuser, Grundstücke, Garagen und Gewerbeobjekte zum Kauf (Kaufangebote, Verkaufsangebote, Inserate, Exposés) in der Umgebung eines Punktes. Returns the listings with price, area, rooms and platform URL. Types are apartmentbuy (Eigentumswohnung), housebuy (Haus), landbuy (Grundstück, Bauplatz), garagebuy (Garage, Stellplatz), officebuy (Gewerbe, Büro). Every listing carries coordinate_precision: level "postcode_area" means the listing publishes no street and its coordinate is a random point in the postcode area, not the property — say so with the row and do not derive a parcel, aerial image or exact distance from it. Requires lat/lon and returns by distance, unranked — when the user describes what they want in words or names a town instead of a coordinate, use assetfy_search_property_candidates, which resolves places and scores the results. This tool covers the PROPERTY MARKET, not the cadastre: it does not find parcels by Gemarkung/Flur/Flurstücksnummer (assetfy_get_parcel_by_number) nor by their recorded use such as Industrie or Friedhof (assetfy_db_find_parcels_by_use), and those cadastral tools carry no prices.
assetfy_search_real_estates
Assetfy ChatGPT Plugin FAQ
How the directory, categories and Discoverability Score work.
Read the methodologyHow do I improve Assetfy's ChatGPT Plugin discoverability?
The levers are the listing surface agents actually read: names, descriptions, keywords, tool metadata, and registry health. Which lever matters depends on where discovery breaks, which is what continuous measurement shows.
What are Assetfy alternatives on ChatGPT?
As of 2026-11-12, Assetfy competes with ALPS, AuctionScout, BestProp.ai, Bricked, Cactus: Real Estate Analysis, Chalet, ChatARV, Citiwise and 31 more in ChatGPT Real Estate Investment & Deal Analytics, ranked by public Discoverability Score.
Where is this profile measured?
This profile uses the geography attached to the latest public registry snapshot: US. Locale tags are intentionally omitted.


