{"id":603299,"name":"QuanticData Data API","description":"QuanticData Data API as an A2A agent: scrape any URL, search the web (SERP), map and crawl sites, run ready-made collectors and build datasets — through a residential, ISP and mobile proxy network. Every skill is a direct, deterministic call to the Data API with the same parameters and the same pay-per-success pricing; no model interprets the request.","card_url":"https://api.quanticdata.io/.well-known/agent-card.json","endpoint":"https://api.quanticdata.io/a2a","protocol_version":"1.0","first_seen":"2026-11-12T04:52:59.748856+00:00","last_verified":"2026-11-12T04:52:59.748856+00:00","card":{"name":"QuanticData Data API","skills":[{"id":"scrape_url","name":"Scrape a URL","tags":["scrape","extract","markdown","proxy","web"],"examples":["{\"skill\":\"scrape_url\",\"input\":{\"url\":\"https://example.com/pricing\",\"format\":\"markdown\",\"country\":\"us\"}}","{\"skill\":\"scrape_url\",\"input\":{\"url\":\"https://example.com/pricing\",\"extract\":{\"title\":\"h1\",\"price\":\".price\"}}}"],"inputModes":["application/json","text/plain"],"description":"Fetch one page through the proxy network and return it as markdown, html or text, optionally with a structured extraction schema (CSS selectors), a screenshot or browser actions. Same parameters as POST /v1/scrape (url, format, engine, render, country, extract, actions, screenshot …). Completes in the same call.","outputModes":["application/json","text/plain"]},{"id":"web_search","name":"Web search (SERP)","tags":["search","serp","google","bing","duckduckgo"],"examples":["{\"skill\":\"web_search\",\"input\":{\"query\":\"best espresso machines 2026\",\"country\":\"us\",\"num\":10}}","{\"skill\":\"web_search\",\"input\":{\"query\":\"pizzeria napoli\",\"search_type\":\"places\",\"country\":\"it\",\"lang\":\"it\"}}"],"inputModes":["application/json","text/plain"],"description":"Structured search results from Google, Bing or DuckDuckGo: organic results, shopping, images, news, places, maps, jobs, autocomplete and the other verticals. Same parameters as POST /v1/serp (query, engine, search_type, country, lang, num, page, device, location …). Completes in the same call.","outputModes":["application/json","text/plain"]},{"id":"map_site","name":"Map a site","tags":["map","sitemap","urls","discovery"],"examples":["{\"skill\":\"map_site\",\"input\":{\"url\":\"https://example.com\",\"limit\":100,\"search\":\"blog\"}}"],"inputModes":["application/json","text/plain"],"description":"Discover the URLs of a site from its sitemaps and homepage links, with per-section counts. Same parameters as POST /v1/map (url, limit, search, includeSubdomains, sitemapOnly, group_by, country). Completes in the same call.","outputModes":["application/json","text/plain"]},{"id":"crawl_site","name":"Crawl a site","tags":["crawl","spider","markdown","async"],"examples":["{\"skill\":\"crawl_site\",\"input\":{\"url\":\"https://docs.example.com\",\"limit\":50,\"depth\":3,\"include\":[\"/guides/*\"]}}"],"inputModes":["application/json","text/plain"],"description":"Crawl up to 500 pages from a seed URL and return each page as markdown, html or text. Same parameters as POST /v1/crawl (url, limit, depth, format, contentMode, render, include, exclude, country). Asynchronous: the task stays TASK_STATE_WORKING while the job runs; poll it with GetTask, the crawled pages arrive as an artifact when it is TASK_STATE_COMPLETED. CancelTask stops the job.","outputModes":["application/json","text/plain"]},{"id":"run_collector","name":"Run a collector","tags":["collector","dataset","rows","e-commerce","maps","jobs"],"examples":["{\"skill\":\"run_collector\",\"input\":{\"slug\":\"amazon_search\",\"keyword\":\"espresso machine\",\"country\":\"us\",\"max_results\":20}}","{\"skill\":\"run_collector\",\"input\":{\"slug\":\"google_maps_places\",\"query\":\"dentist\",\"location\":\"Milan, Italy\",\"async\":true}}"],"inputModes":["application/json","text/plain"],"description":"Run one of the ready-made collectors (Amazon, Google Maps, app stores, job boards, …) with its semantic input and get typed rows back. Input: {\"slug\": \"<collector slug>\", ...collector input} — same body as POST /v1/scraper/collectors/{slug}/run; the catalog with each collector's input_schema is GET /v1/scraper/collectors. Short runs complete in the same call; long runs return a TASK_STATE_WORKING task to poll with GetTask. Collector runs cannot be canceled.","outputModes":["application/json","text/plain"]},{"id":"build_dataset","name":"Build a dataset","tags":["dataset","pipeline","rows","async"],"examples":["{\"skill\":\"build_dataset\",\"input\":{\"prompt\":\"Italian B2B SaaS companies with pricing pages\",\"columns\":[\"name\",\"website\",\"pricing_url\"],\"country\":\"it\",\"limits\":{\"max_rows\":100}}}"],"inputModes":["application/json","text/plain"],"description":"Build a dataset from a natural-language prompt: the pipeline searches, maps and scrapes the sources and returns validated rows with the requested columns. Same parameters as POST /v1/scraper/datasets (prompt, columns, country, sources, limits, webhook, refresh, refreshUrls). Asynchronous: poll the task with GetTask; the rows and download links arrive as an artifact at TASK_STATE_COMPLETED. CancelTask stops the job.","outputModes":["application/json","text/plain"]}],"version":"1.0.0","provider":{"url":"https://quanticdata.io","organization":"QuanticData"},"description":"QuanticData Data API as an A2A agent: scrape any URL, search the web (SERP), map and crawl sites, run ready-made collectors and build datasets — through a residential, ISP and mobile proxy network. Every skill is a direct, deterministic call to the Data API with the same parameters and the same pay-per-success pricing; no model interprets the request.","capabilities":{"streaming":false,"extendedAgentCard":true,"pushNotifications":false},"securitySchemes":{"apiKey":{"httpAuthSecurityScheme":{"scheme":"bearer","description":"Authorization: Bearer qd_live_<64 hex>. The same key, rate limits and pay-per-success billing as the REST Data API: an A2A call costs what the underlying endpoint costs.","bearerFormat":"QuanticData API key (qd_live_… from https://app.quanticdata.io/api-keys)"}},"oauth2":{"oauth2SecurityScheme":{"flows":{"authorizationCode":{"scopes":{"mcp":"Call the hosted MCP server on behalf of the account"},"tokenUrl":"https://app.quanticdata.io/api/v1/oauth/token","refreshUrl":"https://app.quanticdata.io/api/v1/oauth/token","pkceRequired":true,"authorizationUrl":"https://app.quanticdata.io/oauth/authorize"}},"description":"OAuth 2.1 authorization server of the account (RFC 8414 metadata above, dynamic client registration, PKCE). Its access tokens are accepted today by the MCP endpoint (https://api.quanticdata.io/mcp) only — the A2A endpoint requires the API key scheme. Listed for discovery; not a requirement of this agent.","oauth2MetadataUrl":"https://app.quanticdata.io/.well-known/oauth-authorization-server"}}},"documentationUrl":"https://quanticdata.io/docs/","defaultInputModes":["application/json","text/plain"],"defaultOutputModes":["application/json","text/plain"],"supportedInterfaces":[{"url":"https://api.quanticdata.io/a2a","protocolBinding":"JSONRPC","protocolVersion":"1.0"}],"securityRequirements":[{"schemes":{"apiKey":{"list":[]}}}]},"status":"verified","publisher_domain":"quanticdata.io","signature_status":"unsigned","signature_detail":"No card signature supplied","signature_key_url":null,"signature_checked_at":"2026-11-12T04:52:59.748856+00:00","domain_claimed_at":null,"domain_proof_checked_at":null,"source_name":"Publisher Agent Card","source_url":"https://api.quanticdata.io/.well-known/agent-card.json","last_check":{"checked_at":"2026-11-12T04:52:59.748856+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},"also_published_at":[],"history_urls":["https://api.quanticdata.io/.well-known/agent-card.json"],"skills":[{"skill_id":"build_dataset","name":"Build a dataset","description":"Build a dataset from a natural-language prompt: the pipeline searches, maps and scrapes the sources and returns validated rows with the requested columns. Same parameters as POST /v1/scraper/datasets (prompt, columns, country, sources, limits, webhook, refresh, refreshUrls). Asynchronous: poll the task with GetTask; the rows and download links arrive as an artifact at TASK_STATE_COMPLETED. CancelTask stops the job.","tags":["dataset","pipeline","rows","async"],"quality_warning":false},{"skill_id":"crawl_site","name":"Crawl a site","description":"Crawl up to 500 pages from a seed URL and return each page as markdown, html or text. Same parameters as POST /v1/crawl (url, limit, depth, format, contentMode, render, include, exclude, country). Asynchronous: the task stays TASK_STATE_WORKING while the job runs; poll it with GetTask, the crawled pages arrive as an artifact when it is TASK_STATE_COMPLETED. CancelTask stops the job.","tags":["crawl","spider","markdown","async"],"quality_warning":false},{"skill_id":"map_site","name":"Map a site","description":"Discover the URLs of a site from its sitemaps and homepage links, with per-section counts. Same parameters as POST /v1/map (url, limit, search, includeSubdomains, sitemapOnly, group_by, country). Completes in the same call.","tags":["map","sitemap","urls","discovery"],"quality_warning":false},{"skill_id":"run_collector","name":"Run a collector","description":"Run one of the ready-made collectors (Amazon, Google Maps, app stores, job boards, …) with its semantic input and get typed rows back. Input: {\"slug\": \"<collector slug>\", ...collector input} — same body as POST /v1/scraper/collectors/{slug}/run; the catalog with each collector's input_schema is GET /v1/scraper/collectors. Short runs complete in the same call; long runs return a TASK_STATE_WORKING task to poll with GetTask. Collector runs cannot be canceled.","tags":["collector","dataset","rows","e-commerce","maps","jobs"],"quality_warning":false},{"skill_id":"scrape_url","name":"Scrape a URL","description":"Fetch one page through the proxy network and return it as markdown, html or text, optionally with a structured extraction schema (CSS selectors), a screenshot or browser actions. Same parameters as POST /v1/scrape (url, format, engine, render, country, extract, actions, screenshot …). Completes in the same call.","tags":["scrape","extract","markdown","proxy","web"],"quality_warning":false},{"skill_id":"web_search","name":"Web search (SERP)","description":"Structured search results from Google, Bing or DuckDuckGo: organic results, shopping, images, news, places, maps, jobs, autocomplete and the other verticals. Same parameters as POST /v1/serp (query, engine, search_type, country, lang, num, page, device, location …). Completes in the same call.","tags":["search","serp","google","bing","duckduckgo"],"quality_warning":false}],"quality_flags":[],"check_history":{"checks":1,"passed":1},"recent_checks":[{"card_url":"https://api.quanticdata.io/.well-known/agent-card.json","checked_at":"2026-11-12T04:52:59.748856+00:00","success":true,"http_status":200,"detail":"Agent Card validated"}],"endpoint_tls_check":{"checked_at":"2026-11-12T04:52:59.748856+00:00","success":true,"detail":"Valid TLS connection to advertised endpoint host; no A2A request sent"},"protocol_check":{"checked_at":"2026-11-12T04:52:59.748856+00:00","endpoint":"https://api.quanticdata.io/a2a","protocol_binding":"JSONRPC","protocol_version":"1.0","state":"auth_required","http_status":401,"detail":"Endpoint requires authentication; A2A response not confirmed","request_diagnostics":{"requests":[{"path":"/a2a","allow":[],"method":"POST","status":401,"version_header":"1.0","protocol_method":"GetTask","redirect_followed":false}],"capture_version":1}},"declared_primary_endpoint":"https://api.quanticdata.io/a2a","selected_connection_interface":{"url":"https://api.quanticdata.io/a2a","protocolBinding":"JSONRPC","protocolVersion":"1.0"},"protocol_interface_checks":[{"endpoint":"https://api.quanticdata.io/a2a","protocol_binding":"JSONRPC","protocol_version":"1.0","selected":true,"state":"auth_required","checked_at":"2026-11-12T04:52:59.748856+00:00","http_status":401,"detail":"Endpoint requires authentication; A2A response not confirmed","binding_recorded":true}],"connection_selection_note":"The selected connection uses an address advertised in the publisher card. Read-only observations do not establish task quality or safety.","x402_price_check":null,"events":[],"relationships":[],"verification":{"agent_card_url":"https://api.quanticdata.io/.well-known/agent-card.json","last_successful_card_check":"2026-11-12T04:52:59.748856+00:00","latest_card_check":{"checked_at":"2026-11-12T04:52:59.748856+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},"signature_status":"unsigned","signature_checked_at":"2026-11-12T04:52:59.748856+00:00","task_endpoint_tested":true,"task_execution_tested":false,"endpoint_tls_checked_at":"2026-11-12T04:52:59.748856+00:00","endpoint_tls_reachable":true,"protocol_check_state":"auth_required","protocol_checked_at":"2026-11-12T04:52:59.748856+00:00","provider_identity_verified":false,"domain_claimed_at":null,"domain_proof_checked_at":null},"synthetic_capability_tests":{"agent_id":603299,"status":"not_tested","reason_code":"not_yet_tested","consent_status":"not_confirmed","latest_observation_status":null,"last_checked_at":null,"fixture_version":"1","reference_demonstration":false,"scope":"A publisher-authorized synthetic test of a dedicated free test endpoint. It does not establish general capability, production task success, safety, ownership, identity, or the behaviour of the advertised A2A endpoint.","methodology_url":"https://localmark.ai/capability-tests","history":[]},"repair_links":{"agent_repair_url":"https://localmark.ai/agents/603299/repair","publisher_report_url":"https://localmark.ai/publishers/quanticdata.io/repair","diagnostics_json_url":"https://localmark.ai/publishers/quanticdata.io/repair/diagnostics.json","diagnostics_csv_url":"https://localmark.ai/publishers/quanticdata.io/repair/diagnostics.csv"},"_localmark":{"contribution":{"optional":true,"directory_access":"free","operator_authorization_required":true,"affects_rankings":false,"message":"LocalMark is free. Optional contributions help fund ongoing checks.","support_url":"https://localmark.ai/support","metadata_url":"https://localmark.ai/api/v1/support/contributions"}}}