Start with your geometry
Send a rectilinear apartment boundary, entrance and facade edges. Set the room counts and optional spatial overrides.
PLANFINDER GENERATE API
Send an apartment outline and room requirements. Get unique floor plan layouts back as structured geometry.
For planning tools, property platforms and custom workflows.
{
"geometry": {
"units": "mm",
"boundary": [[0, 0], [8600, 0], …],
"entrance": [1800,7200]
},
"program": { "beds": 2, "baths": 1, … },
"country": "DE",
"options": { "candidates": 16 }
} candidates[].rooms[].polygonFROM OUTLINE TO LAYOUT
Set a brief and generate completed plans. No API key needed for the demo.
Two-bedroom corner apartment with two exterior facades and an entrance beside a shared stair / lift core. 8.6 × 9.6 m overall, with a 3.6 × 2.4 m core cut-out. Dimensions are illustrative.
Apartment layout referenceGenerate a plan to inspect the API response. Your input outline
MADE FOR YOUR WORKFLOW
Send a rectilinear apartment boundary, entrance and facade edges. Set the room counts and optional spatial overrides.
Choose how many attempts to run, from 1 to 32. The API completes the layouts, removes duplicates and returns plans meeting your requirements.
Receive room polygons, walls, placed doors, room metrics and connections in your original units and coordinate system. Render, compare or process them in your product.
START BUILDING TODAY
14 days. 2,000 attempts. Every API feature. Free until either limit is reached.
A secure link. No password or sales call.
Your trial starts when you create the key.
Choose your attempt count, from 1 to 32. Start small and adjust as you learn.
No credit card. No automatic charge.
Enter your email to start a self-service integration trial.
We’ll use your email for API access and service messages. Privacy policy
ONE MORE STEP
Open the verification link to create your API key. The link works once and expires in 10 minutes.
READY TO BUILD
Save this key now. It is shown once and stays in this page’s memory until you leave. Keep it on your backend.
Set your environment variable, then run node planfinder-first-request.mjs in the download folder.
YOUR API WORKSPACE
Sign in with your verified email. Manage your integration without contacting us.
Choose a plan when you are ready. Your free trial never upgrades automatically.
Use these on your server. New key secrets are shown once; revoking a key stops its access.
DEVELOPER DOCUMENTATION
Call the API from your backend with a bearer key and a unique idempotency key.
Examples follow the current sandbox request. Set PLANFINDER_API_KEY on your server.
POST /v1/plans
Queue your chosen attempt count with your complete brief.
GET /v1/jobs/{jobId}
Poll until succeeded, then read result.candidates. Failed jobs include constraint feedback.
GET /v1/usage
Read usage, remaining attempts and the reset date.
GET /health
Check service health without a key.
Set exterior and interior wall thicknesses, nominal door widths, clear room width × depth, net area, facade contact and direct door connections. The API checks all of them after completion. A strict brief can return NO_MATCHING_PLANS; attempts still count.
Simple rectilinear outlines, including globally rotated plans. Areas from 10–250 m², with normalized width and height up to 19 m. Supported units: mm, cm, m, in and ft. Boundary and room polygons follow wall centrelines; clear dimensions exclude the wall faces.
Reuse the same Idempotency-Key and request body to retrieve the same job for seven days. Polling and retries use no extra attempts. A different body with that key returns HTTP 409.
options.candidates sets the attempt count, from 1 to 32 (default: 16). It does not guarantee that many variants. Compare requestedAttempts and uniqueCandidates in the result to find the right count for your product.
BUILD YOUR INTEGRATION FIRST
Whichever comes first. Every API feature and a key for your backend. Choose 1–32 attempts per request. No card and no automatic charge.
MONTHLY API PLANS
Billed per generation attempt. You choose how many to use in each request. All plans include the complete API.
Billed monthly in EUR.
Prices exclude VAT.
One generation pass for your brief. Choose 1–32 per request. Start with a few and adjust based on your results; 32 is the maximum.
EXAMPLE
4 attempts requested 4 attempts usedEven if fewer matching plans are returned, or none. Duplicates and layouts that miss your requirements still count. Returned variants have no separate charge.
For your first product integration.
€99/ month
5,000 attempts per month
Hard monthly limitGeneration stops at your plan allowance. No overage charges.
Choose StarterFor products with steady demand.
€299/ month
25,000 attempts per month
Hard monthly limitGeneration stops at your plan allowance. No overage charges.
Choose GrowthFor established platforms and larger teams.
€799/ month
100,000 attempts per month
Hard monthly limitGeneration stops at your plan allowance. No overage charges.
Choose ScaleNo unexpected usage charges. Your monthly allowance is a hard limit. Generation pauses when it is used and resumes at the next reset.
Invalid requests rejected before acceptance, polling and replays with the same idempotency key and body use no extra attempts. Your trial never converts to a paid plan automatically.
Completed residential room layouts inside your apartment outline. Each candidate contains room polygons, thickened wall polygons, placed doors with nominal widths and drawing polylines, net room areas, facade contact and a door connection graph. Room polygons follow wall centrelines. Furniture, cabinetry, window geometry and 3D models are not included in the current API response. Requirements filter generated candidates; the API does not guarantee that every brief has a matching plan. You can use this geometry in your own renderer or CAD workflow.
Start with a few attempts while you test your integration. Compare the number of unique matching plans returned, then choose the count that gives your product enough variety. You can request any whole number from 1 to 32; 32 is the maximum, not a recommended batch size. More attempts explore more possibilities but do not guarantee more matching plans.
One attempt is one generation pass for your brief. Requesting 4 attempts uses 4 attempts from your allowance, whether the API returns 4 matching plans, fewer plans or none. Duplicates and layouts rejected by your requirements still count. Invalid requests rejected before acceptance, polling and replays with the same idempotency key and body use no extra attempts.
Yes. Verify your email and create a free API key instantly, with 2,000 attempts for 14 days, whichever ends first. It uses the same request schema, constraints and 32-attempt batch limit as the paid API. The allowance is shared across your trial keys. Your trial starts when your key is created. No card, sales call or automatic charge. The sandbox above is also available without a key.
Call the paid API from your backend and read the key from an environment variable. The browser demo uses a separate public endpoint. Never include a paid key in frontend code.
Create your trial key above and start building straight away. If you need integration advice, custom capacity or help with your requirements, send us a message.
Thank you for reaching out. We'll get back to you shortly.