{
  "title": "Hashtag extractor",
  "human_url": "https://happytails.ai/en/text-tools/extract-hashtags/",
  "agent_url": "https://happytails.ai/agents/en/text-tools/extract-hashtags/",
  "language": "en",
  "markdown_url": "https://happytails.ai/en/text-tools/extract-hashtags.md",
  "content": "Hashtag extractor\nPull the unique hashtags out of a caption or list of posts.\nHow can we improve this tool?\nReport a problem or share an idea.\nPlease leave out private information. Your message and the tool name go to our team via PostHog.\nHow to use Hashtag extractor\nPaste your text. Copy the resulting tags, one per line. Repeated tags are removed while their first-seen order and spelling are kept.\nThe sample returns #café and #design once each, in that order.\nUseful next steps\nMention extractor\nRemove duplicate lines\nWord counter\nHow to use it\nPaste your text. Copy the resulting tags, one per line. Repeated tags are removed while their first-seen order and spelling are kept.\nTry a small example\nThe sample returns #café and #design once each, in that order.\nWhat to know\nExtracts unique hashtags containing Unicode letters, numbers or underscores, in first-seen order. Platform-specific tag rules can differ.",
  "content_format": "text/plain",
  "visibility": "public",
  "links": [
    {
      "name": "Mention extractor",
      "url": "https://happytails.ai/en/text-tools/extract-mentions/"
    },
    {
      "name": "Remove duplicate lines",
      "url": "https://happytails.ai/en/text-tools/remove-duplicate-lines/"
    },
    {
      "name": "Word counter",
      "url": "https://happytails.ai/en/text-tools/word-counter/"
    }
  ],
  "tool": {
    "id": "extract-hashtags",
    "category": "text-tools",
    "built": true,
    "requirements": "Extracts unique hashtags containing Unicode letters, numbers or underscores, in first-seen order. Platform-specific tag rules can differ.",
    "implementation": {
      "fields": [],
      "live": true,
      "note": "Extracts unique hashtags containing Unicode letters, numbers or underscores, in first-seen order. Platform-specific tag rules can differ.",
      "experience": {
        "automatic": true,
        "single": false,
        "inputMaxLength": 1000000,
        "inputMode": "text",
        "label": "Your text",
        "placeholder": "Type or paste your input…",
        "help": "Change the input or settings to update your result. Results update as you type. Up to 1,000,000 characters.",
        "action": null
      },
      "mode": "automatic",
      "interactive": false
    },
    "execution": "Browser interface",
    "api": null,
    "browser_agent": {
      "supported": true,
      "name": "run_current_tool",
      "discovery": "WebMCP on the human page in a supporting browser",
      "verification": "See audit/API-AUDIT.md; availability is not verification"
    }
  },
  "markdown": "# Hashtag extractor\n\n- Human page: https://happytails.ai/en/text-tools/extract-hashtags/\n- Markdown: https://happytails.ai/en/text-tools/extract-hashtags.md\n- Structured JSON: https://happytails.ai/agents/en/text-tools/extract-hashtags/index.json\n- Visibility: public\n\n## Tool capabilities\n\n| Property | Value |\n| --- | --- |\n| Tool ID | `extract-hashtags` |\n| Category | text-tools |\n| Implementation | Registered implementation. Registration alone is not a production-quality guarantee. |\n| Browser execution | Automatic updates after valid input or file selection. |\n| Browser processing | Browser; see tool notes for network behavior. |\n| HTTP API | Not callable through HTTP. |\n| Browser-agent interface | run_current_tool |\n\n### Implementation notes\n\nExtracts unique hashtags containing Unicode letters, numbers or underscores, in first-seen order. Platform-specific tag rules can differ.\n\n### Inputs and settings\n\nText input: Your text.\n\nExample or placeholder shown in the interface (not a validated fixture):\n\n```text\nType or paste your input…\n```\n\nChange the input or settings to update your result. Results update as you type. Up to 1,000,000 characters.\n\nNo additional settings are declared for this tool.\n\n### Browser-agent workflow\n\n1. Open the human page in a browser that supports WebMCP.\n2. Discover the interface exposed by that page; use its actual schema.\n3. Select files on the page first when the tool requires files.\n4. Call `run_current_tool` with valid input and settings.\n5. Inspect the returned result or error and the displayed output. Retrieve files from the displayed download links.\n\nCalls do not automatically copy or download results. Browser permissions still apply. Interface availability alone is not proof of successful execution.\n\n### Planning specification\n\nExtracts unique hashtags containing Unicode letters, numbers or underscores, in first-seen order. Platform-specific tag rules can differ.\n\nThis describes intended requirements. Use the implementation notes, interface schema and observed output to determine current support.\n\n### Complete machine-readable capability record\n\n```json\n{\n  \"id\": \"extract-hashtags\",\n  \"category\": \"text-tools\",\n  \"built\": true,\n  \"requirements\": \"Extracts unique hashtags containing Unicode letters, numbers or underscores, in first-seen order. Platform-specific tag rules can differ.\",\n  \"implementation\": {\n    \"fields\": [],\n    \"live\": true,\n    \"note\": \"Extracts unique hashtags containing Unicode letters, numbers or underscores, in first-seen order. Platform-specific tag rules can differ.\",\n    \"experience\": {\n      \"automatic\": true,\n      \"single\": false,\n      \"inputMaxLength\": 1000000,\n      \"inputMode\": \"text\",\n      \"label\": \"Your text\",\n      \"placeholder\": \"Type or paste your input…\",\n      \"help\": \"Change the input or settings to update your result. Results update as you type. Up to 1,000,000 characters.\",\n      \"action\": null\n    },\n    \"mode\": \"automatic\",\n    \"interactive\": false\n  },\n  \"execution\": \"Browser interface\",\n  \"api\": null,\n  \"browser_agent\": {\n    \"supported\": true,\n    \"name\": \"run_current_tool\",\n    \"discovery\": \"WebMCP on the human page in a supporting browser\",\n    \"verification\": \"See audit/API-AUDIT.md; availability is not verification\"\n  }\n}\n```\n\n## Page guide\n\nPull the unique hashtags out of a caption or list of posts.\n\nHow can we improve this tool?\n\nReport a problem or share an idea.\n\nPlease leave out private information. Your message and the tool name go to our team via PostHog.\n\n### How to use Hashtag extractor\n\n1. Paste your text. Copy the resulting tags, one per line. Repeated tags are removed while their first-seen order and spelling are kept.\n2. The sample returns #café and #design once each, in that order.\n\n## Useful next steps\n\n- [Mention extractor](https://happytails.ai/en/text-tools/extract-mentions/) ([Markdown](https://happytails.ai/en/text-tools/extract-mentions.md))\n\n- [Remove duplicate lines](https://happytails.ai/en/text-tools/remove-duplicate-lines/) ([Markdown](https://happytails.ai/en/text-tools/remove-duplicate-lines.md))\n\n- [Word counter](https://happytails.ai/en/text-tools/word-counter/) ([Markdown](https://happytails.ai/en/text-tools/word-counter.md))\n\n## How to use it\n\nPaste your text. Copy the resulting tags, one per line. Repeated tags are removed while their first-seen order and spelling are kept.\n\n### Try a small example\n\nThe sample returns #café and #design once each, in that order.\n\n### What to know\n\nExtracts unique hashtags containing Unicode letters, numbers or underscores, in first-seen order. Platform-specific tag rules can differ.\n"
}