Endpoints: 28,729MCP servers: 18,414Payout addresses: 2,071Paid calls: 1,562Letters: 14Defects: 1,336counted 4 min ago
teppi

Server definition

Hash
sha256:8d8b194f5028cd1c0a1be926b27133f8d7d6dd5e8ab18060979f10f5d92b71dd
What it is
What a remote MCP server returned when asked what it offers: 36 tools

The blob, as servednamed by its sha256

{ "instructions": "Market & Regulatory Data Feeds. 35 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": "Job postings from Azerbaijan's boss.az, taken through the site's own sitemap and the structured job markup on each detail page. One row per posting: title, company, location, posted date, link. — $0.02/call, x402 (USDC on base).", "inputSchema": { "properties": { "fetch_full_description": { "default": true, "description": "Include the job's full description text in the output row. This Actor already fetches each job's own page to get any data at all (title, company, location...), so the description costs no extra request either way — this setting only controls whether it's kept in the row.", "title": "Include full description", "type": "boolean" }, "freshness_days": { "default": 30, "description": "Skip sitemap entries not updated within this many days. boss.az's own sitemap 'last modified' date also moves when an employer renews (\"bumps\") an old posting, so this is a rough recency filter, not an exact posting-age filter.", "maximum": 180, "minimum": 1, "title": "Only jobs listed/renewed in the last N days", "type": "integer" }, "keyword_filter": { "description": "Optional case-insensitive substring match against each job's title, applied on this Actor's side after fetching the job's own page. boss.az's job search itself needs a browser session and is not used here — there is no server-side keyword search on this Actor. Leave empty to keep every job found.", "editor": "textfield", "title": "Keyword filter (optional)", "type": "string" }, "max_items": { "default": 20, "description": "How many job rows to deliver, at most. This Actor walks boss.az's own job sitemap and visits each candidate job page individually — some listed jobs turn out already closed by the time they're visited, which is normal, not a fault. Extra candidates are attempted automatically to compensate, so this number is a target, not a guarantee.", "maximum": 200, "minimum": 1, "prefill": 3, "title": "Max jobs to return", "type": "integer" }, "sitemap_override_url": { "description": "Advanced: override the boss.az sitemap URL this Actor walks. Leave empty to use the live boss.az sitemap. Mainly useful for diagnostics.", "editor": "textfield", "title": "Sitemap URL override (advanced/diagnostic)", "type": "string" } }, "schemaVersion": 1, "title": "Boss.az Jobs input", "type": "object" }, "name": "boss-az", "outputSchema": null }, { "description": "Pull live classified ad listings (real estate, vehicles, electronics, jobs and more) straight from Chotot's own public JSON API by region and category. No login, no browser, no proxies. — $0.02/call, x402 (USDC on base).", "inputSchema": { "properties": { "items": { "description": "One entry per query, format `region_v2` or `region_v2:cg`. `region_v2` is Chotot's location code (e.g. 13000 = Ho Chi Minh City, 12000 = Hanoi) and `cg` is the category code (e.g. 1000 = real estate, 2000 = vehicles). Codes are visible in the query string of any chotot.com search-results URL. Omit `cg` to pull all categories for that region.", "editor": "stringList", "maxItems": 25, "prefill": [ "13000:1000", "12000" ], "title": "Region / category queries", "type": "array" }, "maxConcurrency": { "default": 5, "description": "How many queries to run in parallel.", "maximum": 20, "minimum": 1, "title": "Max concurrency", "type": "integer" } }, "required": [ "items" ], "schemaVersion": 1, "title": "Chotot Listings input", "type": "object" }, "name": "chotot-listings", "outputSchema": null }, { "description": "Watch conditions, drugs or sponsors for new and updated clinical trials. Get NCT id, status, phase, sponsor and a direct study URL for every match, sorted by most recently updated. Official ClinicalTrials.gov API v2, free, no API key or login. — $0.02/call, x402 (USDC on base).", "inputSchema": { "properties": { "maxConcurrency": { "default": 3, "description": "How many queries to process in parallel.", "maximum": 8, "minimum": 1, "title": "Max concurrency", "type": "integer" }, "pageSize": { "default": 20, "description": "How many trials to fetch per query, most recently updated first.", "maximum": 100, "minimum": 1, "title": "Page size", "type": "integer" }, "queries": { "description": "Conditions, drugs or sponsors to watch (e.g. `diabetes`, `pembrolizumab`, `Pfizer`). One or more matching trial rows per query.", "editor": "stringList", "maxItems": 25, "prefill": [ "diabetes", "pembrolizumab" ], "title": "Queries", "type": "array" }, "sinceDays": { "description": "Only include trials last updated within N days. Leave empty for no time filter.", "maximum": 3650, "minimum": 1, "title": "Since (days)", "type": "integer" } }, "required": [ "queries" ], "schemaVersion": 1, "title": "Clinical Trials Monitor input", "type": "object" }, "name": "clinical-trials-monitor", "outputSchema": null }, { "description": "Search Computrabajo (Mexico, Colombia, Chile, Argentina, Peru) by keyword and get public job listings: title, company, location, URL, posted-when. — $0.02/call, x402 (USDC on base).", "inputSchema": { "properties": { "items": { "description": "List of \"cc:query\" strings, e.g. \"mx:ventas\", \"co:desarrollador\". Supported cc: mx, co, cl, ar, pe.", "editor": "stringList", "maxItems": 25, "prefill": [ "mx:ventas", "co:desarrollador" ], "title": "Country:query searches", "type": "array" }, "maxConcurrency": { "default": 5, "description": "How many queries to process in parallel.", "maximum": 20, "minimum": 1, "title": "Max concurrency", "type": "integer" } }, "required": [ "items" ], "schemaVersion": 1, "title": "Computrabajo Jobs input", "type": "object" }, "name": "computrabajo-jobs", "outputSchema": null }, { "description": "Search Detik news by keyword and return Indonesian headlines, excerpts, timestamps, sections, images, and canonical article URLs as structured rows. — $0.03/call, x402 (USDC on base).", "inputSchema": { "additionalProperties": false, "description": "Search one buyer-supplied term in Detik's public search result pages. The source host and path are fixed.", "properties": { "max_items": { "default": 12, "description": "Maximum unique result cards delivered and billed in this run.", "editor": "number", "maximum": 100, "minimum": 1, "prefill": 12, "title": "Maximum results", "type": "integer" }, "max_pages": { "default": 1, "description": "Maximum Detik search pages fetched sequentially.", "editor": "number", "maximum": 5, "minimum": 1, "prefill": 1, "title": "Maximum pages", "type": "integer" }, "query": { "description": "One Indonesian or international term to search on Detik. Whitespace-only and control-character input is rejected at runtime.", "editor": "textfield", "maxLength": 200, "minLength": 1, "prefill": "Bank Indonesia", "title": "Search query", "type": "string" } }, "required": [ "query" ], "schemaVersion": 1, "title": "Detik News Search input", "type": "object" }, "name": "detik-news-search", "outputSchema": null }, { "description": "Pull live apartment/housing listings straight from Emlakjet.com for Istanbul — one of Turkey's biggest real-estate classifieds portals — by deal type (sale/rent) and property type. No login, no browser, no proxies. — $0.02/call, x402 (USDC on base).", "inputSchema": { "properties": { "city": { "default": "istanbul", "description": "Emlakjet.com location slug. \"istanbul\" for the whole city, or an Istanbul district like \"istanbul-kadikoy\".", "prefill": "istanbul", "title": "City / district slug", "type": "string" }, "deal_type": { "default": "satilik", "description": "Sale (satilik) or rent (kiralik) listings.", "enum": [ "satilik", "kiralik" ], "enumTitles": [ "Satılık (for sale)", "Kiralık (for rent)" ], "prefill": "satilik", "title": "Deal type", "type": "string" }, "max_items": { "default": 100, "description": "Maximum number of listing rows to return in this run.", "maximum": 1500, "minimum": 1, "prefill": 5, "title": "Max results", "type": "integer" }, "max_pages": { "default": 3, "description": "How many result pages to walk before stopping. Emlakjet.com itself caps browsable depth at 50 pages per search (verified live), regardless of total inventory.", "maximum": 50, "minimum": 1, "prefill": 1, "title": "Max pages", "type": "integer" }, "property_type": { "default": "daire", "description": "daire (apartment) or konut (residential/housing — a broader Emlakjet category that overlaps with, but is not identical to, daire).", "enum": [ "daire", "konut" ], "enumTitles": [ "Daire (apartment)", "Konut (residential/housing)" ], "prefill": "daire", "title": "Property type", "type": "string" } }, "required": [ "deal_type", "property_type" ], "schemaVersion": 1, "title": "Emlakjet Istanbul Listings input", "type": "object" }, "name": "emlakjet-istanbul", "outputSchema": null }, { "description": "Watch drugs or companies for new FDA approvals and recalls. Official openFDA data, free, no API key or login. Get application status, sponsor, latest submission and recall details for every match. — $0.02/call, x402 (USDC on base).", "inputSchema": { "properties": { "dataset": { "default": "both", "description": "Which openFDA feed to check.", "editor": "select", "enum": [ "approvals", "recalls", "both" ], "enumTitles": [ "New drug approvals only", "Recalls only", "Both" ], "title": "Dataset", "type": "string" }, "limit": { "default": 10, "description": "Max results to pull per query, per source (approvals/recalls).", "maximum": 50, "minimum": 1, "title": "Limit per source", "type": "integer" }, "maxConcurrency": { "default": 3, "description": "How many queries to process in parallel.", "maximum": 8, "minimum": 1, "title": "Max concurrency", "type": "integer" }, "queries": { "description": "Drug or company names to watch (e.g. `pembrolizumab`, `Pfizer`, `semaglutide`). One row per query.", "editor": "stringList", "maxItems": 25, "prefill": [ "pembrolizumab", "semaglutide", "Pfizer" ], "title": "Queries", "type": "array" } }, "required": [ "queries" ], "schemaVersion": 1, "title": "FDA Approval Feed input", "type": "object" }, "name": "fda-approval-feed", "outputSchema": null }, { "description": "Convert official PPS contract aggregates into buyer-agency demand priorities. Unofficial, independent Actor; not affiliated with or endorsed by any named source publisher. — $0.05/call, x402 (USDC on base).", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "description": "Produces one whole paid batch of 20–40 explainable buyer-agency demand signals from an official annual PPS report.", "properties": { "maxTotalChargeUsd": { "default": 0.61, "description": "Must cover Actor start plus the entire requested signal batch. Partial paid batches are not started.", "editor": "number", "example": 0.61, "maximum": 100, "minimum": 0.61, "title": "Customer charge cap", "type": "number" }, "minimumContractAmountKrw": { "default": 100000000000, "description": "Agencies below this aggregate annual-spend threshold remain visible with an explicit threshold result.", "editor": "number", "example": 100000000000, "maximum": 9007199254740991, "minimum": 0, "title": "Minimum annual contract amount (KRW)", "type": "integer" }, "minimumContractCount": { "default": 1000, "description": "Agencies below this customer threshold remain visible but receive a monitor-below-threshold action.", "editor": "number", "example": 1000, "maximum": 10000000, "minimum": 1, "title": "Minimum annual contract count", "type": "integer" }, "objective": { "default": "balanced", "description": "Controls transparent peer-percentile weights for spend, frequency, and average contract ticket.", "editor": "select", "enum": [ "balanced", "spend_volume", "contract_frequency", "average_ticket" ], "enumTitles": [ "Balanced demand", "Spend volume", "Contract frequency", "Average contract ticket" ], "sectionCaption": "2. Define useful demand", "sectionDescription": "Select the ranking objective, optional thresholds, and optional agency-name watch terms. No opaque AI score is used.", "title": "Supplier-priority objective", "type": "string" }, "requestId": { "description": "A new stable idempotency key for this exact analysis. Reusing it with different criteria is rejected.", "editor": "textfield", "example": "g2b-demand-2025-balanced-001", "pattern": "^[A-Za-z0-9_-]{8,64}$", "sectionCaption": "1. Identify the decision batch", "sectionDescription": "Choose a unique non-personal request ID and one complete report year.", "title": "Request ID", "type": "string" }, "resultLimit": { "default": 20, "description": "Twenty to forty ranked signals. The Actor never starts source work unless the complete requested batch is affordable.", "editor": "number", "example": 20, "maximum": 40, "minimum": 20, "sectionCaption": "3. Bound output and spend", "sectionDescription": "The source is a browser-rendered official report, so its cost is amortized over at least twenty useful decisions.", "title": "Signals in the paid batch", "type": "integer" }, "watchAgencyNameContains": { "default": [], "description": "Up to ten non-sensitive substrings. A matching agency receives a disclosed five-point watch boost; matching never changes source facts.", "editor": "stringList", "example": [ "화성시", "안동시" ], "items": { "maxLength": 80, "minLength": 1, "type": "string" }, "maxItems": 10, "minItems": 0, "title": "Agency-name watch terms", "type": "array", "uniqueItems": true }, "year": { "default": 2025, "description": "A complete or current PPS report year. Runtime rejects future years even though the schema leaves room for later releases.", "editor": "number", "example": 2025, "maximum": 2030, "minimum": 2008, "title": "Contract year", "type": "integer" } }, "required": [ "requestId", "year", "objective", "minimumContractCount", "minimumContractAmountKrw", "watchAgencyNameContains", "resultLimit", "maxTotalChargeUsd" ], "schemaVersion": 1, "title": "G2B Contract Demand Radar input", "type": "object" }, "name": "g2b-contract-demand-radar", "outputSchema": null }, { "description": "Search EU public-sector tenders (TED Europa) by keyword or CPV code, optionally filtered by buyer country. Returns tender title, buyer, country, CPV codes, deadline and notice URL. No API key, no browser — public TED search API only. — $0.02/call, x402 (USDC on base).", "inputSchema": { "properties": { "country": { "description": "ISO 3-letter buyer-country code to AND into every query, e.g. \"DEU\", \"FRA\". Leave empty for all EU countries.", "editor": "textfield", "title": "Buyer country (optional)", "type": "string" }, "limit": { "default": 20, "description": "Max number of notices to return per query.", "maximum": 100, "minimum": 1, "title": "Results per query", "type": "integer" }, "maxConcurrency": { "default": 3, "description": "How many queries to run in parallel against TED.", "maximum": 8, "minimum": 1, "title": "Max concurrency", "type": "integer" }, "queries": { "description": "Keywords or TED expert-query expressions, one search per entry. Plain words (e.g. \"software\") do a full-text search; field expressions (e.g. \"classification-cpv=72000000\") filter directly; mix both with AND/OR (e.g. \"cloud AND classification-cpv=72*\").", "editor": "stringList", "maxItems": 25, "prefill": [ "classification-cpv=72000000", "software" ], "title": "Search queries", "type": "array" } }, "required": [ "queries" ], "schemaVersion": 1, "title": "Gov Tender Radar input", "type": "object" }, "name": "gov-tender-radar", "outputSchema": null }, { "description": "Pull live apartment and house listings straight from Imovirtual.com — Portugal's biggest real-estate classifieds portal — by deal type, property type and city. No login, no browser, no proxies. — $0.02/call, x402 (USDC on base).", "inputSchema": { "properties": { "city": { "default": "lisboa/lisboa", "description": "Imovirtual.com location path segment(s), e.g. \"lisboa/lisboa\" (district/council) for the city of Lisbon.", "prefill": "lisboa/lisboa", "title": "City path", "type": "string" }, "deal_type": { "default": "comprar", "description": "`comprar` for sale listings, `arrendar` for rentals.", "enum": [ "comprar", "arrendar" ], "enumTitles": [ "Buy (comprar)", "Rent (arrendar)" ], "prefill": "comprar", "title": "Deal type", "type": "string" }, "max_items": { "default": 100, "description": "Maximum number of listing rows to return in this run.", "maximum": 2000, "minimum": 1, "prefill": 5, "title": "Max results (total)", "type": "integer" }, "max_pages": { "default": 3, "description": "How many result pages to walk before stopping.", "maximum": 20, "minimum": 1, "prefill": 1, "title": "Max pages", "type": "integer" }, "property_type": { "default": "apartamento", "description": "`apartamento` for flats, `casa` for houses.", "enum": [ "apartamento", "casa" ], "enumTitles": [ "Apartment (apartamento)", "House (casa)" ], "prefill": "apartamento", "title": "Property type", "type": "string" } }, "required": [], "schemaVersion": 1, "title": "Imovirtual Listings input", "type": "object" }, "name": "imovirtual-lisbon", "outputSchema": null }, { "description": "Track insider stock trades — SEC Form 3/4/5 filings — for any list of tickers. Official SEC EDGAR data, free, no API key or login. Get filing counts, an at-a-glance activity signal (none/low/high) and direct document links per company. — $0.01/call, x402 (USDC on base).", "inputSchema": { "properties": { "maxConcurrency": { "default": 5, "description": "How many tickers to process in parallel. SEC EDGAR's documented rate limit is 10 requests/second — keep this at or below 10.", "maximum": 10, "minimum": 1, "title": "Max concurrency", "type": "integer" }, "sinceDays": { "default": 90, "description": "Only include insider filings (Form 3, 4 or 5) from the last N days.", "maximum": 3650, "minimum": 1, "title": "Since (days)", "type": "integer" }, "tickers": { "description": "Stock tickers to check for recent insider trading activity (e.g. `AAPL`, `TSLA`, `NVDA`). One row per ticker.", "editor": "stringList", "maxItems": 100, "prefill": [ "AAPL", "TSLA", "NVDA" ], "title": "Tickers", "type": "array" } }, "required": [ "tickers" ], "schemaVersion": 1, "title": "Insider Trading Tracker input", "type": "object" }, "name": "insider-trading-tracker", "outputSchema": null }, { "description": "Watches a job board for a saved filter and returns only the postings that appeared 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 watches (different boards and/or filters) from one Actor 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" }, "board": { "default": "jobs-ch-swiss", "description": "Which of our own live job-board Actors this watch calls. Each board's own filter fields differ — see the Input section of the README for the exact fields each one expects.", "enum": [ "jobs-ch-swiss", "xing-jobs", "boss-az" ], "enumTitles": [ "jobs.ch (Switzerland)", "XING Jobs (DACH)", "Boss.az (Azerbaijan)" ], "prefill": "jobs-ch-swiss", "title": "Board to watch", "type": "string" }, "filter": { "description": "The search filter to pass to the chosen board's own Actor input — same field names as that Actor's own input schema (e.g. jobs.ch wants {\"keywords\":[\"marketing\"]}, XING/Boss.az want {\"keyword_filter\":\"marketing\"}). See the README's Input table for every board's fields. Any \"max_items\"/\"max_pages\" you set here are capped at 10/2 regardless of the board's own limits, to keep each check fast and cheap.", "editor": "json", "prefill": { "keywords": [ "marketing" ], "max_items": 3, "max_pages": 1 }, "title": "Board filter (JSON)", "type": "object" }, "max_items": { "default": 20, "description": "Caps how many NEW-posting rows a single run will deliver and charge for, even if more were found.", "maximum": 200, "minimum": 1, "title": "Max new postings per run", "type": "integer" } }, "required": [ "board", "filter" ], "schemaVersion": 1, "title": "New Job Alert input", "type": "object" }, "name": "job-alert", "outputSchema": null }, { "description": "Pull every open role from a company's public applicant-tracking system (Greenhouse, Lever, Ashby) and normalize it into one row per posting: title, location, department, URL, posted date. No login, no scraping, no proxies. — $0.02/call, x402 (USDC on base).", "inputSchema": { "properties": { "items": { "description": "One entry per company, format `provider:company`. Provider is `greenhouse`, `lever` or `ashby`; company is the board's own slug (the part in the careers URL, e.g. `jobs.lever.co/spotify` -> `spotify`). Examples: `greenhouse:stripe`, `lever:spotify`, `ashby:ramp`.", "editor": "stringList", "maxItems": 100, "prefill": [ "greenhouse:stripe", "lever:spotify", "ashby:ramp" ], "title": "Companies (ATS tokens)", "type": "array" }, "maxConcurrency": { "default": 5, "description": "How many companies to check in parallel.", "maximum": 20, "minimum": 1, "title": "Max concurrency", "type": "integer" } }, "required": [ "items" ], "schemaVersion": 1, "title": "Job Postings Aggregator input", "type": "object" }, "name": "job-postings-aggregator", "outputSchema": null }, { "description": "Search jobs.ch (Switzerland) by keyword and get public job listings: title, company, location, employment type, posted date, URL. — $0.02/call, x402 (USDC on base).", "inputSchema": { "properties": { "fetch_full_description": { "default": false, "description": "Visit each job's detail page for the real description text and a more precise location (slower — one extra request per job). When off, description is the short teaser shown on the search results page.", "title": "Fetch full description", "type": "boolean" }, "keywords": { "description": "Job search terms, one per jobs.ch search (e.g. \"marketing\", \"software engineer\"). Runtime cap: 10.", "editor": "stringList", "maxItems": 10, "prefill": [ "job" ], "title": "Search keywords", "type": "array" }, "location": { "description": "Optional jobs.ch location filter (city name or postal code), applied to every keyword. Leave empty to search all of Switzerland.", "editor": "textfield", "title": "Location filter (optional)", "type": "string" }, "max_items": { "default": 30, "description": "How many job rows to collect per keyword, at most.", "maximum": 200, "minimum": 1, "prefill": 5, "title": "Max items per keyword", "type": "integer" }, "max_pages": { "default": 3, "description": "How many result pages to walk per keyword, at most (~20 jobs/page on jobs.ch).", "maximum": 20, "minimum": 1, "prefill": 1, "title": "Max pages per keyword", "type": "integer" } }, "required": [ "keywords" ], "schemaVersion": 1, "title": "jobs.ch Swiss Jobs Scraper input", "type": "object" }, "name": "jobs-ch-swiss", "outputSchema": null }, { "description": "Pull live apartment and house listings straight from Krisha.kz — Kazakhstan's biggest real-estate classifieds portal — by deal type, property type and city. No login, no browser, no proxies. — $0.02/call, x402 (USDC on base).", "inputSchema": { "properties": { "maxConcurrency": { "default": 5, "description": "How many queries to run in parallel.", "maximum": 20, "minimum": 1, "title": "Max concurrency", "type": "integer" }, "max_items": { "default": 100, "description": "Maximum number of listing rows to return across ALL queries combined, in this run.", "maximum": 2000, "minimum": 1, "prefill": 5, "title": "Max results (total)", "type": "integer" }, "max_pages": { "default": 3, "description": "How many result pages to walk for each individual query before moving on.", "maximum": 20, "minimum": 1, "prefill": 1, "title": "Max pages per query", "type": "integer" }, "queries": { "description": "One entry per search, format \"deal:type:city\". deal is `sale` or `rent`, type is `apartment` or `house`, city is a Krisha.kz city slug (e.g. `almaty`, `astana`, `shymkent`). Example: \"sale:apartment:almaty\".", "editor": "stringList", "maxItems": 25, "prefill": [ "sale:apartment:almaty" ], "title": "Queries", "type": "array" } }, "required": [ "queries" ], "schemaVersion": 1, "title": "Krisha.kz Listings input", "type": "object" }, "name": "krisha-kz", "outputSchema": null }, { "description": "Current USD price for any token by contract address or ticker: 24h change, liquidity, volume, best DEX pair. Keyless, no wallet, no RPC node — DexScreener's public API. Built to be called cheaply by AI agents that just need the number. — $0.01/call, x402 (USDC on base).", "inputSchema": { "properties": { "chainId": { "description": "Restrict results to one EVM chain: 1=Ethereum, 56=BSC, 8453=Base, 137=Polygon, 42161=Arbitrum. Leave empty to accept the best pair on any chain.", "title": "Chain ID (optional)", "type": "integer" }, "maxConcurrency": { "default": 10, "description": "How many tokens to look up in parallel.", "maximum": 20, "minimum": 1, "title": "Max concurrency", "type": "integer" }, "tokens": { "description": "Token contract addresses (EVM `0x…` or Solana base58) or tickers/search terms (e.g. `WETH`, `PEPE`). One row per entry.", "editor": "stringList", "maxItems": 100, "prefill": [ "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", "WETH" ], "title": "Tokens", "type": "array" } }, "required": [ "tokens" ], "schemaVersion": 1, "title": "Live Price Oracle input", "type": "object" }, "name": "live-price-oracle", "outputSchema": null }, { "description": "Turn today’s allowed official publications into watchlist-linked action evidence. Unofficial, independent Actor; not affiliated with or endorsed by any named source publisher. — $0.02/call, x402 (USDC on base).", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "description": "Matches customer watch rules against one official Turkish Gazette issue. Titles are matched deterministically; only selected official documents are validated.", "properties": { "lookbackDays": { "default": 3, "description": "If the start date has no issue, try up to this many preceding dates. A 404 is treated only as a missing date.", "editor": "number", "maximum": 7, "minimum": 0, "title": "Lookback days", "type": "integer" }, "maxDocuments": { "default": 10, "description": "Fetch and validate at most this many title-matched official documents.", "editor": "number", "maximum": 20, "minimum": 1, "title": "Maximum matched documents", "type": "integer" }, "maxSignals": { "default": 50, "description": "Return the highest-priority watch–document actions up to this limit.", "editor": "number", "maximum": 100, "minimum": 1, "title": "Maximum actions", "type": "integer" }, "maxTotalChargeUsd": { "default": 3.005, "description": "Hard run cap checked before any signal claim or paid delivery.", "editor": "number", "maximum": 100, "minimum": 0.005, "title": "Customer charge cap", "type": "number" }, "publicationDate": { "description": "Optional YYYY-MM-DD start date. Omit to start from today's Europe/Istanbul date.", "editor": "textfield", "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$", "title": "Publication date", "type": "string" }, "requestId": { "description": "Unique non-PII idempotency ID. A retry may reuse it only with identical input.", "editor": "textfield", "maxLength": 64, "minLength": 8, "pattern": "^[A-Za-z0-9_-]{8,64}$", "title": "Request ID", "type": "string" }, "watches": { "default": [ { "categories": [ "regulation", "communique" ], "keywords": [ "gümrük", "ithalat" ], "matchMode": "any", "reviewWindowDays": 2, "watchId": "customs_changes" } ], "description": "One to 50 customer watch profiles. Matching is limited to official document titles and selected allowed publication classes.", "editor": "json", "items": { "additionalProperties": false, "properties": { "categories": { "description": "Optional official publication classes. Ads and miscellaneous notices are never accepted.", "items": { "maxLength": 24, "minLength": 3, "pattern": "^(law|presidential_decree|presidential_decision|regulation|communique|circular|board_decision|judicial_decision)$", "type": "string" }, "maxItems": 8, "minItems": 1, "title": "Allowed classes", "type": "array", "uniqueItems": true }, "keywords": { "description": "One to 20 literal, case-insensitive Turkish title phrases.", "items": { "maxLength": 80, "minLength": 1, "type": "string" }, "maxItems": 20, "minItems": 1, "title": "Title keywords", "type": "array", "uniqueItems": true }, "matchMode": { "default": "any", "description": "Require any keyword or every keyword in the official title.", "enum": [ "any", "all" ], "title": "Match mode", "type": "string" }, "reviewWindowDays": { "default": 3, "description": "Calendar days allowed for a non-immediate review task.", "maximum": 30, "minimum": 0, "title": "Review window", "type": "integer" }, "watchId": { "description": "Opaque non-PII customer rule identity.", "maxLength": 64, "minLength": 1, "pattern": "^[A-Za-z0-9_-]+$", "title": "Watch ID", "type": "string" } }, "required": [ "watchId", "keywords" ], "type": "object" }, "maxItems": 50, "minItems": 1, "title": "Regulatory watches", "type": "array" } }, "required": [ "requestId", "watches", "maxTotalChargeUsd" ], "schemaVersion": 1, "title": "Official Gazette Regulatory Action Router input", "type": "object" }, "name": "official-gazette-regulatory-action-router", "outputSchema": null }, { "description": "Pull live apartment and house listings straight from Otodom.pl — Poland's biggest real-estate classifieds portal — by deal type, property type and city. No login, no browser, no proxies. — $0.02/call, x402 (USDC on base).", "inputSchema": { "properties": { "city": { "default": "mazowieckie/warszawa/warszawa/warszawa", "description": "Otodom.pl location path segments, e.g. \"mazowieckie/warszawa/warszawa/warszawa\" (voivodeship/city/city/city) for the city of Warsaw.", "prefill": "mazowieckie/warszawa/warszawa/warszawa", "title": "City path", "type": "string" }, "deal_type": { "default": "sprzedaz", "description": "`sprzedaz` for sale listings, `wynajem` for rentals.", "enum": [ "sprzedaz", "wynajem" ], "enumTitles": [ "Sale (sprzedaz)", "Rent (wynajem)" ], "prefill": "sprzedaz", "title": "Deal type", "type": "string" }, "max_items": { "default": 100, "description": "Maximum number of listing rows to return in this run.", "maximum": 2000, "minimum": 1, "prefill": 5, "title": "Max results (total)", "type": "integer" }, "max_pages": { "default": 3, "description": "How many result pages to walk before stopping.", "maximum": 20, "minimum": 1, "prefill": 1, "title": "Max pages", "type": "integer" }, "property_type": { "default": "mieszkanie", "description": "`mieszkanie` for flats, `dom` for houses.", "enum": [ "mieszkanie", "dom" ], "enumTitles": [ "Apartment (mieszkanie)", "House (dom)" ], "prefill": "mieszkanie", "title": "Property type", "type": "string" } }, "required": [], "schemaVersion": 1, "title": "Otodom Listings input", "type": "object" }, "name": "otodom-warsaw", "outputSchema": null }, { "description": "Free — list every paid tool in the 'market-data' 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": "Pull live apartment, villa, penthouse and townhouse listings straight from PropertyFinder.ae — the UAE's biggest real-estate portal — by deal type and emirate, sorted freshest-first. No login, no browser, no proxies. — $0.02/call, x402 (USDC on base).", "inputSchema": { "properties": { "deal_type": { "default": "sell", "description": "`sell` for properties for sale, `rent` for properties for rent.", "enum": [ "sell", "rent" ], "enumTitles": [ "Sell", "Rent" ], "prefill": "sell", "title": "Deal type", "type": "string" }, "emirate": { "default": "dubai", "description": "Which UAE emirate to search. Each is a sitemap-declared, robots.txt-allowed PropertyFinder.ae page — this Actor does not use the /en/search endpoint (see README FAQ).", "enum": [ "dubai", "abu-dhabi", "sharjah", "ajman", "ras-al-khaimah", "fujairah", "umm-al-quwain", "al-ain" ], "enumTitles": [ "Dubai", "Abu Dhabi", "Sharjah", "Ajman", "Ras Al Khaimah", "Fujairah", "Umm Al Quwain", "Al Ain" ], "prefill": "dubai", "title": "Emirate", "type": "string" }, "max_items": { "default": 25, "description": "Maximum number of listing rows to return in this run, taken from the freshest candidates collected (see max_listing_age_days).", "maximum": 2000, "minimum": 1, "prefill": 5, "title": "Max results", "type": "integer" }, "max_listing_age_days": { "description": "Optional. Drop any listing whose real posted date is older than this many days. Leave empty to keep the freshest listings regardless of age.", "minimum": 1, "title": "Max listing age (days)", "type": "integer" }, "max_pages": { "default": 3, "description": "How many result pages to scan (PropertyFinder shows ~20-25 listings per page) before picking the freshest max_items from what was collected.", "maximum": 50, "minimum": 1, "prefill": 1, "title": "Max pages", "type": "integer" } }, "required": [], "schemaVersion": 1, "title": "PropertyFinder.ae Listings input", "type": "object" }, "name": "propertyfinder-gulf", "outputSchema": null }, { "description": "Watches a property portal for a saved filter and returns only the listings that appeared 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 watches (different portals and/or filters) from one Actor 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" }, "filter": { "description": "The search filter to pass to the chosen portal's own Actor input — same field names as that Actor's own input schema (e.g. Krisha.kz wants {\"queries\":[\"sale:apartment:almaty\"]}, Rightmove wants {\"location_identifier\":\"REGION^87490\",\"deal_type\":\"sale\"}). See the README's Input table for every portal's fields. Any \"max_items\"/\"max_pages\" you set here are capped at 10/2 regardless of the portal's own limits, to keep each check fast and cheap.", "editor": "json", "prefill": { "max_items": 3, "max_pages": 1, "queries": [ "sale:apartment:almaty" ] }, "title": "Portal filter (JSON)", "type": "object" }, "max_items": { "default": 20, "description": "Caps how many NEW-listing rows a single run will deliver and charge for, even if more were found.", "maximum": 200, "minimum": 1, "title": "Max new listings per run", "type": "integer" }, "portal": { "default": "krisha-kz", "description": "Which of our own live real-estate Actors this watch calls. Each portal's own filter fields differ — see the Input section of the README for the exact fields each one expects.", "enum": [ "krisha-kz", "otodom-warsaw", "imovirtual-lisbon", "storia-bucharest", "willhaben-vienna", "rightmove-london", "ss-ge-tbilisi", "propertyfinder-gulf", "realitica-adriatic", "emlakjet-istanbul" ], "enumTitles": [ "Krisha.kz (Kazakhstan)", "Otodom (Poland)", "Imovirtual (Portugal)", "Storia (Romania)", "Willhaben (Austria)", "Rightmove (UK)", "SS.ge (Georgia)", "PropertyFinder (UAE/Gulf)", "Realitica (Adriatic)", "Emlakjet (Turkey)" ], "prefill": "krisha-kz", "title": "Portal to watch", "type": "string" } }, "required": [ "filter", "portal" ], "schemaVersion": 1, "title": "New Listing Alert input", "type": "object" }, "name": "re-new-listing-alert", "outputSchema": null }, { "description": "Pull live apartment and house listings straight from Realitica.com — a real-estate classifieds portal covering Montenegro, Croatia and Serbia — by deal type, property type and region. No login, no browser, no proxies. — $0.02/call, x402 (USDC on base).", "inputSchema": { "properties": { "deal_type": { "default": "prodaja", "description": "`prodaja` (sale) or `najam` (long-term rent). `najam` maps to Realitica's own \"Duži Najam\" long-term-rental category, not its separate short-term/tourist rental listings.", "editor": "select", "enum": [ "prodaja", "najam" ], "enumTitles": [ "prodaja (sale)", "najam (long-term rent)" ], "prefill": "prodaja", "title": "Deal type", "type": "string" }, "max_items": { "default": 25, "description": "Maximum number of listing rows to return for this deal_type/property_type/region combination.", "maximum": 2000, "minimum": 1, "prefill": 5, "title": "Max results", "type": "integer" }, "max_pages": { "default": 3, "description": "How many result pages to walk (25 listings per page) before stopping.", "maximum": 20, "minimum": 1, "prefill": 1, "title": "Max pages", "type": "integer" }, "property_type": { "default": "stanova", "description": "`stanova` (apartments) or `kuca` (houses).", "editor": "select", "enum": [ "stanova", "kuca" ], "enumTitles": [ "stanova (apartments)", "kuca (houses)" ], "prefill": "stanova", "title": "Property type", "type": "string" }, "region": { "default": "Crna-Gora", "description": "A Realitica region path, e.g. `Crna-Gora` (Montenegro), `Hrvatska` (Croatia), `Srbija` (Serbia), or a city drilldown like `budva/Crna-Gora`.", "prefill": "Crna-Gora", "title": "Region", "type": "string" } }, "required": [ "deal_type", "property_type", "region" ], "schemaVersion": 1, "title": "Realitica.com Adriatic Real Estate input", "type": "object" }, "name": "realitica-adriatic", "outputSchema": null }, { "description": "Pull live for-sale and to-rent property listings straight from Rightmove.co.uk — the UK's biggest property portal — for London or any other Rightmove location code. No login, no browser, no proxies. — $0.02/call, x402 (USDC on base).", "inputSchema": { "properties": { "deal_type": { "default": "sale", "description": "\"sale\" for properties for sale, \"rent\" for properties to rent.", "enum": [ "sale", "rent" ], "enumTitles": [ "For sale", "To rent" ], "prefill": "sale", "title": "Deal type", "type": "string" }, "location_identifier": { "default": "REGION^87490", "description": "Rightmove's own opaque location code, format \"TYPE^NUMBER\" (e.g. \"REGION^87490\" for London). Rightmove does not publish a name-to-code lookup table; to find the code for another area, search that area on rightmove.co.uk and copy the `locationIdentifier` query parameter from the results page URL.", "prefill": "REGION^87490", "title": "Location identifier", "type": "string" }, "max_items": { "default": 100, "description": "Maximum number of listing rows to return in this run.", "maximum": 2000, "minimum": 1, "prefill": 5, "title": "Max results", "type": "integer" }, "max_pages": { "default": 3, "description": "How many result pages (24 listings per page, per Rightmove) to walk before stopping.", "maximum": 50, "minimum": 1, "prefill": 1, "title": "Max pages", "type": "integer" } }, "required": [ "location_identifier", "deal_type" ], "schemaVersion": 1, "title": "Rightmove London Property Listings input", "type": "object" }, "name": "rightmove-london", "outputSchema": null }, { "description": "Score ERC-20/BEP-20 token rug-pull risk from honeypot.is simulation + DexScreener liquidity/age. Detects honeypots, high taxes, thin liquidity, brand-new pairs. Heuristic signal, not financial advice. No wallet, no RPC key, no browser. — $0.01/call, x402 (USDC on base).", "inputSchema": { "properties": { "chainId": { "default": 1, "description": "EVM chain the tokens live on. 1 = Ethereum, 56 = BSC, 8453 = Base, 137 = Polygon, 42161 = Arbitrum.", "title": "Chain ID", "type": "integer" }, "maxConcurrency": { "default": 5, "description": "How many tokens to score in parallel.", "maximum": 20, "minimum": 1, "title": "Max concurrency", "type": "integer" }, "tokens": { "description": "ERC-20/BEP-20 token contract addresses to score (e.g. `0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48`). One row per token.", "editor": "stringList", "maxItems": 100, "prefill": [ "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" ], "title": "Token contract addresses", "type": "array" } }, "required": [ "tokens" ], "schemaVersion": 1, "title": "Rug-Pull Risk Scorer input", "type": "object" }, "name": "rug-pull-scorer", "outputSchema": null }, { "description": "Watch stock tickers for new SEC filings — 10-K, 10-Q, 8-K, S-1 and more. Official SEC EDGAR data, free, no API key or login. Filter by form type and lookback window; get form, filing date and a direct document URL for every match. — $0.01/call, x402 (USDC on base).", "inputSchema": { "properties": { "formTypes": { "description": "Only include these SEC form types (e.g. `10-K`, `8-K`, `S-1`). Leave empty to include every form type.", "editor": "stringList", "maxItems": 30, "prefill": [], "title": "Form types", "type": "array" }, "maxConcurrency": { "default": 5, "description": "How many tickers to process in parallel. SEC EDGAR's documented rate limit is 10 requests/second — keep this at or below 10.", "maximum": 10, "minimum": 1, "title": "Max concurrency", "type": "integer" }, "sinceDays": { "default": 90, "description": "Only include filings from the last N days.", "maximum": 3650, "minimum": 1, "title": "Since (days)", "type": "integer" }, "tickers": { "description": "Stock tickers to watch for new SEC filings (e.g. `AAPL`, `TSLA`, `NVDA`). One row per ticker.", "editor": "stringList", "maxItems": 100, "prefill": [ "AAPL", "TSLA", "NVDA" ], "title": "Tickers", "type": "array" } }, "required": [ "tickers" ], "schemaVersion": 1, "title": "SEC EDGAR Filing Watcher input", "type": "object" }, "name": "sec-edgar-watcher", "outputSchema": null }, { "description": "Pull live real-estate listings straight from SS.ge — Georgia's biggest real-estate classifieds portal — by city, with price in whichever currency (GEL or USD) the seller actually set. No login, no browser, no proxies. — $0.02/call, x402 (USDC on base).", "inputSchema": { "properties": { "city_id": { "default": 95, "description": "SS.ge numeric city ID. Known IDs (verified live 2026-07-30): 95 = Tbilisi, 96 = Batumi, 97 = Kutaisi, 98 = Rustavi, 99 = Gori, 100 = Zugdidi, 101 = Poti, 102 = Telavi, 19 = Mtskheta. An unrecognized ID returns zero listings (not an error) rather than falling back to another city.", "minimum": 1, "prefill": 95, "title": "City ID", "type": "integer" }, "deal_type": { "default": "any", "description": "Filter by deal type. `any` (default) returns the portal's own unfiltered mix of sale/rent/lease/daily-rent listings for the city. `sale` and `rent` are confirmed live filters (SS.ge's own For-Sale / For-Rent pages); `rent` also covers the portal's separate \"Lease\" and \"Daily rent\" categories.", "enum": [ "any", "sale", "rent" ], "prefill": "any", "title": "Deal type", "type": "string" }, "max_items": { "default": 100, "description": "Maximum number of listing rows to return in this run.", "maximum": 2000, "minimum": 1, "prefill": 5, "title": "Max results", "type": "integer" }, "max_pages": { "default": 3, "description": "How many result pages (16 listings per page) to walk before stopping.", "maximum": 20, "minimum": 1, "prefill": 1, "title": "Max pages", "type": "integer" } }, "required": [], "schemaVersion": 1, "title": "SS.ge Listings input", "type": "object" }, "name": "ss-ge-tbilisi", "outputSchema": null }, { "description": "Pull live apartment and house listings straight from Storia.ro — Romania's biggest real-estate classifieds portal — by deal type, property type and city. No login, no browser, no proxies. — $0.02/call, x402 (USDC on base).", "inputSchema": { "properties": { "city": { "default": "bucuresti", "description": "Storia.ro location path segment(s), e.g. \"bucuresti\" for Bucharest, or \"harghita/miercurea-ciuc\" (county/city) for smaller towns.", "prefill": "bucuresti", "title": "City path", "type": "string" }, "deal_type": { "default": "vanzare", "description": "`vanzare` for sale listings, `inchiriere` for rentals.", "enum": [ "vanzare", "inchiriere" ], "enumTitles": [ "Buy (vanzare)", "Rent (inchiriere)" ], "prefill": "vanzare", "title": "Deal type", "type": "string" }, "max_items": { "default": 100, "description": "Maximum number of listing rows to return in this run.", "maximum": 2000, "minimum": 1, "prefill": 5, "title": "Max results (total)", "type": "integer" }, "max_pages": { "default": 3, "description": "How many result pages to walk before stopping.", "maximum": 20, "minimum": 1, "prefill": 1, "title": "Max pages", "type": "integer" }, "property_type": { "default": "apartament", "description": "`apartament` for flats, `casa` for houses.", "enum": [ "apartament", "casa" ], "enumTitles": [ "Apartment (apartament)", "House (casa)" ], "prefill": "apartament", "title": "Property type", "type": "string" } }, "required": [], "schemaVersion": 1, "title": "Storia Listings input", "type": "object" }, "name": "storia-bucharest", "outputSchema": null }, { "description": "Pull live apartment listings straight from Tap.az — Azerbaijan's biggest classifieds marketplace — by real-estate category. No login, no browser, no proxies. — $0.02/call, x402 (USDC on base).", "inputSchema": { "properties": { "category": { "default": "menziller", "description": "Tap.az real-estate category path segment, appended to https://tap.az/elanlar/dasinmaz-emlak/. Only \"menziller\" (apartments) has been verified against this Actor — other values are not guaranteed to parse correctly.", "editor": "textfield", "prefill": "menziller", "title": "Category", "type": "string" }, "max_items": { "default": 100, "description": "Maximum number of listing rows to return in this run.", "maximum": 2000, "minimum": 1, "prefill": 5, "title": "Max results", "type": "integer" }, "max_pages": { "default": 3, "description": "How many result pages to walk before stopping.", "maximum": 20, "minimum": 1, "prefill": 1, "title": "Max pages", "type": "integer" } }, "required": [ "category" ], "schemaVersion": 1, "title": "Tap.az Listings input", "type": "object" }, "name": "tap-az-baku", "outputSchema": null }, { "description": "Watches public tender feeds for a saved filter and returns only what changed since the previous check — new tenders, closed ones, changed deadlines. 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 tender watches from one Actor (e.g. \"eu-it-services\", \"germany-construction\") without one overwriting another's memory of what's already been seen. Each name is scoped to YOUR OWN Apify account — nobody else's watch is visible to you and vice versa. 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" }, "country": { "description": "ISO 3-letter buyer-country code to AND into every query, e.g. \"DEU\", \"FRA\". Leave empty for all EU countries.", "editor": "textfield", "title": "Buyer country (optional)", "type": "string" }, "limit": { "default": 20, "description": "Max number of notices gov-tender-radar returns per query, per run. Higher means more thorough coverage but more of OUR compute (never billed to you beyond the per-tender price below).", "maximum": 100, "minimum": 1, "prefill": 5, "title": "Results per query", "type": "integer" }, "max_items": { "default": 20, "description": "Caps how many NEW-tender rows a single run will deliver and charge for, even if more were found.", "maximum": 200, "minimum": 1, "title": "Max new tenders per run", "type": "integer" }, "queries": { "description": "Keywords or TED expert-query expressions defining which tenders to watch — same syntax as gov-tender-radar (e.g. \"software\", \"classification-cpv=72000000\", \"cloud AND classification-cpv=72*\"). Every scheduled run re-checks these same queries and reports ONLY tenders not seen on a previous run for this watch.", "editor": "stringList", "maxItems": 10, "prefill": [ "classification-cpv=72000000" ], "title": "Search queries", "type": "array" } }, "required": [ "queries" ], "schemaVersion": 1, "title": "Tender Change Alert input", "type": "object" }, "name": "tender-alert", "outputSchema": null }, { "description": "Track institutional managers (hedge funds, family offices) by SEC CIK or name and get their recent 13F-HR quarterly filings — form, filing date, accession number and an EDGAR link. Official SEC data, free, no API key or login. — $0.01/call, x402 (USDC on base).", "inputSchema": { "properties": { "managers": { "description": "Institutional managers to watch — each entry is either a 10-digit SEC CIK (e.g. `0001067983` for Berkshire Hathaway, used as-is) or a manager name resolved against EDGAR's filer index (e.g. `Bridgewater Associates`). A name that matches several filers returns the shortlist with similarity scores instead of picking one, so use the CIK or the full filer name for anything generic like `Capital Management`.", "editor": "stringList", "maxItems": 100, "prefill": [ "0001067983", "0001350694", "Renaissance Technologies" ], "title": "Managers", "type": "array" }, "maxConcurrency": { "default": 5, "description": "How many managers to process in parallel. SEC EDGAR's documented rate limit is 10 requests/second — keep this at or below 10.", "maximum": 10, "minimum": 1, "title": "Max concurrency", "type": "integer" }, "sinceDays": { "default": 365, "description": "Only include 13F filings from the last N days.", "maximum": 3650, "minimum": 1, "title": "Since (days)", "type": "integer" } }, "required": [ "managers" ], "schemaVersion": 1, "title": "13F Portfolio Tracker input", "type": "object" }, "name": "thirteen-f-tracker", "outputSchema": null }, { "description": "Look up any token contract address or ticker across DEXes and get liquidity, 24h volume, pair age, a 0-100 quality score and risk flags. Powered by DexScreener's public API. No key, no wallet, no on-chain node. Not financial advice. — $0.01/call, x402 (USDC on base).", "inputSchema": { "properties": { "maxAgeHours": { "description": "Only keep pairs created within this many hours — use it to hunt fresh launches. Leave empty for no age filter.", "minimum": 0, "title": "Max pair age (hours)", "type": "integer" }, "maxConcurrency": { "default": 5, "description": "How many tokens to look up in parallel.", "maximum": 20, "minimum": 1, "title": "Max concurrency", "type": "integer" }, "minLiquidityUsd": { "default": 0, "description": "Drop the token's best pair if its liquidity is below this. 0 = no filter.", "minimum": 0, "title": "Minimum liquidity (USD)", "type": "integer" }, "tokens": { "description": "Token contract addresses (e.g. `0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48`) or search terms/tickers (e.g. `PEPE`). One row per entry.", "editor": "stringList", "maxItems": 100, "prefill": [ "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", "PEPE" ], "title": "Tokens", "type": "array" } }, "required": [ "tokens" ], "schemaVersion": 1, "title": "Token Launch Radar input", "type": "object" }, "name": "token-launch-radar", "outputSchema": null }, { "description": "Watch UK Find a Tender for public-sector tenders newly matching your keywords, CPV codes, value threshold or region, and get only the new ones since your last check. — $0.05/call, x402 (USDC on base).", "inputSchema": { "additionalProperties": false, "description": "Watch UK Find a Tender for public-sector tenders newly matching your filter since your last check. At least one of keywords, cpvCodes, minValueGbp, maxValueGbp or region is required — an empty filter is rejected rather than treated as \"show everything\".", "properties": { "cpvCodes": { "description": "Matched as a PREFIX against the tender's CPV classification code, e.g. \"7211\" matches \"72110000\". A full code with a check digit (\"72000000-5\") is accepted and the check digit is stripped automatically. 0-20 entries.", "editor": "stringList", "maxItems": 20, "title": "CPV codes / prefixes", "type": "array" }, "emitBaseline": { "default": true, "description": "When true (default), the first run for a new watch name writes one free, clearly-labelled row summarizing what was captured as the reference point. When false, that first run still saves the reference point — it just writes no row, for buyers who only ever want to see \"new since I subscribed\" and never a first-run dump.", "title": "Announce baseline creation", "type": "boolean" }, "keywords": { "description": "Case-insensitive substring match against the tender's title and description. 0-20 entries.", "editor": "stringList", "maxItems": 20, "prefill": [ "software" ], "title": "Keywords", "type": "array" }, "lookbackDays": { "default": 1, "description": "How far back each run looks for updated releases. Default 1 day: the measured rate limit (12 requests before HTTP 429) covers a full 24h window in about 6 paginated requests. A wider window is honored, but is more likely to exceed the request budget mid-run and finish with honest partial coverage for that run (nothing lost — anything not read this run is picked up, and billed, on a later run).", "maximum": 30, "minimum": 1, "title": "Lookback window (days)", "type": "integer" }, "maxNewPerRun": { "default": 20, "description": "Caps how many NEW matching tenders a single run delivers and charges for, even if more were found. Anything held back by this cap is never lost — it stays \"new\" and appears (and is billed) on a future run.", "maximum": 200, "minimum": 1, "title": "Max new tenders per run", "type": "integer" }, "maxValueGbp": { "description": "Same GBP-only caveat as minValueGbp above.", "minimum": 0, "title": "Maximum value (GBP)", "type": "integer" }, "minValueGbp": { "description": "Only applied when the tender's published value is in GBP. A tender with a missing value, or a value published in another currency, is reported as a free, unbilled row instead of a silent guess — never excluded outright and never billed on an assumption.", "minimum": 0, "title": "Minimum value (GBP)", "type": "integer" }, "region": { "description": "Case-insensitive substring match against whatever buyer/delivery region or country data the notice publishes. Not a hard filter guarantee — region data is not published on every notice, and an absent field never excludes a tender on this axis alone.", "editor": "textfield", "maxLength": 200, "title": "Region (best-effort)", "type": "string" }, "stateKey": { "description": "A name for THIS watch, so you can run several independent tender watches from one Actor without one overwriting another's memory of what it has already billed. Scoped to your own Apify account. The prefilled value is only there so this Actor's own daily platform test has a stable, obviously-a-test name — replace it with your own watch name.", "editor": "textfield", "isSecret": true, "prefill": "apify-daily-test", "title": "Watch name", "type": "string" } }, "schemaVersion": 1, "title": "UK Public Tender Lead Alert input", "type": "object" }, "name": "uk-public-tender-lead-alert", "outputSchema": null }, { "description": "Profile a wallet on-chain: age, tx activity, contract & token diversity -> a 0-100 airdrop-farming readiness score. BYOK Etherscan (your key, your quota). Not a guarantee of eligibility for any specific airdrop -- a heuristic signal only. — $0.01/call, x402 (USDC on base).", "inputSchema": { "properties": { "chainId": { "default": 1, "description": "EVM chain to query. Keyless (Blockscout) supports 1=Ethereum, 10=Optimism, 100=Gnosis, 137=Polygon, 8453=Base, 42161=Arbitrum. Any other chain needs an Etherscan API key.", "title": "Chain ID", "type": "integer" }, "etherscanApiKey": { "description": "Optional. Leave empty to use a free keyless Blockscout explorer. Provide your own Etherscan key (https://etherscan.io/myapikey) for higher rate limits or a chain not covered keyless. Billed against YOUR quota.", "editor": "textfield", "isSecret": true, "title": "Etherscan API key (optional)", "type": "string" }, "maxConcurrency": { "default": 3, "description": "Parallel wallets processed (kept low to respect your Etherscan rate limit).", "maximum": 10, "minimum": 1, "title": "Max concurrency", "type": "integer" }, "wallets": { "description": "EVM wallet addresses to profile (0x... , 40 hex chars).", "editor": "stringList", "maxItems": 100, "prefill": [ "0x28C6c06298d514Db089934071355E5743bf21d60" ], "title": "Wallet addresses", "type": "array" } }, "required": [ "wallets" ], "schemaVersion": 1, "title": "Wallet Airdrop Profile input", "type": "object" }, "name": "wallet-airdrop-profile", "outputSchema": null }, { "description": "Track large native ETH and ERC-20 token movements for any wallet(s) via Etherscan's multichain API (bring your own key). Get current balance, flagged transfers above your ETH threshold, and recent token transfer activity — one row per wallet. No RPC node, no wallet-connect, no browser. — $0.01/call, x402 (USDC on base).", "inputSchema": { "properties": { "chainId": { "default": 1, "description": "EVM chain ID. Keyless (Blockscout) supports 1 = Ethereum, 10 = Optimism, 100 = Gnosis, 137 = Polygon, 8453 = Base, 42161 = Arbitrum. Any other chain needs an Etherscan API key.", "title": "Chain ID", "type": "integer" }, "etherscanApiKey": { "description": "Optional. Leave empty to use a free keyless Blockscout explorer. Provide your own Etherscan key (https://etherscan.io/myapikey) for higher rate limits or a chain not covered keyless. Billed against YOUR quota.", "editor": "textfield", "isSecret": true, "title": "Etherscan API key (optional)", "type": "string" }, "maxConcurrency": { "default": 3, "description": "How many wallets to check in parallel. Keep this low on Etherscan's free tier to avoid rate-limit errors.", "maximum": 10, "minimum": 1, "title": "Max concurrency", "type": "integer" }, "minValueEth": { "default": 1, "description": "Flag native transactions moving at least this much ETH (or the chain's native coin) as a \"large movement\".", "title": "Minimum native value (ETH)", "type": "number" }, "wallets": { "description": "Wallet addresses to track (0x... on any EVM chain supported by Etherscan v2). One row per wallet.", "editor": "stringList", "maxItems": 100, "prefill": [ "0x28C6c06298d514Db089934071355E5743bf21d60" ], "title": "Wallets", "type": "array" } }, "required": [ "wallets" ], "schemaVersion": 1, "title": "Whale Wallet Tracker input", "type": "object" }, "name": "whale-wallet-tracker", "outputSchema": null }, { "description": "Pull live apartment rental and sale listings straight from Willhaben.at — Austria's biggest classifieds portal — for Vienna. No login, no browser, no proxies. — $0.02/call, x402 (USDC on base).", "inputSchema": { "properties": { "city": { "default": "wien", "description": "Willhaben city/region URL slug. Only \"wien\" (Vienna) is verified to work reliably with this Actor's path shape — other slugs may 404 even for real Austrian cities (willhaben structures some regions' URLs differently).", "prefill": "wien", "title": "City", "type": "string" }, "deal_type": { "default": "mietwohnungen", "description": "\"mietwohnungen\" for apartment rentals, \"eigentumswohnung\" for apartments for sale.", "enum": [ "mietwohnungen", "eigentumswohnung" ], "enumTitles": [ "Rent (mietwohnungen)", "Sale (eigentumswohnung)" ], "prefill": "mietwohnungen", "title": "Deal type", "type": "string" }, "max_items": { "default": 100, "description": "Maximum number of listing rows to return in this run.", "maximum": 2000, "minimum": 1, "prefill": 5, "title": "Max results (total)", "type": "integer" }, "max_pages": { "default": 3, "description": "How many result pages to walk before stopping (30 listings per page).", "maximum": 50, "minimum": 1, "prefill": 1, "title": "Max pages", "type": "integer" } }, "required": [ "deal_type", "city" ], "schemaVersion": 1, "title": "Willhaben Vienna Real Estate input", "type": "object" }, "name": "willhaben-vienna", "outputSchema": null }, { "description": "Walk xing.com's own job sitemap and pull public job listings from Germany/Austria/Switzerland: title, company, location, employment type, posted date, industry, and (optionally) the full description — straight from each job's own public page. — $0.02/call, x402 (USDC on base).", "inputSchema": { "properties": { "fetch_full_description": { "default": true, "description": "Include the job's full description text in the output row. This Actor already fetches each job's own page to get any data at all (title, company, location...), so the description costs no extra request either way — this setting only controls whether it's kept in the row.", "title": "Include full description", "type": "boolean" }, "freshness_days": { "default": 14, "description": "Skip sitemap entries older than this many days. In practice xing.com's own sitemap entries are typically only minutes to hours old at any given time, so this rarely filters anything out.", "maximum": 90, "minimum": 1, "title": "Only jobs listed in the last N days", "type": "integer" }, "keyword_filter": { "description": "Optional case-insensitive substring match against each job's title, applied on this Actor's side after fetching the job's own page. xing.com's job search itself needs a browser session and is not used here — there is no server-side keyword search on this Actor. Leave empty to keep every job found.", "editor": "textfield", "title": "Keyword filter (optional)", "type": "string" }, "max_items": { "default": 20, "description": "How many job rows to deliver, at most. This Actor walks xing.com's own job sitemap and visits each candidate job page individually — a meaningful share of freshly-listed jobs are already withdrawn (HTTP 410) by the time they're visited, which is normal churn, not a fault. Extra candidates are attempted automatically to compensate, so this number is a target, not a guarantee.", "maximum": 200, "minimum": 1, "prefill": 3, "title": "Max jobs to return", "type": "integer" }, "sitemap_override_url": { "description": "Advanced: override the internal xing.com jobs sitemap URL this Actor walks. Leave empty to use the live xing.com jobs sitemap index. Mainly useful for diagnostics.", "editor": "textfield", "title": "Sitemap URL override (advanced/diagnostic)", "type": "string" } }, "required": [], "schemaVersion": 1, "title": "XING Jobs (DACH) Scraper input", "type": "object" }, "name": "xing-jobs", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:8d8b194f5028cd1c0a1be926b27133f8d7d6dd5e8ab18060979f10f5d92b71dd | sha256sum