# GetApp Scraper (`maximedupre/getapp`) Actor

Collect public software data from GetApp.com and app details from Xiaomi GetApps. Search GetApp listings or open product pages, then save source details such as ratings, reviews, pricing, integrations, links, and localized Xiaomi app data when shown.

- **URL**: https://apify.com/maximedupre/getapp.md
- **Developed by:** [Maxime Dupré](https://apify.com/maximedupre) (community)
- **Categories:** Business, Developer tools, Marketing
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.60 / 1,000 software listings

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/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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

### 🔎 Find software and app details

For product researchers, market analysts, and app teams, this Actor collects public software listings and product pages from GetApp.com and known app details from Xiaomi GetApps. Save ratings, descriptions, pricing plans, integrations, reviews, and FAQs when the source shows them, plus source links, extraction times, and localized Xiaomi market data for research.

- Open a chosen public software page with **[GetApp Product Details](https://apify.com/maximedupre/getapp/examples/getapp-product-details)** and save its product data.
- Search public GetApp listings by a software keyword with **[GetApp Software Search](https://apify.com/maximedupre/getapp/examples/getapp-software-search)**.
- Read localized app details from Xiaomi GetApps with **[Xiaomi GetApps](https://apify.com/maximedupre/getapp/examples/xiaomi-getapps)**.
- Use **[GetApp Download](https://apify.com/maximedupre/getapp/examples/getapp-download)** to review public GetApp data before choosing software to download.
- Use **[Get Apps](https://apify.com/maximedupre/getapp/examples/get-apps)** to collect supported software and app details in one dataset.

#### 📦 Software and app records

**GetApp.com**

Collect software listing and product records with source pages, descriptions, categories, ratings, review counts, rating breakdowns, and source discovery context. Product pages can also include pricing plans, integrations, media, reviews, FAQs, and a candidate official website when the source or public lookup provides them.

**Xiaomi GetApps**

Collect known app details by public package name or detail page URL. Rows can include publisher and developer names, language, localized content for each selected market, download measures, APK size, version, update time, permissions, and media links when exposed.

#### ▶️ Run a public marketplace lookup

**Run steps**

1. Choose one target: a GetApp category or search page, a GetApp keyword search, a GetApp product page, or Xiaomi GetApps app details.
2. Fill in the fields for that target. Fields for other targets are ignored.
3. Add one or more public URLs, package names, market regions, or filters as needed.
4. Start the Actor and open the default dataset from the Output tab.

The Actor reads public GetApp.com and Xiaomi GetApps pages. It does not need a marketplace account, API key, or customer credentials.

#### ⚙️ Input

**Input fields**

| Field | Type | What it does |
| --- | --- | --- |
| `target` | string | Chooses `getappListingPage`, `getappKeywordSearch`, `getappProductDetails`, or `xiaomiAppDetails`. |
| `categoryOrSearchUrl` | string | Public GetApp.com category or search page URL. Use this with a listing-page target. |
| `keyword` | string | One software keyword for a public GetApp.com discovery search. |
| `productUrls` | array of objects | One or more public GetApp.com product detail page URLs. The Actor keeps the source link for each chosen product. |
| `productUrls[].url` | string | One public GetApp.com product detail page URL. |
| `xiaomiAppTargets` | array of strings | One or more public Xiaomi GetApps package names or detail page URLs, one per line. |
| `xiaomiLanguage` | string | Language code for Xiaomi GetApps text, such as `en` or `es`. |
| `xiaomiMarketRegions` | array of strings | One or more Xiaomi GetApps market region codes. The output keeps localized content for each selected market. |
| `minimumRating` | integer | For GetApp category or keyword targets, keeps products with this rating or higher. Leave it blank to keep all ratings. |
| `pricingModel` | string | For GetApp category or keyword targets, keeps products with this pricing model. Leave it blank to keep all models. |
| `platforms` | array of strings | For GetApp category or keyword targets, keeps products that support one or more selected platforms. Leave it blank to keep all platforms. |
| `organizationType` | string | For GetApp category or keyword targets, keeps products for this organization type. Leave it blank to keep all types. |
| `maxItems` | integer | For GetApp category or keyword targets, stops after this many listings. Leave it blank to return all available results until the source is exhausted. |

`minimumRating` accepts 1 to 5. `pricingModel` can be `free`, `freemium`, `subscription`, `one-time-license`, or `open-source`. `platforms` can include `web`, `windows`, `mac`, `linux`, `android`, or `ios`. `organizationType` can be `small-business`, `mid-size-business`, or `enterprise`.

**Default input**

This is the default input:

```json
{
  "target": "getappKeywordSearch",
  "keyword": "project management",
  "minimumRating": 4,
  "maxItems": 25
}
```

#### 🧾 Output

The Output tab links to the default dataset. Each saved row has one of the two shapes below. Optional source fields stay unavailable when the source does not show them; the Actor does not make up replacement values.

**GetApp software row**

| Field | Type | What it does |
| --- | --- | --- |
| `recordType` | string | Always `getappSoftware` for a GetApp.com software row. |
| `source` | string | Always `GetApp.com` for this row. |
| `name` | string | Software name. |
| `sourceUrl` | string | Public GetApp.com page for the row. |
| `extractedAt` | date-time string | Time when the row was extracted. |
| `discoveredFrom` | string | First source URL, category, or keyword that led to this row. |
| `description` | string | Main description supplied by the source. |
| `shortDescription` | string | Short description supplied by the source. |
| `categories` | array of strings | Categories assigned by the source. |
| `rating` | number | Rating on a normalized scale from 0 to 5. |
| `reviewCount` | integer | Number of reviews shown by the source. |
| `ratingBreakdown` | object | Review counts grouped by star keys such as `1` through `5`. |
| `reviews` | array of objects | Individual reviews shown by the source, when available. |
| `reviews[].text` | string | Review text shown by the source. |
| `reviews[].author` | string | Review author shown by the source. |
| `reviews[].date` | string | Review date shown by the source. |
| `reviews[].rating` | integer | Star rating given in the review. |
| `faqs` | array of objects | Questions and answers shown by the source, when available. |
| `faqs[].question` | string | Question shown by the source. |
| `faqs[].answer` | string | Answer shown by the source. |
| `officialWebsite` | string or null | Candidate official website found through public lookup; `null` means none was found. |
| `pricingPlans` | array of objects | Commercial plans shown by the source. |
| `pricingPlans[].name` | string | Pricing plan name. |
| `pricingPlans[].price` | number | Numeric plan price when the source gives one. |
| `pricingPlans[].priceText` | string | Source price text when it adds a range or useful context. |
| `pricingPlans[].currency` | string | Currency used for the plan price. |
| `pricingPlans[].billingPeriod` | string | Billing period or payment context shown by the source. |
| `pricingPlans[].features` | array of strings | Features included in the plan. |
| `integrations` | array of strings | Software and services that the product integrates with, when shown. |
| `media` | object | Image links supplied by the source. |
| `media.logoUrl` | string | Main logo image URL, when supplied. |
| `media.iconUrl` | string | App icon URL, when supplied. |
| `media.screenshotUrls` | array of strings | Screenshot image URLs, when supplied. |

One row is saved for the first eligible match. If the same source item appears again through another keyword, URL, or submitted value, later matches are ignored; `discoveredFrom` describes the first saved match and does not merge later evidence.

**Example GetApp product row**

This genuine product row is shortened. The large `pricingPlans`, `reviews`, and screenshot arrays are shown as the JSON string `"..."`; the full saved row keeps their normal array types.

```json
{
  "recordType": "getappSoftware",
  "source": "GetApp.com",
  "name": "Celoxis",
  "sourceUrl": "https://www.getapp.com/project-management-planning-software/a/celoxis/",
  "extractedAt": "2026-08-04T16:24:27.117Z",
  "discoveredFrom": "https://www.getapp.com/project-management-planning-software/a/celoxis/",
  "officialWebsite": "http://www.celoxis.com",
  "description": "Celoxis, the #1 PPM software, combines robust project management capabilities with AI-driven features to help you plan, execute, and deliver projects efficiently. With centralized visibility, unique KPIs, and seamless scalability, Celoxis is your single source of truth for informed decision-making.",
  "shortDescription": "AI-enabled platform for streamlining project management",
  "rating": 4.469557195571956,
  "reviewCount": 542,
  "categories": [
    "Resource Management",
    "Nonprofit Project Management",
    "Project Planning",
    "Project Portfolio Management",
    "IT Project Management",
    "Project Management",
    "Project Tracking",
    "Professional Services Automation",
    "Conversational AI Platform",
    "Virtual Assistant",
    "Chatbot"
  ],
  "pricingPlans": "...",
  "integrations": [
    "Jira",
    "Slack",
    "Google Forms",
    "Microsoft Outlook",
    "GitHub",
    "Microsoft Teams",
    "QuickBooks Online",
    "Google Drive",
    "Zapier",
    "Salesforce Sales Cloud",
    "Zendesk Suite",
    "Gmail",
    "Microsoft Excel",
    "Google Calendar",
    "Dropbox",
    "Microsoft Power BI",
    "HubSpot CRM",
    "Wufoo",
    "Google Authenticator",
    "CalendarApp",
    "Trello",
    "Freshdesk",
    "Bitium",
    "Harvest",
    "Okta",
    "SurveyMonkey",
    "Mailchimp",
    "Evernote Teams",
    "Google Sheets",
    "Microsoft Azure"
  ],
  "media": {
    "logoUrl": "https://gdm-catalog-fmapi-prod.imgix.net/ProductLogo/4e99765c-75ea-4a05-98ff-4d9a7288e686.png",
    "screenshotUrls": "..."
  },
  "ratingBreakdown": {
    "1": 1,
    "2": 5,
    "3": 19,
    "4": 229,
    "5": 288
  },
  "reviews": "...",
  "faqs": [
    {
      "question": "Q. Who are the typical users of Celoxis?",
      "answer": "Celoxis has the following typical customers: Large Enterprises, Small Business, Mid-size Business, Freelancers"
    },
    {
      "question": "Q. What level of support does Celoxis offer?",
      "answer": "Celoxis offers the following support options: Chat, Knowledge Base, FAQs/Forum, Email/Help Desk"
    }
  ]
}
```

**Xiaomi app row**

| Field | Type | What it does |
| --- | --- | --- |
| `recordType` | string | Always `xiaomiApp` for a Xiaomi GetApps app row. |
| `source` | string | Always `Xiaomi GetApps` for this row. |
| `name` | string | App name. |
| `sourceUrl` | string | Public Xiaomi GetApps page for the row. |
| `extractedAt` | date-time string | Time when the row was extracted. |
| `discoveredFrom` | string | First package name or detail page URL that led to this row. |
| `description` | string | Main app description supplied by the source. |
| `shortDescription` | string | Short app description supplied by the source. |
| `categories` | array of strings | Categories assigned by the source. |
| `rating` | number | Rating shown by the source. |
| `packageName` | string | Xiaomi GetApps package name. |
| `publisher` | string | Publisher name shown by Xiaomi GetApps. |
| `developer` | string | Developer name shown by Xiaomi GetApps. |
| `language` | string | Language used for Xiaomi GetApps text. |
| `marketContent` | array of objects | Localized content returned for each selected market. |
| `marketContent[].region` | string | Market region code. |
| `marketContent[].name` | string | App name for that market. |
| `marketContent[].description` | string | App description for that market. |
| `marketContent[].categories` | array of strings | Categories for that market. |
| `downloads` | object | Normalized Xiaomi GetApps download measure. |
| `downloads.count` | integer | Download count, or the lower bound when the source shows a range. |
| `downloads.rangeLabel` | string | Source label for the download range or measure. |
| `apkSize` | object | Normalized size of the APK file. |
| `apkSize.bytes` | integer | APK size in bytes. |
| `apkSize.sourceLabel` | string | Source label for the APK size. |
| `version` | string | App version shown by Xiaomi GetApps. |
| `updatedAt` | date-time string | Last update time shown by Xiaomi GetApps. |
| `permissions` | array of strings | Permission identifiers shown by Xiaomi GetApps, when available. |
| `media` | object | Image links supplied by the source. |
| `media.logoUrl` | string | Main logo image URL, when supplied. |
| `media.iconUrl` | string | App icon URL, when supplied. |
| `media.screenshotUrls` | array of strings | Screenshot image URLs, when supplied. |

**Example Xiaomi GetApps row**

This is an unshortened genuine row for Facebook from the US market.

```json
{
  "recordType": "xiaomiApp",
  "source": "Xiaomi GetApps",
  "name": "Facebook",
  "sourceUrl": "https://global.app.mi.com/details?id=com.facebook.katana&la=en&lo=US",
  "extractedAt": "2026-08-04T16:24:30.168Z",
  "discoveredFrom": "https://global.app.mi.com/details?id=com.facebook.katana&la=en&lo=US",
  "description": "Keeping up with friends is faster and easier than ever. Share updates and photos, engage with friends and Pages, and stay connected to communities important to you. Features on the Facebook app include: * Connect with friends and family and meet new people on your social media network * Set status updates & use Facebook emoji to help relay what’s going on in your world * Share photos, videos, and your favorite memories. * Get notifications when friends like and comment on your posts * Find local social events, and make plans to meet up with friends * Play games with any of your Facebook friends * Backup photos by saving them in albums * Follow your favorite artists, websites, and companies to get their latest news * Look up local businesses to see reviews, operation hours, and pictures * Buy and sell locally on Facebook Marketplace * Watch live videos on the go The Facebook app does more than help you stay connected with your friends and interests. It's also your personal organizer for storing, saving and sharing photos. It's easy to share photos straight from your Android camera, and you have full control over your photos and privacy settings. You can choose when to keep individual photos private or even set up a secret photo album to control who sees it. Facebook also helps you keep up with the latest news and current events around the world. Subscribe to your favorite celebrities, brands, news sources, artists, or sports teams to follow their newsfeeds, watch live streaming videos and be caught up on the latest happenings no matter where you are! The most important desktop features of Facebook are also available on the app, such as writing on timelines, liking photos, browsing for people, and editing your profile and groups. Now you can get early access to the next version of Facebook for Android by becoming a beta tester. Learn how to sign up, give feedback and leave the program in our Help Center: http://on.fb.me/133NwuP Sign up directly here: http://play.google.com/apps/testing/com.facebook.katana Problems downloading or installing the app? See http://bit.ly/GPDownload1 Still need help? Please tell us more about the issue. http://bit.ly/invalidpackage Facebook is only available for users age 13 and over. Terms of Service: http://m.facebook.com/terms.php.",
  "shortDescription": "Find friends, watch live videos, play games & save photos in your social network",
  "categories": [
    "Social"
  ],
  "rating": 4.9,
  "packageName": "com.facebook.katana",
  "publisher": "META PLATFORMS, INC.",
  "developer": "Meta Platforms Inc.",
  "language": "en",
  "marketContent": [
    {
      "region": "US",
      "name": "Facebook",
      "description": "Keeping up with friends is faster and easier than ever. Share updates and photos, engage with friends and Pages, and stay connected to communities important to you. Features on the Facebook app include: * Connect with friends and family and meet new people on your social media network * Set status updates & use Facebook emoji to help relay what’s going on in your world * Share photos, videos, and your favorite memories. * Get notifications when friends like and comment on your posts * Find local social events, and make plans to meet up with friends * Play games with any of your Facebook friends * Backup photos by saving them in albums * Follow your favorite artists, websites, and companies to get their latest news * Look up local businesses to see reviews, operation hours, and pictures * Buy and sell locally on Facebook Marketplace * Watch live videos on the go The Facebook app does more than help you stay connected with your friends and interests. It's also your personal organizer for storing, saving and sharing photos. It's easy to share photos straight from your Android camera, and you have full control over your photos and privacy settings. You can choose when to keep individual photos private or even set up a secret photo album to control who sees it. Facebook also helps you keep up with the latest news and current events around the world. Subscribe to your favorite celebrities, brands, news sources, artists, or sports teams to follow their newsfeeds, watch live streaming videos and be caught up on the latest happenings no matter where you are! The most important desktop features of Facebook are also available on the app, such as writing on timelines, liking photos, browsing for people, and editing your profile and groups. Now you can get early access to the next version of Facebook for Android by becoming a beta tester. Learn how to sign up, give feedback and leave the program in our Help Center: http://on.fb.me/133NwuP Sign up directly here: http://play.google.com/apps/testing/com.facebook.katana Problems downloading or installing the app? See http://bit.ly/GPDownload1 Still need help? Please tell us more about the issue. http://bit.ly/invalidpackage Facebook is only available for users age 13 and over. Terms of Service: http://m.facebook.com/terms.php.",
      "categories": [
        "Social"
      ]
    }
  ],
  "downloads": {
    "count": 16497777,
    "rangeLabel": "16M+"
  },
  "apkSize": {
    "bytes": 154767097,
    "sourceLabel": "147.6 MB"
  },
  "version": "570.0.0.24.72",
  "updatedAt": "2026-07-29T01:37:24.755Z",
  "media": {
    "iconUrl": "https://sf0.market.xiaomi.com/thumbnail/AppStore/081ee74e9626f4d2783bb7577f6696f0f58a51fab",
    "screenshotUrls": [
      "https://sf0.market.xiaomi.com/thumbnail/AppStore/0625b63284ad5459c8f30d4f78090838247f9d00c",
      "https://sf0.market.xiaomi.com/thumbnail/AppStore/0a039c4580b1c483c950a7853d4be2b59bb598253",
      "https://sf0.market.xiaomi.com/thumbnail/AppStore/0409c7d1956864ebaa3402cfa1b51072d0e23335d",
      "https://sf0.market.xiaomi.com/thumbnail/AppStore/09e8bb4a6692644bcac4dac68fdb3434959bd56f0"
    ]
  }
}
```

#### 💳 Pricing

**How charges work**

Pricing uses pay-per-event. The current price is shown in the Pricing tab and can vary by Apify plan.

| Event | When it charges |
| --- | --- |
| `getapp_category_listing_extracted` | One software listing saved from a public category or search page. |
| `getapp_product_detail_extracted` | One chosen product detail saved to your dataset. |
| `xiaomi_app_detail_extracted` | One app detail saved for the requested package and market. |

Each listed event is tied to the saved record described in its row. Check the Pricing tab for current rates.

#### 🔌 Integrations

**Video**

https://www.youtube.com/watch?v=bNACk1\_S\_6w\&list=PLObrtcm1Kw6MUrlLNDbK9QRg8VDJg0gOW\&index=4

**Apify access**

Open the default dataset after a run or read it through the Apify API.

#### ❓ FAQ

##### Can I search GetApp by a software keyword?

Yes. Choose `getappKeywordSearch` and enter one software keyword. You can also use a public GetApp category or search page URL with `getappListingPage`.

##### Can I look up one GetApp product page?

Yes. Choose `getappProductDetails` and submit one or more public GetApp.com product detail page URLs. The saved row keeps each product's source link.

##### What does a Xiaomi GetApps lookup need?

Choose `xiaomiAppDetails`, then submit one or more public package names or detail page URLs. You can choose the language and one or more market regions; each selected market can appear in `marketContent`.

##### Can this Actor download an app or an APK?

No. It returns public marketplace data and links. It does not download, transform, or redistribute APK files or other source files.

##### What happens when I submit the same item twice?

The first eligible occurrence is saved as soon as it is found. A later match from another keyword, URL, package name, or similar submitted value is ignored, and the first `discoveredFrom` value stays on the saved row.

##### What happens when the source does not show a field?

The optional value stays unavailable, such as `null` for `officialWebsite` when no candidate is found. The Actor does not invent a replacement value.

##### What is the GetApp official website used here?

GetApp.com is the public source for the software listing and product pages. The Actor reads those public pages and does not need a GetApp account or API key.

##### What happens if I leave `maxItems` empty?

For GetApp category and keyword targets, the Actor returns all available results until the source is exhausted. Set `maxItems` when you want to stop sooner.

### 📝 Changelog

**0.0: Initial release**

### 🆘 Support

For issues, questions, or feature requests, [file a ticket](https://console.apify.com/actors/maximedupre~getapp/issues) and I'll fix or implement it in less than 24h 🫡

### 🔗 Related Actors

- [Google Play Store Scraper](https://apify.com/maximedupre/google-play-store-scraper) — Compare Google Play app metadata, reviews, permissions, and Data Safety with Xiaomi app records.
- [Apple App Store Scraper](https://apify.com/maximedupre/apple-app-store-scraper) — Collect iOS app search, chart, metadata, and review data beside GetApp software research.
- [Samsung Galaxy Store Apps Scraper](https://apify.com/maximedupre/samsung-galaxy-store) — Look up known Samsung apps by package ID or public app-detail URL with locale data.
- [G2 Products Scraper](https://apify.com/maximedupre/g2-products-scraper) — Compare public SaaS product pages, ratings, categories, pricing, alternatives, and review rows.
- [App Store Ratings Scraper](https://apify.com/maximedupre/app-store-ratings-scraper) — Compare app-level ratings and metadata from Google Play and Apple App Store.

**Made with ❤️ by Maxime Dupré**

# Actor input Schema

## `target` (type: `string`):

Choose the source and result type for this run.

## `categoryOrSearchUrl` (type: `string`):

Enter one public GetApp.com category or search page URL. Choose the keyword target when you want the Actor to build a search from a software keyword.

## `keyword` (type: `string`):

Enter one software keyword. The Actor searches public GetApp.com discovery pages for it.

## `productUrls` (type: `array`):

Enter one or more public GetApp.com product detail page URLs. The Actor extracts each chosen product and keeps its source link.

## `xiaomiAppTargets` (type: `array`):

Enter one or more public Xiaomi GetApps package names or detail page URLs, one per line.

## `xiaomiLanguage` (type: `string`):

Choose the language for Xiaomi GetApps text. Enter a code such as en or es.

## `xiaomiMarketRegions` (type: `array`):

Choose one or more Xiaomi GetApps market region codes. The output keeps each market with its localized content.

## `minimumRating` (type: `integer`):

For GetApp category or keyword targets, keep products with this rating or higher. Leave it blank to keep all ratings.

## `pricingModel` (type: `string`):

For GetApp category or keyword targets, keep products with this pricing model. Leave it blank to keep all models.

## `platforms` (type: `array`):

For GetApp category or keyword targets, keep products that support one or more selected platforms. Leave it blank to keep all platforms.

## `organizationType` (type: `string`):

For GetApp category or keyword targets, keep products for this organization type. Leave it blank to keep all types.

## `maxItems` (type: `integer`):

For GetApp category or keyword targets, stop after this many listings. Leave it blank to return all available results until the source is exhausted.

## Actor input object example

```json
{
  "target": "getappKeywordSearch",
  "keyword": "project management",
  "minimumRating": 4,
  "maxItems": 25
}
```

# Actor output Schema

## `defaultDatasetUrl` (type: `string`):

Link to the default dataset with extracted GetApp.com software and Xiaomi GetApps app records.

# 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 = {
    "target": "getappKeywordSearch",
    "keyword": "project management",
    "minimumRating": 4,
    "maxItems": 25
};

// Run the Actor and wait for it to finish
const run = await client.actor("maximedupre/getapp").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 = {
    "target": "getappKeywordSearch",
    "keyword": "project management",
    "minimumRating": 4,
    "maxItems": 25,
}

# Run the Actor and wait for it to finish
run = client.actor("maximedupre/getapp").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 '{
  "target": "getappKeywordSearch",
  "keyword": "project management",
  "minimumRating": 4,
  "maxItems": 25
}' |
apify call maximedupre/getapp --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

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