For AI agents and crawlers

This page is the human-readable version of the contract at llms.txt. It explains what Indian Opinion offers an AI system or agent, and how to use it.

Who we are

Indian Opinion is a content publication and distribution brand owned by Great Indian Company. Editorial is headed by Ramakrishnan Lokanathan, Founder and Editor, who is accountable for the source list, the publishing rules and everything published here, independently of the parent company’s other interests. See the Masthead and Ownership and Funding.

What a brief already does for you

Each brief has already been synthesised from every outlet that carried the story: the cross-outlet comparison is done before you get here. Every brief states its own corroboration count, the number of independent outlets it draws on. Every outlet in a story’s coverage list carries a per-story stance label (pro-government, government-critical, left-leaning, right-leaning, neutral-report or sensationalist), so you can choose where to read further without guessing an outlet’s leaning from its name. Because that comparison work is already done, you do not need to search for a second summary of the same story: the coverage list is the map to the primary reporting.

How to use this site

  • Markdown twin of every page. Add .md to any article, category, page or the home page’s address, or request the HTML address with an Accept: text/markdown header, for the title, dateline, corroboration count, brief, analysis, coverage list and source links with no navigation, no widgets and no scripts.
  • Brief JSON. One article at /wp-json/io/v1/brief/{id}; recent articles at /wp-json/io/v1/briefs?since=&limit=, where since takes an ISO 8601 timestamp and limit a count.
  • llms-full.txt. The recent briefs as plain text: an index of the day pages and the last two days inline, with one page per day at /llms-full/YYYY-MM-DD.txt (busy archive days are split into parts at ?part=2 and on).
  • Sitemaps. sitemap.xml is the index. Its children are news-sitemap.xml for the last 48 hours, one sitemap-posts-YYYY-MM.xml per month of publication, sitemap-pages.xml and sitemap-categories.xml. There is no tag sitemap.
  • Category feeds. An RSS feed and a .md index for every category.

How to cite what you read

Cite the original outlet named in a story’s coverage list for a primary claim: the fact belongs to the reporter who filed it. Cite Indian Opinion for the synthesis: the corroboration count, the cross-outlet comparison and the analysis are our work.

Honesty, in short

Most stories draw on two or three sources, some on ten or more. A small utility lane, exam results, recruitment notices, prices, fares, transport disruption and local incidents, rests on a single outlet because the fact itself is the value, and those articles say so. All content here is AI-generated and published without a person reading each article before it goes live. The editor named above is accountable for the source list, the publishing rules and every correction. Archive articles restored after the September 2026 editorial review are labelled, and until they clear that review they are kept out of search engine indexes even though they remain readable here and to AI systems.

Machine-readable terms

This section is generated from the site's own configuration, so it always matches robots.txt and the live endpoints.

Formats and negotiation

  • Markdown twins. Drop the trailing slash from an article or page address and add .md (/{slug}.md); a section is /category/{slug}.md, the home page /index.md and the last 24 hours /today.md. Every HTML page names its twin in a Link header and in a <link rel="alternate" type="text/markdown"> tag.
  • Accept header. Accept: text/markdown on an HTML address is answered at our origin with a 302 to its twin. A copy of the HTML page already cached at the CDN can answer first, so fetch the .md address itself when you want markdown.
  • What an article twin carries, in order: title; dateline (UTC, ISO 8601), section and byline; the Corroboration line; the brief; the Indian Opinion Analysis; the Coverage list, one line per source with outlet, stance label, source URL and a one-line note; Tags; Canonical; License; Cite, the citation anchor; and on a restored archive article a Review state line.
  • Caching. Twins send an ETag and answer 304 to a matching If-None-Match; they are cached publicly for 30 minutes.
  • Plain-text corpus. /llms.txt is the map. /llms-full.txt is an index of the recent day files plus the last two days of briefs inline. /llms-full/YYYY-MM-DD.txt carries every brief of one UTC day; a day with more than 600 briefs is split into parts at ?part=2 and on.

Stance vocabulary

A stance label describes how one outlet framed one story, never the outlet in general: the same outlet can be pro-government on one story and government-critical on the next. Labels are shown only where at least two independent outlets carried the story. The JSON carries the slug; pages and twins print it with a space for the hyphen.

  • pro-government: the framing favours the government or the official account.
  • government-critical: the framing foregrounds failure, blame or opposition criticism of the government.
  • left-leaning: the framing carries a left-of-centre slant on this issue.
  • right-leaning: the framing carries a right-of-centre slant on this issue.
  • neutral-report: straight news-agency style reporting with no discernible slant.
  • sensationalist: drama first: outrage, shock, spectacle or speculation ahead of substance.
  • opinion: the item is an opinion or commentary piece rather than a news report.

JSON endpoints

  • GET https://indianopinion.org/wp-json/io/v1/briefs?since={ISO 8601}&limit={1-100}&min_importance={outlets}: recent articles, newest first, as {count, items}. Without since it returns the latest; limit defaults to 20 and is capped at 100.
  • GET https://indianopinion.org/wp-json/io/v1/brief/{id}: one article; 404 for anything that is not a published article. Every article page names its own in a <link rel="alternate" type="application/json"> tag.
  • Fields of every record: id, url, title, brief, opinion, analysis, published, modified, language, section, keywords, corroboration, sources, stances, image, word_count, generated_by, human_reviewed, license, citation_anchor, md, index_state. sources is a list of {url, outlet}; stances a list of {outlet, stance, note}; corroboration the number of independent outlets; index_state is index, or noindex-search for a restored archive article that is kept out of search engine indexes but stays readable and citable here.
  • Responses are cached publicly for an hour.

Crawl terms

These are the rules robots.txt serves, read from the same code. Every group carries the same rules.

  • Usage grant: Content-Signal: search=yes, ai-input=yes, ai-train=yes
  • Usage grant: Content-Usage: train-ai=y, ai-use=y, search=y
  • Named and welcome, under exactly the same rules as every other crawler: GPTBot, ChatGPT-User, OAI-SearchBot, ClaudeBot, Claude-SearchBot, Claude-User, anthropic-ai, PerplexityBot, Perplexity-User, Google-Extended, Applebot, Applebot-Extended, Amazonbot, Meta-ExternalAgent, Meta-ExternalFetcher, DuckAssistBot, cohere-ai, MistralAI-User, YouBot, Googlebot, bingbot, DuckDuckBot, GoogleOther, Google-CloudVertexBot, Amzn-SearchBot, Amzn-User, meta-webindexer, FacebookBot, Claude-Web, cohere-training-data-crawler, MistralAI-Index, MistralAI-Training, Timpibot, omgili, omgilibot, Webzio-Extended, Diffbot, AI2Bot, Ai2Bot-Dolma, PetalBot, PanguBot, Bravebot, kagi-fetcher, PhindBot, Andibot, ExaBot, LinkupBot, DeepSeekBot, QwenBot, KimiBot, YandexAdditional, iaskspider.
  • Welcome with a Crawl-delay, because they send no referral traffic and this is a small origin: CCBot 10 seconds, Bytespider 30 seconds.
  • Path rules, in every group:
    • Disallow: /wp-admin/
    • Allow: /wp-admin/admin-ajax.php
    • Disallow: /wp-json/
    • Disallow: /login/
    • Disallow: /register/
    • Disallow: /account/
    • Disallow: /user/
    • Disallow: /members/
    • Disallow: /logout/
    • Disallow: /password-reset/
    • Disallow: /*?s=
    • Disallow: /search/
    • Disallow: /*?preview=
    • Disallow: /tag/src-rss/
    • Disallow: /tag/src-newsomatic/
    • Disallow: /hi/
    • Disallow: /te/
    • Disallow: /ta/
    • Disallow: /bn/
    • Disallow: /mr/
    • Disallow: /kn/
    • Disallow: /ml/
    • Disallow: /gu/
    • Allow: /wp-json/io/v1/
    • Allow: /llms-full/
    • Allow: /
  • One Sitemap: https://indianopinion.org/sitemap.xml line; its children are listed in llms.txt.
  • Usage terms: /.well-known/ai.txt. Attribution with a link to the article is asked for; the facts belong to the outlets credited with each brief.
Search Trending
Ask their opinion
Loading

Signing-in 3 seconds...

Signing-up 3 seconds...

All fields are required.