npm package: @sharpapi/sharpapi-node-detect-address
Description: SharpAPI.com Node.js SDK for detecting addresses in text
Author: Dawid Makowski
Latest version: 1.0.2

![SharpAPI GitHub cover](https://sharpapi.com/sharpapi-github-php-bg.jpg "SharpAPI Node.js Client")

# Address Detector API for Node.js

## Detect and extract physical addresses from text -- powered by SharpAPI AI.

[![npm version](https://img.shields.io/npm/v/@sharpapi/sharpapi-node-detect-address.svg)](https://www.npmjs.com/package/@sharpapi/sharpapi-node-detect-address)
[![License](https://img.shields.io/npm/l/@sharpapi/sharpapi-node-detect-address.svg)](https://github.com/sharpapi/sharpapi-node-detect-address/blob/master/LICENSE.md)

**SharpAPI Address Detector** parses text content and extracts any physical addresses found within. Returns structured address components including street, city, postal code, state, country, and ISO country code. Perfect for data validation, content moderation, and location extraction from unstructured text.

---

## Table of Contents

1. [Requirements](#requirements)
2. [Installation](#installation)
3. [Usage](#usage)
4. [API Documentation](#api-documentation)
5. [Response Format](#response-format)
6. [Examples](#examples)
7. [Use Cases](#use-cases)
10. [License](#license)

---

## Requirements

- Node.js >= 16.x
- npm or yarn

---

## Installation

### Step 1. Install the package via npm:

```bash
npm install @sharpapi/sharpapi-node-detect-address
```

### Step 2. Get your API key

Visit [SharpAPI.com](https://sharpapi.com/) to get your API key.

---

## Usage

```javascript
const { SharpApiDetectAddressService } = require('@sharpapi/sharpapi-node-detect-address');

const apiKey = process.env.SHARP_API_KEY; // Store your API key in environment variables
const service = new SharpApiDetectAddressService(apiKey);

const text = 'Please send the package to John Smith at 1600 Pennsylvania Avenue NW, Washington, DC 20500, United States.';

async function extractAddresses() {
  try {
    // Submit processing job
    const statusUrl = await service.detectAddress(text);
    console.log('Job submitted. Status URL:', statusUrl);

    // Fetch results (polls automatically until complete)
    const result = await service.fetchResults(statusUrl);
    console.log('Result:', result.getResultJson());
  } catch (error) {
    console.error('Error:', error.message);
  }
}

extractAddresses();
```

---

## API Documentation

### Methods

#### `detectAddress(text)`

Parses the provided text for any physical addresses and returns structured address components.

**Parameters:**
- `text` (string, required): The text content to scan for addresses

**Returns:** Promise<string> - Status URL for polling results

---

## Use Cases

- **Data Validation**: Extract and validate addresses from user-submitted forms
- **Content Moderation**: Detect addresses in user-generated content where they shouldn't be shared
- **Location Extraction**: Parse unstructured text to extract location information
- **Document Processing**: Extract addresses from scanned documents or PDFs (after OCR)
- **Lead Generation**: Extract business addresses from web content or emails
- **Privacy Compliance**: Identify and flag PII (addresses) in public-facing content
- **CRM Enrichment**: Auto-populate address fields from free-text customer communications


---

## License

This project is licensed under the MIT License. See the [LICENSE.md](LICENSE.md) file for details.

---

## Support

- **Documentation**: [SharpAPI.com Documentation](https://sharpapi.com/documentation)
- **Issues**: [GitHub Issues](https://github.com/sharpapi/sharpapi-node-detect-address/issues)
- **Email**: contact@sharpapi.com