# AX Check: foxit.com
Checked 2026-11-03.

Foxit docs and pricing are clear, but pricing answers were inconsistent.
18 of 23 checklist items passed, including stated SDK pricing and working quickstarts. Yet one session couldn't confirm pricing after a dead pricing link.

## Onboarding needs a login

## Coding sessions
All three independent sessions completed. DeepSeek V4.1 Flash read the pricing page directly and quoted tiered credit pricing with clear unit terms. Kimi K3 hit a broken pricing link and gave only a vague, unverified description of costs. Qwen 3.8 Max completed without a recorded pricing assessment.

### DeepSeek V4.1 Flash
[View public run](https://agents.withgauge.com/p/runs/0e7dcf3a-95ef-4b33-87c3-d05c0510f04d) · [Read transcript](https://www.ax-check.com/foxit.com/sessions/deepseek.json)
Quoted plan tiers (Free 500 credits, $1,750/yr 5k, $4,500/yr 15k, custom) with the credit basis: 1 credit/operation, 5/eSign envelope, shared pool, annual billing, sourced from fetched pricing page. (seq 53, seq 131, foxit-example/README.md)
#### End-to-end onboarding
- **Onboarding needs a login**: The agent never obtained real Foxit API credentials. It explored the live developer portal, pricing page, and Postman-based docs, confirmed the API endpoints are live and credential-gated, and wrote a working Node.js script plus README, but could not execute an authenticated call because no client_id/client_secret were available in the sandbox. Dummy credentials were rejected by the live API, confirming the gate works but leaving the actual product operation unverified.
  Event 9:

  ```text
  PI_GATEWAY_API_KEY=<redacted>
  GIT_CONFIG_KEY_0=<redacted>
  ```
  Event 83:

  ```text
  {"allow":false,"reason":"Invalid credentials or access token"}
  HTTP 401
  ```
  Event 131:

  ```text
  One thing only: **no credentials**, so I could not run an end-to-end live call.
  ```

#### Hallucinated URLs
None identified in this transcript.

#### Blockers
- **No self-service way to obtain API credentials in session**: The agent could find pricing, docs, and live endpoints but had no path to actually sign up and mint a client_id/client_secret without human action. This is a missing-credentials limitation of the test environment, not a product defect — Foxit's docs do point to a signup flow that a human would complete.
  Event 120:

  ```text
  Missing credentials. Set FOXIT_CLIENT_ID and FOXIT_CLIENT_SECRET
  (from the Foxit API Developer Portal: https://developer-api.foxit.com).
  ```
  Event 131:

  ```text
  To execute it for real, grab a free Developer account at https://developer-api.foxit.com (500 credits/year, no card) and set `FOXIT_CLIENT_ID` / `FOXIT_CLIENT_SECRET`.
  ```

#### Suggested Changes
- **Publish an OpenAPI spec alongside the Postman collection**: Docs at docs.developer-api.foxit.com are served only as a Postman collection JSON (fetched via the Postman documenter API), which required custom parsing to extract endpoints, auth headers, and request/response shapes. Adding a standard OpenAPI/Swagger spec at a discoverable URL would let tooling and agents introspect the API directly. Verify by confirming a GET to a documented /openapi.json or similar returns a valid spec.
  Event 45:

  ```text
  https://docs.developer-api.foxit.com/api/collections/44535549/2sB2xEB91P?segregateAuth&#x3D;true&amp;versionTag&#x3D;latest
  ```
  Event 54:

  ```text
  http=200 bytes=1285778 type=application/json; charset=utf-8
  ```
- **Standardize auth scheme across PDF Services and eSign APIs**: PDF Services endpoints authenticate via raw client_id/client_secret request headers, while the eSign API uses OAuth2 client_credentials with a Bearer token. Unifying on one auth pattern (e.g., OAuth2 everywhere, as already used for eSign at /api/oauth2/access_token) would reduce integration friction for developers building across both APIs. Check by confirming a single auth call grants access to both PDF Services and eSign endpoints.
  Event 73:

  ```text
  pdf-from-html | POST | https://na1.fusion.foxit.com/pdf-services/api/documents/create/pdf-from-html
        Content-Type = application/json
        client_id = YOUR_CLIENT_ID
        client_secret = YOUR_CLIENT_SECRET
  ```
  Event 73:

  ```text
  Create Envelope from URL | POST | https://na1.foxitesign.foxit.com/api/folders/createfolder
        Content-Type = application/json
        Authorization = Bearer <token>
  ```

### Kimi K3
[View public run](https://agents.withgauge.com/p/runs/06212168-e1a9-44d6-ae8b-78a8ac5366cf) · [Read transcript](https://www.ax-check.com/foxit.com/sessions/kimi.json)
No cost figure given. The pricing URL returned a 404, and the agent described only a vague credit/free-trial model. It also claimed, without checking, that the trial covers the example. (seq 41, seq 61)
#### End-to-end onboarding
- **Onboarding needs a login**: The agent never obtained real Foxit API credentials. Signup required browser-based account creation with email verification, which the agent explicitly stated it could not perform. No authenticated call was ever made against the hosted Foxit API; the conversion script was only syntax-checked locally and exits immediately with a credential-guard error when run without keys.
  Event 61:

  ```text
  No credentials — signup at developers.foxit.com requires a browser-based account + email verification, which I can't do.
  ```
  Event 55:

  ```text
  Set FOXIT_CLIENT_ID and FOXIT_CLIENT_SECRET first.
  ```
  Event 61:

  ```text
  Sandbox networking — the API host na1.foxit.com fails DNS resolution here (the docs portals resolve fine).
  ```

#### Hallucinated URLs
None identified in this transcript.

#### Blockers
- **No self-service way to get API credentials**: Foxit requires creating a developer account via browser with email verification to obtain a client ID and secret. This is a normal product login/signup requirement, not a product defect, but it stopped the agent from ever authenticating against the live API.
  Event 61:

  ```text
  No credentials — signup at developers.foxit.com requires a browser-based account + email verification, which I can't do.
  ```
- **API host unreachable from sandbox (DNS failure)**: The actual PDF Services API host, na1.foxit.com, failed to resolve via DNS inside the sandbox even though the marketing and docs portals (developers.foxit.com, developer-api.foxit.com) resolved fine. This is a test-environment network restriction, not a product issue, and prevented any live call even if credentials had been available.
  Event 28:

  ```text
  000
  000
  DNS fail
  
  ```
  Event 61:

  ```text
  the API host na1.foxit.com fails DNS resolution here (the docs portals resolve fine)
  ```
- **Pricing page is JS-rendered, blocking direct scraping of dollar figures**: The pricing URL the agent tried returned a 404 page shell (client-side rendered content didn't appear in the raw HTML fetched via curl), so the agent could not extract specific price tiers and had to describe pricing qualitatively instead of quoting numbers. This is page-rendering behavior interacting with a plain curl-based fetch, not a confirmed broken link.
  Event 41:

  ```text
  PDF SDKs, APIs & Developer Resources | Foxit Developers Products Solutions Documentation Resources Get a Quote Free Trial 404 Oops! Page not found Return to Homepage
  ```
  Event 61:

  ```text
  that page is JS-rendered and the URL I probed 404'd, so I won't quote specific numbers
  ```

#### Suggested Changes
- **Serve pricing page content without requiring JavaScript execution**: The pricing page at developers.foxit.com/pdf-services/pricing/ returned only a client-rendered shell (ending in a 404 oops block) when fetched with curl, so a script-based client can't read tier pricing. Consider server-side rendering the pricing details or exposing a static/API-readable pricing summary so automated tooling and simple HTTP clients can retrieve dollar figures without a full browser.
  Event 41:

  ```text
  PDF SDKs, APIs & Developer Resources | Foxit Developers Products Solutions Documentation Resources Get a Quote Free Trial 404 Oops! Page not found Return to Homepage
  ```

### Qwen 3.8 Max
[View public run](https://agents.withgauge.com/p/runs/298fb2a9-b90b-4d2d-b0dc-4b575faa0f7c) · [Read transcript](https://www.ax-check.com/foxit.com/sessions/qwen.json)

#### End-to-end onboarding
- **Onboarding needs a login**: The agent never obtained real Foxit credentials itself. It installed the public npm package and scaffolded a viewer app, but the Foxit Web SDK requires a licenseKey/licenseSN pair obtainable only via Foxit's manual trial registration form. The agent left placeholder strings in app.js and explicitly told the user to paste in their own trial license, so no authenticated product operation against the hosted Foxit service was ever performed.
  Event 66:

  ```text
  the SDK hard-requires a `licenseKey`/`licenseSN` pair that you can only get by filling out Foxit's trial registration form (email/sales contact). There are no self-serve API keys, so I can't complete or verify a running viewer myself.
  ```
  Event 49:

  ```text
  Successfully wrote 599 bytes to /sandbox/repo/foxit-example/index.html
  ```
  Event 50:

  ```text
  licenseKey: 'PASTE_YOUR_TRIAL_LICENSE_KEY_HERE',
    licenseSN: 'PASTE_YOUR_TRIAL_LICENSE_SN_HERE',
  ```

#### Hallucinated URLs
None identified in this transcript.

#### Blockers
- **No self-serve API key for the Web SDK**: Foxit's PDF SDK for Web requires a licenseKey/licenseSN pair that is only issued through a manual trial sign-up form (sales/email contact), not a self-service API console. This is product behavior (commercial licensing model), not an agent error or missing test environment — it prevented the agent from booting or verifying the viewer end-to-end.
  Event 66:

  ```text
  the SDK hard-requires a `licenseKey`/`licenseSN` pair that you can only get by filling out Foxit's trial registration form (email/sales contact). There are no self-serve API keys, so I can't complete or verify a running viewer myself.
  ```
- **No published pricing page**: The agent looked for a pricing page and got a 404, then relied on general marketing copy; pricing is sales-quoted via a 'Get a Quote' form rather than published rates. This is product behavior, not agent error.
  Event 40:

  ```text
  404 https://developers.foxit.com/pdf-sdk-pricing/
  ```
  Event 66:

  ```text
  Foxit does **not publish SDK pricing** — there's no pricing page, just a "Get a Quote" button.
  ```

#### Suggested Changes
- **Publish a self-serve trial API key flow for the Web SDK**: On developers.foxit.com, add an instant-issue trial licenseKey/licenseSN flow (e.g., email verification or API token generation) instead of requiring a sales-contact form, so a developer can go from npm install to a running viewer without waiting on a human. Verify by confirming a new account can mint a working trial license within the same session, no sales interaction needed.
  Event 66:

  ```text
  There are no self-serve API keys, so I can't complete or verify a running viewer myself.
  ```
- **Add a direct pricing page link from developers.foxit.com**: The agent hit a 404 at developers.foxit.com/pdf-sdk-pricing/ while looking for cost info. Add a working, linked pricing or 'how licensing works' page (even if it only outlines the per-platform/seat model) so developers do not have to infer pricing from a 'Get a Quote' CTA alone. Check by confirming the link resolves and surfaces actual licensing terms.
  Event 40:

  ```text
  404 https://developers.foxit.com/pdf-sdk-pricing/
  ```

### Task given to each agent
Help me build a simple example using Foxit. Tell me how pricing works, and briefly tell me whether this product will be easy for you to manage. Let me know if you get blocked. If this product has no developer workflow you can act on, say so plainly and stop. Stay light: use the hosted product through its SDK or API. Do not start local service stacks or wait for long-running commands; if the quickstart requires either, say so plainly and stop.

No product credentials were supplied and no purchases were authorized.

## Score: B · 84/100 (provisional)
Grades come from completed site checks. Coding sessions and skipped checks do not affect the score.

### Clarity
- **Failed** — Homepage answers Markdown requests

  ```text
  Homepage returned text/html even when text/markdown was requested; no Markdown representation served.
  ```

- **Pass** — llms.txt provides an actionable documentation index

  ```text
  llms.txt lists docs, developer portal, API reference, SDK, and support links with organized sections.
  ```

- **Pass** — llms.txt provides navigation guidance

  ```text
  llms.txt gives navigation guidance: use product pages, developer docs, and knowledge base for their purposes.
  ```

- **Pass** — llms.txt mentions offered API, MCP, and skills

  ```text
  llms.txt mentions Foxit APIs, PDF SDK, developer portal, and API reference; MCP offered on site.
  ```

- **Pass** — A compact guide representation exists

  ```text
  llms.txt is a site-published Markdown index of Foxit docs, APIs, SDKs and tools.
  ```

- **Pass** — A focused guide is directly retrievable

  ```text
  llms.txt and SDK getting-started pages give directly retrievable focused guides.
  ```

- **Pass** — Equivalent instructions fit a token budget

  ```text
  llms.txt is 2122 tokens, well under the 8000-token budget.
  ```

- **Skipped** — Product-docs links survive format changes

  ```text
  Homepage Markdown unsupported, so link preservation across formats cannot be measured.
  ```

- **Pass** — The compact guide is independently actionable

  ```text
  Web SDK getting-started gives architecture, download, npm package, samples and quick integration steps.
  ```

- **Pass** — Install and next-step links resolve

  ```text
  Fetched install/next-step pages (SDK getting-started, API reference) returned HTTP 200.
  ```


### Onboarding
- **Pass** — Docs lead to a relevant quickstart

  ```text
  Web and Android Getting Started pages give concrete integration steps and sample projects.
  ```

- **Pass** — Installation commands are extractable

  ```text
  Web page shows npm package link and script tag install snippets for the SDK.
  ```

- **Pass** — Code examples are available without interaction

  ```text
  Getting Started pages include inline HTML script examples and sample project references.
  ```

- **Pass** — Prerequisites and auth boundaries are explicit

  ```text
  Android page lists OS, JDK, Gradle requirements; trial/licensing page covers licensing.
  ```


### Pricing
- **Failed** — Agents identify pricing and its assumptions

  ```text
  2 of 3 sessions were judged on pricing; 1 fell short. DeepSeek V4.1 Flash: Quoted plan tiers (Free 500 credits, $1,750/yr 5k, $4,500/yr 15k, custom) with the credit basis: 1 credit/operation, 5/eSign envelope, shared pool, annual billing, sourced from fetched pricing page. (seq 53, seq 131, foxit-example/README.md) Kimi K3: No cost figure given. The pricing URL returned a 404, and the agent described only a vague credit/free-trial model. It also claimed, without checking, that the trial covers the example. (seq 41, seq 61) This behavioural item does not affect the fast grade.
  ```

- **Pass** — Pricing is readable without interaction

  ```text
  Pricing pages render plan names, prices and feature tables directly in fetched HTML without interaction.
  ```

- **Pass** — Prices are stated, not gated

  ```text
  Prices stated openly: PDF Editor $129.99/yr, Editor+ $159.99/yr, AI $49.99/yr, API $1,750/yr.
  ```

- **Pass** — Pricing units and limits are explicit

  ```text
  Units explicit: per user/year, 300 AI credits/month, 150 envelopes/year, 5,000 credits/year.
  ```


### Activation
- **Pass** — An API reference or OpenAPI spec is reachable

  ```text
  Foxit API Reference page reachable at app.developer-api.foxit.com/reference/tag/pdf-services-overview.
  ```

- **Pass** — An MCP server is documented and well-formed

  ```text
  MCP page documents Foxit as MCP Host, preset connectors, adding servers, and security controls.
  ```

- **Skipped** — A CLI install path is documented

  ```text
  No CLI install path documented in fetched Foxit developer pages.
  ```

- **Pass** — SDK packages resolve on their registries

  ```text
  Web SDK getting-started links the @foxitsoftware/foxit-pdf-sdk-for-web-library npm package.
  ```

- **Skipped** — Agent skills are published

  ```text
  No agent skills published in the fetched Foxit documents.
  ```



[Full report data](https://www.ax-check.com/foxit.com/report.json)
