action neutrinoapi_urlinfo { label: "URL Info" description: "Parse, analyze and retrieve content from the supplied URL" provider: neutrinoapi method: GET path: "/url-info" encoding: json input: { type: "object" properties: { "fetch-content": { type: "boolean" } "ignore-certificate-errors": { type: "boolean" } retry: { type: "integer" format: "int32" } timeout: { type: "integer" format: "int32" } url: { type: "string" } } required: ["url"] additionalProperties: false } output: { type: "object" required: ["content", "content-encoding", "content-size", "content-type", "http-ok", "http-redirect", "http-status", "http-status-message", "is-error", "is-timeout", "language-code", "load-time", "query", "real", "server-city", "server-country", "server-country-code", "server-hostname", "server-ip", "server-name", "server-region", "title", "url", "url-path", "url-port", "url-protocol", "valid"] properties: { content: { type: "string" description: "The actual content this URL responded with. Only set if the 'fetch-content' option was used" } "content-encoding": { type: "string" description: "The encoding format the URL uses" } "content-size": { type: "integer" format: "int32" description: "The size of the URL content in bytes" } "content-type": { type: "string" description: "The content-type this URL serves" } "http-ok": { type: "boolean" description: "True if this URL responded with an HTTP OK (200) status" } "http-redirect": { type: "boolean" description: "True if this URL responded with an HTTP redirect" } "http-status": { type: "integer" format: "int32" description: "The HTTP status code this URL responded with. An HTTP status of 0 indicates a network level issue" } "http-status-message": { type: "integer" format: "int32" description: "The HTTP status message assoicated with the status code" } "is-error": { type: "boolean" description: "True if an error occurred while loading the URL. This includes network errors, TLS errors and timeouts" } "is-timeout": { type: "boolean" description: "True if a timeout occurred while loading the URL. You can set the timeout with the request parameter 'timeout'" } "language-code": { type: "string" description: "The ISO 2-letter language code of the page. Extracted from either the HTML document or via HTTP headers" } "load-time": { type: "number" format: "double" description: "The time taken to load the URL content in seconds" } query: { type: "object" description: "A key-value map of the URL query paramaters" } real: { type: "boolean" description: "Is this URL actually serving real content" } "server-city": { type: "string" description: "The servers IP geo-location: full city name (if detectable)" } "server-country": { type: "string" description: "The servers IP geo-location: full country name" } "server-country-code": { type: "string" description: "The servers IP geo-location: ISO 2-letter country code" } "server-hostname": { type: "string" description: "The servers hostname (PTR record)" } "server-ip": { type: "string" description: "The IP address of the server hosting this URL" } "server-name": { type: "string" description: "The name of the server software hosting this URL" } "server-region": { type: "string" description: "The servers IP geo-location: full region name (if detectable)" } title: { type: "string" description: "The document title" } url: { type: "string" description: "The fully qualified URL. This may be different to the URL requested if http-redirect is true" } "url-path": { type: "string" description: "The URL path" } "url-port": { type: "integer" format: "int32" description: "The URL port" } "url-protocol": { type: "string" description: "The URL protocol, usually http or https" } valid: { type: "boolean" description: "Is this a valid well-formed URL" } } } }