Package Exports
- @sharpapi/sharpapi-node-detect-urls
- @sharpapi/sharpapi-node-detect-urls/src/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@sharpapi/sharpapi-node-detect-urls) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme

URL Detector API for Node.js
🔗 Detect and extract URLs from text — powered by SharpAPI AI.
SharpAPI URL Detector parses text content and extracts URLs with protocol information and validation. Perfect for link extraction, content moderation, and security analysis.
📋 Table of Contents
Requirements
- Node.js >= 16.x
- npm or yarn
Installation
Step 1. Install the package via npm:
npm install @sharpapi/sharpapi-node-detect-urlsStep 2. Get your API key
Visit SharpAPI.com to get your API key.
Usage
const { SharpApiDetectUrlsService } = require('@sharpapi/sharpapi-node-detect-urls');
const apiKey = process.env.SHARP_API_KEY; // Store your API key in environment variables
const service = new SharpApiDetectUrlsService(apiKey);
const text = `
Visit our website at https://example.com for more information.
Check out our blog: www.example.com/blog
Contact us at support page: example.com/contact
`;
async function detectUrls() {
try {
// Submit detection job
const statusUrl = await service.detectUrls(text);
console.log('Job submitted. Status URL:', statusUrl);
// Fetch results (polls automatically until complete)
const result = await service.fetchResults(statusUrl);
console.log('Detected URLs:', result.getResultJson());
} catch (error) {
console.error('Error:', error.message);
}
}
detectUrls();API Documentation
Methods
detectUrls(text: string): Promise<string>
Detects and extracts URLs from the provided text.
Parameters:
text(string, required): The text content to scan for URLs
Returns:
- Promise
: Status URL for polling the job result
Example:
const statusUrl = await service.detectUrls(textWithUrls);
const result = await service.fetchResults(statusUrl);Response Format
The API returns detected URLs with parsed components:
{
"urls": [
{
"url": "https://example.com",
"protocol": "https",
"domain": "example.com",
"path": "/",
"is_valid": true,
"is_secure": true,
"parameters": {}
},
{
"url": "www.example.com/blog",
"protocol": "http",
"domain": "example.com",
"path": "/blog",
"is_valid": true,
"is_secure": false,
"parameters": {}
}
]
}Examples
Basic URL Detection
const { SharpApiDetectUrlsService } = require('@sharpapi/sharpapi-node-detect-urls');
const service = new SharpApiDetectUrlsService(process.env.SHARP_API_KEY);
const socialPost = `
Check out these awesome resources:
- https://docs.example.com
- www.github.com/username/project
- example.com/api/docs
`;
service.detectUrls(socialPost)
.then(statusUrl => service.fetchResults(statusUrl))
.then(result => {
const urls = result.getResultJson();
console.log(`Found ${urls.length} URLs:`);
urls.forEach((url, index) => {
console.log(`${index + 1}. ${url.url} (${url.protocol})`);
});
})
.catch(error => console.error('Detection failed:', error));Security-Focused URL Analysis
const service = new SharpApiDetectUrlsService(process.env.SHARP_API_KEY);
const userContent = `
Click here: http://suspicious-site.com
Or visit: https://secure-site.com
`;
const statusUrl = await service.detectUrls(userContent);
const result = await service.fetchResults(statusUrl);
const urls = result.getResultJson();
const insecureUrls = urls.filter(url => !url.is_secure);
if (insecureUrls.length > 0) {
console.log('⚠️ Warning: Found insecure URLs:');
insecureUrls.forEach(url => {
console.log(` - ${url.url} (${url.protocol})`);
});
}Link Extraction from Documents
const service = new SharpApiDetectUrlsService(process.env.SHARP_API_KEY);
const document = `
API Documentation: https://api.example.com/v2/docs
Support Portal: https://support.example.com
Community Forum: https://community.example.com/discussions
`;
const statusUrl = await service.detectUrls(document);
const result = await service.fetchResults(statusUrl);
const urls = result.getResultJson();
const linkDirectory = urls.map(url => ({
domain: url.domain,
full_url: url.url,
secure: url.is_secure
}));
console.log('Extracted Links:', linkDirectory);Use Cases
- Content Moderation: Detect and validate URLs in user-generated content
- Link Extraction: Parse URLs from documents, emails, and web pages
- Security Analysis: Identify insecure or suspicious links
- SEO Audits: Extract and analyze all links from content
- Social Media Monitoring: Track shared links and references
- Spam Detection: Identify spam URLs in comments and messages
- Archive & Backup: Extract links for archival purposes
Detection Capabilities
The URL detector handles various formats:
- Full URLs: https://example.com/path?query=value
- Protocol-less: www.example.com or example.com
- Subdomains: subdomain.example.com
- Paths: example.com/path/to/resource
- Query Parameters: example.com?param1=value1¶m2=value2
- Fragments: example.com/page#section
- International Domains: Internationalized domain names (IDN)
API Endpoint
POST /content/detect_urls
For detailed API specifications, refer to:
Related Packages
- @sharpapi/sharpapi-node-detect-emails - Email detection
- @sharpapi/sharpapi-node-detect-phones - Phone number detection
- @sharpapi/sharpapi-node-detect-spam - Spam detection
- @sharpapi/sharpapi-node-client - Full SharpAPI SDK
License
This project is licensed under the MIT License. See the LICENSE.md file for details.
Support
- Documentation: SharpAPI.com Documentation
- Issues: GitHub Issues
- Email: contact@sharpapi.com
Powered by SharpAPI - AI-Powered API Workflow Automation