> ## Documentation Index
> Fetch the complete documentation index at: https://deepline.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Query DataForSEO through Deepline

> Inspect and run one actual DataForSEO operation with a bounded query and verified result scope.

[Human guide: work with your agent →](https://deepline.com/docs/human/guides/dataforseo-via-deepline.md)

Run one bounded DataForSEO search request and inspect its actual result before
building a recurring research workflow.

## Before you start

Use an authorized Deepline workspace. Inspect the action's supported access
mode and applicable price. A provider connection does not make every action
free or establish that every access mode is supported.

## 1. Discover the actual operation

```bash theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
deepline tools grep dataforseo --json
deepline describe dataforseo_serp_google_organic_live_advanced --json
```

The catalog contains specific operations, not a universal `dataforseo_serp_google`
or `dataforseo_keywords_data` tool. Read the returned schema and defaults.

## 2. Define one small query

This example requests one keyword with explicit location and language:

```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
{
  "keyword": "crm software",
  "location_code": 2840,
  "language_code": "en",
  "depth": 10
}
```

Inspect available location and language values before changing the scope.
Keep the query, location, language, and collection time with the research result.

## 3. Execute only the reviewed request

This command starts provider-backed work and can incur usage:

```bash theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
deepline tools execute dataforseo_serp_google_organic_live_advanced \
  --input '{"keyword":"crm software","location_code":2840,"language_code":"en","depth":10}' \
  --json
```

Preserve its execution ID and returned recovery commands. Do not resubmit a
new request merely because a caller stops waiting.

## 4. Check source status and result scope

Read the action's declared output schema and returned status evidence.
Separate a completed source task with no matches from an execution failure.
Do not infer a competitor's conversions or spend from search placement.

> [!TIP]
>
> The result corresponds to the reviewed query and geographic/language scope.
> Missing or failed source evidence remains explicit.

Use the [action reference](https://deepline.com/docs/providers/dataforseo/dataforseo-serp-google-organic-live-advanced.md)
for current fields. Read the exact billing command returned by execution.
A missing charge amount is not a zero-charge guarantee.

## 5. Make the method repeatable

Author a checked Play when you need several queries, comparison rules, or a
schedule. Retain scope and observation time across runs.
See [Write Plays](https://deepline.com/docs/sdk-v2/plays.md) and
[tool execution recovery](https://deepline.com/docs/sdk-v2/tool-execution-recovery.md).
Ask your agent which source status explains an empty result before retrying.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.