Public profileJSON
{
"schemaVersion": "1.0",
"name": "SaaS Price Watch",
"slug": "saas-price-watch",
"website": "https://saaspricealerts.com/",
"category": "saas",
"description": "Public plan prices for 314 SaaS tools, each quoted from the vendor pricing page with the date checked. Browse by vendor or pull the data from a free JSON API with no key. Built for buyers, founders, and AI agents that need a sourced price.",
"capabilities": [
"llmsTxt documentation"
],
"aiResources": {
"llmsTxt": {
"type": "llmsTxt",
"url": "https://saaspricealerts.com/llms.txt",
"status": "verified",
"available": true,
"httpStatus": 200,
"checkedAt": "2026-11-10T22:25:32.699Z",
"lastSuccessfulAt": "2026-11-10T22:25:32.699Z",
"contentType": "text/plain; charset=utf-8",
"contentSize": 66260,
"estimatedTokens": 16563,
"tokenMethod": "UTF-16 characters / 4 (approximation)",
"contentHash": "ff5b018034c1d38ef6353ee8bdb8f9216313c4f1cb141ea1feaac8a94a945a21",
"internalLinks": 257,
"externalLinks": 0,
"document": {
"h1Count": 1,
"firstBlockIsH1": true,
"title": "SaaS Price Watch",
"usefulTitle": true,
"headingCount": 15,
"uniqueHeadingCount": 15,
"hasSections": true,
"orderedHeadings": true,
"sectionWithContent": true,
"fileListLinks": 257,
"summaryPresent": true,
"contextPresent": false,
"validLinks": 257,
"invalidLinks": 0,
"duplicateLinks": 0,
"descriptiveLinks": 257,
"annotatedLinks": 176
},
"linkHealth": {
"eligibleCount": 257,
"selectedCount": 5,
"sampledCount": 5,
"working": 4,
"broken": 0,
"unknown": 1,
"checkedAt": "2026-11-10T22:25:32.972Z",
"sourceHash": "ff5b018034c1d38ef6353ee8bdb8f9216313c4f1cb141ea1feaac8a94a945a21",
"method": "deterministic sample, at most 5 URLs, at most 2 concurrent hosts, 15s budget",
"results": [
{
"url": "https://saaspricealerts.com/guides/service-fusion-pricing/",
"httpStatus": 200,
"checkedAt": "2026-11-10T22:25:32.972Z",
"attempted": true,
"status": "working",
"reason": "http_success"
},
{
"url": "https://saaspricealerts.com/guides/slack-pricing-per-user/",
"httpStatus": 200,
"checkedAt": "2026-11-10T22:25:32.972Z",
"attempted": true,
"status": "working",
"reason": "http_success"
},
{
"url": "https://saaspricealerts.com/alternatives/servicetitan/",
"httpStatus": 200,
"checkedAt": "2026-11-10T22:25:32.972Z",
"attempted": true,
"status": "working",
"reason": "http_success"
},
{
"url": "https://saaspricealerts.com/alternatives/loom/",
"httpStatus": 200,
"checkedAt": "2026-11-10T22:25:32.972Z",
"attempted": true,
"status": "working",
"reason": "http_success"
},
{
"url": "https://saaspricealerts.com/saas-price-increases/saas-price-increases-2025-2026.csv",
"status": "unknown",
"httpStatus": null,
"reason": "oversized",
"attempted": true,
"checkedAt": "2026-11-10T22:25:32.972Z"
}
]
},
"headings": [
"SaaS Price Watch",
"License",
"Data",
"Categories",
"Comparisons",
"Alternatives",
"Changes",
"Price increases (confirmed on the live page or announced by the vendor)",
"Price cuts and price tests (not increases)",
"Vendor pricing guides (built from a live read of each pricing page, updated weekly)",
"SaaS Price Increases 2025-2026 Index",
"For AI agents"
],
"warnings": [],
"summary": "Documentation sections: SaaS Price Watch; License; Data; Categories; Comparisons; Alternatives.",
"summarySourceHash": "ff5b018034c1d38ef6353ee8bdb8f9216313c4f1cb141ea1feaac8a94a945a21",
"processingVersion": "2.0",
"method": "markdown-ast-analysis"
},
"llmsFullTxt": null,
"webmcp": null
},
"readiness": {
"score": 94,
"version": "2.0",
"confidence": "medium",
"components": [
{
"name": "availability",
"weight": 25,
"assessedWeight": 25,
"points": 25,
"rules": [
{
"id": "current_access",
"label": "Current usable primary file",
"weight": 25,
"observation": "Current llms.txt retrieval succeeded (HTTP 200); usable text verified.",
"points": 25
}
],
"explanation": "Current usable primary file: 25/25."
},
{
"name": "structure",
"weight": 25,
"assessedWeight": 25,
"points": 25,
"rules": [
{
"id": "title",
"label": "One project H1 at the beginning",
"weight": 10,
"observation": "1 H1 heading(s); starts with H1: yes.",
"points": 10
},
{
"id": "sections",
"label": "Coherent content sections",
"weight": 5,
"observation": "H2 with content: yes; no heading-level jumps: yes.",
"points": 5
},
{
"id": "file_lists",
"label": "Documentation links organized in lists",
"weight": 5,
"observation": "257 valid link occurrence(s) inside Markdown lists.",
"points": 5
},
{
"id": "heading_uniqueness",
"label": "Non-repeated headings",
"weight": 5,
"observation": "15 unique heading(s) out of 15; code examples are excluded.",
"points": 5
}
],
"explanation": "One project H1 at the beginning: 10/10. Coherent content sections: 5/5. Documentation links organized in lists: 5/5. Non-repeated headings: 5/5."
},
{
"name": "links",
"weight": 25,
"assessedWeight": 25,
"points": 24.21,
"rules": [
{
"id": "link_syntax",
"label": "Resolvable HTTP(S) link syntax",
"weight": 5,
"observation": "257 valid URL occurrence(s), 0 malformed, unsupported or unresolved.",
"points": 5
},
{
"id": "link_uniqueness",
"label": "Unique documentation destinations",
"weight": 5,
"observation": "257 unique destination(s) from 257 valid occurrence(s).",
"points": 5
},
{
"id": "link_labels",
"label": "Descriptive link labels",
"weight": 2.5,
"observation": "257 of 257 unique links have non-placeholder labels. This is a text heuristic, not a semantic guarantee.",
"points": 2.5
},
{
"id": "link_notes",
"label": "Context beside file links",
"weight": 2.5,
"observation": "176 of 257 unique links have notes beside a Markdown list link.",
"points": 1.71
},
{
"id": "link_health",
"label": "Sampled destination accessibility",
"weight": 10,
"observation": "5 of 257 destinations sampled: 4 working, 0 confirmed 404/410, 1 unknown. Only working and confirmed-broken results enter this fraction.",
"points": 10
}
],
"explanation": "Resolvable HTTP(S) link syntax: 5/5. Unique documentation destinations: 5/5. Descriptive link labels: 2.5/2.5. Context beside file links: 1.71/2.5. Sampled destination accessibility: 10/10."
},
{
"name": "confidence",
"weight": 15,
"assessedWeight": 15,
"points": 15,
"rules": [
{
"id": "verification_age",
"label": "Age of last successful verification",
"weight": 10,
"observation": "Last success: 2026-11-10T22:25:32.699Z. Full points through day 8 (7-day schedule plus 1-day grace), 60% through day 30, 20% thereafter or for an unknown date.",
"points": 10
},
{
"id": "latest_success",
"label": "Latest primary check succeeded",
"weight": 5,
"observation": "Latest primary verification succeeded.",
"points": 5
}
],
"explanation": "Age of last successful verification: 10/10. Latest primary check succeeded: 5/5."
},
{
"name": "metadata",
"weight": 10,
"assessedWeight": 10,
"points": 5,
"rules": [
{
"id": "summary",
"label": "Useful summary blockquote",
"weight": 5,
"observation": "A blockquote before the first H2 with at least 20 non-whitespace characters and no placeholder-only text.",
"points": 5
},
{
"id": "context",
"label": "Useful introductory context",
"weight": 5,
"observation": "An introductory paragraph before the first H2 with at least 20 non-whitespace characters and no placeholder-only text. Listing form fields do not earn these points.",
"points": 0
}
],
"explanation": "Useful summary blockquote: 5/5. Useful introductory context: 0/5."
}
],
"earnedPoints": 94.21,
"assessedWeight": 100,
"availableWeight": 100,
"provisional": false,
"calculatedAt": "2026-11-10T22:25:34.206Z",
"lastVerifiedAt": "2026-11-10T22:25:32.699Z",
"evidence": {
"sourceUrl": "https://saaspricealerts.com/llms.txt",
"contentHash": "ff5b018034c1d38ef6353ee8bdb8f9216313c4f1cb141ea1feaac8a94a945a21",
"processingVersion": "2.0",
"retrievedAt": "2026-11-10T22:25:32.699Z"
},
"linkSampling": {
"eligibleCount": 257,
"selectedCount": 5,
"sampledCount": 5,
"working": 4,
"broken": 0,
"unknown": 1,
"checkedAt": "2026-11-10T22:25:32.972Z",
"sourceHash": "ff5b018034c1d38ef6353ee8bdb8f9216313c4f1cb141ea1feaac8a94a945a21",
"method": "deterministic sample, at most 5 URLs, at most 2 concurrent hosts, 15s budget",
"results": [
{
"url": "https://saaspricealerts.com/guides/service-fusion-pricing/",
"httpStatus": 200,
"checkedAt": "2026-11-10T22:25:32.972Z",
"attempted": true,
"status": "working",
"reason": "http_success"
},
{
"url": "https://saaspricealerts.com/guides/slack-pricing-per-user/",
"httpStatus": 200,
"checkedAt": "2026-11-10T22:25:32.972Z",
"attempted": true,
"status": "working",
"reason": "http_success"
},
{
"url": "https://saaspricealerts.com/alternatives/servicetitan/",
"httpStatus": 200,
"checkedAt": "2026-11-10T22:25:32.972Z",
"attempted": true,
"status": "working",
"reason": "http_success"
},
{
"url": "https://saaspricealerts.com/alternatives/loom/",
"httpStatus": 200,
"checkedAt": "2026-11-10T22:25:32.972Z",
"attempted": true,
"status": "working",
"reason": "http_success"
},
{
"url": "https://saaspricealerts.com/saas-price-increases/saas-price-increases-2025-2026.csv",
"status": "unknown",
"httpStatus": null,
"reason": "oversized",
"attempted": true,
"checkedAt": "2026-11-10T22:25:32.972Z"
}
]
},
"warnings": [
"This measures observable documentation, not model rankings or citation probability.",
"H1 is the only required section in the llms.txt proposal. Other checks are LLMSList quality preferences; missing optional sections do not make usable text invalid.",
"Destination accessibility covers a sample of 5 out of 257 unique links, not the entire website."
]
},
"updatedAt": "2026-11-10T22:25:34.207Z"
}