# AI Blueprint Analyzer: Floor Plan & Construction Data (`ntriqpro/blueprint-intelligence`) Actor

AI-powered architectural blueprint analyzer. Extract floor plans, rooms, dimensions, materials, walls, doors & structural elements from construction drawings. Built for architects, contractors, real estate pros. Batch up to 10 images. PDF & JPG. Structured JSON.

- **URL**: https://apify.com/ntriqpro/blueprint-intelligence.md
- **Developed by:** [daehwan kim](https://apify.com/ntriqpro) (community)
- **Categories:** AI, Real estate, Developer tools
- **Stats:** 119 total users, 3 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $250.00 / 1,000 blueprint analyzeds

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Blueprint Intelligence Analyzer

**AI-powered architectural blueprint analysis for automated document intelligence and construction data extraction.**

Extract floor plans, structural elements, dimensions, rooms, materials, and annotations from architectural and engineering drawings using advanced AI vision.

***

### Features

- **Document Classification**: Automatically identify blueprint types (floor plans, structural, electrical, plumbing, HVAC, site plans, elevations, sections, details)
- **Room Detection**: Extract room names, estimated areas, and dimensions from floor plans
- **Element Extraction**: Identify architectural and structural elements (walls, doors, windows, stairs, columns, pipes, wires, fixtures)
- **Dimension Recognition**: Automatically detect and extract measurements and scales
- **Text Annotation Parsing**: Extract all text labels, notes, and annotations from drawings
- **Material Identification**: Recognize and list materials mentioned in blueprints
- **Confidence Scoring**: Get reliability metrics for each analysis
- **Batch Processing**: Process up to 10 blueprints per run

***

### Input

```json
{
  "imageUrl": "https://example.com/blueprint.jpg",
  "imageUrls": [],
  "analysisDepth": "standard",
  "maxImages": 10
}
```

#### Parameters

| Parameter | Type | Required | Description | Default |
|-----------|------|----------|-------------|---------|
| `imageUrl` | string | Optional | Single blueprint image URL | null |
| `imageUrls` | array | Optional | Array of blueprint URLs (max 10) | \[] |
| `analysisDepth` | enum | No | Analysis level: `quick`, `standard`, `detailed` | `"standard"` |
| `maxImages` | integer | No | Maximum images to process (1-10) | 10 |

**Note:** Provide at least one image via `imageUrl` or `imageUrls`. You can use both simultaneously; duplicates are automatically removed.

***

### Output

Each blueprint analysis produces a dataset record:

```json
{
  "imageUrl": "https://example.com/blueprint.jpg",
  "status": "success",
  "documentType": "floor_plan",
  "title": "Building A - Level 2",
  "scale": "1:100",
  "rooms": [
    {
      "name": "Living Room",
      "area_sqft": 250,
      "dimensions": "20' x 12.5'"
    }
  ],
  "elements": [
    {
      "elementType": "door",
      "count": 5,
      "details": "Interior doors with swing direction"
    }
  ],
  "dimensions": [
    {
      "label": "Room Width",
      "value": "20",
      "unit": "feet"
    }
  ],
  "textAnnotations": [
    "Property line",
    "Setback: 25 ft"
  ],
  "materials": [
    "Concrete",
    "Steel reinforcement"
  ],
  "confidence": 0.92,
  "model": "Qwen2.5-VL",
  "processingTimeMs": 2500
}
```

#### Output Fields

| Field | Type | Description |
|-------|------|-------------|
| `imageUrl` | string | Original blueprint image URL |
| `status` | string | `"success"` or `"error"` |
| `documentType` | string | Blueprint classification |
| `title` | string | null | Drawing title if visible |
| `scale` | string | null | Drawing scale (e.g., "1:100") |
| `rooms` | array | Detected rooms/spaces with area and dimensions |
| `elements` | array | Architectural elements found |
| `dimensions` | array | Measurements and scales detected |
| `textAnnotations` | array | Text labels and annotations |
| `materials` | array | Materials mentioned in drawing |
| `confidence` | number | Analysis confidence (0.0-1.0) |
| `model` | string | AI model name |
| `processingTimeMs` | integer | Processing time |
| `error` | string | Error message (on failure) |
| `code` | string | Error code: `INVALID_INPUT`, `INVALID_URL`, `TIMEOUT`, `API_ERROR`, `PROCESSING_ERROR` |

***

### Pricing

Free plan: each run returns up to 25 results (the first 3 inputs). Paid Apify plans receive the full result set.

- **$0.25 per blueprint analyzed** (success only)
- Errors and invalid images are not charged
- Batch discounts not available (PPE model)

***

### Examples

#### Single Blueprint Analysis

```bash
curl -X POST https://api.apify.com/v2/acts/YOUR_ACTOR_ID/runs \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "imageUrl": "https://images.adsttc.com/media/images/5a4b/3e4b/b22e/38be/9300/0032/large_jpg/PLANS-01.jpg"
  }'
```

#### Batch Processing Multiple Blueprints

```bash
curl -X POST https://api.apify.com/v2/acts/YOUR_ACTOR_ID/runs \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "imageUrls": [
      "https://example.com/floor-plan-1.jpg",
      "https://example.com/floor-plan-2.jpg",
      "https://example.com/electrical-plan.jpg"
    ],
    "analysisDepth": "detailed",
    "maxImages": 10
  }'
```

#### Using the JavaScript SDK

```javascript
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });

const run = await client.actor('YOUR_ACTOR_ID').call({
  imageUrl: 'https://example.com/blueprint.jpg',
  analysisDepth: 'standard',
});

const results = await client.dataset(run.defaultDatasetId).listItems();
console.log(results.items);
```

***

### Use Cases

1. **Construction Project Management**: Automatically catalog and extract data from project blueprints
2. **Real Estate Analysis**: Extract room counts, dimensions, and property layouts
3. **Building Information Modeling (BIM)**: Feed extracted data into BIM systems
4. **Compliance Verification**: Extract regulatory markings and construction notes
5. **Cost Estimation**: Get detailed element counts and dimensions for material quotes
6. **Property Valuation**: Analyze building layouts and room dimensions
7. **Renovation Planning**: Extract existing structural elements for renovation designs
8. **Facility Management**: Index and retrieve building information from drawings

***

### Supported Blueprint Types

- **Floor Plans** — Residential, commercial, industrial building layouts
- **Structural Drawings** — Load-bearing walls, columns, beams, foundations
- **Electrical Plans** — Power distribution, outlet locations, circuit layouts
- **Plumbing Diagrams** — Water lines, fixtures, drainage systems
- **HVAC Schematics** — Ductwork, equipment, air handling systems
- **Site Plans** — Property boundaries, landscaping, access points
- **Elevations** — Building facades and exterior views
- **Cross-Sections** — Internal building profiles and details
- **Detail Drawings** — Construction connection and assembly details
- **Other Diagrams** — Any architectural or engineering drawings

***

### Limitations & Accuracy

- **Image Quality**: Analysis accuracy depends on blueprint image resolution and clarity
- **Hand-Drawn Drawings**: Legibility may vary for hand-sketched or aged prints
- **Complex Symbols**: Non-standard or custom symbols may not be recognized
- **Text Extraction**: Small or stylized text may be missed
- **Dimension Accuracy**: Extracted dimensions should be verified against original documents
- **Dense Drawings**: Very complex drawings with many elements may have reduced accuracy

**Confidence Scores**: Use the `confidence` field (0.0-1.0) to gauge analysis reliability. Scores below 0.7 indicate less certain results.

***

### AI Model

- **Model**: Qwen2.5-VL (7B parameters)
- **Processing**: Local AI server (no cloud storage of blueprints)
- **Response Time**: 2-10 seconds per image (typical)

***

### Legal Notice

#### Copyright & Ownership (IMPORTANT)

- Architectural blueprints and engineering drawings are protected by copyright law (U.S. Architectural Works Copyright Protection Act, 1990).
- You may ONLY upload blueprints that you:
  (a) Own or created yourself
  (b) Have explicit written permission from the copyright holder to analyze
  (c) Are licensed to use for this purpose
- Uploading third-party blueprints without authorization may constitute copyright infringement.
- We assume no liability for unauthorized use of copyrighted architectural works.

#### Confidential & Trade Secret Documents

- Do NOT upload blueprints marked as "Confidential," "Proprietary," or "Trade Secret."
- Unauthorized analysis of confidential blueprints may violate trade secret laws and result in significant legal liability for the user.
- We do not verify the confidentiality status of uploaded documents.

#### Not an Engineering Tool

- This tool provides AI-assisted analysis for INFORMATIONAL PURPOSES ONLY.
- Results are NOT a substitute for professional architectural or structural engineering review.
- Do NOT use extracted dimensions, measurements, or structural data for construction, renovation, or engineering decisions without professional verification.
- Errors in AI-extracted measurements could lead to structural failures, safety hazards, or code violations.

#### Liability

- The developer assumes no liability for errors, omissions, or decisions based on this tool's output.
- Users must verify all extracted data with qualified architects, engineers, or licensed contractors.
- This tool does not provide structural analysis, load calculations, building code compliance, or safety certifications.

#### Data Processing

- Blueprint images are processed on our local AI server and immediately discarded.
- We do not retain, share, or use uploaded blueprints for any purpose beyond the requested analysis.
- For confidential projects, consider using our service only with proper authorization from all stakeholders.

***

### Error Handling

| Error Code | Cause | Resolution |
|-----------|-------|------------|
| `INVALID_INPUT` | URL is null or not a string | Provide valid `imageUrl` or `imageUrls` |
| `INVALID_URL` | URL format is invalid | Ensure URL starts with `http://` or `https://` |
| `TIMEOUT` | AI service took too long (>60s) | Try again or use lower `analysisDepth` |
| `API_ERROR` | AI service returned error | Check image accessibility and try again |
| `PROCESSING_ERROR` | Unexpected error during analysis | Check logs; image may not be a blueprint |

***

### Support & Feedback

For issues, suggestions, or feature requests, contact the development team through Apify.

***

### Changelog

#### v1.0.0 (Initial Release)

- ✅ Blueprint document type classification
- ✅ Room and space detection
- ✅ Architectural element extraction
- ✅ Dimension and measurement recognition
- ✅ Text annotation parsing
- ✅ Material identification
- ✅ Batch processing (up to 10 images)
- ✅ Confidence scoring
- ✅ PPE pricing model ($0.25/analysis)

***

### 🔗 Related Actors by ntriqpro

Build your data pipeline with the ntriqpro Actor suite:

- [**invoice-extraction-mcp**](https://apify.com/ntriqpro/invoice-extraction-mcp) — AI Invoice & Receipt Parser
- [**pdf-to-markdown**](https://apify.com/ntriqpro/pdf-to-markdown) — Office to Markdown — Document Extractor
- [**vehicle-damage-assessment**](https://apify.com/ntriqpro/vehicle-damage-assessment) — AI Vehicle Damage Inspector

### ⭐ Love it? Leave a Review

Your rating helps other construction and real estate professionals discover this actor. [Rate it here](https://apify.com/ntriqpro/blueprint-intelligence/reviews).

***

*Last Updated: 2026-04-19*
*AI Model: Qwen2.5-VL v7B*
*Processing Server: ai.ntriq.co.kr*

# Actor input Schema

## `imageUrl` (type: `string`):

Single blueprint image URL

## `imageUrls` (type: `array`):

Array of blueprint image URLs (max 10). Free plan: each run returns up to 25 results (the first 3 inputs). Paid Apify plans receive the full result set.

## `analysisDepth` (type: `string`):

Level of detail: quick, standard, or detailed

## Actor input object example

```json
{
  "imageUrl": "https://images.adsttc.com/media/images/5a4b/3e4b/b22e/38be/9300/0032/large_jpg/PLANS-01.jpg",
  "analysisDepth": "standard"
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "imageUrl": "https://images.adsttc.com/media/images/5a4b/3e4b/b22e/38be/9300/0032/large_jpg/PLANS-01.jpg",
    "analysisDepth": "standard"
};

// Run the Actor and wait for it to finish
const run = await client.actor("ntriqpro/blueprint-intelligence").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "imageUrl": "https://images.adsttc.com/media/images/5a4b/3e4b/b22e/38be/9300/0032/large_jpg/PLANS-01.jpg",
    "analysisDepth": "standard",
}

# Run the Actor and wait for it to finish
run = client.actor("ntriqpro/blueprint-intelligence").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "imageUrl": "https://images.adsttc.com/media/images/5a4b/3e4b/b22e/38be/9300/0032/large_jpg/PLANS-01.jpg",
  "analysisDepth": "standard"
}' |
apify call ntriqpro/blueprint-intelligence --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,ntriqpro/blueprint-intelligence"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/Vk5saQ1UKlMjao47j/builds/VyWmBecdJ8BPrsZch/openapi.json
