Heading

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

Get StartedGet Started
Kreo Software API

A Simple and Powerful Workflow

Just four steps from file upload to structured data. Our asynchronous API handles even the most complex drawings with ease.

1 step
Upload a File

Send a POST request to /upload with your file

1curl -X POST "https://takeoff.kreo.net/api/ai-search/v1/takeoff2D/upload" \
2     -H "X-API-KEY: <YOUR_API_KEY>" \
3     -F "file=@/path/to/your/plan.pdf"
2 step
Create a Project

Use the returned fileKey to create a project via a POST request to /project

1curl -X POST "https://takeoff.kreo.net/api/ai-search/v1/takeoff2D/project" \
2     -H "X-API-KEY: <YOUR_API_KEY>" \
3     -H "Content-Type: application/json" \
4     -d '{
5           "fileKey": "temp/6c47cb338a7346d88ab843b1e6d8acf2"
6         }'
3 step
Run an AI Search

Specify what you want to find and send a POST request to /projects/{id}/search.

1curl "https://takeoff.kreo.net/api/ai-search/v1/takeoff2D/projects/100500/search" \
2     -X POST \
3     -H "X-API-KEY: <YOUR_API_KEY>" \
4     -H "Content-Type: application/json" \
5     -d '{
6           "type": "wall",
7           "dpi" : 300
8         }'
9
4 step
Get the Result

Track the job status and retrieve the final data in JSON format with a GET request.

1curl "https://takeoff.kreo.net/api/ai-search/v1/takeoff2D/projects/100500/search/aaab5e87-f533-46da-a19a-98401acb678f-e1" \
2     -X GET \
3     -H "X-API-KEY: <YOUR_API_KEY>"
4

Extract Maximum Value from Your Drawings

Just four steps from file upload to structured data. Our asynchronous API handles even the most complex drawings with ease.

Searchable Object Types

Linear

  • Walls (External/Internal)
  • Doors
  • Windows

Areal

  • Rooms and Areas
  • GEA
  • GIA
  • NIA
  • Other enclosed spaces

Precise Data Output

Receive detailed measurements for every object: length and thickness for linear elements like walls, and area and perimeter for polygons like rooms. All results include precise pixel coordinates.

Precise Data Output

Work with all major formats: PDF, DWG, DXF, DWF, PNG, JPG, TIFF, and more.

Asynchronous Processing

Reliably process large and complex files without timeouts

See It in Practice

Just four steps from file upload to structured data. Our asynchronous API handles even the most complex drawings with ease.

Request
1{
2  "projectId": 106098,
3  "status": "Ready",
4  "dpi": 300,
5  "type": "polygon",
6  "text": "space"
7}
Response
1[
2  {
3    "status": "Ready",
4    "contours": [
5      {
6        "points": [
7          [
8            1127.16,
9            812.88
10          ],
11          [
12            1127.16,
13            704.4
14          ],
15          [
16            1031.88,
17            704.4
18          ],
19          [
20            1031.88,
21            812.88
22          ]
23        ],
24        "text": [
25          "DblBedroom",
26          "13.0m²"
27        ],
28        "area": 12.863343448888823,
29        "perimeter": 14.376399999999999
30      },
31      {
32        "points": [
33          [
34            821.64,
35            1096.68
36          ],
37          [
38            821.64,
39            1039.56
40          ],
41          [
42            774.12,
43            1039.56
44          ],
45          [
46            774.12,
47            1096.68
48          ]
49        ],
50        "text": [
51          "Store",
52          "3.4m²"
53        ],
54        "area": 3.3780577599999564,
55        "perimeter": 7.38293333333334
56      },
57      {
58        "points": [
59          [
60            672.12,
61            1102.2
62          ],
63          [
64            672.12,
65            1005.84
66          ],
67          [
68            576,
69            1005.84
70          ],
71          [
72            576,
73            1101.59999
74          ]
75        ],
76        "text": [
77          "DblBedroom",
78          "11.5m²"
79        ],
80        "area": 11.491024806882805,
81        "perimeter": 13.55943237870171
82      },
83      {
84        "points": [
85          [
86            703.68,
87            1001.28
88          ],
89          [
90            703.68,
91            916.2
92          ],
93          [
94            615.84,
95            916.2
96          ],
97          [
98            615.84,
99            936.84
100          ],
101          [
102            576.72,
103            936.84
104          ],
105          [
106            576.72,
107            1001.28
108          ]
109        ],
110        "text": [
111          "MasterBedroom",
112          "13.5m²"
113        ],
114        "area": 12.438147166666601,
115        "perimeter": 14.960599999999989
116      },
117      {
118        "points": [
119          [
120            927.6,
121            914.16
122          ],
123          [
124            927.6,
125            865.92
126          ],
127          [
128            890.64,
129            865.92
130          ],
131          [
132            890.64,
133            914.16
134          ]
135        ],
136        "text": [],
137        "area": 2.2189202933332988,
138        "perimeter": 6.0113333333333365
139      },
140      {
141        "points": [
142          [
143            1170.72,
144            1042.56
145          ],
146          [
147            1170.72,
148            1021.8
149          ],
150          [
151            1225.2,
152            1022.16
153          ],
154          [
155            1224.48,
156            922.68
157          ],
158          [
159            1137.35998,
160            922.68
161          ],
162          [
163            1137.35998,
164            1042.56
165          ]
166        ],
167        "text": [
168          "MasterBedroom",
169          "12.7m²"
170        ],
171        "area": 11.66521262830959,
172        "perimeter": 14.643235287775251
173      },
174      {
175        "points": [
176          [
177            956.64,
178            788.4
179          ],
180          [
181            956.64,
182            852.84
183          ],
184          [
185            1027.32,
186            852.84
187          ],
188          [
189            1027.32,
190            704.4
191          ],
192          [
193            936.12,
194            704.4
195          ],
196          [
197            936.12,
198            788.4
199          ]
200        ],
201        "text": [
202          "MasterBedroom",
203          "16.4m²"
204        ],
205        "area": 15.202353107777782,
206        "perimeter": 16.907933333333332
207      },
208      {
209        "points": [
210          [
211            1094.4,
212            1066.44
213          ],
214          [
215            1094.4,
216            1042.56
217          ],
218          [
219            1037.04,
220            1042.56
221          ],
222          [
223            1037.04,
224            1066.44
225          ]
226        ],
227        "text": [
228          "Store",
229          "1.7m²"
230        ],
231        "area": 1.7046919311109334,
232        "perimeter": 5.73193333333335
233      },
234      {
235        "points": [
236          [
237            715.44,
238            1096.68
239          ],
240          [
241            715.44,
242            1044.35998
243          ],
244          [
245            676.68,
246            1044.35998
247          ],
248          [
249            676.68,
250            1096.68
251          ]
252        ],
253        "text": [],
254        "area": 2.523795200308612,
255        "perimeter": 6.426201411111126
256      },
257      {
258        "points": [
259          [
260            688.56,
261            907.68
262          ],
263          [
264            688.56,
265            851.04
266          ],
267          [
268            674.16,
269            851.04
270          ],
271          [
272            674.16,
273            808.8
274          ],
275          [
276            576,
277            808.8
278          ],
279          [
280            576,
281            907.68
282          ]
283        ],
284        "text": [
285          "MasterBedroom",
286          "13.1m²"
287        ],
288        "area": 13.094454097777797,
289        "perimeter": 14.918266666666662
290      },
291      {
292        "points": [
293          [
294            845.4,
295            857.4
296          ],
297          [
298            845.4,
299            814.92
300          ],
301          [
302            821.52,
303            814.92
304          ],
305          [
306            821.52,
307            857.4
308          ]
309        ],
310        "text": [
311          "Electrical",
312          "Riser",
313          "843"
314        ],
315        "area": 1.2624705933333824,
316        "perimeter": 4.6820666666666675
317      },
318      {
319        "points": [
320          [
321            1093.8,
322            1038
323          ],
324          [
325            1093.8,
326            977.16
327          ],
328          [
329            1037.04,
330            977.16
331          ],
332          [
333            1037.04,
334            1038
335          ]
336        ],
337        "text": [
338          "Bathroom",
339          "4.3m²"
340        ],
341        "area": 4.297679576666462,
342        "perimeter": 8.297333333333334
343      },
344      {
345        "points": [
346          [
347            774.48,
348            803.16
349          ],
350          [
351            774.48,
352            779.04
353          ],
354          [
355            711.24,
356            779.04
357          ],
358          [
359            711.24,
360            803.16
361          ]
362        ],
363        "text": [
364          "Store",
365          "1.9m²"
366        ],
367        "area": 1.8983295366667114,
368        "perimeter": 6.163733333333334
369      },
370      {
371        "points": [
372          [
373            845.4,
374            783.12
375          ],
376          [
377            845.4,
378            757.68
379          ],
380          [
381            821.52,
382            757.68
383          ],
384          [
385            821.52,
386            783.12
387          ]
388        ],
389        "text": [
390          "WaterRiser"
391        ],
392        "area": 0.7560558355555465,
393        "perimeter": 3.4798000000000036
394      },
395      {
396        "points": [
397          [
398            637.32,
399            1206.83999
400          ],
401          [
402            820.92,
403            1206.83999
404          ],
405          [
406            820.97587,
407            1101.9302
408          ],
409          [
410            676.68,
411            1101.24
412          ],
413          [
414            676.68,
415            1106.76
416          ],
417          [
418            637.31999,
419            1106.76
420          ]
421        ],
422        "text": [
423          "K/L/D",
424          "24.2m²"
425        ],
426        "area": 23.80031104140814,
427        "perimeter": 20.382347318341726
428      },
429      {
430        "points": [
431          [
432            1225.2,
433            1042.56
434          ],
435          [
436            1225.20413,
437            1025.52
438          ],
439          [
440            1174.2,
441            1025.64
442          ],
443          [
444            1174.2,
445            1042.56
446          ]
447        ],
448        "text": [
449          "Store",
450          "0.4m²"
451        ],
452        "area": 1.0777743027802982,
453        "perimeter": 4.79651736152725
454      },
455      {
456        "points": [
457          [
458            845.4,
459            810.36
460          ],
461          [
462            845.4,
463            787.68
464          ],
465          [
466            821.52,
467            787.68
468          ],
469          [
470            821.52,
471            810.36
472          ]
473        ],
474        "text": [
475          "HeatRiser"
476        ],
477        "area": 0.6740309100000212,
478        "perimeter": 3.285066666666671
479      },
480      {
481        "points": [
482          [
483            845.04,
484            1138.08
485          ],
486          [
487            844.56,
488            1161.48
489          ],
490          [
491            914.76,
492            1161.48
493          ],
494          [
495            914.76,
496            977.16
497          ],
498          [
499            830.16,
500            977.16
501          ],
502          [
503            830.16,
504            1138.08
505          ]
506        ],
507        "text": [
508          "ResidentialLobby",
509          "18.5m²"
510        ],
511        "area": 18.98006956666653,
512        "perimeter": 18.990906990281275
513      },
514      {
515        "points": [
516          [
517            709.08,
518            907.68
519          ],
520          [
521            709.08,
522            851.04
523          ],
524          [
525            692.04,
526            851.04
527          ],
528          [
529            692.04,
530            907.68
531          ]
532        ],
533        "text": [
534          "Store",
535          "0.5m²"
536        ],
537        "area": 1.2011445511110248,
538        "perimeter": 5.198533333333337
539      },
540      {
541        "points": [
542          [
543            1048.32,
544            914.04
545          ],
546          [
547            1048.32,
548            857.4
549          ],
550          [
551            987.36,
552            857.4
553          ],
554          [
555            987.36,
556            914.16
557          ]
558        ],
559        "text": [
560          "Bathroom",
561          "4.3m²"
562        ],
563        "area": 4.301604299999965,
564        "perimeter": 8.30157083332929
565      },
566      {
567        "points": [
568          [
569            706.8,
570            804.24
571          ],
572          [
573            706.8,
574            774.48
575          ],
576          [
577            774.48,
578            774.48
579          ],
580          [
581            774.48,
582            703.68
583          ],
584          [
585            576.72,
586            704.4
587          ],
588          [
589            576.72,
590            804.24
591          ]
592        ],
593        "text": [
594          "K/L/D",
595          "22.4m²"
596        ],
597        "area": 22.154220924444477,
598        "perimeter": 21.02277957104419
599      },
600      {
601        "points": [
602          [
603            774.48,
604            907.68
605          ],
606          [
607            774.48,
608            851.04
609          ],
610          [
611            713.64,
612            851.04
613          ],
614          [
615            713.64,
616            907.68
617          ]
618        ],
619        "text": [
620          "Bathroom",
621          "4.3m²"
622        ],
623        "area": 4.288593573333313,
624        "perimeter": 8.288866666666667
625      },
626      {
627        "points": [
628          [
629            953.16,
630            852.84
631          ],
632          [
633            953.04,
634            792
635          ],
636          [
637            936.12,
638            792
639          ],
640          [
641            936.12,
642            852.84
643          ]
644        ],
645        "text": [
646          "Store",
647          "0.6m²"
648        ],
649        "area": 1.2856694716667079,
650        "perimeter": 5.490637508214217
651      },
652      {
653        "points": [
654          [
655            923.64,
656            1156.44
657          ],
658          [
659            1028.64,
660            1156.45303
661          ],
662          [
663            1028.64,
664            977.05248
665          ],
666          [
667            923.28,
668            977.14087
669          ]
670        ],
671        "text": [
672          "CycleStore",
673          "23.5m²",
674          "30spaces"
675        ],
676        "area": 23.47668412180657,
677        "perimeter": 20.075175019467117
678      },
679      {
680        "points": [
681          [
682            770.64,
683            990
684          ],
685          [
686            770.64,
687            968.64
688          ],
689          [
690            774.48,
691            968.64
692          ],
693          [
694            774.48,
695            916.2
696          ],
697          [
698            708.24,
699            916.2
700          ],
701          [
702            708.24,
703            990
704          ]
705        ],
706        "text": [
707          "Bathroom",
708          "4.7m²"
709        ],
710        "area": 5.98178015111122,
711        "perimeter": 9.880599999999998
712      },
713      {
714        "points": [
715          [
716            882.12,
717            914.16
718          ],
719          [
720            882.12,
721            865.92
722          ],
723          [
724            825.48,
725            865.92
726          ],
727          [
728            825.48,
729            914.16
730          ]
731        ],
732        "text": [],
733        "area": 3.400423306666659,
734        "perimeter": 7.399866666666666
735      },
736      {
737        "points": [
738          [
739            982.92,
740            914.04
741          ],
742          [
743            982.92,
744            857.4
745          ],
746          [
747            936.12,
748            857.4
749          ],
750          [
751            936.12,
752            914.16
753          ]
754        ],
755        "text": [
756          "EnSuite",
757          "3.3m²"
758        ],
759        "area": 3.3024127499999967,
760        "perimeter": 7.302505427341502
761      },
762      {
763        "points": [
764          [
765            774.48,
766            846.48
767          ],
768          [
769            774.48,
770            806.64
771          ],
772          [
773            678.86128,
774            806.90697
775          ],
776          [
777            678.72,
778            846.48
779          ]
780        ],
781        "text": [
782          "1B2PF",
783          "50.4m²",
784          "Unit1.1"
785        ],
786        "area": 4.728536912381517,
787        "perimeter": 9.552953225094642
788      },
789      {
790        "points": [
791          [
792            853.92,
793            749.16
794          ],
795          [
796            853.92,
797            857.4
798          ],
799          [
800            927.6,
801            857.4
802          ],
803          [
804            927.6,
805            704.4
806          ],
807          [
808            825.48,
809            704.4
810          ],
811          [
812            825.48,
813            749.16
814          ]
815        ],
816        "text": [],
817        "area": 15.613785976666792,
818        "perimeter": 18.000133333333334
819      },
820      {
821        "points": [
822          [
823            1225.2,
824            1156.44
825          ],
826          [
827            1225.14366,
828            1046.29518
829          ],
830          [
831            1132.59519,
832            1045.83117
833          ],
834          [
835            1132.8,
836            922.68
837          ],
838          [
839            1098.83999,
840            922.68
841          ],
842          [
843            1098.83999,
844            1070.04
845          ],
846          [
847            1037.04,
848            1070.04
849          ],
850          [
851            1037.04,
852            1155.83999
853          ]
854        ],
855        "text": [
856          "1B2PF",
857          "50.6m²",
858          "Unit1.3",
859          "K/L/D",
860          "23.9m²"
861        ],
862        "area": 29.127537945961222,
863        "perimeter": 29.73658273081135
864      },
865      {
866        "points": [
867          [
868            610.08,
869            933.24
870          ],
871          [
872            610.08,
873            916.2
874          ],
875          [
876            575.88,
877            916.2
878          ],
879          [
880            575.88,
881            933.24
882          ]
883        ],
884        "text": [],
885        "area": 0.7252673666665715,
886        "perimeter": 3.6152666666666673
887      },
888      {
889        "points": [
890          [
891            719.99999,
892            1039.8
893          ],
894          [
895            720,
896            1096.68
897          ],
898          [
899            770.64,
900            1096.68
901          ],
902          [
903            770.64,
904            994.68
905          ],
906          [
907            708.24,
908            994.68
909          ],
910          [
911            708.24,
912            1005.84
913          ],
914          [
915            676.68,
916            1005.84
917          ],
918          [
919            676.68,
920            1039.8
921          ]
922        ],
923        "text": [
924          "2B4PFWCH",
925          "73.3m²",
926          "Unit2.3"
927        ],
928        "area": 8.422510390608462,
929        "perimeter": 13.826066313888932
930      },
931      {
932        "points": [
933          [
934            1224.48,
935            914.16
936          ],
937          [
938            1224.48,
939            886.32
940          ],
941          [
942            1230.24,
943            886.34769
944          ],
945          [
946            1230.24,
947            857.16
948          ],
949          [
950            1225.2,
951            857.16
952          ],
953          [
954            1225.2,
955            793.44
956          ],
957          [
958            1230.24,
959            793.44
960          ],
961          [
962            1230.24,
963            764.4
964          ],
965          [
966            1225.2,
967            764.4
968          ],
969          [
970            1225.2,
971            704.4
972          ],
973          [
974            1209.48,
975            704.4
976          ],
977          [
978            1209.48,
979            697.8
980          ],
981          [
982            1151.76,
983            697.8
984          ],
985          [
986            1151.76,
987            704.4
988          ],
989          [
990            1131.72,
991            704.4
992          ],
993          [
994            1131.72,
995            914.04
996          ]
997        ],
998        "text": [
999          "K/L/D",
1000          "24.6m²"
1001        ],
1002        "area": 25.210416209890912,
1003        "perimeter": 22.568881927882597
1004      },
1005      {
1006        "points": [
1007          [
1008            841.44,
1009            1156.44
1010          ],
1011          [
1012            841.44,
1013            1141.56
1014          ],
1015          [
1016            830.16,
1017            1141.56
1018          ],
1019          [
1020            830.16,
1021            1156.44
1022          ]
1023        ],
1024        "text": [],
1025        "area": 0.20888847111115907,
1026        "perimeter": 1.845733333333347
1027      },
1028      {
1029        "points": [
1030          [
1031            821.64,
1032            1031.04
1033          ],
1034          [
1035            821.64,
1036            968.64
1037          ],
1038          [
1039            1090.32,
1040            968.64
1041          ],
1042          [
1043            1090.32,
1044            922.68
1045          ],
1046          [
1047            816.96,
1048            922.68
1049          ],
1050          [
1051            816.96,
1052            704.4
1053          ],
1054          [
1055            783,
1056            704.4
1057          ],
1058          [
1059            783,
1060            977.16
1061          ],
1062          [
1063            779.16,
1064            977.16
1065          ],
1066          [
1067            779.16,
1068            1031.04
1069          ]
1070        ],
1071        "text": [
1072          "WaterRiser",
1073          "1500",
1074          "1500",
1075          "1625",
1076          "800",
1077          "900"
1078        ],
1079        "area": 30.061731991111035,
1080        "perimeter": 45.00033333333333
1081      },
1082      {
1083        "points": [
1084          [
1085            1052.88,
1086            852.84
1087          ],
1088          [
1089            1052.88,
1090            914.04
1091          ],
1092          [
1093            1126.8,
1094            914.04
1095          ],
1096          [
1097            1126.8,
1098            851.64
1099          ],
1100          [
1101            1096.19171,
1102            851.97509
1103          ],
1104          [
1105            1096.18454,
1106            853.84001
1107          ],
1108          [
1109            1092.72,
1110            847.2
1111          ],
1112          [
1113            1127.63999,
1114            847.08
1115          ],
1116          [
1117            1127.63999,
1118            817.32
1119          ],
1120          [
1121            1031.88,
1122            817.32
1123          ],
1124          [
1125            1031.88,
1126            852.84
1127          ]
1128        ],
1129        "text": [
1130          "2B4PF",
1131          "75.8m²",
1132          "Unit2.1",
1133          "Store",
1134          "2.4m²"
1135        ],
1136        "area": 9.664822634418657,
1137        "perimeter": 16.031801072906287
1138      }
1139    ]
1140  }
1141]
{
  "dpi": 300,
  "type": "polygon",
  "text": "GEA",
  "cropBox": [40, 0, 2380, 1448]
}


],
"p2": 
[
707.7086447369505,
875.2766802721089
],
"length": 
0.5484834507359003,
"thickness": 
0.11890765681272508
},
{
"p1": 
[
1171.90962464986,
1047.50756302521
],
"p2": 
[
1171.90962464986,
1072.3931268507404
],
"length": 
0.8779073905117606,
"thickness": 
0.15591429627406517
},
{
"p1": 
[
1096.5999327741026,
979.6086386554621
],
"p2": 
[
1039.3472044807993,
979.6086386554621
],
"length": 
2.019749025902651,
"thickness": 
0.04035892829353964
}
]
}
]
API Documentation

Heading

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

Heading

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

API Pricing Calculator

Estimate your monthly cost based on your usage

Currency:
Pricing Tiers
Nr of Requests per monthPrice per request
Nr of Requests per monthPrice per request
Your Estimate
Price per Request$0.85
Monthly Request Cost$0.85
Total Estimated Monthly Cost$670.00

Includes prorated annual subscription & API addon.

Getting Started

Get Started in 3 Simple Steps

Get Your API Key

Get Your API Key

Sign up and create your unique key in the dashboard

Authenticate

Add the X-API-KEY header with your key to every request

Start Integrating

Send requests to our endpoint and start automating your workflow

Getting Started

Get Started in 3 Simple Steps

Thank you, we've received your submission!
Our next step is to review it and get in touch with you.

Stay tuned!
Oops! Something went wrong while submitting the form.