# Website Screenshot with Chinese, Japanese & Korean Fonts (`inkbridge/website-screenshot-with-chinese-japanese-korean-fonts`) Actor

Full-page or viewport website screenshots with Chinese, Japanese, Korean and emoji fonts, so Asian pages render correctly. Desktop, tablet and phone sizes. Failed pages cost nothing. 網頁截圖、网页截图、スクリーンショット、스크린샷。

- **URL**: https://apify.com/inkbridge/website-screenshot-with-chinese-japanese-korean-fonts.md
- **Developed by:** [Inkbridge Studio](https://apify.com/inkbridge) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.50 / 1,000 screenshot saveds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Website Screenshot with Chinese, Japanese & Korean Fonts

Give it URLs. Get full-page or viewport screenshots, with fonts installed for Chinese, Japanese, Korean and emoji, so Asian pages show real text instead of empty boxes.

### 中文、日本語、한국어

- **網頁截圖：** 給網址，產生整頁或視窗截圖，已安裝中文、日文、韓文字型，文字不會變成方塊。每張 US$0.003，失敗不收費。
- **网页截图：** 提供网址，生成整页或窗口截图，已安装中日韩字体。每张 US$0.003，失败不收费。
- **ウェブページのスクリーンショット：** URL から全体または画面のスクリーンショットを作成します。日本語フォント導入済み。1 枚 US$0.003、失敗は無料です。
- **웹페이지 스크린샷:** URL의 전체 페이지 또는 화면 스크린샷을 만듭니다. 한국어 글꼴이 설치되어 있습니다. 장당 US$0.003, 실패하면 무료입니다.

### What it does

- Captures PNG or JPEG, full page or viewport.
- Desktop, tablet or phone sizes, or your own width and height.
- Waits for the page to load, plus any extra delay you set.
- Returns a link to each image, the page title and the HTTP status.
- Tells you which pages failed and why. One bad URL does not stop the others.

### Use cases

- **Check how a site looks in Asia:** capture Chinese, Japanese or Korean pages with the text showing, without building your own browser image.
- **Keep a visual record:** save how a page looked on a given day, for example a price page or a release note.
- **Feed reports or AI tools:** add a page image to a document, or pass it to a vision model.
- **Compare devices:** run the same URLs as desktop, tablet and phone.

### How to use it

1. Add pages to **URLs**.
2. Pick a **Device** and whether you want the **Full page**.
3. Run it. You get one row per URL, with a screenshotUrl you can open or download.

### Pricing

- US$0.003 per screenshot saved.
- A page that fails costs nothing.
- Each run also has a US$0.00005 start fee.

### Output

| Field | Meaning |
|---|---|
| url | The page you asked for |
| screenshotUrl | Link to the image |
| title | Page title |
| status | HTTP status of the page |
| error | Why it failed, otherwise empty |

### Limits

- It does not log in, solve CAPTCHAs or use proxies. Sites that block automated browsers are reported as failed, or show their block page in the image.
- Cookie banners and pop-ups appear as a normal visitor would see them.
- Very long pages can be cut off by the browser's image size limit.
- Images stay in your Apify key-value store for your plan's retention period.

### Run it from code

```python
from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("inkbridge/website-screenshot-with-chinese-japanese-korean-fonts").call(run_input={
    "urls": ["https://www.gov.tw"],
    "device": "desktop",
    "fullPage": True,
})
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(row["url"], row.get("screenshotUrl"), row.get("error"))
```

### FAQ

**Will Chinese, Japanese and Korean text show correctly?** That is why this exists: the fonts are installed in the browser image. A Traditional Chinese government site was checked by eye before release.

**Why does this cost more than some other screenshot tools?** Slow pages use real browser time, and the price has to cover that. If you only capture English pages, a cheaper tool may suit you better.

**What happens when a page fails?** You get a row with the reason in **error**, and it costs nothing. The other URLs still run.

**Can it capture pages behind a login?** No.

### Data

Capture only pages you are allowed to capture, and follow each site's terms. Questions or a page that fails? Open an issue on this Actor's Issues tab.

# Actor input Schema

## `urls` (type: `array`):

Pages to capture, one per line.

## `device` (type: `string`):

Screen size to use. Custom uses the width and height below.

## `width` (type: `integer`):

Pixels. Used when Device is Custom.

## `height` (type: `integer`):

Pixels. Used when Device is Custom.

## `fullPage` (type: `boolean`):

Capture the whole page rather than the visible screen.

## `imageType` (type: `string`):

PNG is sharper; JPEG is smaller.

## `delaySeconds` (type: `integer`):

Wait after the page loads, for animations or late content.

## Actor input object example

```json
{
  "urls": [
    "https://apify.com"
  ],
  "device": "desktop",
  "width": 1440,
  "height": 900,
  "fullPage": true,
  "imageType": "png",
  "delaySeconds": 1
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "urls": [
        "https://apify.com"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("inkbridge/website-screenshot-with-chinese-japanese-korean-fonts").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "urls": ["https://apify.com"] }

# Run the Actor and wait for it to finish
run = client.actor("inkbridge/website-screenshot-with-chinese-japanese-korean-fonts").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "urls": [
    "https://apify.com"
  ]
}' |
apify call inkbridge/website-screenshot-with-chinese-japanese-korean-fonts --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,inkbridge/website-screenshot-with-chinese-japanese-korean-fonts"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/CrE35nKbfWM5PbnJ7/builds/hqwx3gSUJZSDNmmIx/openapi.json
