together.ai
Finalizing the report
Preparing the stored Is Agentic score
together.ai
Preparing the stored Is Agentic score
together.ai
These checks describe whether an ordinary agent can enter, read, and operate the public site.
Agents can reach the site
Crawler access and bot defenses.
Core content is available
Useful content remains accessible without a fragile browser-only path.
Navigation fails safely
Redirects and missing pages give agents a recoverable path.
Controls are understandable
Forms and interactive controls expose usable names and structure.
The public website is always evaluated. Optional surfaces appear when the scan finds positive evidence that they apply.
Strong
Weighted across 16 applicable checks
Blocked
Weighted across 8 applicable checks
Needs work
Weighted across 3 applicable checks
Needs work
Weighted across 1 applicable check
Critical access gaps come first, followed by other applicable readiness gaps.
Keep the correct HTTP 404 status. The remaining requirement is a Markdown error body when agents request Accept: text/markdown. Include at least 20 characters explaining the error and a link to your docs, sitemap, or llms.txt. Verify with curl -sS -L -i -H 'Accept: text/markdown' https://yourdomain.com/some-path-that-does-not-exist. Check both the final 404 status and the Markdown body with Content-Type: text/markdown. Checking the status alone does not verify the missing requirement.
Serve at least 500 characters of meaningful homepage content in raw HTML. Add a clear H1, keep deeper heading levels sequential, and remove excessive non-content markup.
Publish an OpenAPI (Swagger) specification at /openapi.json or /api/openapi.yaml. This is how agents understand your API surface automatically.
Return structured JSON error responses with error codes, messages, and resolution hints. Agents can't parse HTML error pages.
Declare scoped API permissions where machines can read them: named OAuth scopes in your OpenAPI security schemes, or scopes_supported in RFC 9728 protected-resource metadata. Prose descriptions of roles help humans, but agents need the machine-readable declaration to request least-privilege access.
Checks are grouped by relevance for App sites.
18308 chars with H1, but 4.7% content ratio is below the 5% target
How to pass
Serve at least 500 characters of meaningful homepage content in raw HTML. Add a clear H1, keep deeper heading levels sequential, and remove excessive non-content markup.
Site accessible to 6 AI agent user-agents
No meta-refresh stubs, JavaScript-redirect stubs, or cross-domain hops across 6 checked pages
All 5 sampled pages are publicly readable (5 with substantive content)
No OpenAPI/Swagger specification found
How to pass
Publish an OpenAPI (Swagger) specification at /openapi.json or /api/openapi.yaml. This is how agents understand your API surface automatically.
Canonical URL serves text/markdown and text/html via Accept negotiation with Vary: Accept
OpenID Connect discovery endpoint found at https://auth.together.ai
Scoped permissions described at https://docs.together.ai, but no machine-readable scope declaration found (OpenAPI oauth2 scopes or RFC 9728 scopes_supported)
How to pass
Declare scoped API permissions where machines can read them: named OAuth scopes in your OpenAPI security schemes, or scopes_supported in RFC 9728 protected-resource metadata. Prose descriptions of roles help humans, but agents need the machine-readable declaration to request least-privilege access.
API does not return JSON error responses (or no API detected)
How to pass
Return structured JSON error responses with error codes, messages, and resolution hints. Agents can't parse HTML error pages.
The nonexistent path https://together.ai/__ora-404-probe-cvx351mh correctly returns HTTP 404. Partial credit: no Markdown error body was detected.
How to pass
Keep the correct HTTP 404 status. The remaining requirement is a Markdown error body when agents request Accept: text/markdown. Include at least 20 characters explaining the error and a link to your docs, sitemap, or llms.txt. Verify with curl -sS -L -i -H 'Accept: text/markdown' https://yourdomain.com/some-path-that-does-not-exist. Check both the final 404 status and the Markdown body with Content-Type: text/markdown. Checking the status alone does not verify the missing requirement.
Valid sitemap found at https://docs.together.ai/sitemap.xml with 363 entries
Rich JSON-LD identity: Organization with name, description, url, and sameAs/logo/address (1 block)
Pricing page found at /pricing
Documentation site found at https://docs.together.ai
All metadata signals present: canonical URL, lang="en", og:image, og:type
Organization schema found but missing: contactPoint, address
How to pass
Add Organization JSON-LD that includes both contactPoint (with email/phone and contactType) and address (PostalAddress). This lets AI verify your business legitimacy and answer contact queries.
All trust anchor pages verified: About, Contact, Privacy
All 6 measured pages fit an agent context budget (largest ~6K tokens)
REST API documentation found at https://docs.together.ai/intro.md. Best-of-protocols score: 7/7.
Onboarding signals described but not verified live: free tier available, self-serve key generation, sandbox/test environment, zero-auth access
How to pass
Offer a free tier or trial, self-serve API key generation, and a sandbox environment. Agents can't fill out 'contact sales' forms.
MCP server listed in registry (Smithery, togethercomputer/mcp-server-tci, verified) but no live MCP protocol handshake - add /.well-known/mcp or ensure the deployment responds to initialize
How to pass
Build an MCP (Model Context Protocol) server exposing your API as tools. Use Streamable HTTP transport for full score. This lets Claude, ChatGPT, and other AI agents call your product natively.
CLI tool mentioned in llms.txt
How to pass
Publish an official CLI tool on npm, PyPI, or Homebrew. A CLI lets agents and developers script interactions with your product without building API integrations from scratch.
No API schema detected
How to pass
Make your API spec self-describing: a unique operationId and a description on every operation, typed parameters, and response schemas. For GraphQL, a fully typed schema with a documented cost or rate limit reads best.
No API spec found - function calling requires discoverable endpoints
How to pass
Ensure API endpoints have unique operation IDs, typed schemas, and descriptions compatible with LLM function-calling formats.
Agent discovered 1 developer-resource type by name (SDK documentation) across 3 pages
together.ai ranks #6 for "Together AI Cloud"
How to pass
Make sure your own domain ranks in the top results when people search your brand together with your main product (for example "Acme payments API"). If it does not, your brand may be too generic, conflict with a more established term, or not yet indexed. Strengthen it by describing your main product clearly in your homepage title and headings, earning press mentions that link to your domain, and avoiding redirect chains that mask your main domain in search results.
Wikidata Q124071418 (Together AI) verified - draft a Wikipedia page with cited references to complete knowledge graph coverage
How to pass
Establish a Wikipedia article and a Wikidata entity for your brand, with the domain set as the official website (Wikidata property P856) and a corresponding external link on Wikipedia. Wikipedia is the largest single source of citations in ChatGPT and a primary input to Knowledge Graphs across Google, Bing, and LLM training data. Earn third-party press coverage first to satisfy notability, then draft the article with cited references rather than self-promotion.
NPM package found: together-ai - "The official TypeScript library for the Together API"
100% of 363 sampled sitemap entries carry lastmod; newest is 0 day(s) old
Found the llms.txt at https://docs.together.ai/llms.txt.
The llms.txt is well-formatted with markdown links, but at 64,242 characters it exceeds the 30,000-character recommendation for a navigation index.
How to pass
Format your llms.txt as a navigation index: start with a markdown heading, include markdown links to deeper resources, and keep it under 30,000 characters. If you have more to say, move long-form content into /llms-full.txt or per-section files (e.g. /docs/llms.txt, /api/llms.txt) and link to them from the main index.
When-to-use guidance found at https://docs.together.ai
How to pass
Tell agents when to reach for you: add a 'when to use this' section to your llms.txt (or a dedicated agent-instructions file) that names your best-fit use cases and how an agent should call you. Be specific about the jobs you are right for - generic marketing copy does not read as guidance.
Strong entity linking via sameAs: linkedin.com, github.com
All 5 probed llms.txt links resolve to real content
Frontmatter with title + description on /
Code fences balanced across 1 markdown document
Developer documentation portal found at https://docs.together.ai
Returns markdown when requested via Accept header
SDK packages found in npm, pypi
How to pass
Publish official SDK packages across multiple language ecosystems (npm, PyPI, Go modules, RubyGems). Auto-generate them from your OpenAPI spec using tools like openapi-generator. For each package set the project URL or homepage to your product domain (package.json repository/homepage, PyPI Home-Page or project_urls, RubyGems homepage_uri) - this is how agents verify the package is your official SDK.
Sandbox environment found at https://together.ai/sandbox
Server HTML is a well-structured document (main=true, landmarks=3/4, h1=1, maxHeadingSkip=1).
365 native controls, 0 non-native div-soup affordances (100% native).
No hidden instruction text detected in accessibility-tree attributes or off-screen content.
What does together.ai do and who is it for? Explain it back to me.
Sign me up for Vercel product updates and marketing emails.
Unsubscribe anytime. Privacy Notice
Source: Ora API
What does together.ai do and who is it for? Explain it back to me.
13 steps6 reasoning steps1 search
The agent successfully assembled a comprehensive explanation of Together.ai's business model, pricing, and differentiation by fetching the homepage, pricing page, products page, and cross-referencing external comparison articles. The site's main pages contained sufficient information to answer the core questions, though key details like free tier limits and fine-tuning pricing required inference or were simply not documented in the fetched content. The agent worked around incomplete pricing transparency by acknowledging gaps rather than guessing.