npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@sharpapi/sharpapi-node-detect-urls

v1.0.1

Published

SharpAPI.com Node.js SDK for detecting URLs in text

Downloads

11

Readme

SharpAPI GitHub cover

URL Detector API for Node.js

🔗 Detect and extract URLs from text — powered by SharpAPI AI.

npm version License

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

  1. Requirements
  2. Installation
  3. Usage
  4. API Documentation
  5. Examples
  6. License

Requirements

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

Installation

Step 1. Install the package via npm:

npm install @sharpapi/sharpapi-node-detect-urls

Step 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&param2=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


License

This project is licensed under the MIT License. See the LICENSE.md file for details.


Support


Powered by SharpAPI - AI-Powered API Workflow Automation