# New Orleans Parish Tax Assessor (`maximedupre/orleans-parish-assessor`) Actor

Search Orleans Parish Assessor property records by address, owner name, parcel number, tax bill number, or assessor key. Get source-backed identifiers, addresses, assessment values, histories, photos, sketches, and source links.

- **URL**: https://apify.com/maximedupre/orleans-parish-assessor.md
- **Developed by:** [Maxime Dupré](https://apify.com/maximedupre) (community)
- **Categories:** Real estate, Business, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$3.60 / 1,000 property records

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

### 🏠 Find Orleans Parish property records

Property researchers, real estate teams, and data developers can look up public Orleans Parish Assessor records by address, owner name, parcel number, tax bill number, or assessor key. The Actor returns source-backed identifiers, addresses, ownership and mailing details, property class, area, assessment values, histories, photos, building sketches, and an official source URL in structured rows. This gives property teams one structured place to review those source facts.

- Look up a property by address with **[New Orleans Property Tax Search by Address Free](https://apify.com/maximedupre/orleans-parish-assessor/examples/new-orleans-property-tax-search-by-address-free)**.
- Find a parcel, owner, or tax bill with **[New Orleans Tax Assessor Property Search Free](https://apify.com/maximedupre/orleans-parish-assessor/examples/new-orleans-tax-assessor-property-search-free)**.
- Check a submitted tax bill number with **[New Orleans Property Tax Bill](https://apify.com/maximedupre/orleans-parish-assessor/examples/new-orleans-property-tax-bill)**.
- Review local tax details with **[Property Taxes in New Orleans](https://apify.com/maximedupre/orleans-parish-assessor/examples/property-taxes-new-orleans)**.
- Use an assessor key to open **[New Orleans Tax Assessor Property Search](https://apify.com/maximedupre/orleans-parish-assessor/examples/new-orleans-tax-assessor-property-search)**.

#### 📋 Source-backed Orleans Parish property records

Each saved row is the first eligible match for one distinct source property. If another submitted value finds that same property later, the later match is ignored. Rows include source-reported property identifiers, owner and mailing details, the physical address, property class, land and building area, current assessment values, and optional assessment history, sales history, photos, building sketches, and source links.

#### ▶️ Look up a property your way

Choose one lookup method for a run, then enter one or more values for that method. Each value is checked separately. The first eligible occurrence of a distinct source property is saved, and later matches for that property are ignored. The saved `matchedLookupValue` shows the value that first found the property.

#### ⚙️ Input

**Input fields**

| Field | Type | What it does |
| --- | --- | --- |
| `lookupMethod` | string | Selects one lookup method: `address`, `ownerName`, `parcelNumber`, `taxBillNumber`, or `assessorKey`. Use one method per run. |
| `lookupValues` | array of strings | Values to check with the selected method. Each value is checked separately. The first eligible record for a distinct property is saved, and later duplicate matches are ignored. At least one value is required. |

This example is the public input from a successful current-beta address run:

```json
{
  "lookupMethod": "address",
  "lookupValues": [
    "1300 Perdido St, New Orleans, LA 70112"
  ]
}
```

#### 🧾 Output

**Run output**

| Field | Type | What it does |
| --- | --- | --- |
| `dataset` | URL string | Links to the default Apify dataset that contains the property rows. |

**Property record rows**

| Field | Type | What it does |
| --- | --- | --- |
| `matchedLookupValue` | string | The submitted lookup value that first found this property. |
| `parcelNumber` | string | Parcel number reported for the property by the Orleans Parish Assessor. |
| `taxBillNumber` | string | Tax bill number reported for the property. |
| `assessorKey` | string | Assessor key reported for the property. |
| `ownerName` | string | Owner name reported for the property. |
| `mailingAddress` | object | Mailing address reported for the property owner. |
| `mailingAddress.line1` | string | First line of the mailing address. |
| `mailingAddress.line2` | string | Second line of the mailing address, when reported. |
| `mailingAddress.city` | string | Mailing address city. |
| `mailingAddress.state` | string | Mailing address state. |
| `mailingAddress.zipCode` | string | Mailing address ZIP code. |
| `propertyAddress` | object | Physical property address reported by the source. |
| `propertyAddress.line1` | string | First line of the property address. |
| `propertyAddress.line2` | string | Second line of the property address, when reported. |
| `propertyAddress.city` | string | Property address city. |
| `propertyAddress.state` | string | Property address state. |
| `propertyAddress.zipCode` | string | Property address ZIP code. |
| `propertyClass` | string | Property classification reported by the source. |
| `landAreaSqFt` | number | Land area in square feet reported for the property. |
| `buildingAreaSqFt` | number | Building area in square feet reported for the property. |
| `assessmentValues` | object | Current land, building, total, assessed, and taxable values reported for the property. |
| `assessmentValues.landValue` | number | Current land value. |
| `assessmentValues.buildingValue` | number | Current building value. |
| `assessmentValues.totalValue` | number | Current total value. |
| `assessmentValues.assessedValue` | number | Current assessed value. |
| `assessmentValues.taxableValue` | number | Current taxable value. |
| `assessmentHistory` | array of objects | Available year-by-year valuation and assessment history. |
| `assessmentHistory[]` | object | One year of reported assessment history. |
| `assessmentHistory[].year` | integer | Assessment year. |
| `assessmentHistory[].landValue` | number | Land value reported for that year. |
| `assessmentHistory[].buildingValue` | number | Building value reported for that year. |
| `assessmentHistory[].totalValue` | number | Total value reported for that year. |
| `assessmentHistory[].assessedValue` | number | Assessed value reported for that year. |
| `assessmentHistory[].taxableValue` | number | Taxable value reported for that year. |
| `salesHistory` | array of objects | Available property sale transactions reported by the source. |
| `salesHistory[]` | object | One reported property sale transaction. |
| `salesHistory[].saleDate` | date string | Date of the sale. |
| `salesHistory[].recordedDate` | date string | Date the sale was recorded, when reported. |
| `salesHistory[].salePrice` | number | Sale price reported for the transaction. |
| `salesHistory[].parties` | array of objects | Parties reported for the transaction. |
| `salesHistory[].parties[]` | object | One party reported for the transaction. |
| `salesHistory[].parties[].name` | string | Party name. |
| `salesHistory[].parties[].role` | string | Party role reported for the transaction. |
| `salesHistory[].recordingIdentifier` | string | Recording identifier reported for the transaction. |
| `photos` | array of URL strings | Direct source URLs for available property photos. |
| `buildingSketches` | array of URL strings | Direct source URLs for available building sketches. |
| `sourceUrl` | URL string | Official Orleans Parish Assessor URL for the source property record. |

**Example property record**

This complete row is from the successful current-beta address run:

```json
{
  "matchedLookupValue": "1300 Perdido St, New Orleans, LA 70112",
  "parcelNumber": "1300-PERDIDOST",
  "taxBillNumber": "104102901",
  "assessorKey": "41032325",
  "ownerName": "CITY OF NEW ORLEANS",
  "mailingAddress": {
    "line1": "1300 PERDIDO ST",
    "city": "NEW ORLEANS",
    "state": "LA",
    "zipCode": "70112"
  },
  "propertyAddress": {
    "line1": "1227 POYDRAS ST",
    "city": "New Orleans",
    "state": "LA",
    "zipCode": "70112"
  },
  "propertyClass": "E - EXEMPT - COMMERCIAL",
  "landAreaSqFt": 284155,
  "buildingAreaSqFt": 464654,
  "assessmentValues": {
    "landValue": 29836300,
    "buildingValue": 33946500,
    "totalValue": 63782800,
    "assessedValue": 8075610,
    "taxableValue": 0
  },
  "assessmentHistory": [
    {
      "year": 2027,
      "landValue": 29836300,
      "buildingValue": 33946500,
      "totalValue": 63782800,
      "assessedValue": 8075610,
      "taxableValue": 0
    },
    {
      "year": 2026,
      "landValue": 5221600,
      "buildingValue": 33946500,
      "totalValue": 39168100,
      "assessedValue": 5614140,
      "taxableValue": 0
    },
    {
      "year": 2025,
      "landValue": 5221600,
      "buildingValue": 33946500,
      "totalValue": 39168100,
      "assessedValue": 5614140,
      "taxableValue": 0
    }
  ],
  "salesHistory": [],
  "photos": [
    "https://venturi.blob.core.windows.net/fd-3433/1/1300-perdidost/0?sv=2025-11-05&se=2026-09-29T08%3A04%3A58Z&sr=b&sp=r&rscd=inline&sig=OvUgRyASP6s2sO%2BXX0eX6c%2BpUkwKkof%2B1Ha%2FCaYsvyA%3D"
  ],
  "buildingSketches": [],
  "sourceUrl": "https://beacon.schneidercorp.com/Application.aspx?AppID=979&LayerID=19792&PageTypeID=4&PageID=8663&KeyValue=1300-PERDIDOST"
}
```

#### 💳 Pricing

This Actor uses pay-per-event pricing. One `assessor-property-record-resolved` event is charged for each unique source-backed property that is resolved and written to the dataset. A lookup that finds no property or does not complete successfully does not meet that charge condition.

#### 🔌 Integrations

Open the default dataset in Apify Console, export its rows, or read it through the Apify API.

https://www.youtube.com/watch?v=bNACk1\_S\_6w\&list=PLObrtcm1Kw6MUrlLNDbK9QRg8VDJg0gOW\&index=4

#### ❓ FAQ

##### What happens when two lookup values identify the same property?

The first eligible match is saved. Later values that identify the same source property are ignored, and the saved row keeps the first matching lookup value.

##### Can I use several lookup methods in one run?

No. Choose one method for the run and enter one or more values for that method. Use separate runs for separate lookup methods.

##### What happens when a value has no matching property?

That value has a no-match outcome and does not create a property row. Check the spelling or use a full address, parcel number, tax bill number, or assessor key from the source.

##### Does this calculate property tax or give appraisal advice?

No. The Actor returns values and other facts published by the Orleans Parish Assessor. It does not calculate taxes or provide appraisal, legal, tax, investment, or property-screening advice.

##### Are assessment history, sales, photos, and sketches always present?

No. These fields are included when the public source reports them. Empty histories or media lists mean no values were returned for that property.

##### Can I treat the source URL as an independent verification?

No. The URL lets you review the public source record. The Actor does not add a separate verification service.

### 📝 Changelog

**v0.0** (28-09-2026)

- Initial release.

### 🆘 Support

For issues, questions, or feature requests, [file a ticket](https://console.apify.com/actors/maximedupre~orleans-parish-assessor/issues) and I'll fix or implement it in less than 24h 🫡

### 🔗 Related Actors

- [Clark County Property Records](https://apify.com/maximedupre/clark-county-property-records): Look up another county's public parcel, owner, value, sale, and tax records.
- [PropertyShark Scraper](https://apify.com/maximedupre/propertyshark): Review public property addresses, building details, sale history, and taxes for supported markets.
- [U.S. Census Geocoder](https://apify.com/maximedupre/us-census-geocoder): Standardize submitted addresses or coordinates and add Census geography to property workflows.
- [Chicago Building Permits Scraper](https://apify.com/maximedupre/chicago-building-permits): Review public permit status, work, cost, and address data for construction research.
- [Zillow Foreclosure & Pre-Foreclosure Scraper](https://apify.com/maximedupre/zillow-foreclosure-pre-foreclosure-scraper): Find public foreclosure, pre-foreclosure, bank-owned, and auction listings when distress data is the focus.

**Made with ❤️ by Maxime Dupré**

# Actor input Schema

## `lookupMethod` (type: `string`):

Choose one way to find a property. Use one method per run.

## `lookupValues` (type: `array`):

Enter one or more values for the selected method. Each value is checked separately. If several values identify the same property, the first eligible record is saved and later duplicate matches are ignored.

## Actor input object example

```json
{
  "lookupMethod": "address",
  "lookupValues": [
    "1300 Perdido St, New Orleans, LA 70112"
  ]
}
```

# Actor output Schema

## `dataset` (type: `string`):

Open source-backed Orleans Parish Assessor property records with identifiers, addresses, assessment values, available histories and media links, and the official source URL.

# 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 = {
    "lookupMethod": "address",
    "lookupValues": [
        "1300 Perdido St, New Orleans, LA 70112"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("maximedupre/orleans-parish-assessor").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 = {
    "lookupMethod": "address",
    "lookupValues": ["1300 Perdido St, New Orleans, LA 70112"],
}

# Run the Actor and wait for it to finish
run = client.actor("maximedupre/orleans-parish-assessor").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 '{
  "lookupMethod": "address",
  "lookupValues": [
    "1300 Perdido St, New Orleans, LA 70112"
  ]
}' |
apify call maximedupre/orleans-parish-assessor --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,maximedupre/orleans-parish-assessor"
        }
    }
}
```

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/V5mILNb5J4mfwDubH/builds/jdgpVw2hM1dVs8SuY/openapi.json
