# Ctrip ProductInfo Scraper (`getdataforme/ctrip-productinfo-scraper`) Actor

The Ctrip ProductInfo Scraper extracts detailed product data from Ctrip's travel site, including descriptions, reviews, and keywords....

- **URL**: https://apify.com/getdataforme/ctrip-productinfo-scraper.md
- **Developed by:** [GetDataForMe](https://apify.com/getdataforme) (community)
- **Categories:** Agents, Automation, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $9.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Ctrip ProductInfo Scraper

### Introduction
The Ctrip ProductInfo Scraper is a powerful tool designed to extract detailed product information from Ctrip's travel site. It efficiently gathers data such as descriptions, keywords, reviews, and more, providing valuable insights for market research, competitive analysis, and content aggregation.

### Features
- **Comprehensive Data Extraction**: Captures detailed product information including descriptions, reviews, and keywords.
- **High Data Quality**: Ensures accurate and reliable data collection from Ctrip.
- **Efficient Performance**: Optimized for fast data retrieval, reducing time and resource consumption.
- **User-Friendly Interface**: Easy to configure and run with minimal setup.
- **Scalable**: Handles multiple URLs efficiently, making it suitable for large-scale data collection.
- **Customizable Outputs**: Supports various output formats including JSON, CSV, and Excel.

### Input Parameters

| Parameter  | Type   | Required | Description               | Example                                                                 |
|------------|--------|----------|---------------------------|-------------------------------------------------------------------------|
| startUrls  | array  | Yes      | URLs to start with.       | `["https://you.ctrip.com/sight/xiamen21/133087.html?poiType=3&scene=onlinesearch"]` |

### Example Usage

#### Example Input
```json
{
  "startUrls": [
    {
      "url": "https://you.ctrip.com/sight/xiamen21/133087.html?poiType=3&scene=onlinesearch"
    }
  ]
}
````

#### Example Output

```json
[
  {
    "url": "https://you.ctrip.com/sight/xiamen21/133087.html?poiType=3&scene=onlinesearch",
    "title": "厦门八卦楼风琴博物馆游玩攻略简介,厦门八卦楼风琴博物馆门票/地址/图片/开放时间/照片/门票价格【携程攻略】",
    "description": "八卦楼风琴博物馆游玩攻略，携程攻略社区! 提供厦门八卦楼风琴博物馆景点图片、门票价格、开放时间及包含厦门八卦楼风琴博物馆攻略、地址、照片、点评、附近酒店、门票团购等实用信息,大量八卦楼风琴博物馆团购优惠及返现活动。要旅行,从携程攻略开始",
    "keywords": "厦门八卦楼风琴博物馆,厦门八卦楼风琴博物馆攻略,八卦楼风琴博物馆门票,八卦楼风琴博物馆图片,八卦楼风琴博物馆游玩攻略,八卦楼风琴博物馆地址,八卦楼风琴博物馆门票价格,八卦楼风琴博物馆开放时间,八卦楼风琴博物馆照片,八卦楼风琴博物馆简介",
    "scenicArea": "",
    "openingHours": "2025年10月1日-2026年5月31日 08:30-17:30开放;6月1日-9月30日 08:30-18:00开放",
    "preferentialPolicies": "儿童：6周岁（不含）~18周岁（含18周岁）未成年人（凭有效身份证件），半价；6周岁（含）以下或身高1.2米（含）以下儿童，免费\n老人：60周岁（含）～65周岁（不含）以下（凭有效身份证件），半价；65周岁（含）以上老人凭有效身份证件，免费\n香港、澳门、台湾等入境青少年：凭《港澳居民来往内地通行证》、《台湾居民来往大陆通行证》，半价\n学生：全日制大学本科及以下学历在校学生（凭学生证等有效证件），半价\n残疾人：持《残疾证》、《残疾军人证》人员，免费\n军人、烈士遗属：中国现役军人、退役军人凭有效身份证件，烈士遗属、因公牺牲军人遗属、病故军人遗属凭《中华人民共和国烈士、因公牺牲军人、病故军人遗属优待证》免费，免费\n现役军人家属：现役军人家属凭有效证件，半价",
    "officialPhone": "票务咨询: 0592-2062868",
    "questions": [
      {
        "question": "风琴博物馆几点能有讲解呢？",
        "answerCount": "（4个回答）"
      }
    ],
    "reviews": [
      {
        "userName": "嘉行志远",
        "userAvatar": "https://dimg04.c-ctrip.com/images/27c3j12000na9jmxj3516_R_180_180.jpg",
        "score": 5,
        "content": "风琴博物馆简直是音乐爱好者的天堂!一进去就被各式各样的风琴震撼到了，每一台都像是一件精美的艺术品，有着独特的设计和历史。",
        "images": [
          "https://dimg04.c-ctrip.com/images/1mh6k12000r9qhmz5BB06_W_640_10000.jpg?proc=autoorient"
        ],
        "date": "2026-01-26",
        "ipLocation": "辽宁",
        "likes": 0
      }
    ]
  }
]
```

### Use Cases

- **Market Research**: Gather insights on popular tourist attractions.
- **Competitive Intelligence**: Analyze competitor offerings and reviews.
- **Price Monitoring**: Track ticket prices and promotional offers.
- **Content Aggregation**: Compile comprehensive travel guides.
- **Academic Research**: Study tourism trends and consumer behavior.
- **Business Automation**: Automate data collection for travel agencies.

### Installation and Usage

```
1. Search for "Ctrip ProductInfo Scraper" in the Apify Store
2. Click "Try for free" or "Run"
3. Configure input parameters
4. Click "Start" to begin extraction
5. Monitor progress in the log
6. Export results in your preferred format (JSON, CSV, Excel)
```

### Output Format

The output is a JSON array where each object contains:

- `url`: The URL of the product page.
- `title`: The title of the product.
- `description`: A detailed description.
- `keywords`: Relevant keywords for SEO.
- `openingHours`: Operating hours of the attraction.
- `preferentialPolicies`: Discounts and offers.
- `officialPhone`: Contact information.
- `questions`: Commonly asked questions and answers.
- `reviews`: User reviews with ratings and comments.

### Support

For custom/simplified outputs or bug reports, please contact:

- Email: support@getdataforme.com
- Subject line: "custom support"
- Contact form: [Contact Us](https://getdataforme.com/contact/)

We're here to help you get the most out of this Actor!

# Actor input Schema

## `startUrls` (type: `array`):

URLs to start with.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://you.ctrip.com/sight/xiamen21/133087.html?poiType=3&scene=onlinesearch"
    }
  ]
}
```

# 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 = {
    "startUrls": [
        {
            "url": "https://you.ctrip.com/sight/xiamen21/133087.html?poiType=3&scene=onlinesearch"
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("getdataforme/ctrip-productinfo-scraper").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 = { "startUrls": [{ "url": "https://you.ctrip.com/sight/xiamen21/133087.html?poiType=3&scene=onlinesearch" }] }

# Run the Actor and wait for it to finish
run = client.actor("getdataforme/ctrip-productinfo-scraper").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "startUrls": [
    {
      "url": "https://you.ctrip.com/sight/xiamen21/133087.html?poiType=3&scene=onlinesearch"
    }
  ]
}' |
apify call getdataforme/ctrip-productinfo-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=getdataforme/ctrip-productinfo-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Ctrip ProductInfo Scraper",
        "description": "The Ctrip ProductInfo Scraper extracts detailed product data from Ctrip's travel site, including descriptions, reviews, and keywords....",
        "version": "0.0",
        "x-build-id": "1vecyaKxWObORGwaQ"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/getdataforme~ctrip-productinfo-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-getdataforme-ctrip-productinfo-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/getdataforme~ctrip-productinfo-scraper/runs": {
            "post": {
                "operationId": "runs-sync-getdataforme-ctrip-productinfo-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/getdataforme~ctrip-productinfo-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-getdataforme-ctrip-productinfo-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "startUrls": {
                        "title": "Start URLs",
                        "type": "array",
                        "description": "URLs to start with.",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
