프로토타입 · 미리 보기: 공식 레지스트리의 모든 서버를 담고 있으며 30분마다 동기화해요. Google로 로그인하면 리뷰를 쓸 수 있어요.프로토타입 · 30분마다 업데이트
PopNx MCPAI를 쓰는 사람을 위한 MCP 서버 · 쉬운 말로 설명해요

Web Metadata, OpenGraph & Contact Extractor

제작자: JosejuX버전 1.0.0i★ 10i클라우드에서 실행
레지스트리 이름io.github.JosejuX/rapidapi-metadata-extractor

설치 방법

What it does

Turns any URL into SEO metadata, contacts, tech stack, and AI-ready Markdown, in one call.

  • Connects 클라우드에서 실행
  • Account or key Needs x-api-host, x-api-key
  • Category 마케팅 및 소셜 미디어

설치

쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.

검사 4/4 통과 · 내가 묻는 내용은 제작자 서버(mcp.rapidapi.com)를 거쳐요 · ✓ 명령 확인 2026년 11월 13일

먼저: 어떤 AI를 쓰시나요?

쓰는 앱을 고르면 아래에 단계가 나옵니다.

Claude에 연결할 수 있어요 · 약 5분

Web Metadata, OpenGraph & Contact Extractor 키가 필요해요 (제작자 사이트에서 만들기) · claude.ai나 데스크톱 앱에서 한 번 설정하면 채팅에서 쓸 수 있어요 · 무료 계정은 1개까지 · Team/Enterprise는 소유자(Owner)가 추가

  1. Web Metadata, OpenGraph & Contact Extractor에 가입하고 키 만들기

    제작자 사이트에서 가입하고 다음 단계에 쓸 API 키를 만드세요. 요금과 무료 요금제는 제작자 사이트에서 확인하세요.

    키 받는 방법은 아래 제작자 README에 있어요

  2. Claude의 Connectors 페이지 열기

    CustomizeConnectors

    CustomizeConnectors1Add2https://…3Add4
  3. “Add” → “Custom” → “Web”를 누르고 이 2칸 채우기

    여기서 복사해 Claude의 같은 이름 칸에 붙여 넣고 Continue를 누르세요

    Name · 이름Web Metadata, OpenGraph & Contact Extractor
    Remote MCP server URL · 주소https://mcp.rapidapi.com

    Request headers에 이 이름과 값을 추가

    헤더 이름x-api-host
    값<여기에 키 붙여 넣기>
    헤더 이름x-api-key
    값<여기에 키 붙여 넣기>

    키는 앱 입력란에만 붙여 넣고, 채팅에 붙이거나 다른 사람에게 보내지 마세요

    Claude가 찾은 로그인 설정 화면에서 Continue를 누르고 · Authentication은 제작자 안내대로(Sign in now, Sign in when needed, No sign in) 고른 뒤 Add를 누르세요

  4. 채팅에서 켜기

    +ConnectorsWeb Metadata, OpenGraph & Contact Extractor

  5. 해 보기

    Web Metadata, OpenGraph & Contact Extractor을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐

    ✓ Claude가 Web Metadata, OpenGraph & Contact Extractor을 쓰고 있다고 하거나 답에 Web Metadata, OpenGraph & Contact Extractor 도구 이름이 나오면 연결된 거예요

메뉴 이름은 2026년 11월 11일에 Anthropic 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요

ChatGPT는 아직 Web Metadata, OpenGraph & Contact Extractor에 연결할 수 없어요

Web Metadata, OpenGraph & Contact Extractor는 연결할 때 내 키가 필요한데, OpenAI 도움말은 OAuth 로그인만 설명하고 우리가 확인한 키 입력 방법이 없어요

대신 이렇게 할 수 있어요

A · Web Metadata, OpenGraph & Contact Extractor에 연결되는 앱 쓰기

  • Web Metadata, OpenGraph & Contact Extractor 키가 필요해요 (제작자 사이트에서 만들기) · claude.ai나 데스크톱 앱에서 한 번 설정하면 채팅에서 쓸 수 있어요 · 무료 계정은 1개까지 · Team/Enterprise는 소유자(Owner)가 추가
  • Web Metadata, OpenGraph & Contact Extractor 키가 필요해요 (제작자 사이트에서 만들기)
  • Web Metadata, OpenGraph & Contact Extractor 키가 필요해요 (제작자 사이트에서 만들기)
  • Web Metadata, OpenGraph & Contact Extractor 키가 필요해요 (제작자 사이트에서 만들기)

B · 마케팅 및 소셜 미디어에서 ChatGPT에 연결되는 다른 서버

같은 분류에서 많이 쓰는 것 중 키 없이 주소만으로 연결되는 것을 골랐어요

Claude Code에 연결할 수 있어요 · 약 5분

Web Metadata, OpenGraph & Contact Extractor 키가 필요해요 (제작자 사이트에서 만들기)

  1. Web Metadata, OpenGraph & Contact Extractor에 가입하고 키 만들기

    제작자 사이트에서 가입하고 다음 단계에 쓸 API 키를 만드세요. 요금과 무료 요금제는 제작자 사이트에서 확인하세요.

    키 받는 방법은 아래 제작자 README에 있어요

  2. 터미널 열기

    Mac: Command+스페이스를 누르고 Terminal 입력 · Windows: PowerShell 열기

  3. 이 명령을 붙여 넣고 Enter

    claude mcp add --transport http --scope user rapidapi-metadata-extractor https://mcp.rapidapi.com --header 'x-api-host: your-value' --header 'x-api-key: your-value'

    Enter 전에 “your-value”를 내 키로 바꾸세요

    키는 앱 입력란에만 붙여 넣고, 채팅에 붙이거나 다른 사람에게 보내지 마세요

  4. Claude Code에서 /mcp 입력

    Web Metadata, OpenGraph & Contact Extractor이 목록에 있고 연결됨으로 보이면 돼요

  5. 해 보기

    Web Metadata, OpenGraph & Contact Extractor을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐

    ✓ Claude Code가 Web Metadata, OpenGraph & Contact Extractor을 쓰고 있다고 하거나 답에 Web Metadata, OpenGraph & Contact Extractor 도구 이름이 나오면 연결된 거예요

메뉴 이름은 2026년 11월 11일에 Anthropic 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요

Cursor에 연결할 수 있어요 · 약 5분

Web Metadata, OpenGraph & Contact Extractor 키가 필요해요 (제작자 사이트에서 만들기)

  1. Web Metadata, OpenGraph & Contact Extractor에 가입하고 키 만들기

    제작자 사이트에서 가입하고 다음 단계에 쓸 API 키를 만드세요. 요금과 무료 요금제는 제작자 사이트에서 확인하세요.

    키 받는 방법은 아래 제작자 README에 있어요

  2. 이 버튼으로 Cursor 열기

    Cursor에서 열기

    Cursor가 설치를 확인하면 Install을 누르세요

  3. 키 입력

    Web Metadata, OpenGraph & Contact Extractor 설정에서 x-api-host, x-api-key가 비어 있어요. 내 키를 넣고 저장하세요

    키는 앱 입력란에만 붙여 넣고, 채팅에 붙이거나 다른 사람에게 보내지 마세요

  4. Cursor에서 AI 채팅을 Agent 모드로 열기

  5. 해 보기

    Web Metadata, OpenGraph & Contact Extractor을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐

    ✓ Cursor가 Web Metadata, OpenGraph & Contact Extractor을 쓰고 있다고 하거나 답에 Web Metadata, OpenGraph & Contact Extractor 도구 이름이 나오면 연결된 거예요

메뉴 이름은 2026년 11월 11일에 Cursor 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요

VS Code에 연결할 수 있어요 · 약 5분

Web Metadata, OpenGraph & Contact Extractor 키가 필요해요 (제작자 사이트에서 만들기)

  1. Web Metadata, OpenGraph & Contact Extractor에 가입하고 키 만들기

    제작자 사이트에서 가입하고 다음 단계에 쓸 API 키를 만드세요. 요금과 무료 요금제는 제작자 사이트에서 확인하세요.

    키 받는 방법은 아래 제작자 README에 있어요

  2. 이 버튼으로 VS Code 열기

    VS Code에서 열기

    VS Code가 설치를 확인하면 Install을 누르세요

  3. 키 입력

    Web Metadata, OpenGraph & Contact Extractor 설정에서 x-api-host, x-api-key가 비어 있어요. 내 키를 넣고 저장하세요

    키는 앱 입력란에만 붙여 넣고, 채팅에 붙이거나 다른 사람에게 보내지 마세요

  4. VS Code에서 AI 채팅을 Agent 모드로 열기

  5. 해 보기

    Web Metadata, OpenGraph & Contact Extractor을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐

    ✓ VS Code가 Web Metadata, OpenGraph & Contact Extractor을 쓰고 있다고 하거나 답에 Web Metadata, OpenGraph & Contact Extractor 도구 이름이 나오면 연결된 거예요

메뉴 이름은 2026년 11월 11일에 VS Code 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요

Windsurf, Zed, Gemini CLI 같은 다른 MCP 앱은 추가 방법이 저마다 달라요. 앱 목록에서 확인하세요

MCP를 쓰는 앱 모두 보기 →

웹으로 연결하는 앱용 주소

주소https://mcp.rapidapi.com

JSON 설정은 아래 “개발자용”에 있어요

막혔나요? Web Metadata, OpenGraph & Contact Extractor을 쓰는 사람에게 물어보세요💬 토론 →
개발자용: 터미널 명령과 JSON 설정

웹으로 연결

Claude Code

claude mcp add --transport http --scope user rapidapi-metadata-extractor https://mcp.rapidapi.com --header 'x-api-host: your-value' --header 'x-api-key: your-value'

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "rapidapi-metadata-extractor": {
      "url": "https://mcp.rapidapi.com",
      "headers": {
        "x-api-host": "your-value",
        "x-api-key": "your-value"
      }
    }
  }
}

VS Code (mcp.json)

{
  "servers": {
    "rapidapi-metadata-extractor": {
      "type": "http",
      "url": "https://mcp.rapidapi.com",
      "headers": {
        "x-api-host": "your-value",
        "x-api-key": "your-value"
      }
    }
  }
}

직접 입력할 값

  • x-api-host 필수 HTTP header
    RapidAPI host 헤더 - 정확히 다음 값을 사용: web-metadata-and-contact-extractor.p.rapidapi.com
    영어 원문 보기RapidAPI host header - use exactly: web-metadata-and-contact-extractor.p.rapidapi.com
  • x-api-key 비밀 필수 HTTP header
    RapidAPI 키입니다. https://rapidapi.com/josejuanjocoding/api/web-metadata-and-contact-extractor 에서 무료 키를 받을 수 있습니다
    영어 원문 보기Your RapidAPI key - get a free one at https://rapidapi.com/josejuanjocoding/api/web-metadata-and-contact-extractor

설명은 자동 번역이며 변수 이름은 원문 그대로입니다. 확실하지 않으면 원문을 확인하세요.

이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.

한눈에 보기

주간 다운로드i
npm/PyPI에 없음
연결 방식
클라우드에서 실행
전송 방식
streamable-http
최신 버전i
1.0.0
레지스트리 공개i
2026년 8월 11일
코드 마지막 변경i
2026년 9월 2일
제작자
JosejuX
레지스트리 상태
활성

어떤 앱에서 쓸 수 있나요

이 서버의 연결 방식과 각 앱의 공식 문서를 바탕으로 했어요. 2026년 11월 10일 확인.

인터넷으로 연결하는 앱

ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatOpen WebUIRaycast

모든 앱과 장단점 →

할 수 있는 일

아직 이 서버의 도구 목록을 읽지 않았어요. 엔드포인트는 차례대로 돌아가며 점검해요.

기본 점검i

누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 15일 점검

  • ✓ 통과

    제작자와 저장소 일치

    레지스트리 이름이 GitHub 계정 JosejuX 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요

  • ✓ 통과

    계속 관리되고 있음

    코드 마지막 변경: 2개월 전

  • ✓ 통과

    라이선스 있음

    MIT 사용

  • ✓ 통과

    엔드포인트 응답

    309ms 만에 응답(HTTP 200)

  • – 해당 없음

    OAuth로 로그인

    로그인 필요 없음

  • … 아직 점검 안 함

    도구 설명에 숨겨진 지시 없음

    아직 점검하지 않았어요. 엔드포인트를 점검할 때 도구 목록을 읽어요

우리가 확인하는 것 → · JSON

제작자: 재확인 요청 또는 잘못된 정보 신고

토론

질문하고, 팁을 나누고, 안 되는 점을 알려 주세요. "도움이 됨"이 많은 순서예요.

아직 글이 없어요. 처음으로 질문하거나 공유해 보세요.

이곳의 글은 사용자가 쓴 것으로, PopNx 팀의 글이 아니에요.

로그인하고 글쓰기

사용자 리뷰

아직 리뷰가 없어요

로그인하고 리뷰 쓰기

마케팅 및 소셜 미디어 카테고리의 다른 서버와 비교i

  • 이 카테고리의 다른 서버 3961개 중 96%보다 스타가 많아요
  • 이 카테고리의 다른 서버 3961개 중 20%보다 최근에 레지스트리에 공개됐어요
  • 기본 점검 결과가 이 카테고리의 다른 서버 3961개 중 100%와 같거나 더 좋아요

레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.

자주 묻는 질문

Web Metadata, OpenGraph & Contact Extractor, 안전한가요?

해당하는 기본 점검 4개 중 4개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.

어떤 키나 코드가 필요한가요?

입력해야 할 값: x-api-host, x-api-key

내 컴퓨터에서 실행되나요, 클라우드에서 실행되나요?

제작자의 클라우드에서 실행돼요. 설치 없이 인터넷으로 연결하지만, 보내는 내용은 제작자의 서버를 거쳐요.

아직 관리되고 있나요?

GitHub 저장소는 마지막으로 2개월 전 변경됐고, 최신 버전(1.0.0)은 3개월 전 레지스트리에 올라왔어요.

어떤 앱에서 쓸 수 있나요?

Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. URL로 연결되므로 원격 MCP를 받는 앱에서도 쓸 수 있어요. 예: 웹 ChatGPT(Business 이상은 전체 MCP, Pro는 읽기 전용).

대신 쓸 수 있는 건 뭐가 있나요?

같은 카테고리에는: Relaticle, ChatbotX, X (Twitter) MCP Server by Xquik, Betterlytics, BibiGPT YouTube Video Summarizer

비슷하게 동작하는 다른 것

같은 카테고리, 다른 제작자, 명령 확인 완료. 공식이 먼저, 그다음 스타 순.

카드 보는 법:↓ 주간 다운로드i★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i

Relaticle

Open-source CRM your AI agents can write to: companies, people, opportunities, tasks and notes.

제작자: relaticle성장 중★ 1.8천그저께 업데이트

클라우드에서 실행✓ 서비스 회사 · relaticle.com

ChatbotX

Omnichannel customer messaging, CRM contacts, flows, sequences, broadcasts, and AI automation.

제작자: ChatbotXIO성장 중★ 1.1천 저장소 전체의 별9일 전 업데이트

클라우드에서 실행✓ 서비스 회사 · chatbotx.io

X (Twitter) MCP Server by Xquik

Xquik is the world's fastest and cheapest X (Twitter) data API with the most complete X data.

제작자: Xquik-dev성장 중★ 2293일 전 업데이트

클라우드에서 실행✓ xquik.com

Betterlytics

Query your Betterlytics web analytics from AI agents: traffic, funnels, journeys, errors, uptime.

제작자: betterlytics성장 중★ 1803개월 전 업데이트

클라우드에서 실행✓ 서비스 회사 · betterlytics.io

BibiGPT YouTube Video Summarizer

AI video summarizer: summarize and transcribe YouTube, Bilibili, TikTok and podcast videos.

제작자: JimmyLv성장 중★ 14118일 전 업데이트

클라우드에서 실행✓ 서비스 회사 · bibigpt.co

제작자의 README

README 열기

제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.

Turn any URL into structured intelligence.

Extract SEO, technologies, contacts, products, social profiles, security signals, and AI-ready content from any public website — with one API call.

Free to try. No signup required for the demo.

🎮 Try the Live Demo • 🔑 Get Free API Key on RapidAPI • 📖 API Documentation • ⚡ Code Examples

Paste a URL, get real results in seconds — webmetadataextractor.com runs the actual pipeline live, no API key needed. Try your own site, or one of these:

/demo/extract is the same no-key route the live demo page above uses (see "Honest Limitations" — it's rate-limited per IP, not a documented/stable API endpoint). For integrating in code, use /api/v1/extract with a RapidAPI key as shown below.

Or call it directly (swap in your key from RapidAPI for production use):

curl "https://web-metadata-and-contact-extractor.p.rapidapi.com/api/v1/extract?url=github.com" \

-H "X-RapidAPI-Key: YOUR_KEY" -H "X-RapidAPI-Host: web-metadata-and-contact-extractor.p.rapidapi.com"


🎯 Use Cases

Use caseWhat you get
🧲Lead generationFind companies on a given tech stack (e.g. Shopify) with a weak SEO score, then prioritize outreach.
🤖AI agentsFeed markdown_content and structured JSON straight into an agent or RAG pipeline as clean, LLM-ready context for any URL.
🔎SEO auditsRun the 14-point on-page score plus graded security headers across a URL list, on a schedule.
🛒EcommercePull product name/price/currency/availability/brand from Schema.org, OpenGraph, and Microdata — cross-checked for conflicts.
🕵️Competitive intelligenceTrack a competitor's tech stack, metadata, and product data over time by re-checking the same URL list.

Example: lead generation — flag Shopify sites with a weak SEO score

import requests

RAPIDAPI_KEY = "YOUR_RAPIDAPI_KEY" HEADERS = { "X-RapidAPI-Key": RAPIDAPI_KEY, "X-RapidAPI-Host": "web-metadata-and-contact-extractor.p.rapidapi.com", } BASE = "https://web-metadata-and-contact-extractor.p.rapidapi.com/api/v1/extract"

for url in ["shop-a.com", "shop-b.com", "shop-c.com"]: data = requests.get(BASE, headers=HEADERS, params={"url": url}).json() if "Shopify" in data["detected_technologies"] and data["seo_score_percentage"] < 60: print(f"{url}: Shopify + {data['seo_score_percentage']}% SEO -> outreach candidate")

</details>

Example: AI agent tool call — clean Markdown for any URL

import requests

def read_url_as_markdown(url: str) -> str: """Tool function an LLM agent can call to read any public webpage.""" resp = requests.get( "https://web-metadata-and-contact-extractor.p.rapidapi.com/api/v1/markdown", headers={"X-RapidAPI-Key": "YOUR_KEY", "X-RapidAPI-Host": "web-metadata-and-contact-extractor.p.rapidapi.com"}, params={"url": url}, ).json() return resp["markdown_content"]

</details>

🌟 Key Features

FeatureDetail
⚡ Ultra-Fast Performance~150–300ms live fetch. Powered by selectolax (C-Lexbor parser), Rust ORJSON, uvloop, HTTP/2 multiplexing, async DNS (non-blocking), 5-min DNS TTL cache.
🧠 Adaptive SPA Byte LimitAuto-detects React, Next.js, Vue, Angular, Nuxt, Svelte, Gatsby, Remix, Astro and expands download to 256 KB for richer data extraction. Static sites stay at 64 KB.
🛡️ IP-Pinned Anti-SSRF ShieldDNS resolved once, IP validated against private/loopback/cloud-metadata ranges, connection pinned to IP with TLS SNI. Eliminates DNS Rebinding & Redirect SSRF.
🎯 Rich SEO & OpenGraph MetadataTitle, Description, OG Image, OG Type, OG URL, OG Video, Favicon, Canonical URL, Language, Author, Theme Color, Robots directive, hreflang tags, H1 headings, image count.
📧 Contact ExtractorPublic emails and phone numbers with smart DOM cleaning to eliminate false positives. Phones are additionally normalized (phone_details) via libphonenumber — E.164 format, ISO country code, and possible/valid flags — for numbers that include a country code; numbers without one aren't guessed.
📲 Social Profile FinderAuto-detects 20 platforms: Twitter/X, LinkedIn, Facebook, Instagram, GitHub, YouTube, Telegram, TikTok, Threads, Bluesky, Mastodon, Discord, Reddit, Pinterest, Medium, GitLab, Vimeo, Dribbble, Behance, Snapchat.
🛠️ 40+ Tech Stack DetectorWordPress, Shopify, WooCommerce, Webflow, React, Next.js, Vue, Angular, Svelte, TailwindCSS, Stripe, GA4, and more across CMS/ecommerce, frameworks, and analytics/payment/hosting categories.
📦 Schema.org JSON-LD + Product ParserParses all structured data schemas AND auto-extracts Product price, currency, availability, brand, rating and review count.
🎯 Multi-Source Data Quality & Conflict DetectionProduct price/currency/availability/brand are cross-checked across three distinct structured encodings — JSON-LD, OpenGraph's product extension, and schema.org Microdata. product_field_confidence reports a per-field confidence score (more of these encodings agreeing = higher confidence, same philosophy as tech-stack detection) and which source won. When they genuinely disagree, a SOURCE_CONFLICT warning names the field, every value found, and which one was chosen and why. A top-level quality object (score, rendered: false, sources_used, warnings) summarizes response trustworthiness for programmatic consumers. Caveat: these three encodings often come from the same underlying product record on a given site, so agreement means "internally consistent," not "independently verified" — see Honest Limitations below.
📊 On-Page SEO Health Audit Score14-point automated on-page technical SEO diagnostic (0–100%) with actionable warnings list, plus a structured seo_checks breakdown (check id, passed, severity, evidence) for programmatic use.
🔗 Internal vs External Link ClassifierCategorizes up to 100 hyperlinks per page.
🤖 AI & LLM Clean Markdown ReaderConverts article text to clean Markdown for ChatGPT, Claude, RAG, and AI agents. Includes word count and reading time.
📡 RSS / Atom Feed DiscoveryAuto-discovers RSS and Atom feed URLs.
🔒 Graded Security Headers AuditHSTS, CSP, X-Frame-Options, X-Content-Type-Options, Referrer Policy, Permissions Policy — each graded missing/weak/reasonable/strong from its actual value (e.g. a CSP with unsafe-inline scores as weak, not as "present = full credit"), not just presence, rolled into the percentage score. /api/v1/security additionally returns security_header_grades with the per-header breakdown.
🚀 15-Min In-Memory CacheCached responses served in < 0.01 ms server-side processing time.
⚡ Multi-Worker + Auto-Reconnect Redisuvicorn --workers N multi-process cluster (set via the WORKERS env var; gunicorn is a listed dependency for anyone who prefers it as the process manager, but the shipped Dockerfile launches uvicorn directly). Distributed rate limiting via Redis with startup ping validation, automatic reconnect every 30s, and immediate degraded_fallback status propagation to /health/details.
🔒 Split `/health` + `/health/details`Minimal public liveness probe (/health). Full operational details (Redis mode, status, engine) secured via HEALTH_DETAILS_SECRET header on /health/details.
🧯 Per-Host Circuit BreakerTrips after repeated timeouts/connection failures/5xx to one host, fails fast during the cooldown window instead of burning the full connect+read timeout budget on every request, and probes recovery automatically (never trips on ordinary 4xx).
🧩 Request Single-Flight + DNS CoalescingConcurrent requests for the same URL (or the same hostname's DNS lookup) share one in-flight fetch instead of hammering the origin N times.
🩹 Negative-Result CacheShort-TTL caching of recent upstream failures (DNS/timeout/5xx) so a broken target fails fast instead of repeating the same slow failure for every request during an outage.
🧱 Adaptive Byte-Limit HardeningStreaming byte cap is enforced on the *decoded* chunk, closing a decompression-bomb gap where a small gzip/br payload could otherwise expand to megabytes in a single read. Response headers are also count- and size-bounded.
🏷️ Structured Error CodesEvery error response carries a machine-readable error.code / error.retryable object (e.g. SSRF_BLOCKED, UPSTREAM_TIMEOUT, CIRCUIT_OPEN) alongside the existing detail string — fully additive, v1 contract unchanged.
📈 Prometheus Metrics + Structured JSON Logs/metrics exposes request/cache/SSRF/circuit-breaker/rate-limit counters and latency histograms. Every log line is a JSON object with request_id for end-to-end tracing; known-sensitive fields are redacted automatically.
🧠 Confidence-Scored Tech Detection/api/v1/tech-stack now also returns technology_details: per-technology confidence score, matched evidence, and category (cms/ecommerce/framework/analytics/payment/hosting/…), alongside the original flat list.
📦 Deeper Product & JSON-LD ParsingTraverses @graph and top-level JSON-LD arrays (not just top-level objects), extracting SKU, MPN, GTIN/ISBN, seller, condition, price range, and images.
🔎 Unicode-Aware SEO & KeywordsKeyword extraction now matches non-ASCII scripts correctly (accented/Cyrillic/etc. content), and the SEO audit adds lang attribute, viewport, noindex, multi-H1, Twitter Card, and structured-data checks.

| ⚡ Lazy Extraction Per Endpoint | Specialized endpoints only run the extractors they actually need instead of the full pipeline — `/sec

앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요