{"id":"cd40547f-33e0-4124-b7fb-1ec02823175f","entityType":"agent","slug":"clawhub-upkuajing-upkuajing-contact-info-validity-check","name":"Full contact data validation eliminates inaccurate lead information for global B2B prospecting. Run multi-dimensional phone checks to distinguish valid/invalidnumbers, landlines, mobile lines and WhatsApp registered accounts. Complete email authentication","canonicalUrl":"https://www.xpersona.co/agent/clawhub-upkuajing-upkuajing-contact-info-validity-check","canonicalPath":"/agent/clawhub-upkuajing-upkuajing-contact-info-validity-check","generatedAt":"2026-10-10T13:33:25.486Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T10:29:41.948Z","emptyReason":null},"description":"Verify phone numbers, WhatsApp status, emails and website domains. Cut email bounce rates through CRM data cleansing. Help exporters and recruiters clean contact lists before cold‑email sending and buyer verification. Trigger: email validation, phone number checker, WhatsApp status verify, domain verification, CRM data cleansing, email list scrubbing, reduce email bounce rate","descriptionLabel":"Source description","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.5K downloads reported by the source. Last updated 10/10/2026.","installCommand":"clawhub skill install s17304xrt0p2xssnmr7datqzks83gvsr:upkuajing-contact-info-validity-check","sourceUrl":"https://clawhub.ai/upkuajing/upkuajing-contact-info-validity-check","homepage":"https://clawhub.ai/upkuajing/skills/upkuajing-contact-info-validity-check","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/upkuajing/upkuajing-contact-info-validity-check","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/upkuajing/skills/upkuajing-contact-info-validity-check","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":63,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Full contact data validation eliminates inaccurate lead information for global B2B prospecting. Run multi-dimensional phone checks to distinguish valid/invalidn"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-10T10:29:41.948Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T10:29:41.948Z","emptyReason":null},"stars":null,"forks":null,"downloads":1495,"packageName":null,"latestVersion":"1.0.4","tractionLabel":"1.5K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T10:29:41.947Z","emptyReason":null},"lastUpdatedAt":"2026-10-10T10:29:41.948Z","lastCrawledAt":"2026-10-10T10:29:41.947Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-11T10:29:41.947Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.4","createdAt":"2026-08-24T09:07:48.764Z","changelog":"updated","fileCount":15,"zipByteSize":21170},{"version":"1.0.3","createdAt":"2026-07-16T08:56:12.942Z","changelog":"updated","fileCount":13,"zipByteSize":18381},{"version":"1.0.2","createdAt":"2026-07-16T06:09:15.177Z","changelog":"updated","fileCount":13,"zipByteSize":18404},{"version":"1.0.1","createdAt":"2026-07-06T04:05:25.171Z","changelog":"updated","fileCount":13,"zipByteSize":18101},{"version":"1.0.0","createdAt":"2026-04-17T11:41:26.553Z","changelog":"updated","fileCount":13,"zipByteSize":18120}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17304xrt0p2xssnmr7datqzks83gvsr:upkuajing-contact-info-validity-check","setupComplexity":"low","setupSteps":["Install using `clawhub skill install s17304xrt0p2xssnmr7datqzks83gvsr:upkuajing-contact-info-validity-check` in an isolated environment before connecting it to live workloads.","No published capability contract is available yet, so validate auth and request/response behavior manually.","Review the upstream CLAWHUB listing at https://clawhub.ai/upkuajing/upkuajing-contact-info-validity-check before using production credentials."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-upkuajing-upkuajing-contact-info-validity-check/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-upkuajing-upkuajing-contact-info-validity-check/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-upkuajing-upkuajing-contact-info-validity-check/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-upkuajing-upkuajing-contact-info-validity-check/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-upkuajing-upkuajing-contact-info-validity-check/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-upkuajing-upkuajing-contact-info-validity-check/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T13:33:25.483Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-upkuajing-upkuajing-contact-info-validity-check/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-upkuajing-upkuajing-contact-info-validity-check/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-upkuajing-upkuajing-contact-info-validity-check/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-upkuajing-upkuajing-contact-info-validity-check/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T10:29:41.948Z","emptyReason":null},"readme":"Skill: Full contact data validation eliminates inaccurate lead information for global B2B prospecting. Run multi-dimensional phone checks to distinguish valid/invalidnumbers, landlines, mobile lines and WhatsApp registered accounts. Complete email authentication to flag active and dormant mailboxes, alongside domainvalidation to confirm functional or defunct business websites. Streamline email validation, phone validation and domain verification workflows for sales teams,recruiters and export businesses. Cut email bounce rates drastically and boost efficiency for B2B cold outreach and global prospect search. Execute professionalCRM data cleansing, candidate screening and supplier lead validation via all-in-one verification features. Perfect for bulk export email pre-sending datacleaning, talent recruitment screening and overseas buyer identity verification.\n\nOwner: upkuajing\n\nSummary: Verify phone numbers, WhatsApp status, emails and website domains. Cut email bounce rates through CRM data cleansing. Help exporters and recruiters clean contact lists before cold‑email sending and buyer verification. Trigger: email validation, phone number checker, WhatsApp status verify, domain verification, CRM data cleansing, email list scrubbing, reduce email bounce rate\n\nTags: CRM data cleansing:1.0.4, contact-data validation:1.0.4, contact-validation:1.0.4, deliverability:1.0.4, domain verification:1.0.4, email:1.0.4, email validation:1.0.4, email-verification:1.0.4, latest:1.0.4, phone:1.0.4, phone verification:1.0.4, reduce email bounce rate:1.0.4, verify:1.0.4\n\nVersion history:\n\nv1.0.4 | 2026-08-24T09:07:48.764Z | user\n\nupdated\n\nv1.0.3 | 2026-07-16T08:56:12.942Z | user\n\nupdated\n\nv1.0.2 | 2026-07-16T06:09:15.177Z | user\n\nupdated\n\nv1.0.1 | 2026-07-06T04:05:25.171Z | user\n\nupdated\n\nv1.0.0 | 2026-04-17T11:41:26.553Z | user\n\nupdated\n\nArchive index:\n\nArchive v1.0.4: 15 files, 21170 bytes\n\nFiles: references/domain-api.md (846b), references/email-api.md (754b), references/phone-api.md (1037b), references/skill-error-report-api.md (2070b), requirements.txt (14b), scripts/auth.py (5837b), scripts/common.py (14567b), scripts/domain_validity_check.py (2138b), scripts/email_validity_check.py (2133b), scripts/error_report.py (1845b), scripts/phone_validity_check.py (2189b), scripts/version_check.py (4933b), skill-card.md (2632b), SKILL.md (8283b), _meta.json (156b)\n\nFile v1.0.4:SKILL.md\n\n---\nname: upkuajing-contact-info-validity-check\ndescription: \"Verify phone numbers, WhatsApp status, emails and website domains. Cut email bounce rates through CRM data cleansing. Help exporters and recruiters clean contact lists before cold‑email sending and buyer verification.\\n\\nTrigger: email validation, phone number checker, WhatsApp status verify, domain verification, CRM data cleansing, email list scrubbing, reduce email bounce rate\"\nmetadata: {\"version\":\"1.0.4\",\"homepage\":\"https://www.upkuajing.com\",\"clawdbot\":{\"emoji\":\"📞\",\"requires\":{\"bins\":[\"python\"],\"env\":[\"UPKUAJING_API_KEY\"]},\"primaryEnv\":\"UPKUAJING_API_KEY\"}}\n---\n\n# UpKuaJing Contact Info Validity Check\n\nCheck the validity of contact information using the UpKuaJing Open Platform API. This skill provides three detection interfaces: phone validity, email validity, and domain validity.\n\n## Overview\n\nThis skill provides access to UpKuaJing's contact validity detection through:\n- **Phone Validity Check** (`phone_validity_check.py`): Check phone number validity, type, and WhatsApp status\n- **Email Validity Check** (`email_validity_check.py`): Check email address validity\n- **Domain Validity Check** (`domain_validity_check.py`): Check domain validity and security\n\n## Running Scripts\n\n### Environment Setup\n\n1. **Check Python**: `python --version`\n2. **Install dependencies**: `pip install -r requirements.txt`\n\nScript directory: `scripts/*.py`\nRun example: `python scripts/*.py`\n\n**Important**: Always use direct script invocation like `python scripts/phone_validity_check.py`. **Do NOT use** shell compound commands like `cd scripts && python phone_validity_check.py`.\n\n## Three Detection APIs\n\n### Phone Validity Check (`phone_validity_check.py`)\n\nCheck phone number validity, type, and WhatsApp status.\n\n**Parameters**: See [Phone Validity API](references/phone-api.md)\n\n**Examples**:\n```bash\n# Check single phone number\npython scripts/phone_validity_check.py --phones \"+8613812345678\"\n\n# Check multiple phone numbers\npython scripts/phone_validity_check.py --phones \"+8613812345678 +14155551234 +442071234567\"\n```\n\n### Email Validity Check (`email_validity_check.py`)\n\nCheck email address validity.\n\n**Parameters**: See [Email Validity API](references/email-api.md)\n\n**Examples**:\n```bash\n# Check single email\npython scripts/email_validity_check.py --emails \"test@example.com\"\n\n# Check multiple emails\npython scripts/email_validity_check.py --emails \"test@example.com valid@gmail.com invalid-email\"\n```\n\n### Domain Validity Check (`domain_validity_check.py`)\n\nCheck domain validity and security status.\n\n**Parameters**: See [Domain Validity API](references/domain-api.md)\n\n**Examples**:\n```bash\n# Check single domain\npython scripts/domain_validity_check.py --domains \"google.com\"\n\n# Check multiple domains\npython scripts/domain_validity_check.py --domains \"google.com fake-domain-xyz123456.com github.com\"\n```\n\n## API Key and UpKuaJing Account\n\n- **API Key**: Stored in `~/.upkuajing/.env` file as `UPKUAJING_API_KEY`\n- **First check**: If not set, prompt user to provide or apply at [UpKuaJing Open Platform](https://developer.upkuajing.com/)\n\n### **API Key Not Set**\nFirst check if the `~/.upkuajing/.env` file has UPKUAJING_API_KEY;\nIf UPKUAJING_API_KEY is not set, prompt the user to choose:\n1. User has one: User provides it (manually add to ~/.upkuajing/.env file)\n2. User doesn't have one: Guide user to apply at [UpKuaJing Open Platform](https://developer.upkuajing.com/)\nWait for user selection;\n\n### **Account Top-up**\nWhen API response indicates insufficient balance, explain and guide user to top up:\n1. Create top-up order (`auth.py --new_rec_order`)\n2. Based on order response, send payment page URL to user, guide user to open URL and pay, user confirms after successful payment;\n\n### **Get Account Information**\nUse this script to get account information for UPKUAJING_API_KEY: `auth.py --account_info`\n\n### **Report Skill Call Errors**\nWhen an API call fails or returns abnormal data (server error, timeout, malformed response, etc.), explain the anomaly to the user in natural language and ask whether to report it to the platform for troubleshooting. Only run the report after user confirmation:\n```bash\npython scripts/error_report.py --params '{\"requestPath\":\"/agent/validation/email\",\"requestId\":\"f47ac10b58cc4372a5670e02b2c3d479\",\"context\":\"Contact validity check failed with a server error\"}'\n```\n- Do not report normal business conditions (insufficient balance, invalid API key, parameter errors) — handle them via their own flows\n- Error reporting does not incur query fees\n- **Parameters**: See [Error Report API](references/skill-error-report-api.md)\n\n## Fees\n\n**All validity check API calls incur fees**.\n**Latest pricing**: Users can visit [Detailed Price Description](https://www.upkuajing.com/web/openapi/price.html)\nOr use: `python scripts/auth.py --price_info` (returns complete pricing for all interfaces)\n\n### Fee Confirmation Principle\n\n**Any operation that incurs fees must first inform and wait for explicit user confirmation. Do not execute in the same message as the notification.**\n\n## Workflow\n\n### Decision Guide\n\n| User Intent | Use API |\n|-------------|---------|\n| \"Check if phone number is valid\" | Phone Validity Check |\n| \"Verify email address exists\" | Email Validity Check |\n| \"Check if domain is safe\" | Domain Validity Check |\n\n## Error Handling\n\n- **API key invalid/non-existent**: Check `UPKUAJING_API_KEY` in `~/.upkuajing/.env` file\n- **Insufficient balance**: Guide user to top up\n- **Invalid parameters**: **Must first check the corresponding API documentation in references/ directory**, get correct parameter names and formats from documentation, do not guess\n- **Skill call errors / abnormal responses**: Explain to the user and, with user confirmation, report to the platform via `python scripts/error_report.py` (see [Report Skill Call Errors](#report-skill-call-errors))\n\n### API Documentation Reference\n\n- Phone Validity: Check [references/phone-api.md](references/phone-api.md)\n- Email Validity: Check [references/email-api.md](references/email-api.md)\n- Domain Validity: Check [references/domain-api.md](references/domain-api.md)\n- Error Report: Check [references/skill-error-report-api.md](references/skill-error-report-api.md)\n\n## Notes\n\n- File paths use forward slashes on all platforms\n- **Do not guess parameter names**, get accurate parameter names and formats from documentation\n- **Prohibit outputting technical parameter format**: Do not display code-style parameters in responses, convert to natural language\n- **Do not estimate or guess fees** — use `python scripts/auth.py --price_info` to get accurate pricing information\n\n## Related Skills\n\nOther UpKuaJing skills you might find useful:\n\n- linkedin-person-search — Search people from the LinkedIn source\n- global-company-person-search — Search people from the global company database\n- linkedin-company-search — Search companies from the LinkedIn source\n- global-company-search — Search companies from the global company database\n- global-company-shareholder — Query shareholder list from the global company database\n- global-company-employee — Query employee list from the global company database\n- global-company-person-colleague — Query colleague list from the global company database\n- global-company-person-alumni — Query alumni list from the global company database\n- global-company-person-experience — Query work experience list from the global company database\n- global-company-person-education — Query education history list from the global company database\n- global-company-person-school-detail — Query school detail from the global company database\n- upkuajing-global-company-people-search — Global company and people search\n- upkuajing-customs-trade-company-search — Search customs trade companies\n- upkuajing-map-merchants-search — Map-based merchant search\n- upkuajing-email-tool — Send emails and manage email tasks\n- upkuajing-sms-tool — Send SMS and manage SMS tasks\n- upkuajing-contact-info-validity-check — Check contact info validity\n- phone-validity-check — Check phone number validity\n- email-validity-check — Check email address validity\n- domain-validity-check — Check domain validity and security\n\nFile v1.0.4:_meta.json\n\n{\n  \"ownerId\": \"kn76ywjzma121r2rh959ejsf49834c6x\",\n  \"slug\": \"upkuajing-contact-info-validity-check\",\n  \"version\": \"1.0.4\",\n  \"publishedAt\": 1787562468764\n}\n\nFile v1.0.4:references/domain-api.md\n\n# 域名有效性检测 API\n\n## 请求参数\n\n### Header\n- `Authorization`: Bearer Token (必填)\n\n### Body\n- `domains` (array): 域名列表\n\n## 响应字段\n\n### code\n- 类型: integer\n- 说明: 状态码\n\n### msg\n- 类型: string\n- 说明: 消息\n\n### data.list\n- 类型: array\n- 说明: 检测结果列表\n\n### data.list[].domain\n- 类型: string\n- 说明: 被检测的域名\n\n### data.list[].status\n- 类型: integer\n- 说明: '状态: 0-未知, 1-有效, 2-无效, 3-未知'\n\n### data.list[].reason\n- 类型: string\n- 说明: 无效原因\n\n### data.list[].isSensitive\n- 类型: integer\n- 说明: '是否敏感: 0-未知, 1-安全, 2-不安全'\n\n### data.total\n- 类型: integer\n- 说明: 总数量\n\n### fee.apiCost\n- 类型: integer\n- 说明: API消耗费用(分钱)\n\n### fee.accountBalance\n- 类型: integer\n- 说明: 账户余额(分钱)\n\nFile v1.0.4:references/email-api.md\n\n# 邮件有效性检测 API\n\n## 请求参数\n\n### Header\n- `Authorization`: Bearer Token (必填)\n\n### Body\n- `emails` (array): 邮箱地址列表\n\n## 响应字段\n\n### code\n- 类型: integer\n- 说明: 状态码\n\n### msg\n- 类型: string\n- 说明: 消息\n\n### data.list\n- 类型: array\n- 说明: 检测结果列表\n\n### data.list[].email\n- 类型: string\n- 说明: 被检测的邮箱地址\n\n### data.list[].status\n- 类型: integer\n- 说明: '状态: 0-未检测, 1-有效, 2-无效, 3-未知'\n\n### data.list[].reason\n- 类型: string\n- 说明: 无效原因\n\n### data.total\n- 类型: integer\n- 说明: 总数量\n\n### fee.apiCost\n- 类型: integer\n- 说明: API消耗费用(分钱)\n\n### fee.accountBalance\n- 类型: integer\n- 说明: 账户余额(分钱)\n\nFile v1.0.4:references/phone-api.md\n\n# 电话有效性检测 API\n\n## 请求参数\n\n### Header\n- `Authorization`: Bearer Token (必填)\n\n### Body\n- `phones` (array): 电话号码列表\n\n## 响应字段\n\n### code\n- 类型: integer\n- 说明: 状态码\n\n### msg\n- 类型: string\n- 说明: 消息\n\n### data.list\n- 类型: array\n- 说明: 检测结果列表\n\n### data.list[].phone\n- 类型: string\n- 说明: 被检测的电话号码\n\n### data.list[].status\n- 类型: integer\n- 说明: '状态: 0-未检测, 1-有效, 2-无效, 3-未知'\n\n### data.list[].reason\n- 类型: string\n- 说明: 无效原因\n\n### data.list[].phoneType\n- 类型: integer\n- 说明: '号码类型: 0-未检测, 1-座机, 2-手机, 3-未知'\n\n### data.list[].countryCode\n- 类型: string\n- 说明: 国家码\n\n### data.list[].isWs\n- 类型: integer\n- 说明: '是否WhatsApp: 0-未检测, 1-是, 2-否, 3-未知'\n\n### data.total\n- 类型: integer\n- 说明: 总数量\n\n### fee.apiCost\n- 类型: integer\n- 说明: API消耗费用(分钱)\n\n### fee.accountBalance\n- 类型: integer\n- 说明: 账户余额(分钱)\n\nFile v1.0.4:references/skill-error-report-api.md\n\n# Agent调用Skill异常上报 API 参考\n\n> 上报 Agent 调用 Skill 异常，用于平台侧问题追踪与优化。异常上报不产生查询费用。\n> 接口路径：`POST /agent/skill/error/report`\n> 鉴权：需要 Bearer 令牌（UPKUAJING_API_KEY）\n\n## python脚本参数\n\n- `--params`：JSON格式的上报参数（必填）\n- 未传 `skillId`/`skillVersion` 时，脚本会自动从当前 Skill 目录名与 SKILL.md 读取并填充\n- 必填参数：`skillId`、`skillVersion`、`requestId`、`requestPath`、`context`；其中 `requestId` 从出问题的请求响应（ApiResp.requestId）中获取\n\n## API请求参数\n\n| 参数 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| skillId | string | 是 | Skill 标识（最大128字符），如\"customs-analysis-area\" |\n| skillVersion | string | 是 | Skill 版本（最大32字符） |\n| agentName | string | 否 | Agent 名称（最大128字符） |\n| modelName | string | 否 | 模型名称（最大128字符） |\n| requestPath | string | 是 | 出问题的站内接口路径，以 / 开头（最大255字符），如\"/agent/customs/analysis/area\" |\n| requestId | string | 是 | 全请求唯一关联号（最大128字符），取失败请求响应中的 requestId |\n| requestTime | long | 否 | 请求发起时间戳（毫秒，≥0） |\n| requestParams | object | 否 | 请求参数（原始入参，敏感字段会自动脱敏；序列化后≤64KB） |\n| responseData | object | 否 | 响应数据（异常发生时的返回内容，敏感字段会自动脱敏；序列化后≤64KB） |\n| durationMs | long | 否 | 本次调用耗时（毫秒，≥0） |\n| context | string | 是 | 异常上下文（堆栈/错误信息，用于定位根因，最大2000字符） |\n\n## 响应数据\n\n### 外层结构\n\n- code（integer）：状态码，0 表示成功\n- msg（string）：提示信息\n- requestId（string）：全请求唯一关联号（32位无横线，与 MDC traceId 同值）\n\n### data 字段\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| reportId | long | 上报记录 ID |\n\nFile v1.0.4:skill-card.md\n\n## Description:\n\nChecks phone numbers, WhatsApp status, email addresses, and website domains through the UpKuaJing Open Platform API.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[upkuajing](https://clawhub.ai/user/upkuajing)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users, sales teams, recruiters, and export businesses use this skill to validate contact records before outreach, CRM cleansing, candidate screening, supplier checks, and buyer verification.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Paid validation calls and account top-ups can incur charges.\n\nMitigation: Inform users about paid operations and wait for explicit confirmation before running fee-incurring calls or creating top-up orders.\n\nRisk: Phone numbers, email addresses, domains, and optional error reports may contain personal or customer data sent to UpKuaJing.\n\nMitigation: Submit only data needed for the validation task and avoid including unnecessary personal or customer data in error reports.\n\nRisk: The UpKuaJing API key is a secret that may be stored in ~/.upkuajing/.env.\n\nMitigation: Protect the API key as a secret, restrict access to the env file, and avoid sharing it in prompts, logs, or reports.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/upkuajing/skills/upkuajing-contact-info-validity-check)\n- [UpKuaJing publisher profile](https://clawhub.ai/user/upkuajing)\n- [UpKuaJing homepage](https://www.upkuajing.com)\n- [UpKuaJing Open Platform](https://developer.upkuajing.com/)\n- [Detailed price description](https://www.upkuajing.com/web/openapi/price.html)\n- [Phone validity API reference](references/phone-api.md)\n- [Email validity API reference](references/email-api.md)\n- [Domain validity API reference](references/domain-api.md)\n- [Skill error report API reference](references/skill-error-report-api.md)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance, JSON]\n\n**Output Format:** [Markdown guidance with shell commands and JSON validation-result summaries]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Validation results include totals, result lists, fee information, and request IDs when returned by the API.]\n\n## Skill Version(s):\n\n1.0.4 (source: server release metadata and SKILL.md metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.0.4:requirements.txt\n\nhttpx>=0.23.0\n\nArchive v1.0.3: 13 files, 18381 bytes\n\nFiles: references/domain-api.md (846b), references/email-api.md (754b), references/phone-api.md (1037b), requirements.txt (14b), scripts/auth.py (5837b), scripts/common.py (14567b), scripts/domain_validity_check.py (1973b), scripts/email_validity_check.py (1968b), scripts/phone_validity_check.py (2024b), scripts/version_check.py (4933b), skill-card.md (2832b), SKILL.md (7208b), _meta.json (156b)\n\nFile v1.0.3:SKILL.md\n\n---\nname: upkuajing-contact-info-validity-check\ndescription: \"Verify phone numbers, WhatsApp status, emails and website domains. Cut email bounce rates through CRM data cleansing. Help exporters and recruiters clean contact lists before cold‑email sending and buyer verification.\\n\\nTrigger: email validation, phone number checker, WhatsApp status verify, domain verification, CRM data cleansing, email list scrubbing, reduce email bounce rate\"\nmetadata: {\"version\":\"1.0.3\",\"homepage\":\"https://www.upkuajing.com\",\"clawdbot\":{\"emoji\":\"📞\",\"requires\":{\"bins\":[\"python\"],\"env\":[\"UPKUAJING_API_KEY\"]},\"primaryEnv\":\"UPKUAJING_API_KEY\"}}\n---\n\n# UpKuaJing Contact Info Validity Check\n\nCheck the validity of contact information using the UpKuaJing Open Platform API. This skill provides three detection interfaces: phone validity, email validity, and domain validity.\n\n## Overview\n\nThis skill provides access to UpKuaJing's contact validity detection through:\n- **Phone Validity Check** (`phone_validity_check.py`): Check phone number validity, type, and WhatsApp status\n- **Email Validity Check** (`email_validity_check.py`): Check email address validity\n- **Domain Validity Check** (`domain_validity_check.py`): Check domain validity and security\n\n## Running Scripts\n\n### Environment Setup\n\n1. **Check Python**: `python --version`\n2. **Install dependencies**: `pip install -r requirements.txt`\n\nScript directory: `scripts/*.py`\nRun example: `python scripts/*.py`\n\n**Important**: Always use direct script invocation like `python scripts/phone_validity_check.py`. **Do NOT use** shell compound commands like `cd scripts && python phone_validity_check.py`.\n\n## Three Detection APIs\n\n### Phone Validity Check (`phone_validity_check.py`)\n\nCheck phone number validity, type, and WhatsApp status.\n\n**Parameters**: See [Phone Validity API](references/phone-api.md)\n\n**Examples**:\n```bash\n# Check single phone number\npython scripts/phone_validity_check.py --phones \"+8613812345678\"\n\n# Check multiple phone numbers\npython scripts/phone_validity_check.py --phones \"+8613812345678 +14155551234 +442071234567\"\n```\n\n### Email Validity Check (`email_validity_check.py`)\n\nCheck email address validity.\n\n**Parameters**: See [Email Validity API](references/email-api.md)\n\n**Examples**:\n```bash\n# Check single email\npython scripts/email_validity_check.py --emails \"test@example.com\"\n\n# Check multiple emails\npython scripts/email_validity_check.py --emails \"test@example.com valid@gmail.com invalid-email\"\n```\n\n### Domain Validity Check (`domain_validity_check.py`)\n\nCheck domain validity and security status.\n\n**Parameters**: See [Domain Validity API](references/domain-api.md)\n\n**Examples**:\n```bash\n# Check single domain\npython scripts/domain_validity_check.py --domains \"google.com\"\n\n# Check multiple domains\npython scripts/domain_validity_check.py --domains \"google.com fake-domain-xyz123456.com github.com\"\n```\n\n## API Key and UpKuaJing Account\n\n- **API Key**: Stored in `~/.upkuajing/.env` file as `UPKUAJING_API_KEY`\n- **First check**: If not set, prompt user to provide or apply at [UpKuaJing Open Platform](https://developer.upkuajing.com/)\n\n### **API Key Not Set**\nFirst check if the `~/.upkuajing/.env` file has UPKUAJING_API_KEY;\nIf UPKUAJING_API_KEY is not set, prompt the user to choose:\n1. User has one: User provides it (manually add to ~/.upkuajing/.env file)\n2. User doesn't have one: Guide user to apply at [UpKuaJing Open Platform](https://developer.upkuajing.com/)\nWait for user selection;\n\n### **Account Top-up**\nWhen API response indicates insufficient balance, explain and guide user to top up:\n1. Create top-up order (`auth.py --new_rec_order`)\n2. Based on order response, send payment page URL to user, guide user to open URL and pay, user confirms after successful payment;\n\n### **Get Account Information**\nUse this script to get account information for UPKUAJING_API_KEY: `auth.py --account_info`\n\n## Fees\n\n**All validity check API calls incur fees**.\n**Latest pricing**: Users can visit [Detailed Price Description](https://www.upkuajing.com/web/openapi/price.html)\nOr use: `python scripts/auth.py --price_info` (returns complete pricing for all interfaces)\n\n### Fee Confirmation Principle\n\n**Any operation that incurs fees must first inform and wait for explicit user confirmation. Do not execute in the same message as the notification.**\n\n## Workflow\n\n### Decision Guide\n\n| User Intent | Use API |\n|-------------|---------|\n| \"Check if phone number is valid\" | Phone Validity Check |\n| \"Verify email address exists\" | Email Validity Check |\n| \"Check if domain is safe\" | Domain Validity Check |\n\n## Error Handling\n\n- **API key invalid/non-existent**: Check `UPKUAJING_API_KEY` in `~/.upkuajing/.env` file\n- **Insufficient balance**: Guide user to top up\n- **Invalid parameters**: **Must first check the corresponding API documentation in references/ directory**, get correct parameter names and formats from documentation, do not guess\n\n### API Documentation Reference\n\n- Phone Validity: Check [references/phone-api.md](references/phone-api.md)\n- Email Validity: Check [references/email-api.md](references/email-api.md)\n- Domain Validity: Check [references/domain-api.md](references/domain-api.md)\n\n## Notes\n\n- File paths use forward slashes on all platforms\n- **Do not guess parameter names**, get accurate parameter names and formats from documentation\n- **Prohibit outputting technical parameter format**: Do not display code-style parameters in responses, convert to natural language\n- **Do not estimate or guess fees** — use `python scripts/auth.py --price_info` to get accurate pricing information\n\n## Related Skills\n\nOther UpKuaJing skills you might find useful:\n\n- linkedin-person-search — Search people from the LinkedIn source\n- global-company-person-search — Search people from the global company database\n- linkedin-company-search — Search companies from the LinkedIn source\n- global-company-search — Search companies from the global company database\n- global-company-shareholder — Query shareholder list from the global company database\n- global-company-employee — Query employee list from the global company database\n- global-company-person-colleague — Query colleague list from the global company database\n- global-company-person-alumni — Query alumni list from the global company database\n- global-company-person-experience — Query work experience list from the global company database\n- global-company-person-education — Query education history list from the global company database\n- global-company-person-school-detail — Query school detail from the global company database\n- upkuajing-global-company-people-search — Global company and people search\n- upkuajing-customs-trade-company-search — Search customs trade companies\n- upkuajing-map-merchants-search — Map-based merchant search\n- upkuajing-email-tool — Send emails and manage email tasks\n- upkuajing-sms-tool — Send SMS and manage SMS tasks\n- upkuajing-contact-info-validity-check — Check contact info validity\n- phone-validity-check — Check phone number validity\n- email-validity-check — Check email address validity\n- domain-validity-check — Check domain validity and security\n\nFile v1.0.3:_meta.json\n\n{\n  \"ownerId\": \"kn76ywjzma121r2rh959ejsf49834c6x\",\n  \"slug\": \"upkuajing-contact-info-validity-check\",\n  \"version\": \"1.0.3\",\n  \"publishedAt\": 1784192172942\n}\n\nFile v1.0.3:references/domain-api.md\n\n# 域名有效性检测 API\n\n## 请求参数\n\n### Header\n- `Authorization`: Bearer Token (必填)\n\n### Body\n- `domains` (array): 域名列表\n\n## 响应字段\n\n### code\n- 类型: integer\n- 说明: 状态码\n\n### msg\n- 类型: string\n- 说明: 消息\n\n### data.list\n- 类型: array\n- 说明: 检测结果列表\n\n### data.list[].domain\n- 类型: string\n- 说明: 被检测的域名\n\n### data.list[].status\n- 类型: integer\n- 说明: '状态: 0-未知, 1-有效, 2-无效, 3-未知'\n\n### data.list[].reason\n- 类型: string\n- 说明: 无效原因\n\n### data.list[].isSensitive\n- 类型: integer\n- 说明: '是否敏感: 0-未知, 1-安全, 2-不安全'\n\n### data.total\n- 类型: integer\n- 说明: 总数量\n\n### fee.apiCost\n- 类型: integer\n- 说明: API消耗费用(分钱)\n\n### fee.accountBalance\n- 类型: integer\n- 说明: 账户余额(分钱)\n\nFile v1.0.3:references/email-api.md\n\n# 邮件有效性检测 API\n\n## 请求参数\n\n### Header\n- `Authorization`: Bearer Token (必填)\n\n### Body\n- `emails` (array): 邮箱地址列表\n\n## 响应字段\n\n### code\n- 类型: integer\n- 说明: 状态码\n\n### msg\n- 类型: string\n- 说明: 消息\n\n### data.list\n- 类型: array\n- 说明: 检测结果列表\n\n### data.list[].email\n- 类型: string\n- 说明: 被检测的邮箱地址\n\n### data.list[].status\n- 类型: integer\n- 说明: '状态: 0-未检测, 1-有效, 2-无效, 3-未知'\n\n### data.list[].reason\n- 类型: string\n- 说明: 无效原因\n\n### data.total\n- 类型: integer\n- 说明: 总数量\n\n### fee.apiCost\n- 类型: integer\n- 说明: API消耗费用(分钱)\n\n### fee.accountBalance\n- 类型: integer\n- 说明: 账户余额(分钱)\n\nFile v1.0.3:references/phone-api.md\n\n# 电话有效性检测 API\n\n## 请求参数\n\n### Header\n- `Authorization`: Bearer Token (必填)\n\n### Body\n- `phones` (array): 电话号码列表\n\n## 响应字段\n\n### code\n- 类型: integer\n- 说明: 状态码\n\n### msg\n- 类型: string\n- 说明: 消息\n\n### data.list\n- 类型: array\n- 说明: 检测结果列表\n\n### data.list[].phone\n- 类型: string\n- 说明: 被检测的电话号码\n\n### data.list[].status\n- 类型: integer\n- 说明: '状态: 0-未检测, 1-有效, 2-无效, 3-未知'\n\n### data.list[].reason\n- 类型: string\n- 说明: 无效原因\n\n### data.list[].phoneType\n- 类型: integer\n- 说明: '号码类型: 0-未检测, 1-座机, 2-手机, 3-未知'\n\n### data.list[].countryCode\n- 类型: string\n- 说明: 国家码\n\n### data.list[].isWs\n- 类型: integer\n- 说明: '是否WhatsApp: 0-未检测, 1-是, 2-否, 3-未知'\n\n### data.total\n- 类型: integer\n- 说明: 总数量\n\n### fee.apiCost\n- 类型: integer\n- 说明: API消耗费用(分钱)\n\n### fee.accountBalance\n- 类型: integer\n- 说明: 账户余额(分钱)\n\nFile v1.0.3:skill-card.md\n\n## Description: <br>\nVerify phone numbers, WhatsApp registration status, email addresses, and business domains through the UpKuaJing Open Platform API. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[upkuajing](https://clawhub.ai/user/upkuajing) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal sales, recruiting, export, and CRM operations teams use this skill to clean contact lists before outreach by checking phone, email, WhatsApp, and domain validity. Developers and agents use it to run the packaged validation scripts and return structured API results with fee information. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Contact data submitted for validation is sent to UpKuaJing's remote API. <br>\nMitigation: Use the skill only when users accept third-party processing of the contact data being checked. <br>\nRisk: Validation requests are paid API calls and may consume account balance. <br>\nMitigation: Confirm fee-bearing operations with the user before executing validation scripts or top-up actions. <br>\nRisk: The UPKUAJING_API_KEY is read from the environment or ~/.upkuajing/.env and grants API access. <br>\nMitigation: Protect the API key file, avoid sharing it, and rotate the key if exposure is suspected. <br>\nRisk: Optional API logging can retain request and response data locally if enabled. <br>\nMitigation: Keep API logging disabled for sensitive contact lists unless local retention is acceptable. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/upkuajing/skills/upkuajing-contact-info-validity-check) <br>\n- [UpKuaJing homepage](https://www.upkuajing.com) <br>\n- [UpKuaJing developer platform](https://developer.upkuajing.com/) <br>\n- [UpKuaJing OpenAPI pricing](https://www.upkuajing.com/web/openapi/price.html) <br>\n- [Phone Validity API](artifact/references/phone-api.md) <br>\n- [Email Validity API](artifact/references/email-api.md) <br>\n- [Domain Validity API](artifact/references/domain-api.md) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown guidance with shell commands and JSON API results from scripts] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Validation calls return result lists and fee information; successful use requires a UPKUAJING_API_KEY.] <br>\n\n## Skill Version(s): <br>\n1.0.3 (source: server release evidence and skill metadata) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v1.0.3:requirements.txt\n\nhttpx>=0.23.0\n\nArchive v1.0.2: 13 files, 18404 bytes\n\nFiles: references/domain-api.md (846b), references/email-api.md (754b), references/phone-api.md (1037b), requirements.txt (14b), scripts/auth.py (5837b), scripts/common.py (14567b), scripts/domain_validity_check.py (1973b), scripts/email_validity_check.py (1968b), scripts/phone_validity_check.py (2024b), scripts/version_check.py (4933b), skill-card.md (2820b), SKILL.md (7208b), _meta.json (156b)\n\nFile v1.0.2:SKILL.md\n\n---\nname: upkuajing-contact-info-validity-check\ndescription: \"Verify phone numbers, WhatsApp status, emails and website domains. Cut email bounce rates through CRM data cleansing. Help exporters and recruiters clean contact lists before cold‑email sending and buyer verification.\\n\\nTrigger: email validation, phone number checker, WhatsApp status verify, domain verification, CRM data cleansing, email list scrubbing, reduce email bounce rate\"\nmetadata: {\"version\":\"1.0.2\",\"homepage\":\"https://www.upkuajing.com\",\"clawdbot\":{\"emoji\":\"📞\",\"requires\":{\"bins\":[\"python\"],\"env\":[\"UPKUAJING_API_KEY\"]},\"primaryEnv\":\"UPKUAJING_API_KEY\"}}\n---\n\n# UpKuaJing Contact Info Validity Check\n\nCheck the validity of contact information using the UpKuaJing Open Platform API. This skill provides three detection interfaces: phone validity, email validity, and domain validity.\n\n## Overview\n\nThis skill provides access to UpKuaJing's contact validity detection through:\n- **Phone Validity Check** (`phone_validity_check.py`): Check phone number validity, type, and WhatsApp status\n- **Email Validity Check** (`email_validity_check.py`): Check email address validity\n- **Domain Validity Check** (`domain_validity_check.py`): Check domain validity and security\n\n## Running Scripts\n\n### Environment Setup\n\n1. **Check Python**: `python --version`\n2. **Install dependencies**: `pip install -r requirements.txt`\n\nScript directory: `scripts/*.py`\nRun example: `python scripts/*.py`\n\n**Important**: Always use direct script invocation like `python scripts/phone_validity_check.py`. **Do NOT use** shell compound commands like `cd scripts && python phone_validity_check.py`.\n\n## Three Detection APIs\n\n### Phone Validity Check (`phone_validity_check.py`)\n\nCheck phone number validity, type, and WhatsApp status.\n\n**Parameters**: See [Phone Validity API](references/phone-api.md)\n\n**Examples**:\n```bash\n# Check single phone number\npython scripts/phone_validity_check.py --phones \"+8613812345678\"\n\n# Check multiple phone numbers\npython scripts/phone_validity_check.py --phones \"+8613812345678 +14155551234 +442071234567\"\n```\n\n### Email Validity Check (`email_validity_check.py`)\n\nCheck email address validity.\n\n**Parameters**: See [Email Validity API](references/email-api.md)\n\n**Examples**:\n```bash\n# Check single email\npython scripts/email_validity_check.py --emails \"test@example.com\"\n\n# Check multiple emails\npython scripts/email_validity_check.py --emails \"test@example.com valid@gmail.com invalid-email\"\n```\n\n### Domain Validity Check (`domain_validity_check.py`)\n\nCheck domain validity and security status.\n\n**Parameters**: See [Domain Validity API](references/domain-api.md)\n\n**Examples**:\n```bash\n# Check single domain\npython scripts/domain_validity_check.py --domains \"google.com\"\n\n# Check multiple domains\npython scripts/domain_validity_check.py --domains \"google.com fake-domain-xyz123456.com github.com\"\n```\n\n## API Key and UpKuaJing Account\n\n- **API Key**: Stored in `~/.upkuajing/.env` file as `UPKUAJING_API_KEY`\n- **First check**: If not set, prompt user to provide or apply at [UpKuaJing Open Platform](https://developer.upkuajing.com/)\n\n### **API Key Not Set**\nFirst check if the `~/.upkuajing/.env` file has UPKUAJING_API_KEY;\nIf UPKUAJING_API_KEY is not set, prompt the user to choose:\n1. User has one: User provides it (manually add to ~/.upkuajing/.env file)\n2. User doesn't have one: Guide user to apply at [UpKuaJing Open Platform](https://developer.upkuajing.com/)\nWait for user selection;\n\n### **Account Top-up**\nWhen API response indicates insufficient balance, explain and guide user to top up:\n1. Create top-up order (`auth.py --new_rec_order`)\n2. Based on order response, send payment page URL to user, guide user to open URL and pay, user confirms after successful payment;\n\n### **Get Account Information**\nUse this script to get account information for UPKUAJING_API_KEY: `auth.py --account_info`\n\n## Fees\n\n**All validity check API calls incur fees**.\n**Latest pricing**: Users can visit [Detailed Price Description](https://www.upkuajing.com/web/openapi/price.html)\nOr use: `python scripts/auth.py --price_info` (returns complete pricing for all interfaces)\n\n### Fee Confirmation Principle\n\n**Any operation that incurs fees must first inform and wait for explicit user confirmation. Do not execute in the same message as the notification.**\n\n## Workflow\n\n### Decision Guide\n\n| User Intent | Use API |\n|-------------|---------|\n| \"Check if phone number is valid\" | Phone Validity Check |\n| \"Verify email address exists\" | Email Validity Check |\n| \"Check if domain is safe\" | Domain Validity Check |\n\n## Error Handling\n\n- **API key invalid/non-existent**: Check `UPKUAJING_API_KEY` in `~/.upkuajing/.env` file\n- **Insufficient balance**: Guide user to top up\n- **Invalid parameters**: **Must first check the corresponding API documentation in references/ directory**, get correct parameter names and formats from documentation, do not guess\n\n### API Documentation Reference\n\n- Phone Validity: Check [references/phone-api.md](references/phone-api.md)\n- Email Validity: Check [references/email-api.md](references/email-api.md)\n- Domain Validity: Check [references/domain-api.md](references/domain-api.md)\n\n## Notes\n\n- File paths use forward slashes on all platforms\n- **Do not guess parameter names**, get accurate parameter names and formats from documentation\n- **Prohibit outputting technical parameter format**: Do not display code-style parameters in responses, convert to natural language\n- **Do not estimate or guess fees** — use `python scripts/auth.py --price_info` to get accurate pricing information\n\n## Related Skills\n\nOther UpKuaJing skills you might find useful:\n\n- linkedin-person-search — Search people from the LinkedIn source\n- global-company-person-search — Search people from the global company database\n- linkedin-company-search — Search companies from the LinkedIn source\n- global-company-search — Search companies from the global company database\n- global-company-shareholder — Query shareholder list from the global company database\n- global-company-employee — Query employee list from the global company database\n- global-company-person-colleague — Query colleague list from the global company database\n- global-company-person-alumni — Query alumni list from the global company database\n- global-company-person-experience — Query work experience list from the global company database\n- global-company-person-education — Query education history list from the global company database\n- global-company-person-school-detail — Query school detail from the global company database\n- upkuajing-global-company-people-search — Global company and people search\n- upkuajing-customs-trade-company-search — Search customs trade companies\n- upkuajing-map-merchants-search — Map-based merchant search\n- upkuajing-email-tool — Send emails and manage email tasks\n- upkuajing-sms-tool — Send SMS and manage SMS tasks\n- upkuajing-contact-info-validity-check — Check contact info validity\n- phone-validity-check — Check phone number validity\n- email-validity-check — Check email address validity\n- domain-validity-check — Check domain validity and security\n\nFile v1.0.2:_meta.json\n\n{\n  \"ownerId\": \"kn76ywjzma121r2rh959ejsf49834c6x\",\n  \"slug\": \"upkuajing-contact-info-validity-check\",\n  \"version\": \"1.0.2\",\n  \"publishedAt\": 1784182155177\n}\n\nFile v1.0.2:references/domain-api.md\n\n# 域名有效性检测 API\n\n## 请求参数\n\n### Header\n- `Authorization`: Bearer Token (必填)\n\n### Body\n- `domains` (array): 域名列表\n\n## 响应字段\n\n### code\n- 类型: integer\n- 说明: 状态码\n\n### msg\n- 类型: string\n- 说明: 消息\n\n### data.list\n- 类型: array\n- 说明: 检测结果列表\n\n### data.list[].domain\n- 类型: string\n- 说明: 被检测的域名\n\n### data.list[].status\n- 类型: integer\n- 说明: '状态: 0-未知, 1-有效, 2-无效, 3-未知'\n\n### data.list[].reason\n- 类型: string\n- 说明: 无效原因\n\n### data.list[].isSensitive\n- 类型: integer\n- 说明: '是否敏感: 0-未知, 1-安全, 2-不安全'\n\n### data.total\n- 类型: integer\n- 说明: 总数量\n\n### fee.apiCost\n- 类型: integer\n- 说明: API消耗费用(分钱)\n\n### fee.accountBalance\n- 类型: integer\n- 说明: 账户余额(分钱)\n\nFile v1.0.2:references/email-api.md\n\n# 邮件有效性检测 API\n\n## 请求参数\n\n### Header\n- `Authorization`: Bearer Token (必填)\n\n### Body\n- `emails` (array): 邮箱地址列表\n\n## 响应字段\n\n### code\n- 类型: integer\n- 说明: 状态码\n\n### msg\n- 类型: string\n- 说明: 消息\n\n### data.list\n- 类型: array\n- 说明: 检测结果列表\n\n### data.list[].email\n- 类型: string\n- 说明: 被检测的邮箱地址\n\n### data.list[].status\n- 类型: integer\n- 说明: '状态: 0-未检测, 1-有效, 2-无效, 3-未知'\n\n### data.list[].reason\n- 类型: string\n- 说明: 无效原因\n\n### data.total\n- 类型: integer\n- 说明: 总数量\n\n### fee.apiCost\n- 类型: integer\n- 说明: API消耗费用(分钱)\n\n### fee.accountBalance\n- 类型: integer\n- 说明: 账户余额(分钱)\n\nFile v1.0.2:references/phone-api.md\n\n# 电话有效性检测 API\n\n## 请求参数\n\n### Header\n- `Authorization`: Bearer Token (必填)\n\n### Body\n- `phones` (array): 电话号码列表\n\n## 响应字段\n\n### code\n- 类型: integer\n- 说明: 状态码\n\n### msg\n- 类型: string\n- 说明: 消息\n\n### data.list\n- 类型: array\n- 说明: 检测结果列表\n\n### data.list[].phone\n- 类型: string\n- 说明: 被检测的电话号码\n\n### data.list[].status\n- 类型: integer\n- 说明: '状态: 0-未检测, 1-有效, 2-无效, 3-未知'\n\n### data.list[].reason\n- 类型: string\n- 说明: 无效原因\n\n### data.list[].phoneType\n- 类型: integer\n- 说明: '号码类型: 0-未检测, 1-座机, 2-手机, 3-未知'\n\n### data.list[].countryCode\n- 类型: string\n- 说明: 国家码\n\n### data.list[].isWs\n- 类型: integer\n- 说明: '是否WhatsApp: 0-未检测, 1-是, 2-否, 3-未知'\n\n### data.total\n- 类型: integer\n- 说明: 总数量\n\n### fee.apiCost\n- 类型: integer\n- 说明: API消耗费用(分钱)\n\n### fee.accountBalance\n- 类型: integer\n- 说明: 账户余额(分钱)\n\nFile v1.0.2:skill-card.md\n\n## Description: <br>\nVerify phone numbers, WhatsApp status, email addresses, and website domains to support contact-data cleansing, outreach preparation, and buyer verification. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[upkuajing](https://clawhub.ai/user/upkuajing) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users such as sales teams, recruiters, and exporters use this skill to check contact records before outreach, CRM cleanup, candidate screening, and supplier or buyer verification. It routes phone, email, and domain checks through the UpKuaJing Open Platform API and returns validation results with fee information. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Contact details submitted for validation are sent to the UpKuaJing API. <br>\nMitigation: Use the skill only for contact lists approved for third-party API processing, and avoid regulated or sensitive datasets unless approval is in place. <br>\nRisk: The UPKUAJING_API_KEY grants access to paid API operations and should be treated as sensitive. <br>\nMitigation: Store the API key in the documented environment variable or local env file with appropriate access controls, rotate it when needed, and avoid sharing it in prompts, logs, or tickets. <br>\nRisk: Validity checks can incur fees. <br>\nMitigation: Confirm cost-bearing operations before execution and use the published pricing page or price-info command for current pricing. <br>\nRisk: The dependency declaration allows unpinned httpx versions. <br>\nMitigation: Pin and review dependencies in controlled production environments. <br>\n\n\n## Reference(s): <br>\n- [Phone Validity API](references/phone-api.md) <br>\n- [Email Validity API](references/email-api.md) <br>\n- [Domain Validity API](references/domain-api.md) <br>\n- [UpKuaJing Homepage](https://www.upkuajing.com) <br>\n- [UpKuaJing Open Platform](https://developer.upkuajing.com/) <br>\n- [UpKuaJing API Pricing](https://www.upkuajing.com/web/openapi/price.html) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [JSON, Shell commands, Guidance] <br>\n**Output Format:** [Markdown guidance with Python command examples and formatted JSON command output] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Validation command output includes a total count, result list, and fee information when returned by the API.] <br>\n\n## Skill Version(s): <br>\n1.0.2 (source: release evidence and skill metadata) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v1.0.2:requirements.txt\n\nhttpx>=0.23.0\n\nArchive v1.0.1: 13 files, 18101 bytes\n\nFiles: references/domain-api.md (846b), references/email-api.md (754b), references/phone-api.md (1037b), requirements.txt (14b), scripts/auth.py (5837b), scripts/common.py (14567b), scripts/domain_validity_check.py (1973b), scripts/email_validity_check.py (1968b), scripts/phone_validity_check.py (2024b), scripts/version_check.py (4933b), skill-card.md (2840b), SKILL.md (5838b), _meta.json (156b)\n\nFile v1.0.1:SKILL.md\n\n---\nname: upkuajing-contact-info-validity-check\ndescription: Official skill for upkuajing (跨境魔方). Check the validity of contact information including phone numbers, email addresses, and domains. Returns status, type, and additional metadata for each contact.\nmetadata: {\"version\":\"1.0.1\",\"homepage\":\"https://www.upkuajing.com\",\"clawdbot\":{\"emoji\":\"📞\",\"requires\":{\"bins\":[\"python\"],\"env\":[\"UPKUAJING_API_KEY\"]},\"primaryEnv\":\"UPKUAJING_API_KEY\"}}\n---\n\n# UpKuaJing Contact Info Validity Check\n\nCheck the validity of contact information using the UpKuaJing Open Platform API. This skill provides three detection interfaces: phone validity, email validity, and domain validity.\n\n## Overview\n\nThis skill provides access to UpKuaJing's contact validity detection through:\n- **Phone Validity Check** (`phone_validity_check.py`): Check phone number validity, type, and WhatsApp status\n- **Email Validity Check** (`email_validity_check.py`): Check email address validity\n- **Domain Validity Check** (`domain_validity_check.py`): Check domain validity and security\n\n## Running Scripts\n\n### Environment Setup\n\n1. **Check Python**: `python --version`\n2. **Install dependencies**: `pip install -r requirements.txt`\n\nScript directory: `scripts/*.py`\nRun example: `python scripts/*.py`\n\n**Important**: Always use direct script invocation like `python scripts/phone_validity_check.py`. **Do NOT use** shell compound commands like `cd scripts && python phone_validity_check.py`.\n\n## Three Detection APIs\n\n### Phone Validity Check (`phone_validity_check.py`)\n\nCheck phone number validity, type, and WhatsApp status.\n\n**Parameters**: See [Phone Validity API](references/phone-api.md)\n\n**Examples**:\n```bash\n# Check single phone number\npython scripts/phone_validity_check.py --phones \"+8613812345678\"\n\n# Check multiple phone numbers\npython scripts/phone_validity_check.py --phones \"+8613812345678 +14155551234 +442071234567\"\n```\n\n### Email Validity Check (`email_validity_check.py`)\n\nCheck email address validity.\n\n**Parameters**: See [Email Validity API](references/email-api.md)\n\n**Examples**:\n```bash\n# Check single email\npython scripts/email_validity_check.py --emails \"test@example.com\"\n\n# Check multiple emails\npython scripts/email_validity_check.py --emails \"test@example.com valid@gmail.com invalid-email\"\n```\n\n### Domain Validity Check (`domain_validity_check.py`)\n\nCheck domain validity and security status.\n\n**Parameters**: See [Domain Validity API](references/domain-api.md)\n\n**Examples**:\n```bash\n# Check single domain\npython scripts/domain_validity_check.py --domains \"google.com\"\n\n# Check multiple domains\npython scripts/domain_validity_check.py --domains \"google.com fake-domain-xyz123456.com github.com\"\n```\n\n## API Key and UpKuaJing Account\n\n- **API Key**: Stored in `~/.upkuajing/.env` file as `UPKUAJING_API_KEY`\n- **First check**: If not set, prompt user to provide or apply at [UpKuaJing Open Platform](https://developer.upkuajing.com/)\n\n### **API Key Not Set**\nFirst check if the `~/.upkuajing/.env` file has UPKUAJING_API_KEY;\nIf UPKUAJING_API_KEY is not set, prompt the user to choose:\n1. User has one: User provides it (manually add to ~/.upkuajing/.env file)\n2. User doesn't have one: Guide user to apply at [UpKuaJing Open Platform](https://developer.upkuajing.com/)\nWait for user selection;\n\n### **Account Top-up**\nWhen API response indicates insufficient balance, explain and guide user to top up:\n1. Create top-up order (`auth.py --new_rec_order`)\n2. Based on order response, send payment page URL to user, guide user to open URL and pay, user confirms after successful payment;\n\n### **Get Account Information**\nUse this script to get account information for UPKUAJING_API_KEY: `auth.py --account_info`\n\n## Fees\n\n**All validity check API calls incur fees**.\n**Latest pricing**: Users can visit [Detailed Price Description](https://www.upkuajing.com/web/openapi/price.html)\nOr use: `python scripts/auth.py --price_info` (returns complete pricing for all interfaces)\n\n### Fee Confirmation Principle\n\n**Any operation that incurs fees must first inform and wait for explicit user confirmation. Do not execute in the same message as the notification.**\n\n## Workflow\n\n### Decision Guide\n\n| User Intent | Use API |\n|-------------|---------|\n| \"Check if phone number is valid\" | Phone Validity Check |\n| \"Verify email address exists\" | Email Validity Check |\n| \"Check if domain is safe\" | Domain Validity Check |\n\n## Error Handling\n\n- **API key invalid/non-existent**: Check `UPKUAJING_API_KEY` in `~/.upkuajing/.env` file\n- **Insufficient balance**: Guide user to top up\n- **Invalid parameters**: **Must first check the corresponding API documentation in references/ directory**, get correct parameter names and formats from documentation, do not guess\n\n### API Documentation Reference\n\n- Phone Validity: Check [references/phone-api.md](references/phone-api.md)\n- Email Validity: Check [references/email-api.md](references/email-api.md)\n- Domain Validity: Check [references/domain-api.md](references/domain-api.md)\n\n## Notes\n\n- File paths use forward slashes on all platforms\n- **Do not guess parameter names**, get accurate parameter names and formats from documentation\n- **Prohibit outputting technical parameter format**: Do not display code-style parameters in responses, convert to natural language\n- **Do not estimate or guess fees** — use `python scripts/auth.py --price_info` to get accurate pricing information\n\n## Related Skills\n\nOther UpKuaJing skills you might find useful:\n\n- upkuajing-global-company-people-search — Global company and people search\n- upkuajing-customs-trade-company-search — Search customs trade companies\n- upkuajing-map-merchants-search — Map-based merchant search\n- upkuajing-email-tool — Send emails and manage email tasks\n- upkuajing-sms-tool — Send SMS and manage SMS tasks\n\nFile v1.0.1:_meta.json\n\n{\n  \"ownerId\": \"kn76ywjzma121r2rh959ejsf49834c6x\",\n  \"slug\": \"upkuajing-contact-info-validity-check\",\n  \"version\": \"1.0.1\",\n  \"publishedAt\": 1783310725171\n}\n\nFile v1.0.1:references/domain-api.md\n\n# 域名有效性检测 API\n\n## 请求参数\n\n### Header\n- `Authorization`: Bearer Token (必填)\n\n### Body\n- `domains` (array): 域名列表\n\n## 响应字段\n\n### code\n- 类型: integer\n- 说明: 状态码\n\n### msg\n- 类型: string\n- 说明: 消息\n\n### data.list\n- 类型: array\n- 说明: 检测结果列表\n\n### data.list[].domain\n- 类型: string\n- 说明: 被检测的域名\n\n### data.list[].status\n- 类型: integer\n- 说明: '状态: 0-未知, 1-有效, 2-无效, 3-未知'\n\n### data.list[].reason\n- 类型: string\n- 说明: 无效原因\n\n### data.list[].isSensitive\n- 类型: integer\n- 说明: '是否敏感: 0-未知, 1-安全, 2-不安全'\n\n### data.total\n- 类型: integer\n- 说明: 总数量\n\n### fee.apiCost\n- 类型: integer\n- 说明: API消耗费用(分钱)\n\n### fee.accountBalance\n- 类型: integer\n- 说明: 账户余额(分钱)\n\nFile v1.0.1:references/email-api.md\n\n# 邮件有效性检测 API\n\n## 请求参数\n\n### Header\n- `Authorization`: Bearer Token (必填)\n\n### Body\n- `emails` (array): 邮箱地址列表\n\n## 响应字段\n\n### code\n- 类型: integer\n- 说明: 状态码\n\n### msg\n- 类型: string\n- 说明: 消息\n\n### data.list\n- 类型: array\n- 说明: 检测结果列表\n\n### data.list[].email\n- 类型: string\n- 说明: 被检测的邮箱地址\n\n### data.list[].status\n- 类型: integer\n- 说明: '状态: 0-未检测, 1-有效, 2-无效, 3-未知'\n\n### data.list[].reason\n- 类型: string\n- 说明: 无效原因\n\n### data.total\n- 类型: integer\n- 说明: 总数量\n\n### fee.apiCost\n- 类型: integer\n- 说明: API消耗费用(分钱)\n\n### fee.accountBalance\n- 类型: integer\n- 说明: 账户余额(分钱)\n\nFile v1.0.1:references/phone-api.md\n\n# 电话有效性检测 API\n\n## 请求参数\n\n### Header\n- `Authorization`: Bearer Token (必填)\n\n### Body\n- `phones` (array): 电话号码列表\n\n## 响应字段\n\n### code\n- 类型: integer\n- 说明: 状态码\n\n### msg\n- 类型: string\n- 说明: 消息\n\n### data.list\n- 类型: array\n- 说明: 检测结果列表\n\n### data.list[].phone\n- 类型: string\n- 说明: 被检测的电话号码\n\n### data.list[].status\n- 类型: integer\n- 说明: '状态: 0-未检测, 1-有效, 2-无效, 3-未知'\n\n### data.list[].reason\n- 类型: string\n- 说明: 无效原因\n\n### data.list[].phoneType\n- 类型: integer\n- 说明: '号码类型: 0-未检测, 1-座机, 2-手机, 3-未知'\n\n### data.list[].countryCode\n- 类型: string\n- 说明: 国家码\n\n### data.list[].isWs\n- 类型: integer\n- 说明: '是否WhatsApp: 0-未检测, 1-是, 2-否, 3-未知'\n\n### data.total\n- 类型: integer\n- 说明: 总数量\n\n### fee.apiCost\n- 类型: integer\n- 说明: API消耗费用(分钱)\n\n### fee.accountBalance\n- 类型: integer\n- 说明: 账户余额(分钱)\n\nFile v1.0.1:skill-card.md\n\n## Description: <br>\nOfficial UpKuaJing (跨境魔方) skill for checking the validity of phone numbers, email addresses, and domains and returning status, type, and additional metadata for each contact. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[upkuajing](https://clawhub.ai/user/upkuajing) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users, sales teams, recruiters, traders, and operators use this skill to validate phone numbers, email addresses, and domains for B2B lead qualification, CRM data cleaning, candidate screening, supplier verification, and outreach preparation. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Phone numbers, email addresses, and domains are sent to UpKuaJing's remote API for validation. <br>\nMitigation: Use the skill only with contact data approved for this service and review privacy requirements before submitting data. <br>\nRisk: Validity checks are paid API calls and may require account top-up. <br>\nMitigation: Confirm fees before running billable checks and review payment URLs before completing top-up. <br>\nRisk: The UPKUAJING_API_KEY credential is stored locally and controls access to the paid API. <br>\nMitigation: Keep the API key file private, restrict local file access, and rotate the key if exposure is suspected. <br>\nRisk: Raw API logging can retain submitted contact data locally if enabled. <br>\nMitigation: Leave raw API logging disabled unless local retention is intentional and governed. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/upkuajing/skills/upkuajing-contact-info-validity-check) <br>\n- [UpKuaJing homepage](https://www.upkuajing.com) <br>\n- [UpKuaJing Open Platform](https://developer.upkuajing.com/) <br>\n- [Detailed price description](https://www.upkuajing.com/web/openapi/price.html) <br>\n- [Phone Validity API](references/phone-api.md) <br>\n- [Email Validity API](references/email-api.md) <br>\n- [Domain Validity API](references/domain-api.md) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown guidance with shell command examples and JSON API results] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Requires Python and UPKUAJING_API_KEY; API calls are paid and send submitted contact data to UpKuaJing's remote API.] <br>\n\n## Skill Version(s): <br>\n1.0.1 (source: release evidence and SKILL.md metadata) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v1.0.1:requirements.txt\n\nhttpx>=0.23.0\n\nArchive v1.0.0: 13 files, 18120 bytes\n\nFiles: references/domain-api.md (846b), references/email-api.md (754b), references/phone-api.md (1037b), requirements.txt (14b), scripts/auth.py (5813b), scripts/common.py (14567b), scripts/domain_validity_check.py (1967b), scripts/email_validity_check.py (1962b), scripts/phone_validity_check.py (2018b), scripts/version_check.py (4927b), skill-card.md (2905b), SKILL.md (5838b), _meta.json (156b)\n\nFile v1.0.0:SKILL.md\n\n---\nname: upkuajing-contact-info-validity-check\ndescription: Official skill for upkuajing (跨境魔方). Check the validity of contact information including phone numbers, email addresses, and domains. Returns status, type, and additional metadata for each contact.\nmetadata: {\"version\":\"1.0.0\",\"homepage\":\"https://www.upkuajing.com\",\"clawdbot\":{\"emoji\":\"📞\",\"requires\":{\"bins\":[\"python\"],\"env\":[\"UPKUAJING_API_KEY\"]},\"primaryEnv\":\"UPKUAJING_API_KEY\"}}\n---\n\n# UpKuaJing Contact Info Validity Check\n\nCheck the validity of contact information using the UpKuaJing Open Platform API. This skill provides three detection interfaces: phone validity, email validity, and domain validity.\n\n## Overview\n\nThis skill provides access to UpKuaJing's contact validity detection through:\n- **Phone Validity Check** (`phone_validity_check.py`): Check phone number validity, type, and WhatsApp status\n- **Email Validity Check** (`email_validity_check.py`): Check email address validity\n- **Domain Validity Check** (`domain_validity_check.py`): Check domain validity and security\n\n## Running Scripts\n\n### Environment Setup\n\n1. **Check Python**: `python --version`\n2. **Install dependencies**: `pip install -r requirements.txt`\n\nScript directory: `scripts/*.py`\nRun example: `python scripts/*.py`\n\n**Important**: Always use direct script invocation like `python scripts/phone_validity_check.py`. **Do NOT use** shell compound commands like `cd scripts && python phone_validity_check.py`.\n\n## Three Detection APIs\n\n### Phone Validity Check (`phone_validity_check.py`)\n\nCheck phone number validity, type, and WhatsApp status.\n\n**Parameters**: See [Phone Validity API](references/phone-api.md)\n\n**Examples**:\n```bash\n# Check single phone number\npython scripts/phone_validity_check.py --phones \"+8613812345678\"\n\n# Check multiple phone numbers\npython scripts/phone_validity_check.py --phones \"+8613812345678 +14155551234 +442071234567\"\n```\n\n### Email Validity Check (`email_validity_check.py`)\n\nCheck email address validity.\n\n**Parameters**: See [Email Validity API](references/email-api.md)\n\n**Examples**:\n```bash\n# Check single email\npython scripts/email_validity_check.py --emails \"test@example.com\"\n\n# Check multiple emails\npython scripts/email_validity_check.py --emails \"test@example.com valid@gmail.com invalid-email\"\n```\n\n### Domain Validity Check (`domain_validity_check.py`)\n\nCheck domain validity and security status.\n\n**Parameters**: See [Domain Validity API](references/domain-api.md)\n\n**Examples**:\n```bash\n# Check single domain\npython scripts/domain_validity_check.py --domains \"google.com\"\n\n# Check multiple domains\npython scripts/domain_validity_check.py --domains \"google.com fake-domain-xyz123456.com github.com\"\n```\n\n## API Key and UpKuaJing Account\n\n- **API Key**: Stored in `~/.upkuajing/.env` file as `UPKUAJING_API_KEY`\n- **First check**: If not set, prompt user to provide or apply at [UpKuaJing Open Platform](https://developer.upkuajing.com/)\n\n### **API Key Not Set**\nFirst check if the `~/.upkuajing/.env` file has UPKUAJING_API_KEY;\nIf UPKUAJING_API_KEY is not set, prompt the user to choose:\n1. User has one: User provides it (manually add to ~/.upkuajing/.env file)\n2. User doesn't have one: Guide user to apply at [UpKuaJing Open Platform](https://developer.upkuajing.com/)\nWait for user selection;\n\n### **Account Top-up**\nWhen API response indicates insufficient balance, explain and guide user to top up:\n1. Create top-up order (`auth.py --new_rec_order`)\n2. Based on order response, send payment page URL to user, guide user to open URL and pay, user confirms after successful payment;\n\n### **Get Account Information**\nUse this script to get account information for UPKUAJING_API_KEY: `auth.py --account_info`\n\n## Fees\n\n**All validity check API calls incur fees**.\n**Latest pricing**: Users can visit [Detailed Price Description](https://www.upkuajing.com/web/openapi/price.html)\nOr use: `python scripts/auth.py --price_info` (returns complete pricing for all interfaces)\n\n### Fee Confirmation Principle\n\n**Any operation that incurs fees must first inform and wait for explicit user confirmation. Do not execute in the same message as the notification.**\n\n## Workflow\n\n### Decision Guide\n\n| User Intent | Use API |\n|-------------|---------|\n| \"Check if phone number is valid\" | Phone Validity Check |\n| \"Verify email address exists\" | Email Validity Check |\n| \"Check if domain is safe\" | Domain Validity Check |\n\n## Error Handling\n\n- **API key invalid/non-existent**: Check `UPKUAJING_API_KEY` in `~/.upkuajing/.env` file\n- **Insufficient balance**: Guide user to top up\n- **Invalid parameters**: **Must first check the corresponding API documentation in references/ directory**, get correct parameter names and formats from documentation, do not guess\n\n### API Documentation Reference\n\n- Phone Validity: Check [references/phone-api.md](references/phone-api.md)\n- Email Validity: Check [references/email-api.md](references/email-api.md)\n- Domain Validity: Check [references/domain-api.md](references/domain-api.md)\n\n## Notes\n\n- File paths use forward slashes on all platforms\n- **Do not guess parameter names**, get accurate parameter names and formats from documentation\n- **Prohibit outputting technical parameter format**: Do not display code-style parameters in responses, convert to natural language\n- **Do not estimate or guess fees** — use `python scripts/auth.py --price_info` to get accurate pricing information\n\n## Related Skills\n\nOther UpKuaJing skills you might find useful:\n\n- upkuajing-global-company-people-search — Global company and people search\n- upkuajing-customs-trade-company-search — Search customs trade companies\n- upkuajing-map-merchants-search — Map-based merchant search\n- upkuajing-email-tool — Send emails and manage email tasks\n- upkuajing-sms-tool — Send SMS and manage SMS tasks\n\nFile v1.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn76ywjzma121r2rh959ejsf49834c6x\",\n  \"slug\": \"upkuajing-contact-info-validity-check\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1776426086553\n}\n\nFile v1.0.0:references/domain-api.md\n\n# 域名有效性检测 API\n\n## 请求参数\n\n### Header\n- `Authorization`: Bearer Token (必填)\n\n### Body\n- `domains` (array): 域名列表\n\n## 响应字段\n\n### code\n- 类型: integer\n- 说明: 状态码\n\n### msg\n- 类型: string\n- 说明: 消息\n\n### data.list\n- 类型: array\n- 说明: 检测结果列表\n\n### data.list[].domain\n- 类型: string\n- 说明: 被检测的域名\n\n### data.list[].status\n- 类型: integer\n- 说明: '状态: 0-未知, 1-有效, 2-无效, 3-未知'\n\n### data.list[].reason\n- 类型: string\n- 说明: 无效原因\n\n### data.list[].isSensitive\n- 类型: integer\n- 说明: '是否敏感: 0-未知, 1-安全, 2-不安全'\n\n### data.total\n- 类型: integer\n- 说明: 总数量\n\n### fee.apiCost\n- 类型: integer\n- 说明: API消耗费用(分钱)\n\n### fee.accountBalance\n- 类型: integer\n- 说明: 账户余额(分钱)\n\nFile v1.0.0:references/email-api.md\n\n# 邮件有效性检测 API\n\n## 请求参数\n\n### Header\n- `Authorization`: Bearer Token (必填)\n\n### Body\n- `emails` (array): 邮箱地址列表\n\n## 响应字段\n\n### code\n- 类型: integer\n- 说明: 状态码\n\n### msg\n- 类型: string\n- 说明: 消息\n\n### data.list\n- 类型: array\n- 说明: 检测结果列表\n\n### data.list[].email\n- 类型: string\n- 说明: 被检测的邮箱地址\n\n### data.list[].status\n- 类型: integer\n- 说明: '状态: 0-未检测, 1-有效, 2-无效, 3-未知'\n\n### data.list[].reason\n- 类型: string\n- 说明: 无效原因\n\n### data.total\n- 类型: integer\n- 说明: 总数量\n\n### fee.apiCost\n- 类型: integer\n- 说明: API消耗费用(分钱)\n\n### fee.accountBalance\n- 类型: integer\n- 说明: 账户余额(分钱)\n\nFile v1.0.0:references/phone-api.md\n\n# 电话有效性检测 API\n\n## 请求参数\n\n### Header\n- `Authorization`: Bearer Token (必填)\n\n### Body\n- `phones` (array): 电话号码列表\n\n## 响应字段\n\n### code\n- 类型: integer\n- 说明: 状态码\n\n### msg\n- 类型: string\n- 说明: 消息\n\n### data.list\n- 类型: array\n- 说明: 检测结果列表\n\n### data.list[].phone\n- 类型: string\n- 说明: 被检测的电话号码\n\n### data.list[].status\n- 类型: integer\n- 说明: '状态: 0-未检测, 1-有效, 2-无效, 3-未知'\n\n### data.list[].reason\n- 类型: string\n- 说明: 无效原因\n\n### data.list[].phoneType\n- 类型: integer\n- 说明: '号码类型: 0-未检测, 1-座机, 2-手机, 3-未知'\n\n### data.list[].countryCode\n- 类型: string\n- 说明: 国家码\n\n### data.list[].isWs\n- 类型: integer\n- 说明: '是否WhatsApp: 0-未检测, 1-是, 2-否, 3-未知'\n\n### data.total\n- 类型: integer\n- 说明: 总数量\n\n### fee.apiCost\n- 类型: integer\n- 说明: API消耗费用(分钱)\n\n### fee.accountBalance\n- 类型: integer\n- 说明: 账户余额(分钱)\n\nFile v1.0.0:skill-card.md\n\n## Description: <br>\nChecks phone numbers, email addresses, and domains through UpKuaJing's contact validity APIs and returns status, type, and related metadata for each contact. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[upkuajing](https://clawhub.ai/user/upkuajing) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nSales teams, recruiters, traders, and data operations users can validate contact records before outreach, CRM cleanup, candidate screening, and supplier verification. The skill is intended for external API-backed contact validation workflows that may incur fees. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill sends phone numbers, email addresses, and domains to UpKuaJing's external API for validation. <br>\nMitigation: Use it only when contact data may be shared with UpKuaJing and avoid submitting data that violates privacy, contractual, or regulatory requirements. <br>\nRisk: Validation and account helper actions use a paid API and may create top-up or usage charges. <br>\nMitigation: Confirm current pricing with the provided pricing command or pricing page and obtain explicit user confirmation before fee-incurring checks or top-up actions. <br>\nRisk: The API key can be stored in ~/.upkuajing/.env and is required for authenticated requests. <br>\nMitigation: Protect the local credentials file, restrict access to the environment variable, and rotate the key if it may have been exposed. <br>\nRisk: The skill performs a limited daily version-check request to the UpKuaJing API service. <br>\nMitigation: Account for this outbound request in environments with strict network or telemetry policies. <br>\n\n\n## Reference(s): <br>\n- [Phone Validity API](references/phone-api.md) <br>\n- [Email Validity API](references/email-api.md) <br>\n- [Domain Validity API](references/domain-api.md) <br>\n- [UpKuaJing Homepage](https://www.upkuajing.com) <br>\n- [UpKuaJing Developer Platform](https://developer.upkuajing.com/) <br>\n- [UpKuaJing OpenAPI Pricing](https://www.upkuajing.com/web/openapi/price.html) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown guidance with shell commands and JSON API result summaries] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Validation results include totals, per-contact result objects, and fee information when returned by the API.] <br>\n\n## Skill Version(s): <br>\n1.0.0 (source: release evidence and SKILL.md metadata) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v1.0.0:requirements.txt\n\nhttpx>=0.23.0","readmeExcerpt":"Skill: Full contact data validation eliminates inaccurate lead information for global B2B prospecting. Run multi-dimensional phone checks to distinguish valid/invalidnumbers, landlines, mobile lines and WhatsApp registered accounts. Complete email authentication to flag active and dormant mailboxes, alongside domainvalidation to confirm functional or defunct business websites. Streamline email validation, phone valid","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"# Check single phone number\npython scripts/phone_validity_check.py --phones \"+8613812345678\"\n\n# Check multiple phone numbers\npython scripts/phone_validity_check.py --phones \"+8613812345678 +14155551234 +442071234567\""},{"language":"bash","snippet":"# Check single email\npython scripts/email_validity_check.py --emails \"test@example.com\"\n\n# Check multiple emails\npython scripts/email_validity_check.py --emails \"test@example.com valid@gmail.com invalid-email\""},{"language":"bash","snippet":"# Check single domain\npython scripts/domain_validity_check.py --domains \"google.com\"\n\n# Check multiple domains\npython scripts/domain_validity_check.py --domains \"google.com fake-domain-xyz123456.com github.com\""},{"language":"bash","snippet":"python scripts/error_report.py --params '{\"requestPath\":\"/agent/validation/email\",\"requestId\":\"f47ac10b58cc4372a5670e02b2c3d479\",\"context\":\"Contact validity check failed with a server error\"}'"},{"language":"bash","snippet":"# Check single phone number\npython scripts/phone_validity_check.py --phones \"+8613812345678\"\n\n# Check multiple phone numbers\npython scripts/phone_validity_check.py --phones \"+8613812345678 +14155551234 +442071234567\""},{"language":"bash","snippet":"# Check single email\npython scripts/email_validity_check.py --emails \"test@example.com\"\n\n# Check multiple emails\npython scripts/email_validity_check.py --emails \"test@example.com valid@gmail.com invalid-email\""}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: upkuajing-contact-info-validity-check\ndescription: \"Verify phone numbers, WhatsApp status, emails and website domains. Cut email bounce rates through CRM data cleansing. Help exporters and recruiters clean contact lists before cold‑email sending and buyer verification.\\n\\nTrigger: email validation, phone number checker, WhatsApp status verify, domain verification, CRM data cleansing, email list scrubbing, reduce email bounce rate\"\nmetadata: {\"version\":\"1.0.4\",\"homepage\":\"https://www.upkuajing.com\",\"clawdbot\":{\"emoji\":\"📞\",\"requires\":{\"bins\":[\"python\"],\"env\":[\"UPKUAJING_API_KEY\"]},\"primaryEnv\":\"UPKUAJING_API_KEY\"}}\n---\n\n# UpKuaJing Contact Info Validity Check\n\nCheck the validity of contact information using the UpKuaJing Open Platform API. This skill provides three detection interfaces: phone validity, email validity, and domain validity.\n\n## Overview\n\nThis skill provides access to UpKuaJing's contact validity detection through:\n- **Phone Validity Check** (`phone_validity_check.py`): Check phone number validity, type, and WhatsApp status\n- **Email Validity Check** (`email_validity_check.py`): Check email address validity\n- **Domain Validity Check** (`domain_validity_check.py`): Check domain validity and security\n\n## Running Scripts\n\n### Environment Setup\n\n1. **Check Python**: `python --version`\n2. **Install dependencies**: `pip install -r requirements.txt`\n\nScript directory: `scripts/*.py`\nRun example: `python scripts/*.py`\n\n**Important**: Always use direct script invocation like `python scripts/phone_validity_check.py`. **Do NOT use** shell compound commands like `cd scripts && python phone_validity_check.py`.\n\n## Three Detection APIs\n\n### Phone Validity Check (`phone_validity_check.py`)\n\nCheck phone number validity, type, and WhatsApp status.\n\n**Parameters**: See [Phone Validity API](references/phone-api.md)\n\n**Examples**:\n```bash\n# Check single phone number\npython scripts/phone_validity_check.py --phones \"+8613812345678\"\n\n# Check multiple phone numbers\npython scripts/phone_validity_check.py --phones \"+8613812345678 +14155551234 +442071234567\"\n```\n\n### Email Validity Check (`email_validity_check.py`)\n\nCheck email address validity.\n\n**Parameters**: See [Email Validity API](references/email-api.md)\n\n**Examples**:\n```bash\n# Check single email\npython scripts/email_validity_check.py --emails \"test@example.com\"\n\n# Check multiple emails\npython scripts/email_validity_check.py --emails \"test@example.com valid@gmail.com invalid-email\"\n```\n\n### Domain Validity Check (`domain_validity_check.py`)\n\nCheck domain validity and security status.\n\n**Parameters**: See [Domain Validity API](references/domain-api.md)\n\n**Examples**:\n```bash\n# Check single domain\npython scripts/domain_validity_check.py --domains \"google.com\"\n\n# Check multiple domains\npython scripts/domain_validity_check.py --domains \"google.com fake-domain-xyz123456.com github.com\"\n```\n\n## API Key and UpKuaJing Account\n\n- **API Key**: Stored in `~/.upkuajing/.env` file as `UPKUAJING_API_KEY`\n-"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn76ywjzma121r2rh959ejsf49834c6x\",\n  \"slug\": \"upkuajing-contact-info-validity-check\",\n  \"version\": \"1.0.4\",\n  \"publishedAt\": 1787562468764\n}"},{"path":"references/domain-api.md","content":"# 域名有效性检测 API\n\n## 请求参数\n\n### Header\n- `Authorization`: Bearer Token (必填)\n\n### Body\n- `domains` (array): 域名列表\n\n## 响应字段\n\n### code\n- 类型: integer\n- 说明: 状态码\n\n### msg\n- 类型: string\n- 说明: 消息\n\n### data.list\n- 类型: array\n- 说明: 检测结果列表\n\n### data.list[].domain\n- 类型: string\n- 说明: 被检测的域名\n\n### data.list[].status\n- 类型: integer\n- 说明: '状态: 0-未知, 1-有效, 2-无效, 3-未知'\n\n### data.list[].reason\n- 类型: string\n- 说明: 无效原因\n\n### data.list[].isSensitive\n- 类型: integer\n- 说明: '是否敏感: 0-未知, 1-安全, 2-不安全'\n\n### data.total\n- 类型: integer\n- 说明: 总数量\n\n### fee.apiCost\n- 类型: integer\n- 说明: API消耗费用(分钱)\n\n### fee.accountBalance\n- 类型: integer\n- 说明: 账户余额(分钱)"},{"path":"references/email-api.md","content":"# 邮件有效性检测 API\n\n## 请求参数\n\n### Header\n- `Authorization`: Bearer Token (必填)\n\n### Body\n- `emails` (array): 邮箱地址列表\n\n## 响应字段\n\n### code\n- 类型: integer\n- 说明: 状态码\n\n### msg\n- 类型: string\n- 说明: 消息\n\n### data.list\n- 类型: array\n- 说明: 检测结果列表\n\n### data.list[].email\n- 类型: string\n- 说明: 被检测的邮箱地址\n\n### data.list[].status\n- 类型: integer\n- 说明: '状态: 0-未检测, 1-有效, 2-无效, 3-未知'\n\n### data.list[].reason\n- 类型: string\n- 说明: 无效原因\n\n### data.total\n- 类型: integer\n- 说明: 总数量\n\n### fee.apiCost\n- 类型: integer\n- 说明: API消耗费用(分钱)\n\n### fee.accountBalance\n- 类型: integer\n- 说明: 账户余额(分钱)"},{"path":"references/phone-api.md","content":"# 电话有效性检测 API\n\n## 请求参数\n\n### Header\n- `Authorization`: Bearer Token (必填)\n\n### Body\n- `phones` (array): 电话号码列表\n\n## 响应字段\n\n### code\n- 类型: integer\n- 说明: 状态码\n\n### msg\n- 类型: string\n- 说明: 消息\n\n### data.list\n- 类型: array\n- 说明: 检测结果列表\n\n### data.list[].phone\n- 类型: string\n- 说明: 被检测的电话号码\n\n### data.list[].status\n- 类型: integer\n- 说明: '状态: 0-未检测, 1-有效, 2-无效, 3-未知'\n\n### data.list[].reason\n- 类型: string\n- 说明: 无效原因\n\n### data.list[].phoneType\n- 类型: integer\n- 说明: '号码类型: 0-未检测, 1-座机, 2-手机, 3-未知'\n\n### data.list[].countryCode\n- 类型: string\n- 说明: 国家码\n\n### data.list[].isWs\n- 类型: integer\n- 说明: '是否WhatsApp: 0-未检测, 1-是, 2-否, 3-未知'\n\n### data.total\n- 类型: integer\n- 说明: 总数量\n\n### fee.apiCost\n- 类型: integer\n- 说明: API消耗费用(分钱)\n\n### fee.accountBalance\n- 类型: integer\n- 说明: 账户余额(分钱)"}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":null,"editorialQuality":{"score":100,"threshold":65,"status":"thin","wordCount":1155,"uniquenessScore":33,"reasons":["uniqueness-below-45"]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-10T10:29:41.948Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-10T10:29:41.948Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T13:33:25.486Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}