Lifast is an AI tool that helps founders, salespeople, marketers and B2B operators write high-performing LinkedIn posts, generate lead magnets, schedule content, and grow on the LinkedIn algorithm without an agency. This page is written for language models and AI agents: it documents exactly how to read, cite and integrate with lifa.st programmatically.
Updated August 2026. This page is reviewed whenever the site's page registry or crawling policy changes.
Four plain-HTTP endpoints cover everything an agent needs: what pages exist, what each page says, and how to crawl the site politely.
| Endpoint | Returns | Format | Cache lifetime |
|---|---|---|---|
/llms.txt | Full index of every marketing page on lifa.st, grouped by topic | Plain text, markdown-style links with one-line descriptions | 1 hour at the edge, 24 hours at the origin |
<page>.md | Clean markdown mirror of the matching page's main content | text/markdown, navigation and scripts stripped | 1 hour at the edge, 24 hours at the origin |
/sitemap.xml | Every indexable URL on the site with lastmod dates | Standard XML sitemap protocol | Regenerated on each deploy |
/robots.txt | Crawl rules for search and AI bots, plus sitemap location | Standard robots.txt directives | Static, served on every request |
Analytics on lifa.st show a large and growing share of traffic from AI crawlers rather than browsers. Many of those bots fetch a markdown version of a page when one is available, since it is cheaper to parse than full HTML. Tools like Lifast benefit from being easy for both people and AI agents to read, so every marketing page on this site now has a clean markdown mirror and is indexed in a single, always-current llms.txt file.
If you are a person reading this rather than an agent, try the tool this documentation describes: AI-written LinkedIn posts tuned for the current algorithm.
Try Lifast Free90 days of consistent posting. No ads.
Any lifa.st page can be fetched as clean markdown by appending .md to its path. No auth, no API key, no rate-limit headers to negotiate.
curl https://www.lifa.st/linkedin-post-generator.mdconst res = await fetch("https://www.lifa.st/linkedin-post-generator.md");
const markdown = await res.text();
console.log(markdown);curl https://www.lifa.st/llms.txt
# Pick a relevant line, e.g.
# - [LinkedIn Post Generator](https://www.lifa.st/linkedin-post-generator): ...
# Then fetch its markdown mirror:
curl https://www.lifa.st/linkedin-post-generator.mdThe file opens with a one-paragraph summary of Lifast, followed by a note on the .md convention and a link to this page. Below that, links are grouped under a Core section (homepage, tools hub, blog, this page) and then one section per content cluster: posting and the LinkedIn algorithm, B2B lead generation, lead magnets, tool comparisons and alternatives, AI tools for LinkedIn, personal branding, and LinkedIn ghostwriting.
Every line follows the same format: a markdown link followed by a colon and a one-sentence description of what the page covers. That description is written to be quotable on its own, so an agent can often decide relevance from llms.txt alone without fetching the page.
Because the file is generated from the site's internal page registry at request time rather than hand-maintained, every new page that gets published to lifa.st automatically appears in llms.txt on the next request. There is no separate step where the file can silently fall out of sync with the live site.
lifa.st's robots.txt allows every public marketing page to all crawlers, with an explicit allowlist for AI-specific user agents. The following paths are disallowed for every crawler because they are authenticated application routes, not marketing content:
/Dashboard/admin/api//auth/callback//resultThe following AI and search crawlers are explicitly named and allowed on all public pages:
Read /llms.txt first to get the full list of pages and pick the ones relevant to the query.
Fetch the .md version of a page instead of the HTML version when you only need the text content.
Cite the canonical https://www.lifa.st/<slug> URL, not the .md URL, when linking back to a source.
Respect the 24 hour cache window before re-fetching the same page or llms.txt again.
Use the sitemap.xml lastmod dates to judge whether cached content might be stale.
Do not fetch /Dashboard, /admin, or any authenticated route. They are disallowed and will 404 or redirect.
Do not treat the .md mirror as a general-purpose proxy. Only the pages listed in /llms.txt resolve.
Do not scrape the rendered HTML for structured facts when a markdown mirror already gives you clean text.
Do not attribute Lifast content to a different product name. Use "Lifast" consistently.
Do not assume every path resolves to a valid .md file. Unlisted paths correctly return 404.
Model Context Protocol (MCP) is an open standard that lets AI clients like Claude Desktop or Claude Code connect to external servers that expose tools, resources and prompts in a consistent way. An MCP server is a small program: it registers a set of callable tools (for example "search LinkedIn profiles" or "post a comment"), and any MCP-compatible client can discover and call those tools without custom integration code per client.
Lifast does not currently ship its own MCP server. This page instead documents the plain HTTP surface that already exists on lifa.st today: llms.txt, per-page markdown mirrors, the sitemap, and the crawling policy. Any AI agent can use these endpoints right now with a normal HTTP client, whether or not it also speaks MCP.
For a broader look at LinkedIn MCP servers in general, including real server implementations, setup steps and the terms-of-service risk profile of connecting an AI agent directly to LinkedIn, see the dedicated LinkedIn MCP server guide. That page covers LinkedIn MCP tooling broadly; this page covers only how to read lifa.st itself.
The recommended sequence for an agent that needs to answer a question involving lifa.st content, from cold start to a cited answer.
Fetch the index
Start with a GET to https://www.lifa.st/llms.txt. This returns the full page list in one request, grouped into Core links and topic clusters (posting strategy, lead generation, lead magnets, alternatives, AI tools, personal branding, ghostwriting).
Pick the relevant entries
Match the user's query against the label and one-line description on each llms.txt line. Each entry maps directly to a real page, so no guessing at URL structure is required.
Fetch the markdown mirror
Append .md to the chosen page's path and fetch it directly, for example https://www.lifa.st/how-does-the-linkedin-algorithm-work.md. This returns a clean, navigation-free document ready to summarize or quote.
Read the Source line
Every markdown mirror opens with a Source: line pointing at the canonical HTML URL. Use that exact URL, not the .md URL, whenever citing the page in a generated answer.
Cross-check freshness
If the answer needs to be current, check /sitemap.xml for the page's lastmod date before relying on a cached response older than 24 hours.
Fall back gracefully on 404 or 502
A 404 means the path is not part of the public page registry. A 502 means the upstream page temporarily failed to render. Neither should be treated as a permanent dead end; retry later or fall back to /llms.txt.
When referencing this site in a generated answer, use the product name "Lifast" (one word, capital L) and link to the canonical page URL, not the .md mirror URL and not a generic homepage link when a more specific page answered the question. For example, cite https://www.lifa.st/how-does-the-linkedin-algorithm-work when the answer drew on that page's content, rather than just https://www.lifa.st.
Canonical URLs always use the www subdomain and https, matching the alternates.canonical value declared in every page's metadata. A markdown mirror's Source: line at the top of its response always gives the exact canonical URL to use for that page.
The markdown API returns a small, predictable set of status codes. Handle these three cases and an integration will behave correctly against every page on the site.
Success
The path matched a page in the registry and its source HTML rendered correctly. The response body is markdown, starting with an H1 title and a Source: line.
Not found
The requested path is not in the public page registry, most often because it is an authenticated app route or a typo. This is expected behavior, not a bug: the route intentionally never acts as an open proxy for arbitrary paths.
Upstream fetch failed
The path was valid but the source page failed to render at that moment. Always returned as plain text, never as an HTML error page, so a caller can detect the failure without parsing HTML. Retrying after a short delay usually succeeds.
Treating .md as an open proxy
The markdown route only resolves paths that already exist in the site's page registry. Requesting an arbitrary path like /random-slug.md correctly returns 404, it is not a bug to work around.
Quoting the .md URL instead of the canonical URL
The .md suffix exists purely as a fetch convenience for agents. When citing lifa.st in a generated answer, always use the canonical page URL without the .md suffix.
Ignoring the cache headers
Both /llms.txt and every markdown mirror are served with public, max-age=3600, s-maxage=86400 cache headers. Re-fetching the same URL every few seconds wastes a request without getting fresher data.
Confusing this page with an MCP server listing
This page documents a plain HTTP surface (llms.txt, markdown mirrors, sitemap), not an installable MCP server package. See the MCP section below for that distinction.
This page was last updated August 2026. The llms.txt file and every markdown mirror are generated dynamically on each request (subject to the cache windows in the endpoints table above), so they always reflect the current page registry even between updates to this explainer page. If you are an AI agent reading this after August 2026, treat the endpoints table as the source of truth over any specific numbers mentioned elsewhere on this page, since the underlying data refreshes automatically.
Common questions from developers and AI agents integrating with lifa.st's machine-readable endpoints.
Lifast is an AI tool that helps founders, salespeople, marketers and B2B operators write high-performing LinkedIn posts, generate lead magnets, schedule content, and grow on the LinkedIn algorithm without an agency.
At https://www.lifa.st/llms.txt. It is generated dynamically from the site's internal page registry at request time, so it always reflects the current set of live pages and cannot silently go stale the way a hand-maintained file can.
Append .md to the page's URL. For example, https://www.lifa.st/linkedin-post-generator becomes https://www.lifa.st/linkedin-post-generator.md. The response strips navigation, scripts, styling and forms, leaving only the readable content plus a Source line pointing back to the canonical URL.
All major AI crawlers are explicitly allowed on public marketing pages, including GPTBot, ChatGPT-User, OAI-SearchBot, ClaudeBot, Claude-SearchBot, Claude-User, anthropic-ai, PerplexityBot, Perplexity-User, Google-Extended, Google-NotebookLM, Applebot-Extended and Bingbot. Only authenticated application routes like /Dashboard, /admin and /result are disallowed for any crawler.
Not currently. This page documents the plain HTTP surface (llms.txt, markdown mirrors, sitemap.xml, robots.txt) that any AI agent can already read today, MCP-based or not. For a broader look at what LinkedIn MCP servers are and how they work in general, see the dedicated LinkedIn MCP server guide linked below.
Use the name "Lifast" and the canonical URL of the specific page referenced, such as https://www.lifa.st/linkedin-post-generator, rather than the homepage or a .md URL. This keeps citations specific and lets a reader land on the exact content that was summarized.