Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,539Letters: 14Defects: 1,323counted 1 min ago
teppi

Server definition

Hash
sha256:e78982ff16edf400f0b766d329968074cad4c2530d0217efd4da548232b93ce3
What it is
What a remote MCP server returned when asked what it offers: 20 tools

The blob, as servednamed by its sha256

{ "instructions": "Company & Signal Intelligence. 19 pay-per-call tools plus one free tool, `pricing_info`.\nEvery other tool charges per call: USDC on base over x402. Attach the signed payment payload as a plain JSON object in params._meta[\"x402/payment\"] of the tools/call request. Without it the call is answered with isError:true and the payment requirements in structuredContent, and nothing is run or charged.\n`pricing_info` is free, needs no wallet, and returns every tool's price, the payTo address, the network and the scheme — call it first. Each tool's price is also in its own description.\nA settled call is final: settlement is an on-chain transfer and cannot be reversed, so treat each tools/call as a purchase, not as a retryable read. Questions, or evaluating this server without a wallet: [email protected]", "tools": [ { "description": "Pull every open role a company is hiring for from its public job board (Greenhouse, Lever, Ashby) and turn it into a buying/expansion signal: role count, which functions are growing (sales, engineering, marketing), remote share and what's new. No login, no scraping, no proxies. — $0.01/call, x402 (USDC on base).", "inputSchema": { "properties": { "companies": { "description": "One entry per company. Best form is `provider:token` — e.g. `greenhouse:stripe`, `lever:spotify`, `ashby:ramp`. The token is the company's slug on its job board (the part in the careers URL). A bare token like `stripe` auto-detects the provider.", "editor": "stringList", "maxItems": 100, "prefill": [ "greenhouse:stripe", "lever:spotify", "ashby:ramp" ], "title": "Companies (ATS tokens)", "type": "array" }, "keywords": { "description": "Highlight roles whose title, department or function contains any of these words (e.g. `sales`, `marketing`, `growth`). Matched roles are returned separately in `matchedRoles`.", "editor": "stringList", "maxItems": 100, "prefill": [ "sales", "marketing" ], "title": "Role keywords (optional)", "type": "array" }, "maxConcurrency": { "default": 8, "description": "How many companies to check in parallel.", "maximum": 30, "minimum": 1, "title": "Max concurrency", "type": "integer" }, "newWindowDays": { "default": 30, "description": "A role counts as new if it was first published within this many days.", "maximum": 365, "minimum": 1, "title": "\"New role\" window (days)", "type": "integer" } }, "required": [ "companies" ], "schemaVersion": 1, "title": "Company Hiring Radar input", "type": "object" }, "name": "company-hiring-radar", "outputSchema": null }, { "description": "Turn a domain or company name into one unified company card: website tech stack (CMS, ecommerce, key tech) for domains, plus a live GLEIF registry match (legal name, jurisdiction, status, LEI). Keyless, no login — built for AI agents and sales. — $0.01/call, x402 (USDC on base).", "inputSchema": { "properties": { "companies": { "description": "Company domains (e.g. \"stripe.com\"), legal names (e.g. \"Monzo Bank Limited\") or LEIs to look up. One row per entry. Add a country hint after a pipe — \"stripe.com | US\" — to keep the registry match inside one country; same-named companies exist in several. An LEI is used as-is, with no name search.", "editor": "stringList", "maxItems": 100, "prefill": [ "stripe.com | US", "Monzo Bank Limited | GB" ], "title": "Companies", "type": "array" }, "maxConcurrency": { "default": 10, "description": "How many companies to look up in parallel.", "maximum": 30, "minimum": 1, "title": "Max concurrency", "type": "integer" } }, "required": [ "companies" ], "schemaVersion": 1, "title": "Company Lookup input", "type": "object" }, "name": "company-lookup", "outputSchema": null }, { "description": "Turn a company name, LEI or UK company number into an official registry card: legal name, status, jurisdiction, registered address and LEI via GLEIF (free, no key). Optionally add UK directors and SIC codes with your own Companies House API key. — $0.01/call, x402 (USDC on base).", "inputSchema": { "properties": { "companies": { "description": "Legal names, LEIs (20-char code) or UK company numbers to look up. One row per entry. A name can carry a country hint after a pipe — \"Monzo Bank Limited | GB\" — which is what separates same-named companies in different countries. An LEI or UK company number is used as-is, with no name search.", "editor": "stringList", "maxItems": 100, "prefill": [ "Monzo Bank Limited | GB", "Apple Inc." ], "title": "Companies", "type": "array" }, "companiesHouseApiKey": { "description": "Your own free UK Companies House API key. When set, GB entities are enriched with directors and SIC codes. Get one at developer.company-information.service.gov.uk. Leave empty to get the GLEIF card only.", "editor": "textfield", "isSecret": true, "title": "Companies House API key (optional)", "type": "string" }, "maxConcurrency": { "default": 5, "description": "How many companies to look up in parallel.", "maximum": 20, "minimum": 1, "title": "Max concurrency", "type": "integer" } }, "required": [ "companies" ], "schemaVersion": 1, "title": "Company Registry Enricher input", "type": "object" }, "name": "company-registry-enricher", "outputSchema": null }, { "description": "One card per competitor summarising what changed across several signals in the past week. Partial cards are marked partial and list which signals are missing. — $0.08/call, x402 (USDC on base).", "inputSchema": { "properties": { "baseline_key": { "description": "A name for this watch, in case you want to run more than one watch on the same domain with different settings. Defaults to the domain itself.", "editor": "textfield", "title": "Watch name (optional)", "type": "string" }, "company_name_override": { "description": "By default this Actor guesses the company's ATS token / name from the domain itself (e.g. \"stripe.com\" -> \"stripe\") for the hiring and funding checks — this is a best-effort heuristic, not a verified identity, and CAN be wrong (see README). Set this if you know the real ATS token or legal name.", "editor": "textfield", "title": "Company name override (optional)", "type": "string" }, "domain": { "description": "The competitor's domain to watch, e.g. \"stripe.com\".", "editor": "textfield", "prefill": "stripe.com", "title": "Competitor domain", "type": "string" }, "role_keywords": { "description": "Highlight when this competitor is hiring for roles matching these words (passed to our company-hiring-radar Actor).", "editor": "stringList", "maxItems": 5, "prefill": [ "sales", "marketing" ], "title": "Role keywords (optional)", "type": "array" } }, "required": [ "domain" ], "schemaVersion": 1, "title": "Competitor Change Rollup input", "type": "object" }, "name": "competitor-change-rollup", "outputSchema": null }, { "description": "Screen a counterparty in one call: OFAC + EU sanctions match, GLEIF legal-entity registry, litigation history (US/UK/PL) and a hiring signal from public ATS boards, combined into one row per company with a documented risk score. Keyless sources only. — $0.03/call, x402 (USDC on base).", "inputSchema": { "properties": { "checks": { "default": [ "sanctions", "registry" ], "description": "Which of the four checks to run per company. Sanctions and registry are fast (shared cached list + one API call); litigation and hiring each add one more API call per company.", "editor": "select", "items": { "enum": [ "sanctions", "registry", "litigation", "hiring" ], "enumTitles": [ "Sanctions (OFAC + EU)", "Legal-entity registry (GLEIF)", "Litigation history (US/UK/PL)", "Hiring signal (Greenhouse/Lever/Ashby)" ], "type": "string" }, "maxItems": 4, "prefill": [ "sanctions", "registry" ], "title": "Checks to run", "type": "array" }, "companies": { "description": "Company legal names to assess, one per row (a Legal Entity Identifier is also accepted for the registry check). One dataset row comes out per company, combining every check you selected below.", "editor": "stringList", "maxItems": 20, "prefill": [ "Siemens AG" ], "title": "Companies", "type": "array" }, "jurisdictionHint": { "default": "", "description": "Optional ISO country code, e.g. \"GB\", \"DE\", \"PL\". Narrows the registry lookup to that country and picks which litigation source is queried (GB/UK -> UK case law, PL -> Poland SAOS, anything else -> US CourtListener, the default). \"UK\" is accepted as a synonym for \"GB\" everywhere — it is normalized to the ISO code \"GB\" before it reaches the registry (GLEIF) lookup, since GLEIF itself only recognizes \"GB\".", "editor": "textfield", "prefill": "GB", "title": "Jurisdiction hint (2-letter code)", "type": "string" }, "maxConcurrency": { "default": 3, "description": "How many companies to assess in parallel.", "maximum": 8, "minimum": 1, "title": "Max concurrency", "type": "integer" } }, "required": [ "companies" ], "schemaVersion": 1, "title": "Counterparty Risk Rollup input", "type": "object" }, "name": "counterparty-risk-rollup", "outputSchema": null }, { "description": "Checks email addresses: syntax, domain, and whether the domain publishes mail exchangers. Where mailbox-level existence cannot be established, the field is null rather than a guess. — $0.02/call, x402 (USDC on base).", "inputSchema": { "properties": { "emails": { "description": "Email addresses to verify.", "editor": "stringList", "maxItems": 25, "prefill": [ "[email protected]", "not-a-real-email", "[email protected]" ], "title": "Emails", "type": "array" }, "maxConcurrency": { "default": 10, "description": "How many emails to check in parallel.", "maximum": 50, "minimum": 1, "title": "Max concurrency", "type": "integer" } }, "required": [ "emails" ], "schemaVersion": 1, "title": "Email Address Verifier input", "type": "object" }, "name": "email-verifier", "outputSchema": null }, { "description": "Watches funding announcements for a saved filter and returns only what changed since the previous check. The first run on a new filter creates the baseline and says so. — $0.05/call, x402 (USDC on base).", "inputSchema": { "properties": { "baseline_key": { "description": "A name for THIS watch, so you can run several independent filing watches from one Actor (e.g. \"ai-startups\", \"biotech-seed\") without one overwriting another's memory of what's already been seen. Each name is scoped to YOUR OWN Apify account. The prefilled value is only there so this Actor's own daily test run has a stable, obviously-a-test name; replace it with your own watch name.", "editor": "textfield", "prefill": "apify-daily-test", "title": "Watch name", "type": "string" }, "limit": { "default": 20, "description": "Max number of filings requested per query, per run.", "maximum": 100, "minimum": 1, "prefill": 5, "title": "Results per query", "type": "integer" }, "max_items": { "default": 20, "description": "Caps how many NEW-filing rows a single run will deliver and charge for, even if more were found.", "maximum": 200, "minimum": 1, "title": "Max new filings per run", "type": "integer" }, "queries": { "description": "Company names or sector keywords to watch for new SEC Form D filings (e.g. \"artificial intelligence\", \"biotech\", or a specific company name). Every scheduled run re-checks these same queries and reports ONLY filings not seen on a previous run for this watch.", "editor": "stringList", "maxItems": 10, "prefill": [ "artificial intelligence" ], "title": "Search queries", "type": "array" }, "sinceDays": { "default": 90, "description": "Only consider filings from the last N days when checking for matches — keep this generous (well beyond your run schedule) so a filing near the edge of the window is never missed because of clock drift between runs.", "maximum": 730, "minimum": 1, "title": "Lookback window (days)", "type": "integer" } }, "required": [ "queries" ], "schemaVersion": 1, "title": "Funding Round Alert input", "type": "object" }, "name": "funding-alert", "outputSchema": null }, { "description": "Track recent SEC Form D filings by company name or sector keyword — the notice a company files when it raises private capital. Official SEC EDGAR full-text search, free, no API key or login. Get company, filing date and a direct document URL for every match. — $0.02/call, x402 (USDC on base).", "inputSchema": { "properties": { "limit": { "default": 20, "description": "Max number of filings to return per query.", "maximum": 100, "minimum": 1, "title": "Limit per query", "type": "integer" }, "maxConcurrency": { "default": 3, "description": "How many queries to process in parallel.", "maximum": 8, "minimum": 1, "title": "Max concurrency", "type": "integer" }, "queries": { "description": "Company names or sector keywords to watch for new Form D filings (e.g. `artificial intelligence`, `biotech`, or a specific company name). One or more filing rows per query.", "editor": "stringList", "maxItems": 25, "prefill": [ "artificial intelligence", "biotech" ], "title": "Queries", "type": "array" }, "sinceDays": { "default": 90, "description": "Only include filings from the last N days.", "maximum": 730, "minimum": 1, "title": "Since (days)", "type": "integer" } }, "required": [ "queries" ], "schemaVersion": 1, "title": "Funding Round Tracker input", "type": "object" }, "name": "funding-round-tracker", "outputSchema": null }, { "description": "A cross-section of hiring demand by role and geography, assembled from several job sources in one call. Partial results are marked partial and list what is missing. — $0.05/call, x402 (USDC on base).", "inputSchema": { "properties": { "new_window_days": { "default": 30, "description": "For company slices, how many days back a posting still counts as \"new\" in the underlying company-hiring-radar signal. Has no effect on board slices.", "maximum": 365, "minimum": 1, "title": "\"New posting\" window (company slices only)", "type": "integer" }, "slices": { "description": "What to snapshot and track. Two forms: \"company:<ats-provider>:<token>\" (e.g. \"company:greenhouse:gitlab\", \"company:ashby:ramp\") pulls a company's own public job board via this Actor's own live company-hiring-radar Actor. \"board:<board-name>[:<keyword>]\" (e.g. \"board:xing-jobs\", \"board:jobs-ch-swiss:marketing\") pulls a sample from one of this factory's own job-board Actors — see README for which board names are live today. Every run re-checks the SAME slices and reports what changed (by job function) since the last check for each one.", "editor": "stringList", "maxItems": 10, "prefill": [ "company:greenhouse:gitlab", "company:greenhouse:stripe" ], "title": "Slices to watch", "type": "array" }, "watch_key": { "description": "A name for THIS set of watches, so you can run several independent hiring-trend watches from one Actor without one overwriting another's memory of what it last saw. Scoped to YOUR OWN Apify account. The prefilled value is only there so this Actor's own daily test run has a stable, obviously-a-test name; replace it with your own.", "editor": "textfield", "prefill": "apify-daily-test", "title": "Watch name", "type": "string" } }, "required": [ "slices" ], "schemaVersion": 1, "title": "Hiring Trend Index input", "type": "object" }, "name": "hiring-trend-index", "outputSchema": null }, { "description": "Is this company in-market right now? Combines public hiring activity (Greenhouse, Lever, Ashby) and recent news (funding, launches, partnerships) into one intent score per company. No login, no API keys, no proxies. — $0.01/call, x402 (USDC on base).", "inputSchema": { "properties": { "companies": { "description": "One entry per company. Forms: `greenhouse:stripe` / `lever:x` / `ashby:y` (hiring signal from an ATS token), a plain company name like `Microsoft` (news signal only), or `Name|greenhouse:token` to get both hiring and news for the same company.", "editor": "stringList", "maxItems": 100, "prefill": [ "greenhouse:stripe", "Microsoft", "Ramp|ashby:ramp" ], "title": "Companies", "type": "array" }, "maxConcurrency": { "default": 4, "description": "How many companies to check in parallel.", "maximum": 10, "minimum": 1, "title": "Max concurrency", "type": "integer" } }, "required": [ "companies" ], "schemaVersion": 1, "title": "Intent Signal Aggregator input", "type": "object" }, "name": "intent-signal-aggregator", "outputSchema": null }, { "description": "Track recent tech layoffs by company name or sector (e.g. \"fintech\", \"AI\") straight from Google News — a demand and recruiting signal. No login, no scraping, no proxies. Returns matched headlines, mention count and a one-line summary per query. — $0.01/call, x402 (USDC on base).", "inputSchema": { "properties": { "maxConcurrency": { "default": 4, "description": "How many queries to check in parallel.", "maximum": 10, "minimum": 1, "title": "Max concurrency", "type": "integer" }, "queries": { "description": "One entry per company name (e.g. \"Google\") or sector (e.g. \"tech\", \"fintech\"). Each is searched as \"{query} layoffs\" in Google News.", "editor": "stringList", "maxItems": 25, "prefill": [ "tech", "fintech" ], "title": "Companies or sectors", "type": "array" }, "sinceDays": { "default": 90, "description": "Only count news published within this many days.", "maximum": 365, "minimum": 1, "title": "Lookback window (days)", "type": "integer" } }, "required": [ "queries" ], "schemaVersion": 1, "title": "Layoff Tracker input", "type": "object" }, "name": "layoff-tracker", "outputSchema": null }, { "description": "Scores domains for buying readiness from several of our own signal sources in one call. Identity confidence is reported honestly as guessed when no override is supplied. — $0.05/call, x402 (USDC on base).", "inputSchema": { "properties": { "company_name_overrides": { "description": "By default this Actor guesses each domain's ATS token / company name from the domain itself (e.g. \"stripe.com\" -> \"stripe\") for the hiring and funding checks — this is a best-effort heuristic, not a verified identity, and can be wrong. Use this field to override the guess for specific domains: {\"my-startup.io\": \"mystartupinc\"}.", "editor": "json", "prefill": {}, "title": "Company name overrides (optional, JSON)", "type": "object" }, "domains": { "description": "Company domains to score (e.g. \"stripe.com\"). Each domain fires 4 parallel checks (tech stack, hiring, funding mentions, contact info), so this is capped at 25 per run.", "editor": "stringList", "maxItems": 10, "prefill": [ "stripe.com", "shopify.com" ], "title": "Domains to qualify", "type": "array" }, "role_keywords": { "description": "Highlight domains currently hiring for roles matching these words (passed to our company-hiring-radar Actor, e.g. \"sales\", \"marketing\"). Leave empty to skip role matching.", "editor": "stringList", "maxItems": 10, "prefill": [ "sales", "marketing" ], "title": "Role keywords (optional)", "type": "array" } }, "required": [ "domains" ], "schemaVersion": 1, "title": "Lead List Qualifier input", "type": "object" }, "name": "lead-list-qualifier", "outputSchema": null }, { "description": "Screen a company for litigation history across US federal dockets (CourtListener), UK case law and Polish court judgments. Keyless, one row per company x jurisdiction, with the true case count and links to the source records. — $0.03/call, x402 (USDC on base).", "inputSchema": { "properties": { "companies": { "description": "Legal names of companies / counterparties to screen for litigation history. One row is produced per company per selected jurisdiction, up to your run's maximum charge (maxTotalChargeUsd) — if that budget runs out early, the remaining pairs are skipped and a final row explains why. Use the full legal name for the cleanest match (e.g. \"Tesla, Inc.\" rather than \"Tesla\").", "editor": "stringList", "maxItems": 20, "prefill": [ "Tesla, Inc." ], "title": "Companies", "type": "array" }, "jurisdictions": { "description": "Which court systems to check: US, UK, PL. US = federal PACER dockets via CourtListener (structural party-name search). UK = England & Wales / UK Supreme Court case law (structural party-name search, same guarantee as US). PL = Poland SAOS full-text judgment search — a keyword mention, not a confirmed party (see README). Any other code is returned as a free, graceful \"unsupported jurisdiction\" row rather than rejected — see the README for what's excluded and why.", "editor": "stringList", "maxItems": 3, "prefill": [ "US" ], "title": "Jurisdictions", "type": "array" }, "maxCasesPerRow": { "default": 20, "description": "How many individual cases to list per company x jurisdiction row. caseCount reports the true total matched for US/PL (approximate above ~2000 matches — CourtListener's own count estimate), even when fewer are listed here; for UK it can be a lower bound when the output row's partial field is true (see README).", "maximum": 50, "minimum": 1, "prefill": 10, "title": "Max cases per row", "type": "integer" }, "maxConcurrency": { "default": 2, "description": "How many companies to check in parallel. Each company's selected jurisdictions are always fetched in parallel with each other regardless of this setting.", "maximum": 2, "minimum": 1, "title": "Max concurrency", "type": "integer" } }, "required": [ "companies" ], "schemaVersion": 1, "title": "Litigation Check input", "type": "object" }, "name": "litigation-check", "outputSchema": null }, { "description": "Find newly-incorporated UK companies matching a keyword, read from Companies House's public advanced-search results (active companies incorporated in the last ~60 days by default). No API key, no login, no proxies. — $0.02/call, x402 (USDC on base).", "inputSchema": { "properties": { "items": { "description": "Company-name keywords to search for (e.g. \"capital\", \"ai\", \"consulting\"). One entry per keyword; each returns every active company whose name contains it and that was incorporated within the search window.", "editor": "stringList", "maxItems": 25, "prefill": [ "capital", "consulting" ], "title": "Keywords", "type": "array" }, "maxConcurrency": { "default": 5, "description": "How many keywords to search in parallel.", "maximum": 20, "minimum": 1, "title": "Max concurrency", "type": "integer" }, "windowDays": { "default": 60, "description": "Only return companies incorporated within this many days of today.", "maximum": 365, "minimum": 1, "title": "Search window (days)", "type": "integer" } }, "required": [ "items" ], "schemaVersion": 1, "title": "New Company Detector input", "type": "object" }, "name": "new-company-detector", "outputSchema": null }, { "description": "Watch keywords or technologies for newly granted US patents. Bring your own free PatentsView API key — get patent id, title, grant date, assignee and a direct Google Patents link for every match, sorted by most recent. Official PatentsView Search API (USPTO-backed). — $0.02/call, x402 (USDC on base).", "inputSchema": { "properties": { "limit": { "default": 20, "description": "How many patents to fetch per query, most recently granted first.", "maximum": 100, "minimum": 1, "title": "Limit per query", "type": "integer" }, "maxConcurrency": { "default": 3, "description": "How many queries to process in parallel.", "maximum": 8, "minimum": 1, "title": "Max concurrency", "type": "integer" }, "patentsviewApiKey": { "description": "Optional. Leave empty to use the keyless Google Patents source (worldwide). Provide your own free PatentsView key (https://patentsview.org/query-builder) to use the official USPTO-backed source (US patents, more results/query). Sent only in the X-Api-Key header — never logged or stored.", "editor": "textfield", "isSecret": true, "title": "PatentsView API key (optional)", "type": "string" }, "queries": { "description": "Tech keywords or technologies to watch (e.g. `quantum computing`, `mRNA vaccine`). One or more matching patent rows per query.", "editor": "stringList", "maxItems": 25, "prefill": [ "quantum computing", "mRNA vaccine" ], "title": "Queries", "type": "array" }, "sinceDays": { "default": 365, "description": "Only include patents granted within N days.", "maximum": 3650, "minimum": 1, "title": "Since (days)", "type": "integer" } }, "required": [ "queries" ], "schemaVersion": 1, "title": "Patent Monitor input", "type": "object" }, "name": "patent-monitor", "outputSchema": null }, { "description": "Free — list every paid tool in the 'company-intel' bundle with its price, payTo address and network. Call this first if you don't have a wallet ready yet.", "inputSchema": { "properties": {}, "type": "object" }, "name": "pricing_info", "outputSchema": null }, { "description": "Screen names against the live OFAC SDN and EU consolidated sanctions lists. Keyless, no login — flags potential hits with a match score so you can review before onboarding a client or counterparty. — $0.01/call, x402 (USDC on base).", "inputSchema": { "properties": { "maxConcurrency": { "default": 5, "description": "How many names to screen in parallel.", "maximum": 20, "minimum": 1, "title": "Max concurrency", "type": "integer" }, "minScore": { "default": 0.5, "description": "Only report candidate matches scoring at or above this (0 = report everything, 1 = only a full token match). Kept soft on purpose — a missed hit is worse than a false one. At the default 0.5, a two-word name matching on one word still surfaces as a low-confidence hit.", "maximum": 1, "minimum": 0, "title": "Minimum match score", "type": "number" }, "names": { "description": "Person or company names to screen against the OFAC SDN and EU consolidated sanctions lists, one per row.", "editor": "stringList", "maxItems": 100, "prefill": [ "Yevgeniy Prigozhin", "Acme Trading LLC" ], "title": "Names", "type": "array" } }, "required": [ "names" ], "schemaVersion": 1, "title": "Sanctions Screening input", "type": "object" }, "name": "sanctions-screening", "outputSchema": null }, { "description": "Re-screens a saved watchlist against sanctions lists and returns only the entries whose status changed since the previous check. The first run creates the baseline and says so. — $0.05/call, x402 (USDC on base).", "inputSchema": { "properties": { "baseline_key": { "description": "A name for THIS watch, so you can run several independent screening watches from one Actor (e.g. \"vendor-list\", \"new-hires\") without one overwriting another's memory of what's already been seen. Each name is scoped to YOUR OWN Apify account. The prefilled value is only there so this Actor's own daily test run has a stable, obviously-a-test name; replace it with your own watch name.", "editor": "textfield", "prefill": "apify-daily-test", "title": "Watch name", "type": "string" }, "max_items": { "default": 20, "description": "Caps how many new-hit / changed-hit rows a single run will deliver and charge for, even if more were found.", "maximum": 200, "minimum": 1, "title": "Max change rows per run", "type": "integer" }, "minScore": { "default": 0.5, "description": "Only consider candidate matches scoring at or above this (0 = everything, 1 = only a full token match). Kept soft on purpose — a missed hit is worse than a false one.", "maximum": 1, "minimum": 0, "title": "Minimum match score", "type": "number" }, "names": { "description": "Person or company names to watch against the OFAC SDN and EU consolidated sanctions lists, one per row. Every scheduled run re-screens these same names and reports ONLY what changed since a previous run of this watch: a new hit, a hit that disappeared, or an existing hit's score/program/alias shifting.", "editor": "stringList", "maxItems": 10, "prefill": [ "Yevgeniy Prigozhin" ], "title": "Names", "type": "array" } }, "required": [ "names" ], "schemaVersion": 1, "title": "Sanctions List Update Alert input", "type": "object" }, "name": "sanctions-update-alert", "outputSchema": null }, { "description": "Resolve Taiwan companies (統一編號 or legal name) to an evidence-backed KYB card from the official MOEA GCIS open-data registry. Free structural checks, free not-found/ambiguous/error outcomes; billed only for a complete, unambiguous company card. — $0.01/call, x402 (USDC on base).", "inputSchema": { "additionalProperties": false, "description": "Companies to resolve against Taiwan's official MOEA GCIS open-data registry (data.gcis.nat.gov.tw). No API key needed: the source is keyless and its licence explicitly allows commercial reuse and sublicensing. Give either the 統一編號 (Unified Business Number, 8 digits) or the exact traditional-character legal name for each company.", "properties": { "companies": { "description": "One to 100 companies. Give either unifiedBusinessNumber or legalNameZhTw for each entry, never both.", "editor": "json", "items": { "additionalProperties": false, "properties": { "inputRef": { "description": "Optional opaque CRM or workflow reference copied to the result row exactly, including leading, trailing, repeated, and tab whitespace.", "maxLength": 200, "title": "Caller reference", "type": "string" }, "legalNameZhTw": { "description": "Exact registered company name in traditional Chinese characters. Used only when unifiedBusinessNumber is not supplied. A search that returns more than one candidate is a free ambiguous_match outcome; this Actor never guesses which one you meant.", "maxLength": 200, "minLength": 1, "title": "Legal name (traditional Chinese)", "type": "string" }, "unifiedBusinessNumber": { "description": "8-digit Taiwan Unified Business Number, e.g. 22099131. Structurally validated (official checksum) before any source request; a number that fails the checksum is a free outcome, never billed.", "maxLength": 8, "minLength": 8, "pattern": "^[0-9]{8}$", "title": "統一編號 (Unified Business Number)", "type": "string" } }, "type": "object" }, "maxItems": 100, "minItems": 1, "prefill": [ { "unifiedBusinessNumber": "22099131" } ], "title": "Companies", "type": "array" }, "includeBoard": { "default": true, "description": "Whether to also fetch the company's board of directors/supervisors and shareholding from the registry. This is personal-data-bearing: names and shareholding of living people. Turn off to request only the company card. Default: true.", "title": "Include board and shareholding", "type": "boolean" }, "maxConcurrency": { "default": 2, "description": "Companies processed concurrently only in local non-monetized runs. On-platform source work and paid delivery are sequential regardless of this value, and every request to the registry is paced conservatively either way.", "maximum": 5, "minimum": 1, "title": "Maximum concurrency", "type": "integer" } }, "required": [ "companies" ], "schemaVersion": 1, "title": "Taiwan Company KYB Lookup input", "type": "object" }, "name": "taiwan-company-kyb-lookup", "outputSchema": null }, { "description": "Extract public contacts a company posted on its own site: email, phone, social links — with an honesty check that flags third-party/placeholder addresses instead of selling them as the company's own. — $0.02/call, x402 (USDC on base).", "inputSchema": { "properties": { "checkPages": { "description": "Override which subpages to visit per domain (each must start with `/`, or be empty for the homepage). Default: homepage, /contact, /contact-us, /about (+ /impressum automatically for .de/.at/.ch domains).", "editor": "stringList", "maxItems": 6, "title": "Pages to check", "type": "array" }, "domains": { "description": "Company domains or URLs to check (e.g. `example.com` or `https://example.com`). Path/query is ignored — the Actor visits its own fixed set of pages (home, contact, about).", "editor": "stringList", "maxItems": 100, "prefill": [ "smithlawfirm.com", "apify.com" ], "title": "Domains", "type": "array" }, "maxConcurrency": { "default": 10, "description": "How many domains to check in parallel.", "maximum": 50, "minimum": 1, "title": "Max concurrency", "type": "integer" }, "maxPagesPerDomain": { "default": 5, "description": "How many pages to visit per domain at most.", "maximum": 6, "minimum": 1, "title": "Max pages per domain", "type": "integer" } }, "required": [ "domains" ], "schemaVersion": 1, "title": "Website Contact Extractor input", "type": "object" }, "name": "website-contact-extractor", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:e78982ff16edf400f0b766d329968074cad4c2530d0217efd4da548232b93ce3 | sha256sum