{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_htn5yku76uk7","handle":"hasdata-web-scraping-mcp","url":"https://wellknown.network/agents/hasdata-web-scraping-mcp","links":{"self":"https://wellknown.network/agents/hasdata-web-scraping-mcp/record.json","html":"https://wellknown.network/agents/hasdata-web-scraping-mcp","markdown":"https://wellknown.network/agents/hasdata-web-scraping-mcp/record.md","api":"https://wellknown.network/api/v1/agents/hasdata-web-scraping-mcp","status":"https://wellknown.network/api/v1/agents/hasdata-web-scraping-mcp/status","claim":"https://wellknown.network/agents/hasdata-web-scraping-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/hasdata-web-scraping-mcp/claim.json","badge":"https://wellknown.network/agents/hasdata-web-scraping-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/hasdata-web-scraping-mcp/history","tools":"https://wellknown.network/api/v1/agents/hasdata-web-scraping-mcp/tools"},"ard":{"identifier":"urn:air:mcp.hasdata.com:server:hasdata-web-scraping-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"HasData Web Scraping","summary":"Fetch any public web page through managed proxies, with optional JS rendering and extraction rules.","description":"Fetch any public web page through managed proxies, with optional JS rendering and extraction rules.","publisher":{"name":"com.hasdata","url":null},"homepage":"https://hasdata.com/web-scraping-api","repository":"https://github.com/HasData/web-scraping-mcp","version":"1.0.2","license":"MIT","protocols":["mcp"],"tags":["mcp","web-scraping","scraper","proxy","headless-browser","html-to-markdown","model-context-protocol","hasdata"],"pricing":null,"endpoints":[{"url":"https://mcp.hasdata.com/api/mcp?apis=web_scraping","type":"mcp_streamable_http","auth":null,"probeable":true},{"url":"https://mcp.hasdata.com/mcp?apis=web_scraping","type":"mcp_streamable_http","auth":null,"probeable":true},{"url":"npm:@hasdata/web-scraping-mcp","type":"package_npm","auth":null,"probeable":false},{"url":"pypi:hasdata-web-scraping-mcp","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-09-24T14:22:13.780773Z","npmKeywords":["mcp","web-scraping","scraper","proxy","headless-browser","html-to-markdown","model-context-protocol","hasdata"],"publishedAt":"2026-09-24T14:22:13.780773Z","registryName":"com.hasdata/web-scraping"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","license":"npm","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"data.web-scraping","name":"Web Scraping","confidence":1,"provenance":"declared"},{"slug":"infra.browser-automation","name":"Browser Automation","confidence":1,"provenance":"derived"}],"categories":["data","infra"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 17m ago.","lastOkAt":"2026-10-27T16:25:32.283Z","lastProbedAt":"2026-10-27T16:25:32.283Z","statusComputedAt":"2026-10-27T16:29:53.868Z","reliability30d":{"probes":220,"successRate":0.9955,"p50Ms":323,"basis":"mixed","measures":{"availability":"availability (some checks stopped at authentication)","latency":"response time (mixed)","tools":"partially observed","summary":"Some successful checks reached the service and some stopped at an authentication response; figures combine both."},"checks":{"total":215,"ok":214,"authBoundaryOk":58,"serviceOk":156,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-27T16:25:32.283Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":538,"error":null,"detail":{"tools":[{"name":"hasdata_web_scraping_web_scraping_scrapeWebPage","description":"Scrape Web Page\n\nUniversal web scraper that fetches any public URL through managed proxies (datacenter or residential, geo-targeted) with optional JS rendering,"}],"toolCount":1,"toolsHash":"6b60a47d783cc96916b486e1ad69bdfbc38b159e663026571c82759f6446f684","serverName":"hasdata-mcp-api-server","capabilities":["prompts","resources","tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-27T10:24:28.120Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":401,"error":null,"detail":{"tools":[{"name":"hasdata_web_scraping_web_scraping_scrapeWebPage","description":"Scrape Web Page\n\nUniversal web scraper that fetches any public URL through managed proxies (datacenter or residential, geo-targeted) with optional JS rendering,"}],"toolCount":1,"toolsHash":"6b60a47d783cc96916b486e1ad69bdfbc38b159e663026571c82759f6446f684","serverName":"hasdata-mcp-api-server","capabilities":["prompts","resources","tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-27T09:24:41.930Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":926,"error":null,"detail":{"tools":[{"name":"hasdata_web_scraping_web_scraping_scrapeWebPage","description":"Scrape Web Page\n\nUniversal web scraper that fetches any public URL through managed proxies (datacenter or residential, geo-targeted) with optional JS rendering,"}],"toolCount":1,"toolsHash":"6b60a47d783cc96916b486e1ad69bdfbc38b159e663026571c82759f6446f684","serverName":"hasdata-mcp-api-server","capabilities":["prompts","resources","tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-27T03:22:59.758Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":443,"error":null,"detail":{"tools":[{"name":"hasdata_web_scraping_web_scraping_scrapeWebPage","description":"Scrape Web Page\n\nUniversal web scraper that fetches any public URL through managed proxies (datacenter or residential, geo-targeted) with optional JS rendering,"}],"toolCount":1,"toolsHash":"6b60a47d783cc96916b486e1ad69bdfbc38b159e663026571c82759f6446f684","serverName":"hasdata-mcp-api-server","capabilities":["prompts","resources","tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-27T01:26:21.787Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":456,"error":null,"detail":{"tools":[{"name":"hasdata_web_scraping_web_scraping_scrapeWebPage","description":"Scrape Web Page\n\nUniversal web scraper that fetches any public URL through managed proxies (datacenter or residential, geo-targeted) with optional JS rendering,"}],"toolCount":1,"toolsHash":"6b60a47d783cc96916b486e1ad69bdfbc38b159e663026571c82759f6446f684","serverName":"hasdata-mcp-api-server","capabilities":["prompts","resources","tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-26T20:28:31.339Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":397,"error":null,"detail":{"tools":[{"name":"hasdata_web_scraping_web_scraping_scrapeWebPage","description":"Scrape Web Page\n\nUniversal web scraper that fetches any public URL through managed proxies (datacenter or residential, geo-targeted) with optional JS rendering,"}],"toolCount":1,"toolsHash":"6b60a47d783cc96916b486e1ad69bdfbc38b159e663026571c82759f6446f684","serverName":"hasdata-mcp-api-server","capabilities":["prompts","resources","tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-26T18:34:31.569Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":187,"error":null,"detail":{"tools":[{"name":"hasdata_web_scraping_web_scraping_scrapeWebPage","description":"Scrape Web Page\n\nUniversal web scraper that fetches any public URL through managed proxies (datacenter or residential, geo-targeted) with optional JS rendering,"}],"toolCount":1,"toolsHash":"6b60a47d783cc96916b486e1ad69bdfbc38b159e663026571c82759f6446f684","serverName":"hasdata-mcp-api-server","capabilities":["prompts","resources","tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-26T13:28:10.970Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":1108,"error":null,"detail":{"tools":[{"name":"hasdata_web_scraping_web_scraping_scrapeWebPage","description":"Scrape Web Page\n\nUniversal web scraper that fetches any public URL through managed proxies (datacenter or residential, geo-targeted) with optional JS rendering,"}],"toolCount":1,"toolsHash":"6b60a47d783cc96916b486e1ad69bdfbc38b159e663026571c82759f6446f684","serverName":"hasdata-mcp-api-server","capabilities":["prompts","resources","tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-26T11:28:14.295Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":375,"error":null,"detail":{"tools":[{"name":"hasdata_web_scraping_web_scraping_scrapeWebPage","description":"Scrape Web Page\n\nUniversal web scraper that fetches any public URL through managed proxies (datacenter or residential, geo-targeted) with optional JS rendering,"}],"toolCount":1,"toolsHash":"6b60a47d783cc96916b486e1ad69bdfbc38b159e663026571c82759f6446f684","serverName":"hasdata-mcp-api-server","capabilities":["prompts","resources","tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-26T06:23:38.957Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":122,"error":null,"detail":{"tools":[{"name":"hasdata_web_scraping_web_scraping_scrapeWebPage","description":"Scrape Web Page\n\nUniversal web scraper that fetches any public URL through managed proxies (datacenter or residential, geo-targeted) with optional JS rendering,"}],"toolCount":1,"toolsHash":"6b60a47d783cc96916b486e1ad69bdfbc38b159e663026571c82759f6446f684","serverName":"hasdata-mcp-api-server","capabilities":["prompts","resources","tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"hasdata_web_scraping_web_scraping_scrapeWebPage","description":"Scrape Web Page\n\nUniversal web scraper that fetches any public URL through managed proxies (datacenter or residential, geo-targeted) with optional JS rendering,"}],"package":{"name":"@hasdata/web-scraping-mcp","registry":"npm","observedAt":"2026-10-27T16:31:57.067Z","publishedAt":"2026-09-24T11:37:36.388Z","latestVersion":"1.0.2","weeklyDownloads":27},"toolSurface":{"id":"ts_prznfn3etxau","endpointId":"ep_zwffbzwz8t5w","hash":"6b60a47d783cc96916b486e1ad69bdfbc38b159e663026571c82759f6446f684","toolCount":1,"serverName":"hasdata-mcp-api-server","serverVersion":"1.0.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-15T14:22:46.372Z","lastSeenAt":"2026-10-27T16:25:32.296Z","observations":44,"toolNames":["hasdata_web_scraping_web_scraping_scrapeWebPage"],"distinctSurfaces":6},"endpointFacts":[{"id":"ep_zwffbzwz8t5w","url":"https://mcp.hasdata.com/api/mcp?apis=web_scraping","type":"mcp_streamable_http","factsCheckedAt":"2026-10-18T18:27:02.935Z","auth":{"observedAt":"2026-10-18T18:27:03.177Z","authRequired":false,"scheme":null,"resourceMetadata":{"url":"https://mcp.hasdata.com/.well-known/oauth-protected-resource/api/mcp","resource":"https://mcp.hasdata.com/api/mcp","authorizationServers":["https://mcp.hasdata.com"],"scopesSupported":["mcp:tools"]},"authorizationServer":{"url":"https://mcp.hasdata.com/.well-known/oauth-authorization-server","issuer":"https://mcp.hasdata.com","grantTypesSupported":["authorization_code","refresh_token"],"codeChallengeMethodsSupported":["S256"],"tokenEndpointAuthMethodsSupported":["client_secret_post","none"],"dynamicClientRegistration":true,"dpopSigningAlgValuesSupported":[],"clientIdMetadataDocumentSupported":true},"conformance":{"dpop":false,"rfc8414":true,"rfc9728":true,"pkceS256":true,"clientIdMetadataDocument":true,"dynamicClientRegistration":true}},"tls":{"observedAt":"2026-10-18T18:27:03.444Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"mcp.hasdata.com","issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validFrom":"2026-08-20T07:48:53.000Z","validTo":"2026-11-18T07:48:52.000Z","daysToExpiry":21,"sanCount":1,"fingerprint256":"AD:A4:6F:CB:6C:73:8C:72:D3:6E:EB:D2:9F:64:86:F2:11:D7:85:52:1C:4B:C9:B0:8B:62:30:EF:53:AC:5E:0A"}},{"id":"ep_mjqq3yut97d2","url":"https://mcp.hasdata.com/mcp?apis=web_scraping","type":"mcp_streamable_http","factsCheckedAt":"2026-10-25T22:24:38.955Z","auth":{"observedAt":"2026-10-25T22:24:39.206Z","authRequired":false,"scheme":null,"resourceMetadata":{"url":"https://mcp.hasdata.com/.well-known/oauth-protected-resource/mcp","resource":"https://mcp.hasdata.com/mcp","authorizationServers":["https://mcp.hasdata.com"],"scopesSupported":["mcp:tools"]},"authorizationServer":{"url":"https://mcp.hasdata.com/.well-known/oauth-authorization-server","issuer":"https://mcp.hasdata.com","grantTypesSupported":["authorization_code","refresh_token"],"codeChallengeMethodsSupported":["S256"],"tokenEndpointAuthMethodsSupported":["client_secret_post","none"],"dynamicClientRegistration":true,"dpopSigningAlgValuesSupported":[],"clientIdMetadataDocumentSupported":true},"conformance":{"dpop":false,"rfc8414":true,"rfc9728":true,"pkceS256":true,"clientIdMetadataDocument":true,"dynamicClientRegistration":true}},"tls":{"observedAt":"2026-10-25T22:24:39.447Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"mcp.hasdata.com","issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validFrom":"2026-08-20T07:48:53.000Z","validTo":"2026-11-18T07:48:52.000Z","daysToExpiry":21,"sanCount":1,"fingerprint256":"AD:A4:6F:CB:6C:73:8C:72:D3:6E:EB:D2:9F:64:86:F2:11:D7:85:52:1C:4B:C9:B0:8B:62:30:EF:53:AC:5E:0A"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"com.hasdata/web-scraping","url":"https://registry.modelcontextprotocol.io/v0/servers/com.hasdata%2Fweb-scraping","firstSeenAt":"2026-09-16T00:20:44.892Z","fetchedAt":"2026-10-25T05:20:39.034Z","normalizedAt":"2026-10-25T05:20:39.034Z"},{"source":"npm","key":"@hasdata/web-scraping-mcp","url":"https://www.npmjs.com/package/@hasdata/web-scraping-mcp","firstSeenAt":"2026-10-02T04:20:29.847Z","fetchedAt":"2026-10-27T04:20:01.680Z","normalizedAt":"2026-10-27T04:20:01.680Z"},{"source":"pypi","key":"hasdata-web-scraping-mcp","url":"https://pypi.org/project/hasdata-web-scraping-mcp/","firstSeenAt":"2026-09-15T16:20:17.695Z","fetchedAt":"2026-10-25T01:21:19.077Z","normalizedAt":"2026-10-25T01:21:19.077Z"}]},"firstSeenAt":"2026-09-15T16:20:17.695Z","updatedAt":"2026-10-27T16:31:57.067Z"}