{"domain":"netintel-production-440c.up.railway.app","count":19,"changes":[{"captured_at":"2026-10-17T23:44:08.966915","card_hash":"4b2aeba55cf5d4686907d67e3f441dee94dfd017152df9ec6c3a36d6d2abd18b","previous_card_hash":"03608e9c18845daebb26c4cd64cbca1d64d14cf8245147d22dc34c6eb15edc22","diff":{"skills_added":[],"skills_removed":[],"skills_changed":[{"id":"email","fields":["description"]}],"fields_changed":[],"other_changed":false,"is_empty":false,"human_summary":"updated 1 skill"}},{"captured_at":"2026-10-15T15:50:27.644957","card_hash":"03608e9c18845daebb26c4cd64cbca1d64d14cf8245147d22dc34c6eb15edc22","previous_card_hash":"f75703b306ccb05a9defee8bd0b21fc5cbd27e57b7dc7ff14a06f3adecaf4922","diff":{"skills_added":[],"skills_removed":[],"skills_changed":[{"id":"ai","fields":["description"]},{"id":"domain","fields":["description"]},{"id":"finance","fields":["description"]},{"id":"prediction","fields":["description"]},{"id":"weather","fields":["description"]},{"id":"web","fields":["description"]}],"fields_changed":[],"other_changed":false,"is_empty":false,"human_summary":"updated 6 skills"}},{"captured_at":"2026-10-15T03:53:05.733043","card_hash":"f75703b306ccb05a9defee8bd0b21fc5cbd27e57b7dc7ff14a06f3adecaf4922","previous_card_hash":"d653e084d9cbf1eba06df4f1d65a69b79969b88177f0fe589d577b456901459f","diff":{"skills_added":[],"skills_removed":[],"skills_changed":[{"id":"ai","fields":["description"]}],"fields_changed":[],"other_changed":false,"is_empty":false,"human_summary":"updated 1 skill"}},{"captured_at":"2026-10-11T06:16:28.508764","card_hash":"d653e084d9cbf1eba06df4f1d65a69b79969b88177f0fe589d577b456901459f","previous_card_hash":"5ce987458a066ed8cb31a99b6a4a728be2f94c7f1ffe6a9519cfcc2d199edeaa","diff":{"skills_added":[],"skills_removed":[],"skills_changed":[{"id":"ai","fields":["description"]}],"fields_changed":[],"other_changed":false,"is_empty":false,"human_summary":"updated 1 skill"}},{"captured_at":"2026-10-01T19:35:28","card_hash":"5ce987458a066ed8cb31a99b6a4a728be2f94c7f1ffe6a9519cfcc2d199edeaa","previous_card_hash":"586af2927a284c63217ae95adc52974b1a8845603d3ce05b58cce7f9047062a8","diff":{"skills_added":[{"id":"finance","name":"Finance & Markets","description":"GET /currency-exchange/convert — Convert any amount between 32 fiat currencies (live European Central Bank rates) and major cryptocurrencies (BTC, ETH, USDC, SOL, ICP, CELO and more, live Coinbase spot rates) — fiat↔fiat, crypto↔fiat, and crypto↔crypto all work. Returns converted amount, exchange rate, inverse rate, rate date, and rate source so agents can price and invoice across fiat and crypto without a paid forex API. GET /currency-exchange/batch — Convert one base currency to up to 30 targets in a single call — fiat (~200 currencies incl. SAR, AED, COP) and major crypto — ECB reference rates + Coinbase spot, no API key. Per target: rate, converted amount, rate date, source. The batch sibling of /currency-exchange/convert: 30 pairs for one $0.02 call instead of 30 singles. GET /currency-exchange/history — Daily historical exchange-rate series for any currency pair — fiat via ECB reference data, crypto via Coinbase daily closes — with min/max/average/change stats, no API key. Pass start/end dates or a days lookback (default 30). The history sibling of /currency-exchange/convert: trend and repricing context for the pairs agents already quote spot. GET /crypto/market — Structured live crypto market data for ~50 top assets in one JSON call: spot price and 24h open/high/low/volume/change (Coinbase Exchange) plus market cap, rank and circulating/total/max supply (CoinGecko). Quote in USD, EUR or GBP; defaults symbol=BTC vs=USD, so a bare call returns Bitcoin. 60s cache, keyless upstreams — the purpose-built replacement for scraping exchange price pages. GET /crypto/price — Crypto prices for up to 25 coins in one call — live cryptocurrency spot prices for BTC, ETH, SOL and more in USD, EUR, or GBP from Coinbase with Kraken and CoinGecko fallback; no API key, one flat price. Per asset: price, 24h change when the source provides it, source, cache age. 30s cache; unknown symbols land in unresolved without failing the call. 25 prices for one $0.005 call vs 25 single-symbol lookups. GET /crypto/ohlc — Historical OHLC candles for any major crypto asset — hourly or daily, up to 300 candles, with period stats (change %, high, low) — from Coinbase Exchange with Kraken fallback, no API key. Also a price-at-date mode: pass date=YYYY-MM-DD for that day's candle and close. USD, EUR, or GBP quotes; 5min cache. GET /gas/price — Live gas prices across Base, Ethereum, Arbitrum, Optimism, and Polygon with USD cost estimates for a transfer, an ERC-20 send, and a swap — keyless, one call, all chains. Per chain: gas price + EIP-1559 base/priority fee in gwei, native-token USD price, 15s cache. L2 figures are execution-gas only (L1 data fee excluded, flagged in findings). GET /token/info — Full profile for any ERC-20 token by contract address — name, symbol, decimals, supply from the chain itself, plus live price, liquidity, and volume from DEX data — Base and Ethereum, no API key. Holder count included; identity read on-chain so it can't lie or be rate-limited away. 10min cache; unlisted tokens return nulls with a no_dex_liquidity finding. GET /wallet/balance — Native + USDC + custom-token balances for any wallet on Base, Ethereum, or Solana — with USD estimates — straight from public RPCs, no API key. Raw units as decimal strings plus formatted numbers; add up to 10 ERC-20 contracts via tokens=. 60s cache; an empty, never-used address is a real answer (zeros + no_activity_detected finding). GET /wallet/intel — Counterparty due-diligence for any Base or Ethereum wallet — age, funding origin, USDC flow, activity pattern, and risk flags in one scored report. The domain-report of wallets: wallet age, first funder, in/out totals, distinct counterparties, 30d activity shape, contract-or-EOA, score + A–F grade. An empty or fresh wallet is a real answer (low score + flags). 5min cache. POST /money/parse — Normalize any messy money string into a typed decimal amount plus ISO 4217 currency — handles symbols, locale separators ($1,234.56 vs €1.234,56), magnitude suffixes (1.2M), accounting notation, and natural-language amounts — so agents can clean money values before converting or storing them, with no external data and a deterministic fast path. POST /iban/validate — Validate any IBAN offline — mod-97 check digits, per-country structure, bank/branch extraction, and pretty formatting for ~80 countries — deterministic, instant, no upstream. A structurally invalid IBAN is a real answer: valid:false + findings naming exactly what failed. Pass iban as ?iban= (GET) or a JSON body (POST). GET /market/snapshot — One-call market briefing for agents — BTC/ETH/SOL spot + 24h moves, major fiat crosses (USD/EUR, USD/GBP, USD/JPY, EUR/GBP), Base and Ethereum gas with USD transfer cost, and the crypto fear/greed index. Four sections fetched concurrently with graceful partial failure; any dead section is null with a finding, never a failed call. 60s cache; no API key.","tags":["finance","x402","pay-per-call"],"inputModes":null,"outputModes":null},{"id":"prediction","name":"Prediction Markets","description":"POST /prediction/markets — Live prediction-market odds from Polymarket — list the top active markets by volume, or search by keyword. Each result has the question, outcomes with current prices (implied probabilities), 24h/total volume, liquidity, and resolution date. No API key. Great for agents tracking real-world event probabilities (elections, crypto, sports, econ). Pass params as query (GET) or a JSON body (POST). POST /prediction/market — Full detail for ONE Polymarket prediction market by id or slug — question, description, every outcome with its current price (implied probability), volume, liquidity, open/close dates, resolution source, category, and status. No API key. The drill-in companion to /prediction/markets (browse/search): find a market there, then pull its full state here. Pass id or slug as query (GET) or a JSON body (POST).","tags":["prediction","x402","pay-per-call"],"inputModes":null,"outputModes":null},{"id":"search","name":"Web Search","description":"POST /exa/search — Exa neural web search for AI agents — POST or GET a query, get ranked live results (title, url, published_date, author, score) with optional highlight snippets. Filter by category (news, research paper, github, company, pdf, and more), domain include/exclude, and publish date. For a direct answer use /exa/answer. No API key, pay per call on Base or Solana. POST /web/search — Web search for AI agents — one query in, ranked live results out (title, url, published_date, author, score, optional snippets). Neural + keyword modes, category/domain/date filters. For a direct answer use /exa/answer. Keyless x402, pay per call on Base or Solana. POST /exa/contents — Clean page text for up to 3 URLs in one call via Exa's index + live crawl — works on JS-rendered and bot-walled pages that direct fetch can't read. Returns title, author, published_date and text per URL, with per-URL status. Pairs with /exa/search (search → contents). No API key, pay per call on Base or Solana. POST /exa/answer — Ask a question, get a direct answer grounded in a live web search, with numbered citations (title, url, published_date). One call replaces search + read + summarize. For ranked results instead of a synthesized answer use /exa/search. Keyless x402, pay per call on Base or Solana.","tags":["search","x402","pay-per-call"],"inputModes":null,"outputModes":null},{"id":"weather","name":"Weather","description":"POST /weather/current — Live weather + 3-day forecast for any city or lat/lon worldwide — temperature, feels-like, humidity, wind, precipitation, cloud cover, and a plain-language condition. Give a city name (geocoded for you) or coordinates. No API key, metric or imperial units. Pass params as query (GET) or a JSON body (POST). POST /weather/forecast — Multi-day weather forecast for any city or lat/lon worldwide — up to 16 days of daily highs/lows, precipitation & probability, UV, sunrise/sunset, wind, and plain-language conditions, plus optional next-24h hourly. Give a city name (geocoded) or coordinates. No API key, metric or imperial. Pass params as query (GET) or a JSON body (POST).","tags":["weather","x402","pay-per-call"],"inputModes":null,"outputModes":null}],"skills_removed":[],"skills_changed":[{"id":"ai","fields":["description"]},{"id":"dns","fields":["description"]},{"id":"domain","fields":["description"]},{"id":"email","fields":["description"]},{"id":"network","fields":["description"]},{"id":"osint","fields":["description"]},{"id":"security","fields":["description"]},{"id":"ssl_tls","fields":["description"]},{"id":"utilities","fields":["description"]},{"id":"web","fields":["description"]}],"fields_changed":[],"other_changed":true,"is_empty":false,"human_summary":"added 4 skills · updated 10 skills"}},{"captured_at":"2026-07-26T04:06:55","card_hash":"586af2927a284c63217ae95adc52974b1a8845603d3ce05b58cce7f9047062a8","previous_card_hash":"c942b488d5855e4822b438529e67eb28a6804d3c3bce537cfd510301afd63f80","diff":{"skills_added":[],"skills_removed":[],"skills_changed":[{"id":"ai","fields":["description"]},{"id":"utilities","fields":["description"]}],"fields_changed":[],"other_changed":false,"is_empty":false,"human_summary":"updated 2 skills"}},{"captured_at":"2026-07-19T00:20:51","card_hash":"c942b488d5855e4822b438529e67eb28a6804d3c3bce537cfd510301afd63f80","previous_card_hash":"995f87828b218db90bf26ea4f32b87284a00826219f314015c3c0bf4659628eb","diff":{"skills_added":[],"skills_removed":[],"skills_changed":[{"id":"ai","fields":["description"]},{"id":"dns","fields":["description"]},{"id":"domain","fields":["description"]},{"id":"osint","fields":["description"]},{"id":"utilities","fields":["description"]}],"fields_changed":[],"other_changed":true,"is_empty":false,"human_summary":"updated 5 skills"}},{"captured_at":"2026-07-12T03:04:21","card_hash":"995f87828b218db90bf26ea4f32b87284a00826219f314015c3c0bf4659628eb","previous_card_hash":"3599c0810bc20362a3770b169d6a35a6c75486438a28d82edc4b9536ee5078bc","diff":{"skills_added":[],"skills_removed":[],"skills_changed":[{"id":"ai","fields":["description"]},{"id":"domain","fields":["description"]},{"id":"utilities","fields":["description"]}],"fields_changed":[],"other_changed":false,"is_empty":false,"human_summary":"updated 3 skills"}},{"captured_at":"2026-07-07T21:14:31","card_hash":"3599c0810bc20362a3770b169d6a35a6c75486438a28d82edc4b9536ee5078bc","previous_card_hash":"930e95daad30cf8f709c02f60c5d7a62edde9b634c529f2338e4546ca7a0df5a","diff":{"skills_added":[],"skills_removed":[],"skills_changed":[{"id":"ai","fields":["description"]},{"id":"dns","fields":["description"]},{"id":"domain","fields":["description"]},{"id":"network","fields":["description"]},{"id":"osint","fields":["description"]},{"id":"security","fields":["description"]},{"id":"utilities","fields":["description"]},{"id":"web","fields":["description"]}],"fields_changed":[],"other_changed":false,"is_empty":false,"human_summary":"updated 8 skills"}},{"captured_at":"2026-07-05T07:30:43","card_hash":"930e95daad30cf8f709c02f60c5d7a62edde9b634c529f2338e4546ca7a0df5a","previous_card_hash":"9d4220bed09e796a5967d63c9a6c454d47b6a856f6feeadc290da063b93ff5cb","diff":{"skills_added":[],"skills_removed":[],"skills_changed":[{"id":"ai","fields":["description"]},{"id":"utilities","fields":["description"]}],"fields_changed":[],"other_changed":false,"is_empty":false,"human_summary":"updated 2 skills"}},{"captured_at":"2026-07-04T01:27:45","card_hash":"9d4220bed09e796a5967d63c9a6c454d47b6a856f6feeadc290da063b93ff5cb","previous_card_hash":"4f8b808e633dc00ffba77411064fcbb763fdecb81389c314711894f88512afc3","diff":{"skills_added":[],"skills_removed":[],"skills_changed":[{"id":"utilities","fields":["description"]}],"fields_changed":[],"other_changed":false,"is_empty":false,"human_summary":"updated 1 skill"}},{"captured_at":"2026-07-02T18:04:35","card_hash":"4f8b808e633dc00ffba77411064fcbb763fdecb81389c314711894f88512afc3","previous_card_hash":"9de99aa3e84a638f84385bb96834dd8c4948e83a97a91684a0d575413e00f059","diff":{"skills_added":[],"skills_removed":[],"skills_changed":[{"id":"utilities","fields":["description"]}],"fields_changed":[],"other_changed":false,"is_empty":false,"human_summary":"updated 1 skill"}},{"captured_at":"2026-07-01T03:30:26","card_hash":"9de99aa3e84a638f84385bb96834dd8c4948e83a97a91684a0d575413e00f059","previous_card_hash":"efdadf606d09c027672cac434aa59cb433834b5c8a8fc398ec2c6b39790672c0","diff":{"skills_added":[],"skills_removed":[],"skills_changed":[{"id":"ai","fields":["description"]},{"id":"dns","fields":["description"]},{"id":"domain","fields":["description"]},{"id":"email","fields":["description"]},{"id":"network","fields":["description"]},{"id":"web","fields":["description"]}],"fields_changed":[{"field":"provider","before":{"organization":"NetIntel","url":"https://netintel.dev"},"after":{"organization":"NetIntel","url":"https://netintel.dev","contact":"support@netintel.dev"}}],"other_changed":true,"is_empty":false,"human_summary":"updated 6 skills · provider NetIntel → NetIntel"}},{"captured_at":"2026-06-27T23:55:54","card_hash":"efdadf606d09c027672cac434aa59cb433834b5c8a8fc398ec2c6b39790672c0","previous_card_hash":"b5d0391436e6728929f134a3f6442671d000692111465273ae2aea3806fd19fc","diff":{"skills_added":[],"skills_removed":[],"skills_changed":[{"id":"ai","fields":["description"]}],"fields_changed":[],"other_changed":false,"is_empty":false,"human_summary":"updated 1 skill"}},{"captured_at":"2026-06-27T01:38:01","card_hash":"b5d0391436e6728929f134a3f6442671d000692111465273ae2aea3806fd19fc","previous_card_hash":"38f028e5b93472861b4c8be4b2a02224fba46576ec748932c0e868dde2649985","diff":{"skills_added":[],"skills_removed":[],"skills_changed":[{"id":"ai","fields":["description"]},{"id":"osint","fields":["description"]}],"fields_changed":[],"other_changed":false,"is_empty":false,"human_summary":"updated 2 skills"}},{"captured_at":"2026-06-23T23:22:38","card_hash":"38f028e5b93472861b4c8be4b2a02224fba46576ec748932c0e868dde2649985","previous_card_hash":"c93c40e604250f8cb8264abbde2608b52905d62df6da2cf5e4c35b9be21d349f","diff":{"skills_added":[],"skills_removed":[],"skills_changed":[{"id":"ai","fields":["description"]},{"id":"utilities","fields":["description"]}],"fields_changed":[],"other_changed":false,"is_empty":false,"human_summary":"updated 2 skills"}},{"captured_at":"2026-06-23T16:22:38","card_hash":"c93c40e604250f8cb8264abbde2608b52905d62df6da2cf5e4c35b9be21d349f","previous_card_hash":"20b07b3121dcd7f823d1204aa89c7410e85f40d00a0725c8c4cb8b69b4137323","diff":{"skills_added":[],"skills_removed":[],"skills_changed":[{"id":"utilities","fields":["description"]}],"fields_changed":[],"other_changed":false,"is_empty":false,"human_summary":"updated 1 skill"}},{"captured_at":"2026-06-22T07:05:26","card_hash":"20b07b3121dcd7f823d1204aa89c7410e85f40d00a0725c8c4cb8b69b4137323","previous_card_hash":"2aba16be12f46f6a0ae7e2fd0b53a917fd2f788795c7b857ff6d9c63974c74f9","diff":{"skills_added":[],"skills_removed":[],"skills_changed":[{"id":"web","fields":["description"]}],"fields_changed":[],"other_changed":false,"is_empty":false,"human_summary":"updated 1 skill"}},{"captured_at":"2026-06-21T16:48:46","card_hash":"2aba16be12f46f6a0ae7e2fd0b53a917fd2f788795c7b857ff6d9c63974c74f9","previous_card_hash":null,"diff":{"skills_added":[{"id":"ai","name":"AI & Text","description":"POST /schema-parse/extract — Accepts unstructured text and a JSON Schema, then uses an LLM to extract structured data matching the schema. Supports any user-defined schema shape — contact info, invoices, product specs, medical records, legal clauses, etc. Returns the extracted object plus token usage. Fields that cannot be found are omitted or null. POST /classify — Classify text into caller-supplied categories using Claude Haiku — zero-shot classification where the agent provides the label set and gets back the best-matching category with confidence and per-label scores, so agents can route, tag, and triage content with their own taxonomy in one call. POST /content-moderate — Moderate text content using Claude Haiku — flags categories like harassment, hate, sexual content, violence, self-harm, and spam with per-category severity and an overall allow/flag/block recommendation, so agents can screen user-generated content before publishing or storing it. POST /entity-extract — Extract named entities from text using Claude Haiku — people, organizations, locations, dates, emails, URLs, money amounts, and products — returned as structured typed arrays so agents can pull structured signals out of unstructured text in one call. POST /extract/address — Parse and normalize a freeform address string using Claude Haiku — splits it into street, city, state/region, postal code, and country, plus a normalized single-line form, so agents can clean and standardize messy address data for shipping, CRM, and verification workflows. POST /extract/contact — Extract structured contact details from text, an email signature, or webpage text using Claude Haiku — returns name, title, company, email, phone, and address as clean JSON so agents can turn unstructured contact blocks into CRM-ready records in one call. POST /extract/invoice — Extract structured data from invoice or receipt text using Claude Haiku — returns vendor, invoice number, dates, line items, subtotal, tax, total, and currency as clean JSON so agents can automate accounts-payable, expense processing, and bookkeeping from raw invoice text. POST /extract/resume — Extract structured data from resume/CV text using Claude Haiku — returns name, contact info, skills, work experience, and education as clean JSON arrays so agents can automate applicant screening, candidate databases, and recruiting workflows from raw resume text. POST /extract/table — Extract tabular data from messy text or HTML using Claude Haiku — detects columns and rows in unstructured content and returns clean structured JSON (columns + rows) so agents can turn pasted tables, HTML tables, and delimited text into usable data in one call. POST /markdown/clean — Convert messy HTML or text into clean, well-structured Markdown using Claude Haiku — strips boilerplate, fixes heading hierarchy, normalizes lists and links, and returns readable Markdown so agents can feed clean docs into downstream pipelines, knowledge bases, or LLM context. POST /normalize/json — Conform messy or inconsistent JSON to a target schema using Claude Haiku — renames keys, coerces types (string→number, \"true\"→boolean, etc.), and fills missing fields with null, returning JSON that matches the exact shape the caller specified so agents can normalize data from varied sources into one consistent structure. POST /text-summarize — Summarize any text or web page into a concise summary plus key bullet points using Claude Haiku — accepts raw text or a URL (which it fetches and extracts), enforces an input cap, and returns a clean structured summary so agents can compress documents and articles in one call. POST /text-to-json — Turn unstructured text into structured JSON matching a caller-supplied schema using Claude Haiku — the agent declares the fields and types it wants, and gets back populated JSON with values pulled from the text and coerced to the right types, so agents can structure any prose into the exact shape their pipeline expects. POST /sentiment/analyze — Analyze the sentiment of text using Claude Haiku — returns overall polarity (positive/negative/neutral/mixed), a -1 to +1 score, detected emotions, and optional per-aspect sentiment, so agents can gauge tone in reviews, messages, and feedback in one call. POST /translate/long — Translate up to 2000 words between languages using Claude Haiku — auto-detects source, supports 30+ target languages, preserves formatting, for larger documents and articles. For short snippets use the cheaper /translate/short. POST /translate/short — Translate up to 500 words between languages using Claude Haiku — auto-detects source language, supports 30+ target languages, preserves formatting, and returns the translation with detected source so agents can localize short content cheaply. For longer text use /translate/long.","tags":["ai","x402","pay-per-call"],"inputModes":null,"outputModes":null},{"id":"dns","name":"DNS","description":"GET /dns/lookup — Resolves all DNS record types for a domain, parses SPF/DKIM/DMARC from TXT records, and compares A records across Google/Cloudflare/Quad9 resolvers for propagation consistency. GET /dns-propagation/check — Query a domain's DNS record across 10 geographically distributed public resolvers simultaneously — returns what each resolver sees, whether results are consistent, propagation percentage, and a readiness score so agents can confirm DNS changes have fully propagated globally. GET /dnssec/validate — Validate a domain's DNSSEC configuration by checking for DS records at the parent zone, DNSKEY records at the domain, RRSIG signatures, and NSEC/NSEC3 records — returns a full chain-of-trust assessment and readiness score so agents can verify DNS integrity before trusting resolution results.","tags":["dns","x402","pay-per-call"],"inputModes":null,"outputModes":null},{"id":"domain","name":"Domain & WHOIS","description":"GET /whois-rdap/lookup — Look up domain registration metadata via RDAP — returns registrar, creation/expiry dates, nameservers, status flags, and an actionability score so agents can assess domain trustworthiness or availability risk. GET /domain-availability/check — Check if a domain name is available for registration by querying RDAP and DNS — returns registration status, whether it's taken or free, expiry date if registered, and availability of the same name across 10 popular TLDs simultaneously so agents can find the best domain for a brand or project. POST /bulk-domain/check — Check availability of many domain names across multiple TLDs in a single call — submit up to 50 name/TLD combinations and get back per-domain registration status, registrar, and expiry concurrently, so agents can scan an entire naming shortlist or brand portfolio in one request instead of dozens. GET /domain-age/check — Determine a domain's age from registration data and archival history — returns creation date, age in years, first Wayback Machine capture, total archived snapshots, and a maturity signal so agents can assess domain trustworthiness and detect freshly registered domains used for fraud or phishing. GET /domain-report/analyze — One call returns a complete intelligence profile for a domain — WHOIS registration, DNS records, SSL certificate, detected tech stack, and blacklist status — aggregated into a single risk-scored report so agents can fully vet a domain without orchestrating five separate lookups. GET /domain-report/full — One premium call returns a complete six-part domain profile — DNS records, SSL certificate, WHOIS registration, cloud fingerprint, technology stack, and security headers — each section run concurrently with graceful partial-failure handling, so agents get an entire domain workup in a single request instead of orchestrating six. GET /domain-appraise/estimate — Estimate the market value tier of a domain name using transparent heuristics — length, TLD premium, dictionary-word presence, pronounceability, keyword value, and numeric/hyphen penalties — returns a value tier and 0-100 quality score so agents can triage domain portfolios and prioritize acquisitions without a paid appraisal service. GET /domain-due-diligence — One call combines domain availability, heuristic value appraisal, and TLD pricing into a single acquisition brief — tells an agent whether a name is available, what it's worth, and what it costs across TLDs, concurrently and with graceful partial-failure handling. GET /name-gen/suggest — Generate brandable startup/product names from a keyword using prefixes, suffixes, blends, and phonetic patterns, then check .com (or any TLD) availability for each via DNS — returns available names ranked by a brandability heuristic so agents can find a claimable brand without manual brainstorming plus one-by-one availability checks. GET /tld-price/compare — Compare registration, renewal, and transfer prices for a TLD across major registrars, or for a single domain name across many TLDs — returns sorted reference pricing so agents can find the cheapest place to register, budget domain acquisitions, and spot predatory renewal markups without checking each registrar manually. GET /typosquat/scan — Generate common typo and look-alike variations of a domain and check which are already registered — catches character swaps, omissions, additions, homoglyphs, and alternate TLDs so agents can detect typosquatting and brand-impersonation domains targeting a company.","tags":["domain","x402","pay-per-call"],"inputModes":null,"outputModes":null},{"id":"email","name":"Email","description":"POST /email-auth — Validates SPF, DKIM, and DMARC records for a domain, probes multiple DKIM selectors concurrently, detects misconfigurations, and returns an overall email security grade (A–F) with transparent deductions. GET /email-intel/analyze — Validate an email address for deliverability, detect disposable/temporary domains, identify role-based addresses, verify MX records exist, and return a trust score — so agents can qualify leads, clean lists, and gate signups without sending a single email. GET /email-report/full — One call combines domain email authentication (SPF/DKIM/DMARC), email-address intelligence (deliverability, disposable/role detection), and an optional password breach check into a single email-trust report — each section run concurrently with graceful partial-failure handling — so agents can fully vet an email and its domain in one request.","tags":["email","x402","pay-per-call"],"inputModes":null,"outputModes":null},{"id":"network","name":"Network & IP","description":"GET /subnet/calc — Calculates IPv4/IPv6 subnet details from CIDR notation including network/broadcast addresses, netmask, usable host range, supernet, and possible subnets; for multiple CIDRs, detects overlaps and classifies relationships. GET /asn-lookup/analyze — Resolves an IP address or domain to its Autonomous System Number (ASN), network owner, country, and hosting/cloud classification — agents get structured network ownership context plus a trust score to assess infrastructure risk. GET /ip-blacklist/check — Check an IP address against 15 major DNS blacklists (Spamhaus, Barracuda, SORBS, etc.) simultaneously — returns which lists it appears on, a reputation score, and a threat classification so agents can make block/allow decisions instantly. GET /ip-reputation/analyze — Check an IP address against AbuseIPDB and AlienVault OTX threat feeds. Returns a composite risk score, threat categories, malware families, and full source data. GET /ip-geo/locate — Geolocate any IPv4 or IPv6 address to city, region, country, latitude/longitude, timezone, and ISP/ASN — returns structured location data so agents can localize content and enrich user records without a paid geolocation subscription. For proxy/VPN/anonymizer or hosting/datacenter detection, use /ip-risk/score or /ip-reputation/analyze. GET /ip-risk/score — One call returns a complete risk profile for an IP address — geolocation, ASN/network owner, blacklist status across multiple DNSBLs, and proxy/VPN/hosting classification — aggregated into a single verdict so agents can make a block/allow decision without calling four separate IP endpoints. GET /ip-report/full — One premium call returns a complete five-part IP profile — geolocation, ASN/network ownership, multi-DNSBL blacklist status, threat reputation, and an aggregate risk verdict — run concurrently with graceful partial-failure handling, so agents get a full IP workup and a block/allow decision in a single request.","tags":["network","x402","pay-per-call"],"inputModes":null,"outputModes":null},{"id":"osint","name":"OSINT","description":"GET /cloud-fingerprint/analyze — Fingerprints a domain's cloud infrastructure by probing DNS records, HTTP headers, and PTR lookups to detect CDN, WAF, hosting, DNS provider, and email provider with confidence scores and an infrastructure security grade (A–F). GET /username-check/lookup — Check username availability across 20+ social platforms and developer sites simultaneously — returns which platforms have a profile registered under that handle so agents can find people, verify identities, scout brand handles, or check name availability before registration. GET /phone-intel/analyze — Parse and validate any phone number in any format, identify its country, line type (mobile/landline/VOIP/toll-free/premium), carrier region, and return all standard format variants — so agents can validate contacts, normalize phone data, and classify line types without a paid telecom API. GET /github-intel/analyze — Fetch public metadata for any GitHub repository — stars, forks, open issues, language breakdown, license, contributors, last commit date, topics, and an activity/health score — so agents can evaluate dependencies, research projects, and assess open source health without the GitHub API complexity.","tags":["osint","x402","pay-per-call"],"inputModes":null,"outputModes":null},{"id":"security","name":"Security","description":"GET /breach-check/password — Check if a password has appeared in known data breaches using the HaveIBeenPwned Pwned Passwords API with k-anonymity — the full password is never transmitted, only a 5-character SHA-1 hash prefix — returns breach count and a risk classification so agents can enforce password policies without storing or exposing credentials. GET /url-safety/check — Check a URL against URLhaus malware database and heuristic phishing pattern analysis — returns threat classification, malware family if known, threat confidence, and risk score so agents can screen links before following them or sharing them in automated workflows. GET /url-safety/full — One call vets a URL end to end — traces its full redirect chain, checks it against malware/phishing databases, audits its security headers, and inspects its SSL certificate — concurrent with graceful partial-failure handling, so agents get a complete safety verdict before following a link.","tags":["security","x402","pay-per-call"],"inputModes":null,"outputModes":null},{"id":"ssl_tls","name":"SSL / TLS","description":"GET /ssl/analyze — Performs a TLS handshake to inspect the certificate chain, probes supported TLS versions (1.0–1.3), detects weak keys and expiry issues, and returns an overall security grade (A/B/C/F). GET /cert-transparency/lookup — Query the crt.sh certificate transparency log database to enumerate all SSL certificates ever issued for a domain — returns subdomains discovered, certificate issuers, validity periods, and a risk score flagging wildcard certs, expiring certs, and suspicious issuance patterns.","tags":["ssl_tls","x402","pay-per-call"],"inputModes":null,"outputModes":null},{"id":"utilities","name":"Utilities","description":"GET /cron-parser/explain — Parse any cron expression into a human-readable explanation, validate its syntax, compute the next 5 scheduled run times, and detect common patterns (daily, weekly, monthly, hourly) — so agents can understand, validate, and work with cron schedules without implementing their own cron parser. GET /currency-exchange/convert — Convert any amount between 33 currencies using live European Central Bank exchange rates — returns the converted amount, exchange rate, rate date, and inverse rate so agents can handle pricing, invoicing, financial comparisons, and multi-currency workflows without a paid forex API. GET /holidays/check — Look up public holidays for any country and year, check whether a specific date is a holiday, and calculate the next business day — so agents can handle scheduling, SLA calculations, deadline setting, and date-aware workflows without hardcoding country-specific holiday rules. GET /jwt-inspector/decode — Decode and inspect any JWT token — extracts header algorithm, payload claims, expiry status, issued-at time, audience, issuer, and subject without requiring the secret — so agents can debug auth issues, check token expiry, and extract identity claims from tokens in pipelines. POST /lang-detect/analyze — Detect the language of any text input using character frequency analysis and n-gram pattern matching — returns the detected language, ISO code, confidence score, and top alternative languages so agents can route multilingual content, trigger translation workflows, and classify text without a paid NLP API. GET /npm-intel/analyze — Fetch metadata for any npm package — download counts, latest version, all versions list, dependencies, maintainers, repository URL, license, and a health score based on maintenance signals — so agents can evaluate dependencies, audit package ecosystems, and assess supply chain risk.","tags":["utilities","x402","pay-per-call"],"inputModes":null,"outputModes":null},{"id":"web","name":"Web","description":"GET /redirect/trace — Follows a URL through its full redirect chain (up to 20 hops), recording status codes, timing, headers, TLS status, and protocol downgrades per hop, then returns an overall redirect health grade (A–F). GET /security-headers/analyze — Fetches a URL and evaluates 10 security-critical response headers (CSP, HSTS, X-Content-Type-Options, X-Frame-Options, Referrer-Policy, Permissions-Policy, X-XSS-Protection, CORP, COEP, COOP), detects anti-patterns, and returns an overall security grade (A–F). GET /tech-fingerprint/analyze — Fetch a URL and detect the full technology stack from HTTP response headers, HTML meta tags, cookies, and script patterns — returns CMS, framework, CDN, server, analytics, and security tool detections so agents can profile any web target without a browser. GET /og-scraper/extract — Fetch any public URL and extract structured metadata — Open Graph tags, Twitter Card tags, canonical URL, title, description, favicon, article author/date, JSON-LD structured data, and content type — so agents can preview, classify, and enrich links without building their own scraper. GET /page-extract/read — Fetch any article or web page and extract clean readable text stripped of navigation, ads, and boilerplate — returns the main content body, word count, estimated reading time, detected language, and key sentences so agents can read the web without a browser or third-party scraping service. GET /robots-txt/analyze — Fetch and parse a domain's robots.txt file — returns all crawl rules by user-agent, sitemap URLs, crawl delay settings, and checks whether a specific path is allowed or blocked for any bot — so agents can respect crawl policies and locate sitemaps before scraping. GET /rss-parser/fetch — Fetch and parse any RSS 2.0 or Atom feed URL and return structured articles with title, link, description, author, publish date, and categories — so agents can monitor content sources, build news pipelines, and process any feed without building their own XML parser. GET /sitemap-parser/fetch — Fetch and parse any XML sitemap or sitemap index file — returns all URLs with their priority, change frequency, and last modified date, handles sitemap index files recursively, and auto-discovers sitemap location from robots.txt — so agents can enumerate site content for crawling, indexing, and SEO analysis. GET /wayback/lookup — Query the Internet Archive Wayback Machine to check if a URL has ever been archived, get the closest snapshot to a given date, retrieve the most recent capture, and return archival history stats — so agents can access historical web content, verify past content claims, and recover deleted pages.","tags":["web","x402","pay-per-call"],"inputModes":null,"outputModes":null}],"skills_removed":[],"skills_changed":[],"fields_changed":[{"field":"name","before":null,"after":"NetIntel"},{"field":"description","before":null,"after":"Network & web intelligence API for AI agents — DNS, SSL/TLS, WHOIS & domain, IP & network, email security, web fingerprinting, OSINT, and LLM text utilities. Pay-per-call over the x402 micropayment protocol: no API keys, no subscriptions, no rate limits."},{"field":"version","before":null,"after":"1.0.0"},{"field":"protocolVersion","before":null,"after":"0.3.0"},{"field":"url","before":null,"after":"https://netintel.dev"},{"field":"documentationUrl","before":null,"after":"https://netintel.dev/llms.txt"},{"field":"preferredTransport","before":null,"after":"HTTP+JSON"},{"field":"capabilities","before":null,"after":{"streaming":false,"pushNotifications":false,"stateTransitionHistory":false}},{"field":"provider","before":null,"after":{"organization":"NetIntel","url":"https://netintel.dev"}}],"other_changed":true,"is_empty":false,"human_summary":"added 10 skills · name ∅ → NetIntel · description ∅ → Network & web intelligence API for AI ag · version ∅ → 1.0.0 · protocolVersion ∅ → 0.3.0 · url ∅ → https://netintel.dev · documentationUrl ∅ → https://netintel.dev/llms.txt · preferredTransport ∅ → HTTP+JSON · capabilities ∅ → none · provider ∅ → NetIntel"}}]}