home / skills / leonardo-picciani / dataforseo-agent-skills / dataforseo-app-data-api

dataforseo-app-data-api skill

/skills/dataforseo-app-data-api

This skill helps you collect app store intelligence from DataForSEO via API endpoints for ASO, reviews, and market research.

npx playbooks add skill leonardo-picciani/dataforseo-agent-skills --skill dataforseo-app-data-api

Review the files below or copy the command above to add this skill to your agents.

Files (2)
SKILL.md
5.2 KB
---
name: dataforseo-app-data-api
description: Collect app store intelligence using DataForSEO App Data for "ASO", "app reviews", and "app market research".
license: MIT
metadata:
  author: Leonardo Picciani
  author_url: https://github.com/leonardo-picciani
  project: DataForSEO Agent Skills (Experimental)
  generated_with: OpenCode (agent runtime); OpenAI GPT-5.2
  version: 0.1.0
  experimental: 'true'
  docs: https://docs.dataforseo.com/v3/app_data/overview/
compatibility: Language-agnostic HTTP integration skill. Requires outbound network access to api.dataforseo.com and docs.dataforseo.com; uses HTTP Basic Auth.
---
# DataForSEO App Data API

## Provenance

This is an experimental project to test how OpenCode, plugged into frontier LLMs (OpenAI GPT-5.2), can help generate high-fidelity agent skill files for API integrations.

## When to Apply

- "ASO rankings", "app keyword research", "app search results"
- "fetch app reviews", "review monitoring", "rating trends"
- "get app metadata", "track app updates", "competitor app analysis"
- "Google Play", "Apple App Store", "app listings search"

## Integration Contract (Language-Agnostic)

See `references/REFERENCE.md` for the shared DataForSEO integration contract (auth, status handling, task lifecycle, sandbox, and .ai responses).


### Task vs Live

- Many App Data endpoints are task-based: `task_post` -> poll `tasks_ready` -> fetch via `task_get`.
- App listings search is available as Live for some sources.
## Steps

1) Identify the exact endpoint(s) in the official docs for this use case.
2) Choose execution mode:
   - Live (single request) for interactive queries
   - Task-based (post + poll/webhook) for scheduled or high-volume jobs
3) Build the HTTP request:
   - Base URL: `https://api.dataforseo.com/`
   - Auth: HTTP Basic (`Authorization: Basic base64(login:password)`) from https://docs.dataforseo.com/v3/auth/
   - JSON body exactly as specified in the endpoint docs
4) Execute and validate the response:
   - Check top-level `status_code` and each `tasks[]` item status
   - Treat any `status_code != 20000` as a failure; surface `status_message`
5) For task-based endpoints:
   - Store `tasks[].id`
   - Poll `tasks_ready` then fetch results with `task_get` (or use `postback_url`/`pingback_url` if supported)
6) Return results:
   - Provide a normalized summary for the user
   - Include the raw response payload for debugging

## Inputs Checklist

- Credentials: DataForSEO API login + password (HTTP Basic Auth)
- Target: keyword(s) / domain(s) / URL(s) / query string (depends on endpoint)
- Targeting (if applicable): location + language, device, depth/limit
- Time window (if applicable): date range, trend period, historical flags
- Output preference: regular vs advanced vs html (if the endpoint supports it)

## Example (cURL)

```bash
curl -u "${DATAFORSEO_LOGIN}:${DATAFORSEO_PASSWORD}"   -H "Content-Type: application/json"   -X POST "https://api.dataforseo.com/v3/<group>/<path>/live"   -d '[
    {
      "<param>": "<value>"
    }
  ]'
```

Notes:
- Replace `<group>/<path>` with the exact endpoint path from the official docs.
- For task-based flows, use the corresponding `task_post`, `tasks_ready`, and `task_get` endpoints.


## Docs Map (Official)

- Overview: https://docs.dataforseo.com/v3/app_data/overview/

Google (Google Play):

- Overview: https://docs.dataforseo.com/v3/app_data/google/overview/
- App Searches Task POST: https://docs.dataforseo.com/v3/app_data/google/app_searches/task_post/
- App Info Task POST: https://docs.dataforseo.com/v3/app_data/google/app_info/task_post/
- App Reviews Task POST: https://docs.dataforseo.com/v3/app_data/google/app_reviews/task_post/
- App Listings Search (Live): https://docs.dataforseo.com/v3/app_data/google/app_listings/search/live/

Apple (App Store):

- Overview: https://docs.dataforseo.com/v3/app_data/apple/overview/
- App Searches Task POST: https://docs.dataforseo.com/v3/app_data/apple/app_searches/task_post/
- App Info Task POST: https://docs.dataforseo.com/v3/app_data/apple/app_info/task_post/
- App Reviews Task POST: https://docs.dataforseo.com/v3/app_data/apple/app_reviews/task_post/
- App Listings Search (Live): https://docs.dataforseo.com/v3/app_data/apple/app_listings/search/live/

## Business & Product Use Cases

- ASO tooling: track rankings for app keywords and competitors.
- Product feedback loops: summarize reviews into themes for PMs.
- Competitive tracking: monitor competitor listing changes and review shifts.
- Market research: discover apps by category/geo and map positioning.
- Reputation monitoring: alerts for rating drops or negative review spikes.
- Growth experiments: correlate listing copy changes with review sentiment.

## Examples (User Prompts)

- "If you don't have the skill installed, install `dataforseo-app-data-api` and then continue."
- "Install the App Data skill and track ASO rankings for these keywords in the US and Brazil."
- "Fetch new app reviews daily and summarize top themes for product improvement."
- "Compare our app listing vs competitors and suggest metadata improvements."
- "Monitor competitor app updates and report meaningful changes to descriptions/ratings."
- "Build an ASO dashboard: keyword visibility, reviews, and rating trends."

Overview

This skill collects app store intelligence using DataForSEO App Data to support ASO, app review monitoring, and market research across Google Play and Apple App Store. It centralizes task-based and live endpoints so you can fetch rankings, metadata, reviews, and listing search results reliably. The skill returns normalized summaries alongside raw payloads for debugging and downstream metrics.

How this skill works

The skill calls DataForSEO App Data endpoints using HTTP Basic auth and either Live or task-based modes. For interactive queries it uses Live endpoints; for scheduled or large jobs it posts tasks, polls tasks_ready, and retrieves results with task_get or via postback URLs. Responses are validated by top-level status_code and individual task statuses; any non-20000 code surfaces the status_message as an error.

When to use it

  • Track ASO rankings and keyword visibility across countries
  • Fetch and monitor app reviews and rating trends over time
  • Retrieve app metadata and detect listing changes for competitors
  • Run bulk searches or historical queries via task-based jobs
  • Use live searches for quick listing lookups and interactive exploration

Best practices

  • Choose Live for single interactive lookups and task-based for scheduled/high-volume work
  • Always validate top-level status_code and each tasks[].status before processing results
  • Store tasks[].id and use tasks_ready polling or a reliable webhook to avoid missed results
  • Include location, language, device, and date range inputs to get targeted, comparable data
  • Return both a concise normalized summary and the raw response payload for traceability

Example use cases

  • Daily job that fetches new reviews for your app, summarizes top themes, and alerts on rating drops
  • Weekly ASO report: keyword rankings for target keywords in multiple countries and device types
  • Competitor monitoring: detect metadata updates and rating changes for a set of competitor app IDs
  • Market research: discover apps by category and map positioning across regions
  • Ad-hoc lookup: fetch an app listing or info via Live endpoint for immediate analysis

FAQ

What authentication does the skill require?

It requires DataForSEO HTTP Basic auth: Authorization: Basic base64(login:password).

When should I use task-based endpoints vs Live?

Use Live for single, immediate queries and task-based flows for scheduled, high-volume, or long-running requests; task flows use task_post -> tasks_ready -> task_get.