SharpAPI.com Node.js SDK for detecting URLs in text
npm install @sharpapi/sharpapi-node-detect-urls

SharpAPI URL Detector parses text content and extracts URLs with protocol information and validation. Perfect for link extraction, content moderation, and security analysis.
---
1. Requirements
2. Installation
3. Usage
4. API Documentation
5. Examples
6. License
---
- Node.js >= 16.x
- npm or yarn
---
``bash`
npm install @sharpapi/sharpapi-node-detect-urls
Visit SharpAPI.com to get your API key.
---
`javascript
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();
`
---
#### detectUrls(text: string): Promise
Detects and extracts URLs from the provided text.
Parameters:
- text (string, required): The text content to scan for URLs
Returns:
- Promise
Example:
`javascript`
const statusUrl = await service.detectUrls(textWithUrls);
const result = await service.fetchResults(statusUrl);
The API returns detected URLs with parsed components:
`json`
{
"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": {}
}
]
}
---
`javascript
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:);${index + 1}. ${url.url} (${url.protocol})
urls.forEach((url, index) => {
console.log();`
});
})
.catch(error => console.error('Detection failed:', error));
`javascript
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}));`
});
}
`javascript
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);
`
---
- 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
---
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)
---
POST /content/detect_urls`
For detailed API specifications, refer to:
- Postman Documentation
- Product Page
---
- @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
---
This project is licensed under the MIT License. See the LICENSE.md file for details.
---
- Documentation: SharpAPI.com Documentation
- Issues: GitHub Issues
- Email: contact@sharpapi.com
---
Powered by SharpAPI - AI-Powered API Workflow Automation