Live Crawler

Ghi chú
Expert level
Khóa API phải dược gửi dưới dạng Bearer token trong tiêu đề yêu cầu Ủy Quyền. Lấy mã API của bạn.
Trình thu thập thông tin

API endpoint:

GET
https://hubs.vn/api/v1/crawler

Yêu cầu ví dụ:

curl --location --request GET 'https://hubs.vn/api/v1/crawler' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {api_key}'
Tham số
Loại
Mô tả
url
bắt buộc string
The URL has been encoded.

Response example:

{
    "data": {
        "title": {
            "passed": boolean,
            "importance": "high",
            "value": string,
            "errors": {
                // If there's no title
                "missing": null,
                // If the title length is incorrect
                "length": {
                    "min": number,
                    "max": number
                },
                // If the title is > 1
                "too_many": null
            }
        },
        "meta_description": {
            "passed": boolean,
            "importance": "high",
            "value": string,
            "errors": {
                "missing": null // If there's no meta description
            }
        },
        "headings": {
            "passed": boolean,
            "importance": "high",
            "value": {
                "h1": [],
                "h3": [],
                "h5": [],
                "h6": []
            },
            "errors": {
                "missing": null, // If there's no h1 tag
                "too_many": null, // If there's more than one h1 tag on the page
                "duplicate": null // If the h1 tag is the same with the title tag
            }
        },
        "content_keywords": {
            "passed": boolean,
            "importance": "high",
            "value": [],
            "errors": {
                "missing": [] // If the content keywords are not found in the title
            }
        },
        "image_keywords": {
            "passed": boolean,
            "importance": "high",
            "value": null,
            "errors": {
                // If there are images with no alt attribute set
                "missing": [
                    {
                        "url": string,
                        "text": string
                    }
                ]
            }
        },
        "image_format": {
            "passed": boolean,
            "importance": "medium",
            "value": [],
            "errors": {
                // If there are images that are not in WebP format
                "bad_format": [
                    {
                        "url": string,
                        "text": string
                    }
                ]
            }
        },
        "in_page_links": {
            "passed": boolean,
            "importance": "medium",
            "value": {
                "Internals": [
                    {
                        "url": string,
                        "text": string
                    }
                ],
                "Externals": [
                    {
                        "url": string,
                        "text": string
                    }
                ]
            },
            "errors": {
                // If there are too many links
                "too_many": {
                    "max": number
                }
            }
        },
        "load_time": {
            "passed": boolean,
            "importance": "medium",
            "value": float,
            "errors": {
                // If the load time exceeds the limit
                "too_slow": {
                    "max": integer
                }
            }
        },
        "page_size": {
            "passed": boolean,
            "importance": "medium",
            "value": integer,
            "errors": {
                // If the load time exceeds the limit
                "too_large": {
                    "max": integer
                }
            }
        },
        "http_requests": {
            "passed": boolean,
            "importance": "medium",
            "value": {
                "JavaScripts": [],
                "CSS": [],
                "Images": [],
                "Audios": [],
                "Videos": [],
                "Iframes": []
            },
            "errors": {
                // If there are too many HTTP requests
                "too_many": {
                    "max": integer
                }
            }
        },
        "defer_javascript": {
            "passed": boolean,
            "importance": "low",
            "value": null,
            "errors": {
                // If there are resources without the defer attribute
                "missing": []
            }
        },
        "dom_size": {
            "passed": boolean,
            "importance": "low",
            "value": integer,
            "errors": {
                // If the dom size exceeds the limit
                "too_many": {
                    "max": integer
                }
            }
        },
        "text_compression": {
            "passed": boolean,
            "importance": "high",
            "value": integer,
            "errors": {
                // If the page is not text_compression compressed
                "missing": null
            }
        },
        "structured_data": {
            "passed": boolean,
            "importance": "medium",
            "value": [],
            "errors": {
                // If there's no structured data
                "missing": null
            }
        },
        "meta_viewport": {
            "passed": boolean,
            "importance": "medium",
            "value": string,
            "errors": {
                // If the page does not have a meta viewport set
                "missing": null
            }
        },
        "https_encryption": {
            "passed": boolean,
            "importance": "high",
            "value": string,
            "errors": {
                // If the page is not served over HTTPS
                "missing": "https"
            }
        },
        "seo_friendly_url": {
            "passed": boolean,
            "importance": "high",
            "value": string,
            "errors": {
                // If the URL contains characters that are not considered friendly (?=_%, )
                "bad_format": null,
                // If the title keywords are not found in URL keywords
                "missing": null
            }
        },
        "language": {
            "passed": boolean,
            "importance": "medium",
            "value": string,
            "errors": {
                // If the page doesn't have a language set
                "missing": null
            }
        },
        "favicon": {
            "passed": boolean,
            "importance": "medium",
            "value": string,
            "errors": {
                // If the page doesn't have a favicon
                "missing": null
            }
        },
        "content_length": {
            "passed": boolean,
            "importance": "low",
            "value": integer,
            "errors": {
                // If there are not enough words on the page
                "too_few": {
                    "min": integer
                }
            }
        },
        "text_html_ratio": {
            "passed": boolean,
            "importance": "low",
            "value": integer,
            "errors": {
                // If the text ratio is less than the minimum ratio
                "too_small": {
                    "min": integer
                }
            }
        },
        "charset": {
            "passed": boolean,
            "importance": "medium",
            "value": string,
            "errors": {
                // If the page doesn't have a charset set
                "missing": null
            }
        },
        "deprecated_html_tags": {
            "passed": boolean,
            "importance": "low",
            "value": null,
            "errors": {
                // If the page has deprecated HTML tags
                "bad_tags": []
            }
        },
        "404_page": {
            "passed": boolean,
            "importance": "high",
            "value": string,
            "errors": {
                // If the website does not have a 404 page
                "missing": null
            }
        },
        "noindex": {
            "passed": boolean,
            "importance": "high",
            "value": string,
            "errors": {
                // If the website has noindex
                "missing": null
            }
        },
        "robots": {
            "passed": boolean,
            "importance": "high",
            "value": null,
            "errors": {
                // If the page is blocked by robots.txt rule
                "failed": []
            }
        },
        "sitemap": {
            "passed": boolean,
            "importance": "low",
            "value": [],
            "errors": {
                // If the website does not have sitemaps
                "failed": null
            }
        },
        "mixed_content": {
            "passed": boolean,
            "importance": "medium",
            "value": null,
            "errors": {
                // If the website does not have sitemaps
                "failed": []
            }
        },
        "server_signature": {
            "passed": boolean,
            "importance": "medium",
            "value": [],
            "errors": {
                // If the page has a server signature
                "failed": null
            }
        },
        "unsafe_cross_origin_links": {
            "passed": boolean,
            "importance": "medium",
            "value": null,
            "errors": {
                // If there are unsafe cross-origin links
                "failed": []
            }
        },
        "plaintext_email": {
            "passed": boolean,
            "importance": "low",
            "value": null,
            "errors": {
                // If there are plaintext emails
                "failed": string
            }
        },
        "social": {
            "passed": boolean,
            "importance": "low",
            "value": {
                // Facebook, Instagram, Youtube, Twitter, LinkedIn
                "Facebook": [
                    {
                        "url": string,
                        "text": string
                    }
                ],
            },
            "errors": {
                // If there's no social links
                "missing": null
            }
        },
        "inline_css": {
            "passed": boolean,
            "importance": "low",
            "value": null,
            "errors": {
                // If the page has inline CSS
                "failed": []
            }
        }
    },
    "status": 200,
    "result": float
}