Skip to content
Eden Engine

North Carolina Parcel Search by County and Site Address

nconemap/parcel-search

Searches North Carolina parcels (the statewide NC OneMap parcel layer) by county and part of the site address. Returns up to 100 parcels per page with the parcel number, owner name, site address, parcel, land and improvement values, GIS acres, use description, last sale date text, subdivision and year built, exactly as the county supplies them. Says when more rows remain; paging reaches at most the first 1,100 matches, so narrow the address instead of paging deeper. The site address must be at least 4 characters. Parcel coverage and field completeness vary by county. NC OneMap data, passed through unmodified and served by Omnial; not an official NC OneMap product.

activeper callv1

Price

$0.0026 per call

You pay the price shown. If a call turns out to cost more than its quote, you pay the actual price, capped at twice the quote. No monthly minimum. Top-ups start at $0.50.

Data source

NC OneMap (NC Center for Geographic Information and Analysis)

Data from NC OneMap, North Carolina Center for Geographic Information and Analysis (NCCGIA) and the contributing North Carolina county governments. Passed through unmodified and served by Omnial; not an official NC OneMap product.

Use it

Five steps: search, inspect, learn, run, settle. No per-tool setup; your agent reaches this tool through the meta-tools it already has.

Connect once and your AI can find and run this tool, and any other it needs.

agent
// 1. search: find the tool
omnial_search({ query: "what you need" })

// 2. inspect: price and input schema
omnial_inspect({ tool: "nconemap/parcel-search" })

// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "nconemap/parcel-search" })

// 4. run: price the exact call first, then run it
omnial_execute({ tool: "nconemap/parcel-search", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "nconemap/parcel-search", input: { /* ... */ } })

// 5. settle: the call is charged when it finishes, nothing to do

Not connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.

Pricing

Every charge this tool can incur.

ChargePrice
Per call
$0.0026
Updated
Oct 21, 2026

Input and output schemas

Input schema
input_schema.json
{
  "type": "object",
  "required": [
    "county",
    "site_address"
  ],
  "properties": {
    "limit": {
      "type": "integer",
      "default": 25,
      "maximum": 100,
      "minimum": 1,
      "description": "Most rows to return in one call, 1 to 100. Defaults to 25."
    },
    "county": {
      "type": "string",
      "pattern": "^[A-Za-z0-9 .,-]{3,30}$",
      "description": "North Carolina county name, for example Wake or New Hanover. Letters, spaces, periods, commas and hyphens only; case does not matter."
    },
    "offset": {
      "type": "integer",
      "maximum": 1000,
      "minimum": 0,
      "description": "Number of matching rows to skip, for the next page, 0 to 1000. Leave out for the first page."
    },
    "site_address": {
      "type": "string",
      "pattern": "^[A-Za-z0-9 .,-]{4,60}$",
      "description": "Part of the site address to match, for example FAYETTEVILLE ST or 1413 FAYETTEVILLE. At least 4 characters. Letters, digits, spaces, periods, commas and hyphens only; case does not matter."
    }
  },
  "additionalProperties": false
}
Output schema
output_schema.json
{
  "type": "object",
  "required": [
    "features"
  ],
  "properties": {
    "fields": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": true
      },
      "description": "Field definitions (name, type, alias) for the attributes below."
    },
    "features": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "attributes": {
            "type": "object",
            "properties": {
              "parno": {
                "type": "string",
                "description": "Parcel number as the county writes it."
              },
              "scity": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "Site address city."
              },
              "parval": {
                "type": [
                  "number",
                  "null"
                ],
                "description": "Parcel value, dollars."
              },
              "landval": {
                "type": [
                  "number",
                  "null"
                ],
                "description": "Land value, dollars."
              },
              "ownname": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "Owner name from the county record."
              },
              "siteadd": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "Site address."
              },
              "altparno": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "Alternate parcel number."
              },
              "cntyname": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "County name."
              },
              "gisacres": {
                "type": [
                  "number",
                  "null"
                ],
                "description": "Acres computed from the parcel polygon."
              },
              "improvval": {
                "type": [
                  "number",
                  "null"
                ],
                "description": "Improvement value, dollars."
              },
              "parusedesc": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "Tax parcel use code (or description) as the county supplies it."
              },
              "saledatetx": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "Last sale date text."
              },
              "structyear": {
                "type": [
                  "integer",
                  "null"
                ],
                "description": "Year the structure was built."
              },
              "subdivisio": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "Subdivision name."
              }
            },
            "additionalProperties": true
          }
        },
        "additionalProperties": true
      },
      "description": "Matching parcels. Empty when nothing matches."
    },
    "fieldAliases": {
      "type": "object",
      "additionalProperties": true
    },
    "displayFieldName": {
      "type": "string"
    },
    "exceededTransferLimit": {
      "type": "boolean",
      "description": "True when more rows matched than were returned; fetch the next page with offset."
    }
  },
  "description": "The ArcGIS query response: `features` holds one record per match under `attributes`; `exceededTransferLimit` is true when more rows matched than were returned.",
  "additionalProperties": true
}