---
optiview_delivery: edge_optimized
content_type: semantic_markdown
source_url: https://optiview.ai/developers/javascript/
brand_content: included
publication_version: "9.0"
published_at: 2026-10-16T20:36:07Z
composition_version: composition-v2.1.0
presentation_version: presentation-v1.2.3
brand_content_source: narrative_graph
delivery_publication: graph:33
narrative_versions:
  - 33
narrative_version: 33
---

[Developers](https://optiview.ai/developers/)/JavaScript integration

Integrations

# JavaScript integration

Use the downloadable ES module client from a Node.js 22+ server. The client uses native fetch and has no runtime package dependencies.

## Download the client

ShellCopy

```
curl --fail --output products-client.mjs \
  'https://optiview.ai/developers/products-client.mjs'
```

This is a downloadable client, not an npm package. Keep `OPTIVIEW_API_KEY` in your private process environment. Review [authentication](https://optiview.ai/developers/authentication/) before deploying.

## Parse HTML and read the result

Save complete HTML as `page.html`, save the following as `example.mjs`, then run `node example.mjs`.

JavaScriptCopy

```
import {readFile} from 'node:fs/promises';
import {OptiviewProducts} from './products-client.mjs';

const client = new OptiviewProducts({
  apiKey: process.env.OPTIVIEW_API_KEY
});

// Persist this key with your work item before submitting.
const idempotencyKey = 'parse-order-1042';
const html = await readFile('./page.html', 'utf8');
let job = await client.parse({
  html,
  url: 'https://example.com/support'
}, {idempotencyKey});

// Most direct requests finish in the original response.
if (['queued', 'running'].includes(job.status)) {
  job = await client.wait(job.id);
}
if (job.status !== 'succeeded' || !job.result) {
  throw new Error(job.error_code || 'Result unavailable: ' + job.status);
}
console.log(job.result.markdown);
```

`wait()` defaults to a 90-second bounded wait and a two-second polling interval. It returns terminal failed/expired jobs as well as successes. Check status yourself.

## Retrieve and other client methods

JavaScriptCopy

```
const job = await client.retrieve(
  'https://optiview.ai/products/parse/',
  {idempotencyKey: 'retrieve-order-1042'}
);

// Explicit asynchronous submission remains supported.
const queued = await client.createJob({
  product: 'retrieve',
  url: 'https://optiview.ai/products/parse/'
}, {idempotencyKey: 'retrieve-order-1043'});

const current = await client.getJob(queued.id);
const usage = await client.usage();
```

| Method | Returns |
| --- | --- |
| `parse(input, options)` | Direct Parse job. input is {html, url}. |
| `retrieve(url, options)` | Direct Retrieve job. |
| `createJob(input, options)` | Asynchronous job; include product. |
| `getJob(id)` | Current job state and available result. |
| `wait(id, options)` | Terminal job, or poll\_timeout exception. |
| `usage()` | Workspace balance and aggregate counts. |

## Handle exceptions and uncertain outcomes

`OptiviewProductsError` exposes `status` and `code` for HTTP failures. A poll wait timeout uses status 408 and code `poll_timeout`; resume polling the same ID. Fetch/transport errors may be native errors instead.

The client sets a 30-second timeout per HTTP request and does not automatically retry failed submissions. Supply a persisted idempotency key for production work; if omitted, a new UUID is generated on each method invocation. Calling the method again without your original key can create another charge.

See [Errors and safe retries](https://optiview.ai/developers/errors/). Do not interpret a transport timeout as cancellation.

## Additional source context

Make your brand easier for AI to understand.

### Get started

[Overview](https://optiview.ai/developers/) · [Quickstart](https://optiview.ai/developers/quickstart/) · [Authentication](https://optiview.ai/developers/authentication/)

### API reference

[Parse HTML](https://optiview.ai/developers/parse/) · [Retrieve a webpage](https://optiview.ai/developers/retrieve/) · [Jobs and results](https://optiview.ai/developers/jobs/) · [Usage and credits](https://optiview.ai/developers/usage/) · [Errors and retries](https://optiview.ai/developers/errors/) · [Limits and retention](https://optiview.ai/developers/limits/)

### Integrations

[Python](https://optiview.ai/developers/python/) · [MCP for agents](https://optiview.ai/developers/mcp/) · [OpenAPI specification](https://optiview.ai/developers/openapi/) · [Changelog](https://optiview.ai/developers/changelog/)

### Explore

[Website publishing](https://optiview.ai/products/publish/) · [Developer tools](https://optiview.ai/products/#developers) · [Pricing](https://optiview.ai/pricing/)

### Learn

[Guides](https://optiview.ai/resources/) · [Developer docs](https://optiview.ai/developers/) · [Research](https://optiview.ai/proof/) · [FAQ](https://optiview.ai/faq/)

### Company

[About Optiview](https://optiview.ai/about/) · [Agencies](https://optiview.ai/partners/) · [Contact](https://optiview.ai/#contact) · [Privacy](https://optiview.ai/privacy/) · [Billing terms](https://optiview.ai/billing-policy/)

## Additional page links

- [Developer docs API v1](https://optiview.ai/developers/) — Documentation sidebar
- [Developer console](https://app.optiview.ai/developers) — Documentation sidebar
- [Developer terms](https://optiview.ai/developers/terms/) — Documentation sidebar
- [Contact support](mailto:hello@optiview.ai) — Documentation sidebar


---

# Published brand narrative

# Site-wide brand information

## Who we are

### Optiview — Parse, Retrieve and Publish for AI

Optiview helps businesses and developers make website information easier for AI to use. Parse converts supplied HTML into clean Markdown and source metadata. Retrieve fetches an eligible public HTTPS webpage and prepares its content. Publish helps a verified business prepare its own website content and make approved Narrative Graph context available through a supported connection.

Parse and Retrieve use application keys and a prepaid developer wallet. Publish has separate website setup, ownership checks and a subscription. Optiview does not control whether an outside AI service discovers, uses or cites the resulting content.

Applies to: Optiview

## Why we matter

### A clearer source, from website content to business context

Webpages mix useful information with navigation, layout and application code. Businesses may also have important qualifications, answers and context that are not clearly published.

Optiview gives developers a way to prepare source content for their applications, and gives businesses a way to publish the context their teams approve. Your application chooses how to use Parse and Retrieve results. Your business controls what it publishes through Publish.

Clearer publishing makes information available; it does not determine an AI system’s answer. Each outside service chooses its own retrieval, recommendations and citations.

## What we offer

### Three products, with separate jobs and clear pricing

- **Optiview Parse:** Supply complete HTML and a source URL. Receive clean Markdown, source and output hashes, parser details and processing warnings. Parse does not fetch the URL or execute JavaScript. A successful page uses 1 credit.
- **Optiview Retrieve:** Supply one eligible public HTTPS URL. Optiview checks supported access and publisher policies, fetches anonymous static HTML and parses it. It does not search the web, execute JavaScript, bypass a login or access private networks. A successful page uses 5 credits total, including parsing.
- **Developer credits:** USD $20 buys 20,000 credits shared by Parse and Retrieve. There is no developer subscription, automatic recharge or scheduled credit expiration. Failed jobs consume no credits. Applicable taxes and the total appear at checkout. Source size, quotas and retention limits apply.
- **Optiview Publish:** USD $99 per website per month plus applicable tax. Connect a verified website, review the prepared source and optionally maintain approved Narrative Graph context in Identity, Story, Offerings, Trust, Knowledge and Actions. Choose site-wide or exact-page scope. Saving drafts does not publish them. Eligible AI tools can receive prepared Markdown or HTML through supported delivery, while ordinary visitors keep the normal website.

Developer credits do not purchase Publish subscriptions. Parse and Retrieve do not add a customer’s private Narrative Graph to arbitrary third-party pages. See https://optiview.ai/pricing/ and https://optiview.ai/developers/ for the current offer and limits.

## Why trust us

### Inspect the output and understand what the evidence establishes

Developers can inspect the prepared Markdown, job status, source metadata, processing warnings and credit ledger. Retrieve records the public source response it observed; Parse identifies supplied HTML rather than claiming to verify the current origin.

Publish administrators can review parser output, the combined published-output preview, source checks and publication history. A preview is separate from a recorded live delivery. Saved edits remain separate from the active publication until explicitly published.

Our experiment pages contain selected first-party AI conversations and source comparisons. Delivery records establish what was served, not downstream ingestion, recommendations, citations or revenue. Observed language matches do not establish causation or a consistent visibility improvement. Explore the evidence and limitations at https://optiview.ai/proof/.

## Helpful knowledge

### Common questions about the three products

**Which product should I use?**
Use Parse when you already have HTML. Use Retrieve when you need Optiview to fetch one eligible public page first. Use Publish when your business wants to prepare its verified website and publish approved context.

**Do Parse and Retrieve require website ownership or DNS changes?**
No website connection is needed for these developer products. You remain responsible for source rights and permitted downstream use. Public availability does not grant a reuse license.

**How do developer accounts and keys work?**
Create a developer workspace and save the personal sign-in key and offline recovery code. Create scoped service keys for server-side applications. Email is an unverified contact identifier, not account-ownership proof or an email-only recovery method. Keep all credentials private.

**Can my agent use Optiview?**
The authenticated developer API returns prepared content for your application or model. A downloadable JavaScript client and local MCP adapter are available. Your host must authorize sources and any credit expenditure. Compatibility does not establish adoption or a partnership with an AI provider.

**Does the API include my private Narrative Graph?**
Parse and Retrieve are source-only. Verified website publishing and approved publisher context belong to the separate Publish workflow.

**Does Publish replace our website or CMS?**
No. Your website stays in its existing system. Your web team establishes and tests a supported connection. Your team reviews and explicitly publishes any Narrative Graph additions. Ordinary visitors retain the normal website experience.

**Does every AI tool get the prepared version?**
No. Delivery depends on the website connection, source eligibility and the request. Some tools explicitly request Markdown; supported AI requests may also receive prepared Markdown or HTML through eligible delivery paths. Traditional search crawlers retain the original website response. A claimed tool name does not prove the requester’s identity.

**Does the demo publish or save to our workspace?**
No. The public demo is a separate preview. Its AI-generated examples require review and do not transfer automatically into an approved publication.

**Will Optiview guarantee citations or recommendations?**
No. Optiview prepares and publishes sources. Outside AI services choose what to retrieve, use and cite.

## What to do next

### Choose your starting point

- [Compare Parse, Retrieve and Publish](https://optiview.ai/products/) to choose the right workflow.
- [Create a developer workspace](https://app.optiview.ai/developers) for self-service Parse and Retrieve, then add credits and create an application key.
- [Read the API quickstart and agent-tool setup](https://optiview.ai/developers/) for request examples, supported sources, errors, quotas and downloads.
- [Review pricing and terms](https://optiview.ai/pricing/) for prepaid credits and the separate Publish plan.
- [Preview your website](https://optiview.ai/demo/) to inspect prepared content and explore unapproved narrative examples without connecting or publishing.
- [Plan Publish setup](https://optiview.ai/onboarding/) with your web team. Publishing requires ownership checks, review and a supported connection; contact [hello@optiview.ai](mailto:hello@optiview.ai) for assisted setup.

Already using Publish? Review your Narrative Graph, publish approved changes explicitly, inspect the combined source in Markdown and check recorded delivery in Activity. Keep your existing visibility tools to study downstream AI answers.
