{"schemaVersion":"1.0","name":"Trades With AI","slug":"trades-with-ai","website":"https://tradeswithai.com/","category":"other","description":"Directory of 65 AI tools for HVAC, plumbing, roofing, cleaning, and other trades businesses. Each listing shows price, trade fit, and Jobber, Housecall Pro, or ServiceTitan integrations, quoted from the vendor site with a check date. Free to use.","capabilities":["llmsTxt documentation"],"aiResources":{"llmsTxt":{"type":"llmsTxt","url":"https://tradeswithai.com/llms.txt","status":"verified","available":true,"httpStatus":200,"checkedAt":"2026-11-10T22:25:31.389Z","lastSuccessfulAt":"2026-11-10T22:25:31.389Z","contentType":"text/plain; charset=utf-8","contentSize":58121,"estimatedTokens":14531,"tokenMethod":"UTF-16 characters / 4 (approximation)","contentHash":"d5e599d2ceff4ceb3671d6ef4f5880dd69f5650ed266eca09b31679ab3903879","internalLinks":212,"externalLinks":0,"document":{"h1Count":1,"firstBlockIsH1":true,"title":"Trades With AI","usefulTitle":true,"headingCount":10,"uniqueHeadingCount":10,"hasSections":true,"orderedHeadings":true,"sectionWithContent":true,"fileListLinks":212,"summaryPresent":true,"contextPresent":false,"validLinks":212,"invalidLinks":0,"duplicateLinks":0,"descriptiveLinks":212,"annotatedLinks":198},"linkHealth":{"eligibleCount":212,"selectedCount":5,"sampledCount":5,"working":5,"broken":0,"unknown":0,"checkedAt":"2026-11-10T22:25:31.681Z","sourceHash":"d5e599d2ceff4ceb3671d6ef4f5880dd69f5650ed266eca09b31679ab3903879","method":"deterministic sample, at most 5 URLs, at most 2 concurrent hosts, 15s budget","results":[{"url":"https://tradeswithai.com/guides/","httpStatus":200,"checkedAt":"2026-11-10T22:25:31.681Z","attempted":true,"status":"working","reason":"http_success"},{"url":"https://tradeswithai.com/guides/twilio-voice-pricing/","httpStatus":200,"checkedAt":"2026-11-10T22:25:31.681Z","attempted":true,"status":"working","reason":"http_success"},{"url":"https://tradeswithai.com/guides/connecteam-pricing/","httpStatus":200,"checkedAt":"2026-11-10T22:25:31.681Z","attempted":true,"status":"working","reason":"http_success"},{"url":"https://tradeswithai.com/guides/fieldwire-pricing/","httpStatus":200,"checkedAt":"2026-11-10T22:25:31.681Z","attempted":true,"status":"working","reason":"http_success"},{"url":"https://tradeswithai.com/guides/launch27-pricing/","httpStatus":200,"checkedAt":"2026-11-10T22:25:31.681Z","attempted":true,"status":"working","reason":"http_success"}]},"headings":["Trades With AI","Data","Categories","Trades","Comparisons","Guides","Tools","For AI agents","Guides (published)","More for AI agents"],"warnings":[],"summary":"Documentation sections: Trades With AI; Data; Categories; Trades; Comparisons; Guides.","summarySourceHash":"d5e599d2ceff4ceb3671d6ef4f5880dd69f5650ed266eca09b31679ab3903879","processingVersion":"2.0","method":"markdown-ast-analysis"},"llmsFullTxt":null,"webmcp":null},"readiness":{"score":95,"version":"2.0","confidence":"high","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":"212 valid link occurrence(s) inside Markdown lists.","points":5},{"id":"heading_uniqueness","label":"Non-repeated headings","weight":5,"observation":"10 unique heading(s) out of 10; 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.83,"rules":[{"id":"link_syntax","label":"Resolvable HTTP(S) link syntax","weight":5,"observation":"212 valid URL occurrence(s), 0 malformed, unsupported or unresolved.","points":5},{"id":"link_uniqueness","label":"Unique documentation destinations","weight":5,"observation":"212 unique destination(s) from 212 valid occurrence(s).","points":5},{"id":"link_labels","label":"Descriptive link labels","weight":2.5,"observation":"212 of 212 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":"198 of 212 unique links have notes beside a Markdown list link.","points":2.33},{"id":"link_health","label":"Sampled destination accessibility","weight":10,"observation":"5 of 212 destinations sampled: 5 working, 0 confirmed 404/410, 0 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: 2.33/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:31.389Z. 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.83,"assessedWeight":100,"availableWeight":100,"provisional":false,"calculatedAt":"2026-11-10T22:25:32.678Z","lastVerifiedAt":"2026-11-10T22:25:31.389Z","evidence":{"sourceUrl":"https://tradeswithai.com/llms.txt","contentHash":"d5e599d2ceff4ceb3671d6ef4f5880dd69f5650ed266eca09b31679ab3903879","processingVersion":"2.0","retrievedAt":"2026-11-10T22:25:31.389Z"},"linkSampling":{"eligibleCount":212,"selectedCount":5,"sampledCount":5,"working":5,"broken":0,"unknown":0,"checkedAt":"2026-11-10T22:25:31.681Z","sourceHash":"d5e599d2ceff4ceb3671d6ef4f5880dd69f5650ed266eca09b31679ab3903879","method":"deterministic sample, at most 5 URLs, at most 2 concurrent hosts, 15s budget","results":[{"url":"https://tradeswithai.com/guides/","httpStatus":200,"checkedAt":"2026-11-10T22:25:31.681Z","attempted":true,"status":"working","reason":"http_success"},{"url":"https://tradeswithai.com/guides/twilio-voice-pricing/","httpStatus":200,"checkedAt":"2026-11-10T22:25:31.681Z","attempted":true,"status":"working","reason":"http_success"},{"url":"https://tradeswithai.com/guides/connecteam-pricing/","httpStatus":200,"checkedAt":"2026-11-10T22:25:31.681Z","attempted":true,"status":"working","reason":"http_success"},{"url":"https://tradeswithai.com/guides/fieldwire-pricing/","httpStatus":200,"checkedAt":"2026-11-10T22:25:31.681Z","attempted":true,"status":"working","reason":"http_success"},{"url":"https://tradeswithai.com/guides/launch27-pricing/","httpStatus":200,"checkedAt":"2026-11-10T22:25:31.681Z","attempted":true,"status":"working","reason":"http_success"}]},"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 212 unique links, not the entire website."]},"updatedAt":"2026-11-10T22:25:32.678Z"}