Plot Area Calculator API for irregular four-sided plots
Yes. The LandLens plot area API works out the area of a four-sided plot from its four side lengths in metres, whether or not it is a rectangle. With one diagonal the shape is fixed and the area is exact; without it the answer is the largest area those sides can enclose, which the real plot can only match or fall short of. You get the area in square metres, square feet and cents, what a plain length-times-width quote would have said, and whether the plot is a corner plot. It costs nothing.
https://verified.realestate/api/v1/tools/plot_area- Price
- Free
- Source
- Geometry of the sides you send
- Coverage
- Any four-sided plot
- Answers in
- Instant
Example
curl -X POST https://verified.realestate/api/v1/tools/plot_area \
-H "Authorization: Bearer $LANDLENS_KEY" \
-H "Content-Type: application/json" \
-d '{"side_a":12.19,"side_b":18.29,"side_c":12.8,"side_d":17.68,"road_facing_sides":["A","B"]}'
{
"ok": true,
"status": "ok",
"data": {
"found": true,
"sides_m": { "A": 12.19, "B": 18.29, "C": 12.8, "D": 17.68 },
"area_sqm": 224.62,
"area_sqft": 2417.8,
"area_cents": 5.551,
"area_method": "largest_possible",
"diagonal_m": null,
"max_area_sqm": 224.62,
"naive_rectangle_sqm": 224.72,
"overstatement_pct": null,
"is_corner_plot": true,
"note": "Four sides alone do not fix the shape, so this is the largest area they can enclose: the real plot can only be this or smaller. One diagonal, or the extent on the survey sketch, gives the exact figure. A length-times-width quote on average sides is compared against it."
},
"credits_charged": 0
}
A real answer from the API for a 40 x 60 x 42 x 58 ft plot, as returned.
What it returns
One call, one area. found is false (status not_found) when the sides cannot close into a plot or the diagonal does not fit them.
| Field | What it holds |
|---|---|
area_sqm, area_sqft, area_cents | The area in square metres, square feet and cents. |
area_method | diagonal when the area is exact, largest_possible when no diagonal was given. |
max_area_sqm | The largest area the four sides can enclose. |
naive_rectangle_sqm, overstatement_pct | What average length times average width gives, and by how much it overstates the area, when it does. |
is_corner_plot | Whether the road-facing sides you sent make it a corner plot; null when road_facing_sides was not sent. |
sides_m, diagonal_m | The measurements used. |
note | How to read the figure. |
Inputs
The JSON body of the POST is the arguments. Every length is in metres. Feet convert at 0.3048: a 40 ft side is 12.19 m.
| Argument | Type | What to send |
|---|---|---|
side_arequired |
number | The front side, in metres. |
side_brequired |
number | The next side going round, in metres. |
side_crequired |
number | The back side, in metres. |
side_drequired |
number | The last side, in metres. |
diagonal |
number | Optional: the diagonal from the corner where D meets A to the corner where B meets C, metres. Gives the exact area. |
road_facing_sides |
array | Which sides face a road, e.g. ["A"] or ["A", "B"]. |
Code
Set LANDLENS_KEY to your key. In an AI app, connect https://verified.realestate/mcp once and ask in plain words instead. In Postman, download this API's collection, import it (File, Import) and set apiKey.
curl -X POST https://verified.realestate/api/v1/tools/plot_area \
-H "Authorization: Bearer $LANDLENS_KEY" \
-H "Content-Type: application/json" \
-d '{"side_a":12.19,"side_b":18.29,"side_c":12.8,"side_d":17.68,"road_facing_sides":["A","B"]}'
import os, requests
r = requests.post(
"https://verified.realestate/api/v1/tools/plot_area",
headers={"Authorization": f"Bearer {os.environ['LANDLENS_KEY']}"},
json={
"side_a": 12.19,
"side_b": 18.29,
"side_c": 12.8,
"side_d": 17.68,
"road_facing_sides": [
"A",
"B"
]
},
timeout=20,
)
body = r.json()
print(body["status"], body["credits_charged"], body["data"])
const res = await fetch("https://verified.realestate/api/v1/tools/plot_area", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.LANDLENS_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"side_a": 12.19,
"side_b": 18.29,
"side_c": 12.8,
"side_d": 17.68,
"road_facing_sides": [
"A",
"B"
]
}),
});
const body = await res.json();
console.log(body.status, body.credits_charged, body.data);
My plot measures 40 ft in front, 60 ft on the right, 42 ft at the back and 58 ft on the left. It is a corner plot. What is the real area in cents?
Your AI converts the feet, works out the area and tells you whether a diagonal would change it. It is free.
Responses
Every answer has the same envelope. What status can say for this call:
| status | What it means |
|---|---|
ok | The area was worked out. Read area_method to see whether it is exact. |
not_found | The sides cannot close into a plot (one is longer than the other three together), a side is not positive, or the diagonal does not fit. The reason is in error. |
invalid_args | One of the four sides is missing. |
free_limit_reached | The account has used its free calls for the hour or the day. retry_after says how many seconds to wait; paid calls keep working. |
Where the data comes from
No register is read. The area is worked out from the measurements you send.
Any plot with four straight sides. Sides go round the plot in order, A being the front.
Not applicable.
With a diagonal (from the corner where D meets A to the corner where B meets C) the plot splits into two triangles whose areas are exact. Without one, four sides do not fix the shape, so the largest area they can enclose is returned. Sides that cannot close, or a diagonal that cannot fit, are refused rather than forced.
Who uses it
Buyers
Check a seller's "2,400 sq ft" against the four sides on the sketch before paying by the square foot.
Document writers and surveyors
Put the exact area of an irregular plot in a schedule, from its sides and one diagonal.
Layout and listing apps
Work out each plot's area from its dimensions instead of trusting a typed figure.
Limits and good practice
- Four straight sides only. A plot with more sides or a curved edge needs to be split.
- Without a diagonal the figure is an upper bound, not the area. One diagonal, or the extent on the FMB sketch, settles it.
- Lengths must be in metres.
Pricing
Plot area costs nothing. Free calls have their own allowance per hour and per day, counted across every key and connected app on the account, and it is larger once the account has bought credits. Credits come from the same LandLens wallet as the chat and the minis. How billing works.
Free calls have an hourly and daily allowance. For more than that, or a platform built on these registers, we set up limits and a plan to match.
Questions
Is there an API to calculate the area of an irregular plot?
Yes, this one. Send the four sides in metres, and a diagonal for the exact area.
Why do I need a diagonal?
Four sides can be pushed into many shapes with different areas. A diagonal fixes the shape. Without it the API gives the largest area possible, so the real plot is that or less.
Why not just multiply length by width?
For a plot whose sides are not square to each other, average length times average width overstates the area. The answer shows both and the gap.
Can I send feet?
Send metres. Multiply feet by 0.3048 first; unit_convert does other units.
Updated 22 Oct 2026 · OpenAPI description