Skip to main content
Glama

AIsa SEO & AI Visibility

Server Details

Your agent needs the whole search picture — what you rank for, who outranks you, who links to them, what is broken on the site, and whether ChatGPT names you at all. Normally that is three SEO vendors and three subscriptions.

What you can ask for • "What does this domain rank for, and which competitors take the same keywords?" • "Who links to my competitor and not to me?" • "Crawl this site and list the pages with broken tags or duplicate content." • "Does Perplexity cite us when asked about this category?" • "How hard is this keyword, and what does the SERP look like today?"

How to use it Point any MCP client at https://mcp.aisa.one/seo/mcp and sign in with OAuth — there is no key to create or paste. 60 tools spanning DataForSEO, Semrush and Ahrefs: SERPs, keywords and difficulty, backlinks and referring domains, on-page crawling, domain authority, and answers from ChatGPT, Claude, Gemini and Perplexity.

Why this rather than the source Three indexes behind one account, so you can cross-check a number instead of trusting one vendor's version of it.

It is also a door to the rest The same login reaches 26 sources and 580+ operations. Check the ranking here, then ask the same agent for that competitor's traffic mix, its ad spend, or the person to email — without adding a second server.

What it costs Finding and inspecting an operation is free. Running one is billed per call at API prices, with no seat and no monthly minimum, and every call takes max_price_usd so an agent cannot overspend by accident.

Where else it reaches Narrower endpoints: https://mcp.aisa.one/seo-serp/mcp · /seo-keywords/mcp · /seo-backlinks/mcp · /seo-onpage/mcp · /seo-labs/mcp · /seo-ai-visibility/mcp · /seo-content/mcp · /seo-domains/mcp · /seo-business/mcp · /seo-merchant/mcp · /seo-apps/mcp · /seo-serp-other-engines/mcp

Ownership verified
Status
Healthy
Uptime
93.8% over 42 days
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

C2.4/5.0

Scored across 67 tools

Disambiguation3/5

Most DataForSEO endpoint names are precise enough to separate (serp_google_organic vs serp_google_news vs serp_google_maps), but there is heavy functional overlap across providers: keyword volume/difficulty/overview exists in Semrush, Ahrefs, DataForSEO Labs, DataForSEO AI and DataForSEO GAds variants, so an agent must choose between near-equivalent results. This is worsened by many Semrush/Ahrefs tools having effectively empty descriptions (only pricing blocks), and by a deprecated `use` sitting next to `batch_use`, plus `search`/`list_categories`/`batch_get_schema` all serving discovery-adjacent roles.

Naming Consistency3/5

There is a recognizable but loose convention of verb_provider_resource_action (`get_semrush_domain_overview`, `post_dataforseo_serp_google_organic_live`), yet verbs are inconsistent — `post_` vs `get_` for the same DataForSEO read-style endpoints, and `post_` prefixes use HTTP-method semantics rather than intent. The router/control tools (`account`, `search`, `list_categories`, `use`, `batch_use`) break the pattern entirely with bare or generic names.

Tool Count2/5

67 tools is far beyond a well-scoped surface and forces the agent through an extra discovery/quote/execute indirection layer just to navigate it. Many near-duplicate entries (multiple keyword-volume and backlink endpoints across three vendors) inflate the count without adding distinct capability.

Completeness4/5

For an SEO and AI-visibility gateway the surface is broad: SERP types, backlinks, keyword research, Labs rankings, on-page audits, content analysis, and LLM-mention visibility, plus account/budget/quoting plumbing. Gaps are minor — e.g. no explicit async task retrieval/queue management for on-page and SERP task-based flows, and no Google Search Console/site-ownership data.

Available Tools

67 tools
accountShow account and usageA
Read-only
Inspect

Who am I, what can I use, how much can I spend: the key, the account balance, the Go-to-Market wallet when one is active, and usage for today, 7 days and 30 days. Free; needs the Authorization header. Call it to verify a new connection or to explain a 402. ok is true only when the balance was read; otherwise each entry of errors says what to do in next_step.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds substantial context beyond the readOnlyHint/openWorldHint/destructiveHint annotations: the call is free, it requires the Authorization header, and it discloses result semantics ('ok is true only when the balance was read; otherwise each entry of errors says what to do in next_step'). That tells an agent how to interpret partial failure, which annotations cannot convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with what the agent gets, followed by cost/auth, then call triggers, then result interpretation. No sentence is redundant and none could be dropped without losing information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter read tool with an output schema already present, the description covers the remaining gaps: cost, auth requirement, invocation triggers, and the ok/errors/next_step contract. Nothing an agent needs to call or interpret it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so the description has nothing parameter-level to compensate for, and the schema is fully covered. A 4 rather than 5 reflects that it adds no input-syntax detail, though none is possible here.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a concrete resource set (identity/key, account balance, Go-to-Market wallet, usage over 1/7/30 days) rather than restating the name. It is clearly distinguishable from every sibling, which are all Reddit, batch, or search tools. An agent knows exactly what it will learn by calling it.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit triggering conditions are given: 'Call it to verify a new connection or to explain a 402.' That is a strong when-to-use statement. It stops short of 5 because it names no alternative tool or a when-not condition, though the sibling list offers no obvious competing diagnostic.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

batch_get_schemaGet AIsa tool schemas in one batchA
Read-onlyIdempotent
Inspect

Retrieve schemas for 1 to 20 exact tool names from search. Build arguments from successful schemas, then call batch_quote. Do not call batch_use yet. Use tool names exactly as search returns them, without a client prefix such as mcp__aisa__. Reuse the session_id returned by Search in all subsequent tool calls for this task. If omitted, a new session is created.

NameRequiredDescriptionDefault
toolsYesExact tool names returned by search whose complete contracts are needed. Never invent tool names.
session_idNoReuse the session_id returned by Search in all subsequent tool calls for this task. If omitted, a new session is created.
include_documentationNoReturn the complete immutable public OpenAPI operation, referenced declarations, provenance and scoped completeness. Documentation does not change execution support.
include_response_schemaNoReturn the complete response_schema. Defaults to false.
include_arguments_schemaNoReturn the complete arguments_schema. Defaults to true.

Output Schema

NameRequiredDescription
toolsYes
session_idYesReuse the session_id returned by Search in all subsequent tool calls for this task. If omitted, a new session is created.
error_countYes
total_countYes
success_countYes
next_steps_guidanceYes

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the description is not required to restate it. It adds genuine operational context: the batch_use prohibition, exact-name/prefix requirements, and session reuse semantics. It does not cover failure handling when names are invalid, keeping it below a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action and size limit, and every sentence carries workflow value. The session_id sentence duplicates the schema's own parameter description, which is minor redundancy rather than bloat.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only batch retrieval tool with an output schema, the description supplies the orchestration context an agent needs (source of names, next steps, session handling) without needing to explain return values. Nothing essential to correct invocation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds real meaning beyond the schema by constraining names to those returned by search and warning against a client prefix such as mcp__aisa__, which is not encoded in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Retrieve schemas for 1 to 20 exact tool names') and pins the source of those names to search. This clearly separates it from siblings like search (finds tools), batch_quote, and batch_use.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly sequences the workflow: build arguments from successful schemas, then call batch_quote, and 'Do not call batch_use yet.' This is an explicit when-to-use and when-not-to-use instruction naming the alternative siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

batch_quoteQuote published AIsa tools without executing themA
Read-onlyIdempotent
Inspect

Obtain AIsaServices cost quotes for 1 to 20 published tools without executing them. Same input as batch_use: exact tool names and schema-valid arguments. Never falls back to execution. The response reports auto_execute_eligible and auto_execute_threshold_micros_usd. auto_execute_eligible waives only the extra cost-confirmation step and does not override a user prohibition on execution, a narrower scope, or a tighter budget limit. Quotes are price observations, not authorization grants. Use tool names exactly as search returns them, without a client prefix such as mcp__aisa__. Reuse the session_id returned by Search in all subsequent tool calls for this task. If omitted, a new session is created.

NameRequiredDescriptionDefault
callsYes
search_idNoOptional search correlation identifier returned by search.
session_idNoReuse the session_id returned by Search in all subsequent tool calls for this task. If omitted, a new session is created.

Output Schema

NameRequiredDescription
resultsYes
batch_idYes
session_idYesReuse the session_id returned by Search in all subsequent tool calls for this task. If omitted, a new session is created.
error_countYes
total_countYes
success_countYes
next_steps_guidanceYesDeterministic next-step instructions derived from this result. Not an authorization grant.
auto_execute_eligibleNoTrue when the worst-known total of successful USD quotes is at or below auto_execute_threshold_micros_usd. A non-USD successful quote makes the batch ineligible. Present on quote responses.
auto_execute_threshold_micros_usdNoConfigured auto-execute threshold in micro-USD. 0 disables automatic execution. Present on quote responses.

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well past the readOnly/idempotent annotations by explaining that quotes are price observations rather than authorization grants, and precisely delimiting what auto_execute_eligible does and does not waive (user prohibition, narrower scope, tighter budget). It also guarantees no execution fallback, which is the key behavioral risk for this tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded and most sentences carry distinct rules (no fallback, eligibility limits, naming, session reuse). It is on the long side and the argument-shape constraint is stated twice in spirit, but little is truly wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return-value documentation isn't required, yet the description still flags the two response fields that matter for a downstream decision. Combined with session and naming guidance, an agent has everything needed to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

At 67% schema coverage the schema already documents each parameter, so the description earns credit only for added meaning: exact-name rules for 'tool', session_id reuse semantics, and the 1-to-20 argument-shape parallel with batch_use. It doesn't clarify search_id beyond what the schema states.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Obtain AIsaServices cost quotes for 1 to 20 published tools') plus the crucial scope qualifier 'without executing them.' It is immediately distinguishable from the sibling batch_use, which executes rather than quotes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly names the parallel sibling ('Same input as batch_use') and draws the boundary ('Never falls back to execution'). It also gives operational conditions: use names exactly as search returns them, strip any mcp__aisa__ prefix, and reuse session_id from Search for the task.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

batch_useExecute published AIsa toolsA
Destructive
Inspect

Billable API calls can incur substantial charges. Never call before a successful batch_quote for the same tools and arguments. Execute only when that quote response reports auto_execute_eligible=true for these calls, or when explicit user authorization covers that cost and risk. auto_execute_eligible waives only the extra cost-confirmation step; it does not override a user prohibition on execution, a narrower scope, or a tighter budget limit. Re-quote if tools, arguments, or scope change. Execute 1 to 20 independent published-tool calls; never silently retry. A missing or failed quote is not free. Use tool names exactly as search returns them, without a client prefix such as mcp__aisa__. Reuse the session_id returned by Search in all subsequent tool calls for this task. If omitted, a new session is created.

NameRequiredDescriptionDefault
callsYes
search_idNoOptional search correlation identifier returned by search.
session_idNoReuse the session_id returned by Search in all subsequent tool calls for this task. If omitted, a new session is created.

Output Schema

NameRequiredDescription
resultsYes
batch_idYes
session_idYesReuse the session_id returned by Search in all subsequent tool calls for this task. If omitted, a new session is created.
error_countYes
total_countYes
success_countYes
next_steps_guidanceYesDeterministic next-step instructions derived from this result. Not an authorization grant.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover mutability, destructiveness, and open-world behavior. The description adds critical business logic: billable calls, quote dependency, the meaning of auto_execute_eligible (waives only cost confirmation, not user prohibitions), and no silent retry. It doesn't detail rate limits or return format, but with an output schema present, that's acceptable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense and front-loads the cost warning, but it packs many separate instructions into one block, making it less scannable. Some sentences like 'A missing or failed quote is not free' add value, but the overall flow could be better structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the destructive, open-world annotations and the presence of an output schema, the description covers the essential preconditions and behavioral constraints. It could mention error handling or partial failure behavior, but the core guidance is sufficient for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 67%, and the description adds important semantics: tool names must be exact without client prefix, session_id reuse guidance, and 1-20 call limit. It doesn't explain search_id, but the schema description for search_id is already clear enough.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb and resource: 'Execute 1 to 20 independent published-tool calls', and the title matches. It distinguishes itself from batch_quote by requiring a quote first, but doesn't explicitly contrast with the singular 'use' sibling, though that's implied by 'batch'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit when-to-use and when-not-to-use conditions: only after a successful batch_quote with auto_execute_eligible=true or explicit user authorization. It also states re-quote conditions and prohibits silent retries, leaving little ambiguity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_ahrefs_domain_ratingAhrefs Domain RatingA
Read-onlyIdempotent
Inspect

Return the Ahrefs Domain Rating (0-100 authority score) and Ahrefs Rank for a target domain on a given date. 4xx/5xx are not charged.

Published reference price: $0.08 USD per successful request. Account-specific pricing and final settlement may differ.

NameRequiredDescriptionDefault
dateYesSnapshot date in `YYYY-MM-DD` format.
targetYesTarget domain, e.g. `ahrefs.com`.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/non-destructive/open-world, so the safety profile is covered. The description adds genuinely new behavioral context not in the annotations: error responses (4xx/5xx) are not charged, which matters for an agent deciding whether to retry or validate inputs before spending money.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The functional sentence is front-loaded, concise, and information-dense. The appended pricing block is boilerplate rather than definitional content, which slightly dilutes the structure but does not bury the core statement.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present and rich annotations, the description only needs to cover purpose and cost behavior, both of which it does. Missing only a word on which related domain tool to choose when the agent wants broader metrics.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with date format and target example already documented in the schema, so baseline 3 applies. The description adds only the DR score range, which describes the return value rather than either parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Return) plus two named outputs (Domain Rating, Ahrefs Rank) and defines DR's 0-100 range, so the agent knows exactly what comes back. It does not distinguish itself from sibling tools like get_ahrefs_site_metrics or get_semrush_domain_overview, which is the only gap.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to prefer this over the adjacent Ahrefs/Semrush domain tools, and no prerequisites or alternative named. The only contextual statement is a billing note, which is not usage guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_ahrefs_site_metricsAhrefs Site MetricsA
Read-onlyIdempotent
Inspect

Return core Site Explorer metrics for a target domain on a given date: organic and paid keyword counts, top-3 keyword count, organic traffic, and traffic value. 4xx/5xx are not charged.

Published reference price: $0.08 USD per successful request. Account-specific pricing and final settlement may differ.

NameRequiredDescriptionDefault
dateYesSnapshot date in `YYYY-MM-DD` format.
targetYesTarget domain, e.g. `ahrefs.com`.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, openWorld and non-destructive, so safety is covered. The description adds non-obvious billing behavior ('4xx/5xx are not charged') and the $0.08 per successful request cost, which are genuine operational facts the agent cannot get from structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core sentence is front-loaded and dense with real content, and the error-charging note is short. The delimited aisa-pricing boilerplate is standardized noise rather than authored prose, though it does consume space for a single price figure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return-value structure need not be explained, and both required parameters are fully documented. For a simple two-parameter read tool this is nearly complete; only the lack of any routing context versus the competing Semrush/DataForSEO domain tools leaves a gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% (date format/example and target domain example are documented in the schema), so the baseline is 3. The description only restates 'target domain' and 'a given date' without adding format, normalization, or subdomain/path handling detail.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb ('Return') plus precise resource ('core Site Explorer metrics for a target domain on a given date'), and the enumerated metric list (organic/paid keyword counts, top-3 count, organic traffic, traffic value) differentiates it from near siblings like get_ahrefs_domain_rating and get_semrush_domain_overview.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use, when-not-to-use, or alternative-tool guidance. Given the many Semrush and DataForSEO domain-metric siblings, the agent gets no help deciding between this and get_semrush_domain_overview; only the metric list implicitly suggests a domain-level overview use case.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_dataforseo_on_page_summaryOnPage API SummaryA
Read-onlyIdempotent
Inspect

‌ Using this function, you can get the overall information on a website as well as drill down into exact on-page issues of a website that has been scanned. As a result, you will know what functions to use for receiving detailed data for each of the found issues.

Usage-based billing; Default request estimate: $0.012 USD (not a fixed price). Account-specific pricing and final settlement may differ.

NameRequiredDescriptionDefault
idYes<em>task identifier</em><br><strong>required field</strong><br>you can get this ID in the response of the <a href="/v3/on_page/task_post/" target="_blank" rel="noopener noreferrer">Task POST</a> endpoint<br>example:<br>“07131248-1535-0216-1000-17384017ad04”

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), so the bar is lower. The description adds genuine extra context beyond the annotations: usage-based billing with a ~$0.012 default request estimate and a note that final settlement may differ — useful cost behavior an agent cannot get from structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core sentence is reasonably front-loaded but runs on with an awkward 'as well as drill down into exact on-page issues' clause, and it opens with a stray zero-width character artifact. The pricing block is boilerplate but useful, so it earns partial credit rather than penalty.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the description need not explain return values, and annotations plus a fully documented schema cover safety and input. The remaining gap is that it never states the scan must be complete/that this reads results of a POST task, which is the main thing an agent could get wrong.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the single 'id' parameter, and the schema already explains how to obtain the task identifier from the Task POST response, including an example. The description adds nothing about the parameter, so the baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a clear verb+resource — retrieve the overall summary of an already-scanned site's on-page data by task ID. It also positions itself against the many detailed siblings (it tells you which detailed functions to call next), though the phrasing 'get the overall information on a website' is looser than it needs to be.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied: use this to get an overview and then decide which detailed endpoints to call. It does not explicitly name the alternative detailed sibling tools or state a precondition (e.g. the scan task must have finished), so the guidance stays at the inference level.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_semrush_domain_organic_keywordsDomain Organic KeywordsD
Read-onlyIdempotent
Inspect

Usage-based billing; Default request estimate: $0.02 USD (not a fixed price). Account-specific pricing and final settlement may differ.

NameRequiredDescriptionDefault
domainYes
databaseYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

D1.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, openWorld and non-destructive, so safety is covered. The description's only added value is a usage-based billing note ($0.02 default estimate), which is genuine cost context not present in annotations, but nothing is said about scope, database semantics, or result limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is short, but the content is an HTML-comment-wrapped billing banner rather than front-loaded task information. Brevity here reflects missing content, not conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values need not be explained, but for a two-parameter query tool with 0% schema coverage the description supplies nothing an agent needs to invoke it correctly – no purpose, no parameter meaning, no usage context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for two required parameters (domain, database). With no enums and no schema docs, the description must compensate, and it says nothing about expected domain format or valid database values.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description contains zero functional content – it is entirely a pricing banner. The only signal about what the tool does comes from the tool name itself, and there is no differentiation from siblings like get_semrush_url_organic_keywords or get_semrush_organic_competitors.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance, no alternatives named, no prerequisites. An agent has no basis for choosing this over the many other Semrush/DataForSEO keyword tools listed as siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_semrush_domain_overviewSemrush Domain OverviewD
Read-onlyIdempotent
Inspect

Published reference price: $0.001 USD per successful request. Account-specific pricing and final settlement may differ.

NameRequiredDescriptionDefault
domainYes
databaseNous

Output Schema

NameRequiredDescription

No output parameters

TDQS

D1.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is covered. The description does add one genuine behavioral fact not in the annotations – a per-request price of $0.001 USD – which is useful cost context, but it discloses nothing about auth requirements, rate limits, or response behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is short, but the content is boilerplate HTML-comment pricing markup that does not help an agent select or invoke the tool. Length is minimal while relevance is near zero, so it is under-specified rather than concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a domain-overview tool with a required 'domain' parameter and an undocumented 'database' parameter, the description leaves the agent without the essential information needed to call it correctly. The presence of an output schema excuses explaining return values, but nothing else compensates for the missing purpose and parameter detail.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for two parameters ('domain' and 'database'), and the description supplies no meaning, format, or defaults for either. It does not compensate for the schema gap at all, and notably omits that 'database' defaults to 'us'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description never states what the tool does; it contains only a pricing notice wrapped in HTML comments. An agent must infer the purpose entirely from the tool name 'get_semrush_domain_overview'. It provides no verb+resource statement and no differentiation from siblings like get_semrush_domain_organic_keywords or get_semrush_domain_vs_domain.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no exclusions, and no mention of alternatives among the many semrush/ahrefs/dataforseo siblings. The text is solely about cost, not about selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_semrush_keyword_difficultyKeyword DifficultyD
Read-onlyIdempotent
Inspect

Usage-based billing; Default request estimate: $0.005 USD (not a fixed price). Account-specific pricing and final settlement may differ.

NameRequiredDescriptionDefault
phraseYes
databaseNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

D1.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the read-only safety profile is covered elsewhere. The description's sole contribution is cost transparency (usage-based billing, ~$0.005/request, account-specific settlement), which is genuinely useful but says nothing about data source behavior, batching limits implied by x-aisa-maxItems=20, or result freshness.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The text is short, but it is boilerplate wrapped in HTML comment markers that consumes the entire description while conveying none of the tool's functional purpose. Brevity here stems from omission, not from disciplined editing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Although an output schema and rich annotations exist, the description omits everything an agent needs to select this tool over its many keyword-data siblings and to supply 'phrase'/'database' correctly. Pricing alone is insufficient for a 2-parameter, high-sibling-ambiguity tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for both parameters, and the description adds nothing about 'phrase' (multi-value, delimiter ';', max 20 items) or 'database' (which SEMrush database/region to query). With zero coverage on both sides, the agent is left to guess parameter meaning entirely.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description never states what the tool does. It contains only a billing/pricing notice ('Usage-based billing; Default request estimate: $0.005 USD'), so an agent cannot tell this retrieves SEMrush keyword difficulty scores, nor distinguish it from siblings like get_semrush_keyword_overview or the DataForSEO difficulty tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no prerequisites, and no reference to alternatives such as post_dataforseo_labs_google_bulk_keyword_difficulty_live or get_semrush_keyword_overview. The only conditional text is about pricing, not invocation context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_semrush_keyword_overviewSemrush Keyword OverviewD
Read-onlyIdempotent
Inspect

Published reference price: $0.001 USD per successful request. Account-specific pricing and final settlement may differ.

NameRequiredDescriptionDefault
phraseYes
databaseNous

Output Schema

NameRequiredDescription

No output parameters

TDQS

D1.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, non-destructive and open-world behavior, so the safety profile is covered. The only added behavior is the per-request price ($0.001 USD per successful request), which is genuinely useful cost context beyond the annotations, but it is the sole non-template content.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The blurb is short but consists entirely of an HTML-comment pricing artifact that does not earn its place for tool selection. It is not front-loaded with any purpose statement.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Although an output schema and annotations exist, the description supplies zero information on what the tool returns or when to call it. For a keyword-lookup tool surrounded by dozens of similar siblings, this is completely inadequate for correct selection.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for both parameters, so the description must compensate and instead says nothing about the required 'phrase' or the 'database' default. There is no hint about accepted phrase format or database values such as 'us'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description contains only a pricing banner and never states what the tool does. Nothing indicates it returns Semrush keyword overview metrics for a phrase, nor distinguishes it from siblings like get_semrush_keyword_difficulty or post_dataforseo_labs_google_keyword_overview_live.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no mention of alternatives, and no conditions for selecting this tool over the many keyword-data siblings. The agent is left to infer everything from the tool name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_semrush_organic_competitorsOrganic CompetitorsD
Read-onlyIdempotent
Inspect

Usage-based billing; Default request estimate: $0.08 USD (not a fixed price). Account-specific pricing and final settlement may differ.

NameRequiredDescriptionDefault
domainYes
databaseYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

D1.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The one genuine addition is cost disclosure (predicted ~$0.08 per request, usage-based, not fixed), which is real behavioral context an agent cannot get from annotations. However, the description says nothing about what the call returns, rate limits, or data freshness.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The text is short, so length is not the problem; the problem is that every line is HTML-commented billing boilerplate rather than front-loaded tool purpose. Legitimate conciseness here would be a single sentence stating what the tool returns.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Even granting that an output schema exists and return values need not be explained, the definition omits purpose, usage context, and the meaning of both required parameters. An agent cannot call this correctly from the description alone.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and both parameters (domain, database) are required yet completely undocumented in the schema. The description does not mention either parameter or its expected format, so it fails to compensate for the coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description never states what the tool does — it contains only a pricing/billing banner with no verb, resource, or scope. The title 'Organic Competitors' is the only hint, and the tool must be distinguished from many siblings like get_semrush_domain_overview and post_dataforseo_labs_google_serp_competitors_live with no help from the text.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use, when-not-to-use, or alternative-tool guidance at all. Given a large set of competing Semrush/DataForSEO competitor tools, an agent gets zero routing signal from this description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_semrush_organic_resultsOrganic ResultsD
Read-onlyIdempotent
Inspect

Usage-based billing; Default request estimate: $0.02 USD (not a fixed price). Account-specific pricing and final settlement may differ.

NameRequiredDescriptionDefault
phraseYes
databaseNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

D1.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description does add real cost context (usage-based billing, ~$0.02 default estimate, settlement may differ), which is genuinely useful for an agent, but says nothing about auth, latency, or result shape.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is short, but it is short because it omits its actual job — the only sentences present are a cost disclaimer. Brevity without any statement of purpose is under-specification, not conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values need not be explained, but for a networked, billed search tool the description supplies no purpose, no parameter meaning, and no usage routing. It is wholly inadequate despite the output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description never mentions 'phrase' (the required keyword) or 'database' (the market selector). With two undocumented parameters and no compensating text, the agent has no basis for supplying them.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description contains only a pricing/billing banner and never states what the tool does. There is no verb or resource ('fetch SEMrush organic search results'), so an agent must infer everything from the tool name alone and cannot distinguish it from get_semrush_paid_results.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance, no prerequisites, and no routing to alternatives such as get_semrush_paid_results or the DataForSEO organic SERP siblings. The only content is billing information.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_semrush_referring_domainsReferring DomainsD
Read-onlyIdempotent
Inspect

Usage-based billing; Default request estimate: $0.08 USD (not a fixed price). Account-specific pricing and final settlement may differ.

NameRequiredDescriptionDefault
targetYes
target_typeYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

D1.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds only a default cost estimate and billing caveat, which is useful but not a substantive behavioral trait about the operation itself.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short but does not earn its place: it is entirely pricing boilerplate wrapped in HTML comment markers. It is not front-loaded with any actionable purpose or usage information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with two required parameters, no parameter documentation, and many similar sibling tools, the description is completely inadequate. The presence of an output schema does not compensate for the absence of purpose, usage, and parameter guidance.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the two required parameters (target and target_type) are undocumented in both the schema and description. The description provides no meaning, format, or allowed values for either parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description does not state what the tool does. It only contains pricing metadata, leaving the tool's purpose to be inferred entirely from the name/title and sibling context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives such as post_dataforseo_backlinks_referring_domains_live or other Semrush backlink tools. The pricing note does not help an agent choose the correct tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_categoriesBrowse the AIsa catalogueA
Read-only
Inspect

The AIsa catalogue at a glance: categories, the servers in each, tool counts, and the dedicated endpoint to connect if you only need one category. Free. (AIsa-only: tool-router has no equivalent.) Use mcp.aisa.one/mcp?modules=<category> (or mcp.aisa.one/<category>/mcp) to have that category's tools listed directly instead of via search.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish that this is a safe, read-only, closed-world operation. The description adds useful context beyond annotations by saying it returns categories, servers, tool counts, and the dedicated endpoint, and that it is free. It omits auth/rate-limit details, but those are less critical given the read-only annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with what the tool returns and is generally efficient. The parenthetical about tool-router and the endpoint URL add some density, but each part contributes usage or content context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With zero parameters, read-only annotations, and an output schema available, the description supplies enough context for correct invocation. It explains the catalogue contents and gives the category-specific endpoint alternative, leaving no critical gap for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so parameter semantics are not a meaningful differentiator. The schema has no properties to explain, and the description does not need to document any inputs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that this tool gives a catalogue overview: categories, servers per category, tool counts, and a dedicated endpoint. The resource is specific and recognizable, though sibling differentiation is only partial because it references 'tool-router' rather than the listed siblings like search/use.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives a clear alternative: use the category-specific endpoint if you only need one category, rather than going via search. It also notes the tool is free and AIsa-only, but it does not explicitly state when to call list_categories instead of search or use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

post_dataforseo_ai_chat_gpt_llm_responses_liveLive ChatGPT LLM ResponsesC
Destructive
Inspect

‌‌ Live ChatGPT LLM Responses endpoint allows you to retrieve structured responses from a specific ChatGPT AI model, based on the input parameters.

Usage-based billing; Default request estimate: $0.0695 USD (not a fixed price). Account-specific pricing and final settlement may differ.

NameRequiredDescriptionDefault
bodyNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the operation as openWorld, destructive, non-idempotent, and not read-only, so the description's main addition is the usage-based pricing estimate. It does not explain cost triggers (e.g., which parameters affect billing) or confirm side-effect behavior beyond what annotations already state.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loads the purpose before the pricing note. It contains leading zero-width characters and an HTML comment block, but overall it is appropriately sized and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a live LLM endpoint with many optional behavioral parameters and a rich output schema, the description omits nearly all operational context. It does not guide model selection, web-search flags, token limits, or conversation history usage, making it incomplete despite the pricing note.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% at the top level, and the description provides no parameter details whatsoever. It says only 'based on the input parameters' and does not compensate for the coverage gap, leaving the required model_name and user_prompt fields unmentioned.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb (retrieve) and resource (structured responses from a ChatGPT AI model). It identifies the ChatGPT variant, distinguishing it from sibling Claude, Gemini, and Perplexity endpoints, but does not explicitly name those alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description offers no when-to-use guidance, no prerequisites, and no alternatives to consider. It only says responses are based on input parameters, leaving the agent to infer context entirely.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

post_dataforseo_ai_claude_llm_responses_liveLive Claude LLM ResponsesC
Destructive
Inspect

‌‌ Live Claude LLM Responses endpoint allows you to retrieve structured responses from a specific Claude model, based on the input parameters.

Usage-based billing; Default request estimate: $0.0567 USD (not a fixed price). Account-specific pricing and final settlement may differ.

NameRequiredDescriptionDefault
bodyNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already carry the safety profile (readOnlyHint=false, destructiveHint=true, openWorldHint=true, idempotentHint=false), and the description adds genuinely useful cost context via the billing estimate. However, it never explains why this POST is flagged destructive/non-idempotent, nor describes latency, async behavior, or rate limits – it also gives no hint that the request requires a model lookup first.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core sentence is front-loaded and tight. The appended pricing comment block is boilerplate, but it is short and clearly delimited, so it does not obscure the purpose statement.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values need not be explained, but for a nested, constraint-heavy request body the description is far too thin. It omits the required-field expectation (model_name, user_prompt are marked required in the schema), the 500-character prompts, the 10-message chain cap, and the models-listing endpoint the agent must call to resolve valid model names.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Reported schema description coverage is 0% at the top level (the single 'body' array parameter), and the description compensates with nothing beyond the generic phrase 'based on the input parameters'. No mention of model_name, user_prompt, message_chain limits, or the temperature/top_p mutual exclusion, all of which the caller must get right.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('retrieve structured responses from a specific Claude model'), which distinguishes it from the ChatGPT, Gemini, and Perplexity siblings that share the same naming pattern. It is clear but does not explicitly call out how it differs from those alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use, when-not-to-use, or alternative-selection guidance is given. Given three sibling LLM-response endpoints with identical shapes, the description gives the agent no basis for choosing between them beyond the model name in the tool name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

post_dataforseo_ai_gemini_llm_responses_liveLive Gemini LLM ResponsesC
Destructive
Inspect

‌‌ Live Gemini LLM Responses endpoint allows you to retrieve structured responses from a specific Gemini AI model, based on the input parameters.

Usage-based billing; Default request estimate: $0.0707 USD (not a fixed price). Account-specific pricing and final settlement may differ.

NameRequiredDescriptionDefault
bodyNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the safety profile (readOnlyHint=false, destructiveHint=true, openWorldHint=true), so the bar is lower, but the description adds almost nothing behavioral beyond a cost snippet. It does not reconcile the counterintuitive non-read-only/destructive labeling with the word 'retrieve' used in the description, nor mention auth, rate limits, or latency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences plus a clearly delimited pricing block, with the core purpose front-loaded. Nothing is padded, though the 'based on the input parameters' clause is filler that adds no information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values need not be described, and the payload is documented in the nested schema, so the fundamentals are covered. However, for a billable, open-world LLM query tool the description omits the routing guidance and behavioral context an agent needs to call it correctly versus its model siblings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Top-level schema description coverage is 0% – the single 'body' parameter has no description – and the tool description provides no compensating explanation of the request payload shape. Though the nested schema is richly documented internally, the description itself contributes no parameter-level meaning, leaving the burden entirely on the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb ('retrieve structured responses') and resource ('Gemini AI model'), and the tool name itself separates it from the ChatGPT/Claude/Perplexity LLM siblings. It stops short of explicitly stating when this Gemini endpoint is preferred over those siblings, so it is clear but not differentiated in prose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this endpoint, no prerequisites, and no mention of the sibling LLM endpoints (chat_gpt, claude, perplexity) that an agent would need to disambiguate against. The only usage-adjacent content is a billing estimate, which is cost information rather than routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

post_dataforseo_ai_keyword_volume_liveAI Keyword Data Keyword Search VolumeB
Destructive
Inspect

‌ This endpoint provides search volume data for your target keywords, reflecting their estimated usage in AI tools.

Usage-based billing; Default request estimate: $0.011 USD (not a fixed price). Account-specific pricing and final settlement may differ.

NameRequiredDescriptionDefault
bodyNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the safety profile (readOnlyHint=false, destructiveHint=true, idempotentHint=false, openWorldHint=true), so the bar is lower. The description adds one genuinely useful behavioral fact not present in structured data: usage-based billing with a ~$0.011 estimated cost per request. It does not, however, explain or reconcile the non-read-only/destructive labeling, retry safety, or rate limits, leaving a noticeable gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the purpose in one sentence, followed by a compact pricing note; nothing is padded. Minor noise: a stray leading zero-width character and the templated aisa-pricing comment markers, which are formatting artifacts rather than content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be described, and the cost caveat is a helpful addition. However, for a POST endpoint carrying a destructive/non-idempotent annotation profile and a nested array input with required-if-paired location/language fields, the description should say more about input requirements and safety expectations than it does.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is reported as 0% and the single top-level 'body' parameter is undocumented, so the description would need to compensate, yet it mentions no parameters at all (no keywords, language_code/name, location_code/name pairing). The nested item schema is internally detailed enough that an agent is not entirely lost, but the description itself contributes zero parameter meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: 'provides search volume data for your target keywords,' and adds the scoping qualifier 'reflecting their estimated usage in AI tools,' which separates it from the Google-Ads-style volume siblings. It stops short of naming an alternative (e.g. post_dataforseo_keywords_gads_search_volume_live) or explaining how the AI-tool volume differs, so differentiation is implied rather than explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no mention of when this should be preferred over the many sibling keyword-volume/keyword-overview endpoints, and no prerequisites such as needing a location or language pair. The description is purely declarative about what the endpoint returns.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

post_dataforseo_ai_llm_mentions_aggregated_metrics_liveLive LLM Mentions Aggregated MetricsA
Destructive
Inspect

How often assistants mention your target, as totals rather than individual answers: total and items. Measured at 7.0 KB. ⚠️ target is an array of objects, each {"domain": "..."} or {"keyword": "..."}; a bare string is rejected as the wrong type and an array of strings as 'Each target item must be an object'. Filter fields come from get_dataforseo_ai_llm_mentions_available_filters. Wrapped in DataForSEO's envelope: data in tasks[0].result, outcome in tasks[0].status_code - a rejected request still returns HTTP 200. This is the headline visibility number; post_dataforseo_ai_llm_mentions_search_live shows the answers behind it, and post_dataforseo_ai_llm_mentions_cross_metrics_live compares several targets at once.

Usage-based billing; Default request estimate: $0.101 USD (not a fixed price). Account-specific pricing and final settlement may differ.

NameRequiredDescriptionDefault
bodyYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds substantial behavior beyond the annotations: the DataForSEO envelope contract (data in tasks[0].result, outcome in tasks[0].status_code, rejected requests still returning HTTP 200), the type-rejection behavior for a bare string target with the literal error text, and a billing estimate. None of this is derivable from readOnlyHint/openWorldHint/destructiveHint/idempotentHint.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads what the tool returns before constraints, siblings and billing, and nearly every clause earns its place. The 'Measured at 7.0 KB' fragment is cryptic and adds little, and the paragraph is dense enough to be slightly hard to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values need not be described, and the envelope explanation plus sibling routing covers the main gaps. Minor omissions remain around authentication/permission needs for a tool annotated destructiveHint=true, and the pricing note is generic.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Top-level schema description coverage is 0%, and the description compensates by spelling out that target must be an 'array of objects' with {"domain": ...} or {"keyword": ...}, including the exact error messages for the wrong shapes. It does not discuss the other body-level fields (platform, location, filters), though the nested schema documents those in detail.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific resource and measurement ('How often assistants mention your target, as totals rather than individual answers') with named return fields. It explicitly distinguishes itself from siblings: search_live 'shows the answers behind it' and cross_metrics_live 'compares several targets at once'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tells the agent this is 'the headline visibility number' and routes to the two specific alternatives with the conditions that select them. It also points at get_dataforseo_ai_llm_mentions_available_filters for filter field discovery, so the when-to-use and where-to-look guidance is complete.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

post_dataforseo_ai_llm_mentions_search_liveLive LLM MentionsA
Destructive
Inspect

The individual answers in which an assistant mentioned your target. Returns total_count, current_offset, search_after_token and items - page with the token, not offset, past the first pages. Measured at 7.7 KB for one item. ⚠️ target is an array of objects, each {"domain": "..."} or {"keyword": "..."}; a bare string is rejected as the wrong type and an array of strings as 'Each target item must be an object'. Filter fields come from get_dataforseo_ai_llm_mentions_available_filters. Wrapped in DataForSEO's envelope: data in tasks[0].result, outcome in tasks[0].status_code - a rejected request still returns HTTP 200. For counts rather than the mentions themselves use post_dataforseo_ai_llm_mentions_aggregated_metrics_live.

Usage-based billing; Default request estimate: $0.701 USD (not a fixed price). Account-specific pricing and final settlement may differ.

NameRequiredDescriptionDefault
bodyYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds substantial context beyond the annotations: the DataForSEO envelope layout (tasks[0].result vs tasks[0].status_code), the fact that a rejected request still returns HTTP 200, per-item size (~7.7 KB), and pagination via search_after_token. The annotations carry the safety profile and the pricing note explains the billing side effect, so this is strong but not exhaustive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded, followed by pagination, size, the target-type warning, and the envelope note. Most sentences earn their place; the pricing boilerplate block is noise but is tooling-inserted rather than authored.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex, many-parameter, billed search call, the description covers the high-risk pitfalls (target shape, envelope, error-as-200, pagination) and an output schema exists so return values need not be re-explained. It could say more about non-target params, but nothing essential for a correct call is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Coverage is reported at 0%, so the description must compensate. It does this for the critical parameter by warning that target is an array of objects ({domain}/{keyword}) and that a bare string or array of strings is rejected, plus a pointer to the filter-field source. The remaining params (platform, location, language, order_by, limit) are left to the schema's own nested text.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific resource and verb: the individual answers where an assistant mentioned your target. It names the sibling it is not (aggregated_metrics for counts), so an agent can distinguish 'raw mentions' from 'counts' without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly routes to post_dataforseo_ai_llm_mentions_aggregated_metrics_live when counts rather than mentions are wanted, and points to get_dataforseo_ai_llm_mentions_available_filters for filter fields. It also says to page with the token rather than offset past the first pages. It doesn't differentiate from the other mentions siblings (top_domains, top_pages, cross_metrics), so it falls short of a full 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

post_dataforseo_ai_llm_mentions_top_domains_liveLive LLM Mentions Top DomainsA
Destructive
Inspect

The domains assistants cite most when answering about your target: total and items. Measured at 20.3 KB, the largest response in the mentions family. ⚠️ target is an array of objects, each {"domain": "..."} or {"keyword": "..."}; a bare string is rejected as the wrong type and an array of strings as 'Each target item must be an object'. Filter fields come from get_dataforseo_ai_llm_mentions_available_filters. Wrapped in DataForSEO's envelope: data in tasks[0].result, outcome in tasks[0].status_code - a rejected request still returns HTTP 200. This is the list to pitch: these are the pages shaping what assistants say. For individual pages rather than domains use post_dataforseo_ai_llm_mentions_top_pages_live.

Usage-based billing; Default request estimate: $0.101 USD (not a fixed price). Account-specific pricing and final settlement may differ.

NameRequiredDescriptionDefault
bodyYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With annotations already present, the description still adds real operational context: approximate response size (20.3 KB, largest in the family), the DataForSEO envelope layout (data in tasks[0].result, outcome in tasks[0].status_code), and the non-obvious fact that a rejected request still returns HTTP 200. It does not reconcile the destructiveHint=true annotation with what is plainly a retrieval call, which is the one remaining gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose and response shape, then format warnings, then the envelope, then the routing hint — a sensible order. The pricing boilerplate block and the 'This is the list to pitch' cheerleading sentence are the only non-essential lines.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a live POST query tool with a formal output schema and non-trivial platform/location constraints, the description covers routing, target format, error semantics, and response size. Since an output schema exists, it is not obligated to enumerate return fields, and it does not need to.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Reported schema coverage is 0% at the top level, so the description must carry the parameter load, and it does the most important part: it warns that target must be an array of objects and quotes the exact rejection messages for a bare string or array of strings. It adds less on the optional fields, which the nested schema descriptions do cover.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource — the domains assistants cite most for a target — and immediately names the sibling it is not (top_pages_live for individual pages). An agent can distinguish it from the other mentions tools without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It names the alternative explicitly with the selecting condition ('For individual pages rather than domains use post_..._top_pages_live') and routes filter discovery to get_dataforseo_ai_llm_mentions_available_filters. Nothing about when to reach for this tool vs its siblings is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

post_dataforseo_ai_perplexity_llm_responses_liveLive Perplexity LLM ResponsesB
Destructive
Inspect

‌‌ Live Perplexity LLM Responses endpoint allows you to retrieve structured responses from a specific Perplexity AI model, based on the input parameters.

Usage-based billing; Default request estimate: $0.0163 USD (not a fixed price). Account-specific pricing and final settlement may differ.

NameRequiredDescriptionDefault
bodyNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false and destructiveHint=true, so the safety profile is covered. The description adds genuine context beyond them by disclosing usage-based billing and an estimated per-request cost (~$0.0163), but it does nothing to explain the live/non-cached nature or clarify why a read-style LLM query is flagged destructive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences with the purpose front-loaded and no wasted prose. The injected pricing block is boilerplate but adds a concrete cost fact; the phrase 'based on the input parameters' is the only filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values needn't be described, and the nested input schema is thorough. However, for a live third-party inference endpoint with three very similar siblings, the description is minimal: it never routes the agent among the model-specific variants or notes that results are real-time.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Top-level schema coverage is 0% (the single 'body' parameter is undocumented), but the nested properties inside it carry very detailed inline descriptions (model_name, user_prompt, message_chain alternation rules, token limits, etc.). The description adds nothing about parameters, so the schema must do all the work, which it largely does.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a clear verb ('retrieve structured responses') and resource ('from a specific Perplexity AI model'), so the agent knows what the tool returns. It does not explicitly differentiate itself from the near-identical ChatGPT/Claude/Gemini siblings, though the model name in the tool title partly carries that.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description says only 'based on the input parameters' and offers no when-to-use guidance, no when-not-to-use, and no pointer to the sibling endpoints for other models. An agent must infer that this is the Perplexity-specific option rather than being told.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

post_dataforseo_backlinks_anchors_liveAnchorsB
Destructive
Inspect

‌‌ This endpoint will provide you with a detailed overview of anchors used when linking to the specified website with relevant backlink data for each of them.

Usage-based billing; Default request estimate: $0.033 USD (not a fixed price). Account-specific pricing and final settlement may differ.

NameRequiredDescriptionDefault
bodyNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already carry the safety profile (readOnlyHint=false, destructiveHint=true, idempotentHint=false, openWorldHint=true). The description adds one piece of context not in the annotations — the usage-based billing estimate of ~$0.033 per request — which is genuinely useful for an agent deciding whether to call. It adds nothing about rate limits, auth, or what the 'live' retrieval semantics mean, and it does not reconcile the odd destructive annotation with what is evidently a data-retrieval operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One tight sentence that states the resource and its payload, front-loaded with no preamble. The appended pricing block is boilerplate but short and informative. Nothing is padded or repeated from the schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be described, and the nested schema documents the 13 optional request fields. What is missing for a tool of this complexity is routing context: why pick 'anchors' over the many sibling backlinks endpoints, and any note about the 'live' retrieval/billing model beyond the price estimate. Adequate but with a clear routing gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Top-level schema description coverage is 0% (the single 'body' array wrapper is undocumented), and the description adds no parameter meaning at all — no mention of target, filters, limit, or order_by. However, the nested schema entries carry very detailed prose for target, limit, offset, filters, order_by, rank_scale, and the backlink scope switches, plus a worked example, so an agent can construct a request from the schema alone. Schema does the heavy lifting; the description contributes nothing.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource: it returns 'a detailed overview of anchors used when linking to the specified website with relevant backlink data for each of them.' The resource (anchors for a target's backlinks) is unambiguous and distinct from the sibling referring-domain/backlinks endpoints by name and content. It does not, however, explicitly contrast itself with the other anchor/backlink endpoints an agent could pick.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no prerequisites, and no mention of alternatives. With ~30 sibling endpoints in the same backlinks family (e.g. post_dataforseo_backlinks_backlinks_live, post_dataforseo_backlinks_referring_domains_live, get_semrush_backlink_anchors), the agent gets no help deciding when anchor data is the right choice. Usage is only implied by the word 'anchors'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

post_dataforseo_backlinks_backlinks_liveBacklinksC
Destructive
Inspect

‌ This endpoint will provide you with a list of backlinks and relevant data for the specified domain, subdomain, or webpage.

Usage-based billing; Default request estimate: $0.06 USD (not a fixed price). Account-specific pricing and final settlement may differ.

NameRequiredDescriptionDefault
bodyNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.5/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description depicts a pure retrieval ('provide you with a list of backlinks'), yet annotations declare readOnlyHint=false and destructiveHint=true. This is a direct conflict that could mislead an agent about the safety profile, and the description offers no behavioral context (rate limits, billing scope beyond boilerplate, idempotency) to resolve it.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The functional sentence is short and front-loaded, and the pricing note is compact. No filler prose, though the description is arguably too terse for the surface area it covers.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values need not be explained, but for a 12-field filtering/pagination endpoint with heavy siblings the description omits usage routing and key behavioral caveats. It is under-specified relative to the tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage on the top-level parameter is reported at 0%, and the description says nothing about the body arguments (mode, limit, offset, filters, order_by, rank_scale, backlinks_status_type, etc.). The nested schema carries detailed field docs, but the description itself adds no parameter meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (provide a list) and resource (backlinks) and names the accepted targets (domain, subdomain, or webpage). It is clear what the tool does, but it does not differentiate itself from the many sibling backlinks endpoints (anchors, summary, referring_domains, competitors), so the agent must infer selection from the name alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this endpoint versus the numerous alternatives in the sibling list. The description gives no conditions, prerequisites, or exclusions, leaving the agent to guess from the tool name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

post_dataforseo_backlinks_competitors_liveCompetitorsC
Destructive
Inspect

‌‌ This endpoint will provide you with a list of competitors that share some part of the backlink profile with a target website, along with a number of backlink intersections and the rank of every competing website.

Usage-based billing; Default request estimate: $0.0276 USD (not a fixed price). Account-specific pricing and final settlement may differ.

NameRequiredDescriptionDefault
bodyNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=false and destructiveHint=true even though the description frames this as a passive 'provide you with a list' data-retrieval endpoint, creating real tension an agent must resolve. The description adds no behavioral context of its own beyond a boilerplate pricing estimate; it does not explain the POST semantics, whether anything is mutated, auth requirements, or rate limits. Only the cost note counts as added value.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core sentence is a single, front-loaded statement of what the endpoint returns, with no wasted prose. The appended pricing block is templated boilerplate, and the leading zero-width/whitespace characters are slightly untidy, but overall the structure is efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so the description need not explain return values, and the input schema documents the individual fields. What is missing is the context that matters for a paid, ambiguously-annotated POST endpoint: why to pick it, and any reassurance about its real read-only nature versus the destructiveHint annotation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description contributes no parameter information whatsoever. Although the context signal reports 0% schema description coverage, the underlying schema actually documents target, limit, offset, filters, order_by, rank_scale, main_domain, and the exclusion flags in rich detail, so the schema effectively carries the load while the top-level 'body' wrapper remains undocumented in both places.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: it returns a list of competitors sharing part of a target site's backlink profile, plus backlink intersections and competitor ranks. This is far more concrete than the bare title 'Competitors'. It does not, however, distinguish itself from adjacent siblings like post_dataforseo_backlinks_domain_intersection_live or referring_domains_live, which an agent could easily confuse it with.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description says what the endpoint returns but never states when to choose it over the many sibling backlink tools (domain_intersection, referring_domains, page_intersection). There is no mention of prerequisites, cost awareness for the paid call, or any exclusion criteria, leaving the agent to infer usage entirely from the resource name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

post_dataforseo_backlinks_history_liveBacklinks HistoryB
Destructive
Inspect

‌ This endpoint will provide you with historical backlinks data back to the beginning of 2019. You can receive the number of backlinks a given domain had in a specific time period, the number of new & lost backlinks, referring domains, and more.

Usage-based billing; Default request estimate: $0.0271 USD (not a fixed price). Account-specific pricing and final settlement may differ.

NameRequiredDescriptionDefault
bodyNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds genuinely useful behavioral context beyond the annotations, notably the 2019-to-present data coverage window and the usage-based billing note with a ~$0.0271 default request estimate. However, it frames the call purely as data retrieval while the annotations declare readOnlyHint=false and destructiveHint=true, and the description never reconciles that tension or explains what the call costs/destroys at a side-effect level.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two front-loaded sentences give the capability and the data window with no wasted words. The appended pricing boilerplate is verbose but appears to be a mandatory block rather than author-written padding. A stray leading character and the long pricing comment slightly hurt the structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be described, and the description correctly covers the data availability window and cost. What is missing is any disambiguation from the many sibling backlinks endpoints and any note on required inputs, which matters for an agent choosing among ~25 similar tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is reported as 0% for the top-level parameter, so the description must compensate, and it only partially does: "a given domain" implies target and "a specific time period" implies date_from/date_to. It says nothing about date format, the 2019-01-01 minimum, the default endpoint date, or the rank_scale option, all of which remain undocumented at the description level.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: it returns historical backlinks data for a domain back to January 2019, including backlink counts, new/lost links, and referring domains. That is enough to identify the tool's output. It does not differentiate itself from close siblings such as post_dataforseo_backlinks_timeseries_summary_live or post_dataforseo_backlinks_summary_live, which the description's metric list also describes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to choose this endpoint over the many sibling backlinks endpoints (live vs bulk vs timeseries vs summary), and no prerequisites are stated. The only conditional information is an implicit "specific time period", with nothing about defaults or limits. An agent must infer usage entirely from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

post_dataforseo_backlinks_referring_domains_liveReferring DomainsC
Destructive
Inspect

‌‌ This endpoint will provide you with a detailed overview of referring domains pointing to the target you specify.

Usage-based billing; Default request estimate: $0.0276 USD (not a fixed price). Account-specific pricing and final settlement may differ.

NameRequiredDescriptionDefault
bodyNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.5/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description implies a read/query operation ('provide you with a detailed overview of referring domains'), while the annotations declare readOnlyHint=false and destructiveHint=true — an outright mismatch in the safety profile an agent would act on. The only genuinely additive behavioral fact is the auto-inserted usage-based billing estimate ($0.0276 default), which does not offset the contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One purpose sentence followed by the pricing block; the purpose is front-loaded and nothing is padded. The pricing boilerplate is auto-generated rather than authored content, which keeps this from being a crisp 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return-value explanation is not needed, but for a live POST endpoint with a single highly configurable 'body' parameter, the definition supplies neither usage context nor any parameter guidance, and its implicit read framing conflicts with the declared destructive behavior. An agent cannot call this confidently from the description alone.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description says nothing about any request field — no mention of the required 'target' format, the filter/order_by syntax, pagination via limit/offset, or the backlinks_status_type semantics. The input schema text itself is rich, but the reported description coverage is 0% and the prose contributes zero parameter meaning of its own.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb ('provide you with a detailed overview') and resource ('referring domains pointing to the target you specify'), so an agent knows it is a live referrer-report call. However, it offers no differentiation from close siblings such as post_dataforseo_backlinks_bulk_referring_domains_live, post_dataforseo_backlinks_referring_networks_live, or get_semrush_referring_domains, and 'overview' is vague for what is really a paginated domain list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use, when-not-to-use, or alternative-tool guidance. The agent gets no signal that this is the single-target live variant versus the bulk sibling, or when a cached/batch variant would be preferable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

post_dataforseo_backlinks_summary_liveBacklinks SummaryC
Destructive
Inspect

‌ This endpoint will provide you with an overview of backlinks data available for a given domain, subdomain, or webpage.

Usage-based billing; Default request estimate: $0.024 USD (not a fixed price). Account-specific pricing and final settlement may differ.

NameRequiredDescriptionDefault
bodyNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare openWorldHint, idempotentHint, and destructiveHint, so the description's burden is lighter, and it does add a useful usage-based pricing estimate. It says nothing, however, about the read-like nature implied by 'provide', nor how the destructive annotation should be interpreted for a data retrieval endpoint, so behavioral disclosure remains modest.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core description is a single front-loaded sentence with no filler, and the pricing note is separated by comment markers. The leading zero-width character is a minor cosmetic flaw, but the overall structure is efficient and easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complex nested body schema, an output schema, and many sibling tools, the description is too thin. It does not explain what metrics the 'overview' includes, when to choose this over siblings, or how to interpret the contradictory annotations, leaving critical operational context missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is reported as 0%, so the description is expected to compensate for parameter meaning, but it does not. It vaguely mentions 'domain, subdomain, or webpage' without naming the target parameter, its required URL/domain format, or any of the other body fields like backlinks_filters or rank_scale.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb and resource: providing an overview of backlinks data for a domain, subdomain, or webpage. However, it does not distinguish this 'summary' endpoint from sibling tools like backlinks_live, referring_domains_live, or anchors_live, leaving the agent to infer the difference from the tool name alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description offers no when-to-use guidance, no prerequisites, and no explicit alternatives. With over 30 sibling backlinks tools, an agent has no basis for selecting this summary endpoint over a more specific one such as post_dataforseo_backlinks_backlinks_live or post_dataforseo_backlinks_referring_domains_live.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

post_dataforseo_content_search_liveContent Analysis – Search APIC
Destructive
Inspect

‌ This endpoint will provide you with detailed citation data available for the target keyword.

Usage-based billing; Default request estimate: $0.0276 USD (not a fixed price). Account-specific pricing and final settlement may differ.

NameRequiredDescriptionDefault
bodyNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description frames the tool as a data-retrieval query ('provide you with detailed citation data'), while the annotations declare destructiveHint=true and readOnlyHint=false — a substantive mismatch that could make an agent hesitate or misuse the tool. The only genuine added context beyond annotations is the usage-based billing note ($0.0276 default estimate), which is useful but does not resolve the behavioral conflict.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The text is a single front-loaded sentence plus a compact, clearly delimited pricing disclosure, with no redundant filler. It is tight, though its brevity reflects under-specification rather than disciplined conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with a large nested request schema, an output schema, and a crowded sibling set, the description omits usage context, parameter guidance, and any behavioral caveats. The presence of an output schema excuses it from explaining return values, but it leaves too many gaps for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The sole top-level parameter `body` carries no description, and the description adds nothing about the parameters — it never mentions the required nested `keyword`, the filter/order_by syntax, pagination via offset/offset_token, or search_mode. While the nested schema fields are individually well documented, the description contributes zero parameter meaning and does not compensate for the 0% top-level coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool returns 'detailed citation data available for the target keyword,' which conveys the resource and input, but the action is phrased loosely ('provide you with') rather than as a clear search/retrieval verb. It offers no differentiation from the many adjacent DataForSEO tools (e.g. post_dataforseo_content_summary_live, post_dataforseo_content_sentiment_analysis_live), so an agent cannot route confidently among siblings from the text alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use statement, no when-not-to-use exclusion, and no named alternative despite ~60 sibling tools that overlap heavily. An agent gets no signal about when citation search is the right choice versus content summary or sentiment analysis.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

post_dataforseo_content_sentiment_analysis_liveContent Analysis – Sentiment Analysis APIC
Destructive
Inspect

This endpoint will provide you with sentiment analysis data for the citations available for the target keyword. for more info please visit 'https://docs.dataforseo.com/v3/content_analysis/sentiment_analysis/live/?bash'

Usage-based billing; Default request estimate: $0.024 USD (not a fixed price). Account-specific pricing and final settlement may differ.

NameRequiredDescriptionDefault
bodyNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.5/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description describes a retrieval operation ('provide you with sentiment analysis data'), but the annotations declare readOnlyHint=false and destructiveHint=true. An agent reading these together gets directly conflicting signals about whether this call mutates or destroys anything. The description also discloses nothing about per-request cost semantics beyond the generic pricing block, nor any rate/auth constraints. This is an Annotation Contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core sentence is short, front-loaded, and waste-free, followed by a docs link and pricing note. It is appropriately sized, though the URL and billing boilerplate are somewhat templated rather than informative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values need not be described, and the pricing estimate is a useful addition. However, for a filtered content-analysis endpoint with a required per-item keyword and many optional filter/threshold fields, the description leaves the agent without any operational framing for constructing the request.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is reported as 0% at the top level, and the single exposed parameter is an opaque 'body' array. The description only implies a 'target keyword' exists but never explains that keyword is required per item, nor mentions filters, thresholds, or the rank_scale/page_type options documented deeper in the schema. It does not compensate for the coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific operation and resource: sentiment analysis data for the citations available for a target keyword. That is materially more specific than the title and distinguishes it from content_search_live and content_summary_live by scope. It stops short of explicitly contrasting itself with those siblings, so it does not reach 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no prerequisites, and no mention of any alternative endpoint. The only usage pointer is a bare documentation URL, which pushes the burden of figuring out when this applies onto the agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

post_dataforseo_content_summary_liveContent Analysis – Summary APIC
Destructive
Inspect

‌ This endpoint will provide you with an overview of citation data available for the target keyword.

Usage-based billing; Default request estimate: $0.0276 USD (not a fixed price). Account-specific pricing and final settlement may differ.

NameRequiredDescriptionDefault
bodyNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.6/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description frames the tool as returning data ('provide you with an overview of citation data'), i.e. a retrieval operation, while the annotations declare readOnlyHint=false and destructiveHint=true. Read semantics versus a destructive-write annotation is a direct action-semantics mismatch, so per the rubric this scores 1. The one genuinely useful behavioral addition is the billing note ($0.0276 default estimate, usage-based, non-fixed), which is the only correctable signal here.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose is front-loaded in a single sentence and the pricing block is clearly demarcated, so there is no real waste. It is slightly under-specified rather than over-long, and a stray zero-width character precedes the text, but structurally it is efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need no explanation, and the billing note covers the cost dimension. What is missing for a live, billed, keyword-driven POST endpoint is any cue about required input (keyword), filtering scope, or how this differs from the other Content Analysis endpoints. Minimum viable, with clear gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema reports 0% top-level description coverage (the single 'body' array parameter itself is undocumented), and the description does not compensate at all — it never mentions the required 'keyword' field or any of the filter/threshold fields (page_type, rank_scale, internal_list_limit, connotation thresholds). The nested property descriptions in the schema do much of the work, which keeps this above 1, but the description adds nothing beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a concrete verb and resource ('provide you with an overview of citation data available for the target keyword'), which is specific enough for an agent to know this returns aggregated Content Analysis summary metrics. However, it never distinguishes itself from близкие siblings such as post_dataforseo_content_search_live or post_dataforseo_content_sentiment_analysis_live, so the agent must infer the difference from the name alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to use this endpoint versus alternatives, no prerequisites (e.g., that a keyword must be supplied in the body), and no conditions under which a different Content Analysis endpoint is preferable. Usage is only weakly implied by 'overview ... for the target keyword'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

post_dataforseo_domains_tech_for_domain_liveDomain TechnologiesC
Destructive
Inspect

‌‌ Using this endpoint you will get a list of technologies used in a particular domain.

Usage-based billing; Default request estimate: $0.012 USD (not a fixed price). Account-specific pricing and final settlement may differ.

NameRequiredDescriptionDefault
bodyNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.6/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description frames the tool as a read ('you will get a list of technologies'), while the annotations declare readOnlyHint=false and destructiveHint=true. This is a direct conflict about whether the call mutates or destroys data. The only behavior the description adds is the usage-based pricing estimate, which does not compensate for the safety-profile contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The behavioral sentence is short and front-loaded with zero waste. The appended pricing block is boilerplate rather than tool semantics, but it is clearly delimited and does not obscure the purpose statement.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained, and the pricing note covers cost. However, for a live billed endpoint with no sibling differentiation and no parameter explanation, the definition is only minimally complete for correct selection and invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the single 'target' param is nested inside a body array, so the structured fields do not explain the parameter. The description only alludes to 'a particular domain' without naming the field, format, or that results are returned for the specified domain only. It adds almost nothing beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'get a list of technologies used in a particular domain.' An agent understands the operation, but the description never distinguishes it from close siblings such as post_dataforseo_domains_tech_domains_by_technology_live, post_dataforseo_domains_tech_summary_live, or the aggregation variant.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no mention of the conditions that select this tool over its many domains_tech siblings, and no prerequisites (API credentials, rate limits) noted. The only contextual hint is the pricing note, which is billing information rather than usage direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

post_dataforseo_domains_whois_overview_liveDomain Whois OverviewB
Destructive
Inspect

‌ This endpoint will provide you with Whois data enriched with backlink stats, and ranking and traffic info from organic and paid search results. Using this endpoint you will be able to get all these data for the domains matching the parameters you specify in the request.

Usage-based billing; Default request estimate: $0.012 USD (not a fixed price). Account-specific pricing and final settlement may differ.

NameRequiredDescriptionDefault
bodyNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructive=true, readOnlyHint=false, openWorldHint=true and idempotentHint=false, so the safety profile is covered. The description adds one genuinely non-derivable fact beyond the annotations: usage-based billing with a ~$0.012 default estimate, which explains why a data-retrieval-shaped call is billed/mutating. It says nothing about auth, rate limits, or the meaning of the 'live' semantics.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two lean sentences with the returned-data payload front-loaded, followed by a clearly delimited pricing block. No filler or repetition; the only minor cost is that the pricing comment repeats what an annotation-style cost field might convey.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has an output schema, so return values need not be explained, and annotations carry the safety profile plus the description carries billing. What remains missing for a POST 'live' data endpoint is any indication of when to use it over its many siblings and any hint about the body structure. Adequate but with visible gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description contributes no parameter meaning at all — it only says 'parameters you specify.' The top-level body param itself carries no description (reported coverage 0%), though the nested item schema internally documents limit/offset/filters/order_by/offset_token in detail, so the schema still does most of the work. Baseline 3 is appropriate given the internal documentation offsets the missing wrapper description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific resource and payload: 'Whois data enriched with backlink stats, and ranking and traffic info from organic and paid search results.' That is enough to know what the endpoint returns, but it never distinguishes itself from siblings such as get_dataforseo_domains_whois_available_filters or the tech/aggregation endpoints, so an agent cannot use it to disambiguate the family on its own.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no prerequisites, and no named alternative. 'For the domains matching the parameters you specify in the request' restates the obvious rather than telling the agent when this endpoint is preferable to the sibling Whois/tech tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

post_dataforseo_keywords_gads_kw_for_keywords_liveSetting Live ‘Keywords For Keywords’ TasksC
Destructive
Inspect

Note that Google Ads Keywords Data API is based on the latest version of the Google Ads API that has replaced legacy Google AdWords API. If you’re using DataForSEO Google AdWords API, you need to upgrade to DataForSEO Google Ads API. ‌‌ This endpoint will provide relevant keywords for the specified terms. Set up to 20 keywords in the keywords array and get keyword suggestions from Google Ads.

Usage-based billing; Default request estimate: $0.09 USD (not a fixed price). Account-specific pricing and final settlement may differ.

NameRequiredDescriptionDefault
bodyNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the safety profile (readOnlyHint=false, destructiveHint=true, idempotentHint=false, openWorldHint=true), so the description carries less burden. It does add useful behavioral context not present in annotations: the usage-based billing model with a $0.09 default request estimate and the note that Google Ads may return no data for certain keyword groups. It does not explain why the tool is flagged destructive or mention auth/rate behavior, leaving a gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The most prominent content is an API-migration warning about AdWords vs Google Ads that is irrelevant to invoking this endpoint, plus a templated pricing block. The actual purpose sentence is buried in the middle of the description rather than front-loaded, so the reader must dig for the operative information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need no explanation here. But for a mutation/billing endpoint whose only top-level parameter is an undescribed array wrapper, the description should clarify how requests are structured and what gets generated; instead it spends its space on legacy-API migration trivia.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The top-level 'body' parameter is an array of task objects with no schema description (reported coverage 0%), and the description does not explain this wrapper structure, the batching semantics, or ordering. The one detail it does give — 'up to 20 keywords in the keywords array' — merely duplicates what the nested schema already documents, so it does not compensate for the coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The operative sentence — 'provide relevant keywords for the specified terms... get keyword suggestions from Google Ads' — states a specific verb and resource, so the core purpose is discernible. However, the migration note about the legacy AdWords API dominates the opening, and the description never distinguishes this tool from close siblings like post_dataforseo_labs_google_keyword_suggestions_live or post_dataforseo_keywords_gads_search_volume_live. An agent must guess from the name alone which keyword tool to pick.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description says 'Set up to 20 keywords in the keywords array and get keyword suggestions,' which hints at a mechanical usage but offers no when-to-use versus alternatives, no prerequisites, and no exclusions. With many overlapping keyword/suggestion siblings available, this is a meaningful omission.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

post_dataforseo_keywords_gads_search_volume_liveSetting Live ‘Google Ads Search Volume’ TasksC
Destructive
Inspect

‌ Note that Google Ads Keywords Data API is based on the latest version of the Google Ads API that has replaced legacy Google AdWords API. If you’re using DataForSEO Google AdWords API, you need to upgrade to DataForSEO Google Ads API.

Usage-based billing; Default request estimate: $0.09 USD (not a fixed price). Account-specific pricing and final settlement may differ.

NameRequiredDescriptionDefault
bodyNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already supply the safety profile (readOnlyHint=false, destructiveHint=true, idempotentHint=false, openWorldHint=true). The description adds genuinely useful behavioral context not in the annotations: usage-based billing with a default estimate of $0.09 USD and account-specific pricing. However, it says nothing about rate limits, synchronous vs task-based execution, or what 'destructive' means here. With annotations carrying the safety burden, this is an adequate 3.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The text is short but poorly structured: it opens with a stray zero-width character and front-loads an irrelevant API-migration warning before any statement of purpose. Every sentence discusses migration or pricing rather than the tool's function, so the space is not spent on what an agent needs.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Because an output schema exists, return values need not be explained, and the annotations cover the safety profile. But for a keyword-search-volume endpoint with a complex nested body and a 1000-keyword limit, the description omits the essentials: what it returns, that it runs live/synchronously, and any keyword/location constraints. The critical purpose and usage gaps make it incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description provides zero information about any parameter, and the top-level schema description coverage is reported as 0%. Although the deeply nested body fields (keywords, date_from/date_to, location_*) carry rich descriptions in the schema, the description does not compensate for the measured coverage gap as required. It adds nothing an agent could use to invoke the tool correctly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description never states what the tool does. Its two substantive sentences are about migrating from the legacy AdWords API and about pricing, neither of which describes the operation. An agent must fall back on the title ('Google Ads Search Volume Tasks') and the tool name to infer that it retrieves Google Ads search volume data for keywords, so the description itself is effectively tautological/boilerplate.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance at all. The only condition stated ('if you're using the DataForSEO Google AdWords API, you need to upgrade') is a migration notice, not a routing instruction. No mention of alternatives such as post_dataforseo_ai_keyword_volume_live or post_dataforseo_keywords_gads_kw_for_keywords_live, and no indication of live-vs-task semantics.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

post_dataforseo_keywords_trends_explore_liveSetting Live ‘DataForSEO Trends Explore’ TasksC
Destructive
Inspect

This endpoint will provide you with the keyword popularity data from DataForSEO Trends. You can check keyword trends for Google Search, Google News, and Google Shopping.

Usage-based billing; Default request estimate: $0.0012 USD (not a fixed price). Account-specific pricing and final settlement may differ.

NameRequiredDescriptionDefault
bodyNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.5/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description frames the tool purely as a data-retrieval endpoint ("will provide you with the keyword popularity data"), which conflicts with the annotations declaring readOnlyHint=false and destructiveHint=true. The only added behavioral note is the auto-inserted pricing block (usage-based billing, ~$0.0012 estimate), and no auth, rate-limit, or side-effect context is given. Description and annotations disagree on the safety profile.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, purpose front-loaded, no filler; the pricing block is boilerplate but clearly demarcated. Nothing in the prose is wasted, though the content is thin rather than tight.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values need not be described, but for a POST endpoint that sets a live task with a required keywords field inside a body array, the description omits how to select the engine type, how the array is structured, and the task-setting nature implied by its own title. An agent cannot call this correctly from the description alone.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage for the sole top-level parameter (body) is 0% and the description says nothing about the request shape — no mention of keywords, date ranges, location, or time_range presets. The nested item schema happens to document those fields, but the description itself contributes zero parameter meaning and does not compensate for the reported coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb+resource ("provide you with the keyword popularity data from DataForSEO Trends") and scopes it to three engines (Google Search, Google News, Google Shopping). It is clear on what the tool returns, but it never distinguishes itself from near-neighbours such as post_dataforseo_ai_keyword_volume_live or post_dataforseo_keywords_gads_search_volume_live, which return adjacent keyword metrics.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use / when-not-to-use guidance and no named alternative. The agent is told what data comes back but not in which situation this trends endpoint should be chosen over the many keyword-volume and keyword-overview siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

post_dataforseo_labs_google_bulk_keyword_difficulty_liveBulk Keyword DifficultyC
Destructive
Inspect

This endpoint will provide you with the Keyword Difficulty metric for a maximum of 1,000 keywords in one API request. Keyword Difficulty stands for the relative difficulty of ranking in the first top-10 organic results for the related keyword. Keyword Difficulty in DataForSEO API responses indicates the chance of getting in top-10 organic results for a keyword on a logarithmic scale from 0 to 100.

Usage-based billing; Default request estimate: $0.0734 USD (not a fixed price). Account-specific pricing and final settlement may differ.

NameRequiredDescriptionDefault
bodyNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=false and destructiveHint=true, yet the description's 'provide you with the Keyword Difficulty metric' describes a pure read/retrieval operation, so the two conflict. The description does add a useful behavioral detail — usage-based billing with a default estimate of $0.0734 — but it never addresses auth, rate limits, or the destructive classification, so transparency is weak and partly contradictory.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is front-loaded with the core purpose and reasonably short, but the second and third sentences overlap heavily (both explain ranking in top-10 organic results), and the boilerplate billing block adds bulk without adding task-selection value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return-value explanation is unnecessary, but the description leaves the single array parameter and its required nested fields entirely uncovered and provides no usage routing. For a bulk live endpoint whose only param is a structured array, this is incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Reported schema description coverage is 0% at the top level (the 'body' array itself is undocumented), so the description carries the burden of explaining parameters — and it mentions none of them. It doesn't explain the required keywords array, the max-1000 limit within the array, or the language/location code requirements.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific resource (Keyword Difficulty metric) and a clear scope (bulk, up to 1,000 keywords in one request), and it even defines what the metric means. It does not, however, distinguish this bulk endpoint from siblings like get_semrush_keyword_difficulty or post_dataforseo_labs_google_keyword_overview_live.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states the 1,000-keyword bulk limit, which implies when the endpoint is appropriate, but gives no explicit when-to-use/when-not-to-use guidance and names no alternative sibling for single-keyword or cross-source lookups. An agent must infer the routing decision on its own.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

post_dataforseo_labs_google_bulk_traffic_estimation_liveBulk Traffic EstimationB
Destructive
Inspect

‌ This endpoint will provide you with estimated monthly traffic volumes for up to 1,000 domains, subdomains, or webpages. Along with organic search traffic estimations, you will also get separate values for paid search, featured snippet, and local pack results.

Usage-based billing; Default request estimate: $0.1356 USD (not a fixed price). Account-specific pricing and final settlement may differ.

NameRequiredDescriptionDefault
bodyNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the mutation/safety profile (destructiveHint=true, readOnlyHint=false), and the description does not contradict this. It adds genuinely useful behavior context the annotations lack: the usage-based billing model with a $0.1356 default estimate and the 1,000-target cap. It does not disclose return shape, but an output schema exists to cover that.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences front-load the core capability before the boilerplate pricing comment block. The pricing annotation is templated but the descriptive text itself wastes no words and is appropriately sized.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a live, high-amplitude bulk endpoint with an output schema, the description covers capability, target limits, and cost but omits routing guidance and any parameter-level detail. It is adequate to identify the tool, not to invoke it optimally.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is reported at 0% for the single top-level body parameter, so the description carries the burden of explaining parameters and largely fails to. It mentions the 1,000-target limit but says nothing about item_types, language/location codes, or other fields an agent must populate, adding little beyond the raw schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('provide you with estimated monthly traffic volumes') and identifies the scope ('up to 1,000 domains, subdomains, or webpages'), which cleanly distinguishes it from keyword-oriented Labs siblings. It stops short of naming the closest sibling (e.g., domain_rank_overview) or contrasting its bulk nature against single-target tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit when-to-use guidance, no conditions for selecting this over alternatives, and no exclusions. The 'up to 1,000 targets' note is a scope limit, not routing guidance, leaving the agent to infer usage from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

post_dataforseo_labs_google_domain_rank_overview_liveDomain Rank OverviewC
Destructive
Inspect

‌ This endpoint will provide you with ranking and traffic data from organic and paid search for the specified domain. You will be able to review the domain ranking distribution in SERPs as well as estimated monthly traffic volume for both organic and paid results.

Usage-based billing; Default request estimate: $0.0121 USD (not a fixed price). Account-specific pricing and final settlement may differ.

NameRequiredDescriptionDefault
bodyNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.6/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description frames the endpoint purely as informational retrieval ('provide you with ranking and traffic data', 'you will be able to review'), which reads as a read-only query. The annotations declare readOnlyHint=false and destructiveHint=true, directly conflicting with that framing. The pricing/billing disclosure is a genuinely useful addition, but the core behavioral claim is inconsistent with the structured metadata.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences front-load what the tool returns, followed by a clearly demarcated billing note. Apart from a stray leading zero-width character, nothing is wasted, although the pricing block is verbosity imposed by the platform rather than the author.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so the description need not describe return values, and it correctly focuses on inputs and output scope. However, for a live paid endpoint with a single nested array parameter and no usage guidance, it omits the required target format and any indication of when this overview is preferable to the other labs endpoints, leaving the definition at minimum viability.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Top-level schema description coverage is reported as 0% (the single 'body' array property has no description), so the description must compensate for parameter meaning, and it does not: 'target', 'limit', 'offset', 'language_code/name' and 'location_code/name' are never referenced or explained. The nested item-level schema does document them well, which partially rescues usability, but the description itself adds no parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a concrete resource and verb: ranking and traffic data from organic and paid search for a specified domain, including SERP ranking distribution and estimated monthly traffic. This is materially more specific than the title alone. It stops short of distinguishing the tool from close siblings such as google_historical_rank_live or google_subdomains_live, which return similarly framed domain-level metrics.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to choose this tool over the many sibling domain/keyword endpoints, and no mention that the target domain must be bare (no https:// or www.), which is a practical prerequisite for a successful call. Usage is left entirely to inference from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

post_dataforseo_labs_google_historical_keyword_data_liveHistorical Keyword DataB
Destructive
Inspect

‌‌  This endpoint provides Google historical keyword data for specified keywords, including search volume, cost-per-click, competition values for paid search, monthly searches, and search volume trends. You can get historical keyword data since August, 2021, depending on keywords along with location and language combination. You can find the list of supported locations and languages here.

Usage-based billing; Default request estimate: $0.1356 USD (not a fixed price). Account-specific pricing and final settlement may differ.

NameRequiredDescriptionDefault
bodyNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the safety profile (readOnlyHint=false, destructiveHint=true, openWorldHint=true), so the bar is lower. The description adds genuinely useful context beyond the schema: historical coverage start (August 2021) and a usage-based billing estimate ($0.1356 default). It does not reconcile the destructive/readOnly annotations with what is plainly a data-retrieval endpoint, nor mention auth or rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded in the first sentence and the whole body is short. The pricing block earns its place as cost context, though the leading zero-width characters before the first sentence are noise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained, and the annotations cover behavior. The description covers data meaning, historical range, and cost, but omits the batch/array request mechanics and the relationship to the near-identical non-historical siblings, leaving selection ambiguity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Top-level schema description coverage is reported at 0% (the single 'body' property is undocumented), but the nested item properties carry very rich descriptions. The description compensates partially by naming keywords, location, and language, matching the request fields, though it says nothing about the array/body wrapper or the 700-keyword / 80-character limits.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource ('provides Google historical keyword data for specified keywords') and enumerates the returned metrics (search volume, CPC, paid-competition values, monthly searches, trends), so an agent knows exactly what it gets. The 'historical' qualifier implicitly distinguishes it from the non-historical sibling post_dataforseo_labs_google_keyword_overview_live, but no sibling is named explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states data coverage (since August 2021) and that availability varies by keyword/location/language, but never says when to pick this tool over alternatives such as post_dataforseo_labs_google_keyword_overview_live or post_dataforseo_keywords_trends_explore_live. No when-not guidance or prerequisite conditions are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

post_dataforseo_labs_google_historical_rank_liveHistorical Rank OverviewB
Destructive
Inspect

‌ This endpoint will provide you with historical data on rankings and traffic of the specified domain, such as domain ranking distribution in SERPs and estimated monthly traffic volume for both organic and paid results.

Usage-based billing; Default request estimate: $0.1356 USD (not a fixed price). Account-specific pricing and final settlement may differ.

NameRequiredDescriptionDefault
bodyNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations (readOnlyHint=false, destructiveHint=true, idempotentHint=false, openWorldHint=true) already carry the safety profile, so the description is not the main burden carrier. It does add real value by disclosing usage-based billing with a default estimate of ~$0.1356 USD, which is behavioral context an agent cannot get from annotations or schema. It does not reconcile the destructive hint against what reads like a pure data-retrieval endpoint, which is a notable unexplained tension.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose is front-loaded in a single well-formed sentence, followed only by a bounded pricing note. Nothing is padded or redundant. The stray leading whitespace/zero-width character is sloppy but not materially harmful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained, and the cost disclosure is a plus. What is missing is the operational context an agent needs to invoke it correctly: that a target domain is effectively required, that location/language must be supplied in one of two forms, and how this differs from the sibling rank-overview tool. Adequate but with clear gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is reported at 0% for the top-level parameter, and the description contributes no parameter meaning at all: it never mentions target, date_from/date_to, location, or language requirements. The nested item schema does document these fields in detail, which prevents a 1, but the description itself does nothing to compensate for the coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a clear resource and scope: historical rankings and traffic for a specified domain, spelled out as SERP ranking distribution plus estimated monthly organic and paid traffic. That is specific enough that an agent knows what it returns. It never distinguishes itself from the closest sibling, post_dataforseo_labs_google_domain_rank_overview_live (current vs. historical), so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no mention of prerequisites such as the required target domain or the location/language pair, and no routing advice among the many sibling Labs endpoints. The only usage-adjacent content is the billing footer, which addresses cost, not selection. Nothing is misleading, but the agent gets no help choosing this over the non-historical rank overview.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

post_dataforseo_labs_google_keyword_ideas_liveKeyword IdeasB
Destructive
Inspect

‌ The Keyword Ideas endpoint provides search terms that are relevant to the product or service categories of the specified keywords. The algorithm selects the keywords which fall into the same categories as the seed keywords specified in a POST array.

Usage-based billing; Default request estimate: $0.132 USD (not a fixed price). Account-specific pricing and final settlement may differ.

NameRequiredDescriptionDefault
bodyNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare openWorldHint, non-idempotent, and destructive/readOnly=false, so the safety profile is largely covered by structured data and nothing here contradicts it. The description adds genuinely useful cost transparency via the usage-based billing note ($0.132 default estimate), but omits other material behaviors such as the required location/language pairing and the double-charge when include_clickstream_data is enabled.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two substantive sentences plus a pricing block, front-loaded with the core purpose and free of filler. The pricing banner is boilerplate but short and informative; the leading stray character is a minor formatting blemish.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be described, and the pricing note covers cost. Still missing for an agent to use it confidently are differentiation from the sibling keyword endpoints and confirmation of the location/language requirement, which the schema forces but the description never signals.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only one top-level parameter (body) exists, and the schema's nested property descriptions are extremely detailed, so the schema carries the parameter burden. The description adds just one hint ('seed keywords specified in a POST array'), which does not compensate for the reported 0% coverage at the top level nor mention the required keywords/location fields.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: it generates search terms ('keyword ideas') relevant to the categories of the seed keywords supplied. It explains the selection algorithm (same-category matching), which separates it conceptually from siblings. However, it never names or contrasts with the very similar siblings (post_dataforseo_labs_google_keyword_suggestions_live, post_dataforseo_labs_google_related_keywords_live), so an agent must infer the difference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use / when-not-to-use guidance and no mention of alternatives, despite a crowded sibling set of near-identical keyword-expansion endpoints. The description only says what the endpoint does, leaving the agent to guess which of the several keyword endpoints to select.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

post_dataforseo_labs_google_keyword_overview_liveKeyword OverviewB
Destructive
Inspect

‌‌  This endpoint provides Google keyword data for specified keywords. For each keyword, you will receive current cost-per-click, competition values for paid search, search volume, search intent, monthly searches, as well as SERP and backlink information. Additionally, you can obtain clickstream data, such as clickstream search volume, by specifying the include_clickstream_data parameter.

Usage-based billing; Default request estimate: $0.0254 USD (not a fixed price). Account-specific pricing and final settlement may differ.

NameRequiredDescriptionDefault
bodyNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=false, destructiveHint=true, and idempotentHint=false, yet the description neither explains that destructive framing nor notes auth/permission needs. It does add genuinely useful context not in the annotations: the ~$0.0254 default cost estimate and the doubling of price when include_clickstream_data is enabled.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two front-loaded sentences that lead with what data is returned, plus a clearly delimited pricing boilerplate block. No wasted prose, though the boilerplate is not the description's core job.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return-value detail is not required, and the tool is a single-parameter live query. However, the description omits the input constraint pairs the schema enforces (language_code/language_name and location_code/location_name are each required in some combination), which an agent needs to call it successfully.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The top-level recommended parameter 'body' has no description of its own (0% coverage per the signals), and the description adds only the include_clickstream_data behavior. The nested oneOf schema is in fact well documented, so the description neither compensates for nor detracts from the schema; a baseline 3 fits.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('provides') and resource ('Google keyword data for specified keywords') and enumerates the returned metrics (CPC, competition, search volume, search intent, monthly searches, SERP/backlink info). Clear enough to call, but it never distinguishes itself from sibling keyword tools such as keyword_ideas, keyword_suggestions, or google_search_intent.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance, no prerequisites, and no routing against the many sibling keyword endpoints. The only conditional hint is that clickstream data can be obtained by setting include_clickstream_data, which is a parameter note rather than usage guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

post_dataforseo_labs_google_keyword_suggestions_liveKeyword SuggestionsB
Destructive
Inspect

‌‌ The Keyword Suggestions endpoint provides search queries that include the specified seed keyword.

Usage-based billing; Default request estimate: $0.132 USD (not a fixed price). Account-specific pricing and final settlement may differ.

NameRequiredDescriptionDefault
bodyNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the safety profile (readOnlyHint=false, destructiveHint=true, idempotentHint=false, openWorldHint=true), so the description's main added value is the usage-based billing estimate ($0.132 default), which is genuinely useful behavioral context for a paid API call. It does not explain why the tool is flagged destructive, nor does it repeat or contradict that flag, so it neither contradicts nor enriches the annotation set further.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded in a single tight sentence, followed by a clearly delimited pricing block. Nothing is wasted, though the brevity edges toward under-specification given the tool's numerous siblings.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be described, and annotations cover the safety profile. What is missing is selection context: for a keyword-research endpoint sitting among roughly ten near-neighbor DataForSEO Labs tools, the agent gets no signal on when this one is preferred.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds nothing about parameters, but the reported 0% coverage reflects only the top-level 'body' property; the nested request fields (keyword, location_code, filters, order_by, include_clickstream_data, etc.) are documented in extensive detail inside the schema itself. Since the schema already carries the parameter semantics, the description adding nothing lands at the baseline rather than a penalty.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific deliverable ('search queries that include the specified seed keyword'), which is a real verb+resource and even disambiguates it semantically from related-keyword tools. It never names a sibling tool, however, so the agent must infer the boundary with tools like post_dataforseo_labs_google_related_keywords_live or post_dataforseo_labs_google_keyword_ideas_live on its own.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use statement, no when-not-to-use statement, and no mention of any alternative among the many keyword-research siblings. The only usage signal is implied by the name and the one-line definition.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

post_dataforseo_labs_google_related_keywords_liveRelated KeywordsB
Destructive
Inspect

The Related Keywords endpoint provides keywords appearing in the “Searches Related to” SERP element.   View the element. You can get up to 4680 keyword ideas by specifying the search depth. Each related keyword comes with the list of relevant product categories, search volume rate for the last month, search volume trend for the previous 12 months, as well as current cost-per-click and competition values.

Usage-based billing; Default request estimate: $0.0156 USD (not a fixed price). Account-specific pricing and final settlement may differ.

NameRequiredDescriptionDefault
bodyNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the operational profile (openWorld, destructive, non-idempotent, non-readOnly), so the bar is lower. The description usefully adds cost context (default $0.0156 estimate, usage-based billing) and enumerates the returned fields (product categories, search volume, trend, CPC, competition). It does not explain why a data-retrieval endpoint carries destructiveHint=true, leaving a mild inconsistency unaddressed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded in the first sentence, and the bounded pricing block is clearly delimited. The orphaned fragment 'View the element.' is a leftover artifact that earns nothing, but overall the text is tight and appropriately sized.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Because an output schema exists, return values need not be explained, and cost is covered. However, the description omits usage routing against sibling keyword tools and any mention of the location/language requirement, leaving gaps for an agent selecting and invoking this among ~60 siblings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Reported top-level schema coverage is 0%, but the sole top-level parameter ('body') embeds a nested schema that richly documents keyword, depth, limit, filters, and location/language fields. The description adds the 'search depth' concept and the 4680-keyword ceiling, overlapping what the nested schema already states, but does not surface the required location/language selection constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb+resource ('The Related Keywords endpoint provides keywords') and identifies the data source ('Searches Related to' SERP element), which separates it from sibling keyword tools like keyword_ideas or keyword_suggestions. It does not explicitly name those siblings, but the source-of-data framing makes the purpose distinguishable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance and no routing against the many sibling keyword endpoints (keyword_ideas, keyword_suggestions, keyword_overview). The description describes the endpoint's output but never states the condition under which an agent should prefer it over those alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

post_dataforseo_labs_google_relevant_pages_liveRelevant PagesD
Destructive
Inspect

‌

Usage-based billing; Default request estimate: $0.015 USD (not a fixed price). Account-specific pricing and final settlement may differ.

NameRequiredDescriptionDefault
bodyNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

D1.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare openWorldHint=true, destructiveHint=true, non-idempotent, non-readOnly, so safety is covered structurally. The description's only added value is a billing estimate ($0.015 default, not fixed, account-specific), which is genuinely useful cost context. Beyond that it discloses nothing about what the call does, its latency, or what data it returns.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is short, but the content is boilerplate billing HTML-comment scaffolding plus a stray zero-width character. Brevity here reflects missing content rather than efficient editing, so it cannot earn a conciseness credit.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values needn't be described, but for a paid, open-world DataForSEO Labs endpoint with a rich filter/target body, the description omits purpose, usage, and parameter semantics entirely. It is nowhere near complete enough for an agent to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has one parameter ('body') with a reported 0% schema description coverage at the top level. The description contributes zero information about parameters, targets, filters, or the required 'target' domain field, leaving the agent to reverse-engineer everything from the nested schema alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description contains no statement of what the tool does at all — it is a pricing note (

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance whatsoever on when to use this tool versus the many sibling labs endpoints (e.g. google_domain_rank_overview, google_serp_competitors, google_subdomains). Usage must be inferred entirely from the tool name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

post_dataforseo_labs_google_search_intent_liveSearch IntentB
Destructive
Inspect

‌ This endpoint will provide you with search intent data for up to 1,000 keywords. For each keyword that you specify when setting a task, the API will return the keyword’s search intent and intent probability. Besides the highest probable search intent, the results will also provide you with other likely search intent(s) and their probability.

Usage-based billing; Default request estimate: $0.0073 USD (not a fixed price). Account-specific pricing and final settlement may differ.

NameRequiredDescriptionDefault
bodyNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=false, destructiveHint=true, idempotentHint=false and openWorldHint=true, so the safety profile is already carried structurally. The description adds genuinely decision-relevant context beyond that: per-request usage-based cost (~$0.0073) and variable account pricing, which matters for a billed live call. It does not, however, explain the non-idempotent/destructive annotation, leaving a mild unexplained tension with the 'provide you with data' framing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One tight sentence covering the operation, the per-keyword granularity, and the result shape, followed by a pricing block. There is a stray leading whitespace character and the billing banner is boilerplate, but the core content is front-loaded and waste is minimal.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained, and the description does state the input ceiling and cost. What remains missing for a live, paid, non-idempotent endpoint is any routing guidance against the many sibling keyword endpoints and any note on batching or latency behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Top-level schema description coverage is 0% (the single body parameter is undocumented), but the nested properties for 'keywords' and 'tag' carry rich descriptions, and the description restates the meaningful constraint that up to 1,000 keywords are accepted. It adds little else — requiredness, lowercasing, and encoding come only from the schema. Baseline 3 given one parameter with schema-side detail.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: obtain search intent data (intent + probability, plus secondary intents) for up to 1,000 keywords. This is distinguishable from sibling Labs endpoints like keyword_overview or keyword_ideas by subject matter, though the description never names or contrasts itself against those alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance: no statement of when search-intent classification is the right choice versus keyword_volume, keyword_suggestions, or the AI keyword tools in the sibling list. The only usage-adjacent information is the 1,000-keyword input cap, which is a limit rather than a selection criterion.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

post_dataforseo_labs_google_serp_competitors_liveSERP CompetitorsC
Destructive
Inspect

‌ This endpoint will provide you with a list of domains ranking for the keywords you specify. You will also get SERP rankings, rating, estimated traffic volume, and visibility values the provided domains gain from the specified keywords.

Usage-based billing; Default request estimate: $0.0192 USD (not a fixed price). Account-specific pricing and final settlement may differ.

NameRequiredDescriptionDefault
bodyNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.5/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description frames this purely as a data-retrieval call ('will provide you with a list of domains'), yet the annotations declare readOnlyHint=false and destructiveHint=true. A reader who trusts the description would not expect a destructive operation, producing an inconsistent behavioral picture. The only genuine value-add is the pricing note ($0.0192 default estimate, usage-based billing), which is useful but does not resolve the read/write mismatch.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two substantive sentences, front-loaded with the endpoint's purpose and output metrics, followed by a clearly demarcated pricing block. It is well sized with little waste; the stray zero-width character and the HTML-comment wrapper are minor noise but do not impede comprehension.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need no explanation. However, this endpoint's real complexity lives in the body object's fields (required language/location pair, keyword rules and limits, filter/order_by syntax), none of which the description addresses. For a payload with that many conditional requirements, the description leaves an agent under-informed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The reported schema description coverage is 0% for the single top-level 'body' parameter, and the wrapper is an opaque array of objects that the description never explains. The description only echoes that keywords are the input, adding no syntax, format, or requirement detail (e.g., language/location pair requirement, 200-keyword cap, filter/order_by structure) beyond what the schema itself says.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: it returns 'a list of domains ranking for the keywords you specify,' along with the metrics (SERP rankings, rating, estimated traffic, visibility) those domains gain. That is a clear, self-contained statement of what a SERP-competitors endpoint does. It never names or contrasts itself against siblings like get_semrush_organic_competitors or post_dataforseo_backlinks_competitors_live, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use, when-not-to-use, or alternative-tool guidance anywhere in the description. With several near-neighbor competitor tools in the sibling list (SEMrush organic competitors, DataForSEO backlinks competitors), an agent has no signal to route between them.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

post_dataforseo_labs_google_subdomains_liveSubdomainsB
Destructive
Inspect

‌‌ This endpoint will provide you with a list of subdomains of the specified domain, along with the ranking distribution across organic and paid search. In addition to that, you will also get the estimated traffic volume of subdomains based on search volume and impressions.

Usage-based billing; Default request estimate: $0.1356 USD (not a fixed price). Account-specific pricing and final settlement may differ.

NameRequiredDescriptionDefault
bodyNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare openWorldHint, destructiveHint=true, readOnlyHint=false and non-idempotence, so the safety profile is largely carried by structured data. The description adds genuinely useful behavioral context by disclosing usage-based billing and a $0.1356 default estimate, which explains the cost aspect. It does not cover auth requirements, rate limits, or why the annotation marks it destructive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two focused sentences front-load the purpose and output before the injected pricing block. Every sentence earns its place, though the boilerplate pricing marker is not part of the tool's own authoring.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be described, and annotations cover safety. However, for the sole input parameter the description offers no formatting guidance, and it omits any when-to-use context against the crowded domain-oriented sibling set, leaving noticeable gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is reported as 0% at the top level (the single 'body' parameter is undocumented), so the description should compensate. It only implies a domain target via 'the specified domain' and gives no format guidance (e.g. no https:// or www. prefix), leaving the required 'target' field to the nested schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'provide you with a list of subdomains of the specified domain' plus the ranking and traffic distribution returned. The scope is distinct from most siblings, though it never names a sibling to contrast against (e.g. domain_rank_overview or relevant_pages), so differentiation is implicit rather than explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No statement of when to use this endpoint versus alternatives. With many sibling Labs endpoints that also take a domain (domain_rank_overview, relevant_pages, serp_competitors), the agent gets no signal about which domain-oriented tool fits which question. Usage context is only loosely implied by the output described.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

post_dataforseo_on_page_duplicate_contentOnPage API Duplicate ContentC
Destructive
Inspect

‌‌ This endpoint returns a list of pages that have content similar to the page specified in the request. The response also contains data related to page performance and the similarity index that indicates how similar the compared pages are.

Usage-based billing; Default request estimate: $0.012 USD (not a fixed price). Account-specific pricing and final settlement may differ.

NameRequiredDescriptionDefault
bodyNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=false and destructiveHint=true, but the description frames this purely as a read ('returns a list of pages'), which undersells that it creates a billable task. The pricing note (usage-based, ~$0.012 default) is a genuinely useful behavioral disclosure beyond the annotations, but asynchronous task-creation semantics, non-idempotency, and authorization needs are never mentioned.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences with the core behavior front-loaded, followed by a clear billing note. No redundancy or padding, though the pricing boilerplate is not tool-specific.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained, but for a task-initiating paid endpoint the description omits the dependency on a prior submit call and the task id, and gives no sense of asynchronous completion. An agent could not call this correctly from the description alone.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is reported at 0% for the top-level `body` property, so the description bears the burden of compensating and does not: it mentions no fields at all (id, url, limit, offset, similarity threshold, tag). The schema's nested descriptions do carry some of this, but the description itself adds no parameter meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Uses a specific verb+resource: returns pages with content similar to a specified page, plus similarity index and performance data. This clearly separates it from siblings like post_dataforseo_on_page_duplicate_tags or keyword_density. It stops short of naming an alternative or scoping condition, so it is clear but not sibling-differentiating.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance, no prerequisites, and no mention of alternatives. Critically, it never says the required task `id` must come from the Task POST (submit) endpoint first, nor when to choose this over the other OnPage endpoints.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

post_dataforseo_on_page_lighthouse_live_jsonLive OnPage Lighthouse JSONC
Destructive
Inspect

‌The OnPage Lighthouse API is based on Google’s open-source Lighthouse project for measuring the quality of web pages and web apps.

Usage-based billing; Default request estimate: $0.005 USD (not a fixed price). Account-specific pricing and final settlement may differ.

NameRequiredDescriptionDefault
bodyNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, readOnlyHint=false, openWorldHint=true and idempotentHint=false, so the safety profile is covered structurally. The description adds only a usage-based billing note ($0.005 estimate) — useful cost context, but templated, and it never explains the destructive marker, the live/real-time nature of the call, or that a target URL is mandatory. Given annotations carry the safety burden, this is thin but not contradictory.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, appropriately short, with the functional statement front-loaded. The second half is boilerplate pricing markup that provides some value but is generic across the API surface rather than tailored to this tool, so it doesn't fully earn its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a live, billed, non-idempotent POST whose request object contains ~14 optional tuning fields, the description is far too thin. The output schema means return values need not be explained, but the description omits the required URL, the live-audit semantics, and any indication of what distinguishes this endpoint from its many OnPage siblings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single top-level 'body' parameter has no description in the schema (coverage reported at 0%) and the tool description supplies nothing about it. Although the nested property schemas are individually rich, the description does not compensate for the top-level gap — the agent gets no statement that body is an array of request objects requiring an absolute 'url'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description identifies the underlying technology (Google's open-source Lighthouse project) and the general subject ('measuring the quality of web pages and web apps'), but it never states the tool's action on a concrete resource — no mention that it runs a live Lighthouse audit against a supplied URL. It also offers no differentiation from siblings like post_dataforseo_on_page_submit or get_dataforseo_on_page_lighthouse_audits, leaving the agent to infer the purpose from the name alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no conditions, and no named alternative. The agent is not told when a live Lighthouse run is preferable to the summary, content parsing, or other OnPage POST siblings, nor when this should be avoided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

post_dataforseo_on_page_linksLinksC
Destructive
Inspect

‌‌ This endpoint will provide you with a list of internal and external links detected on a target website. The following link types are supported: anchor – links that point to a specific portion of a webpage; image – links that point to an image; canonical – links that point to a canonical page; meta – links with meta http-equiv=refresh ; alternate – links with link rel="alternate" pointing to an alternative version of a webpage ; redirect – links with redirect status.

Usage-based billing; Default request estimate: $0.012 USD (not a fixed price). Account-specific pricing and final settlement may differ.

NameRequiredDescriptionDefault
bodyNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses billing behavior (usage-based, ~$0.012 estimate), which is genuinely useful context beyond the annotations. However, it never explains side effects, the task-based retrieval flow, or why a POST with destructiveHint=true is being used to fetch links; the retrieval framing sits uneasily with destructiveHint=true, though the description never explicitly asserts read-only semantics, so this reads as tension rather than a hard contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose is front-loaded in the first sentence, and the taxonomy of link types is compact and scannable. The bulk pricing comment block is boilerplate rather than authored content, and the six link-type definitions are arguably response-content detail that an agent doesn't strictly need to invoke the tool, keeping this just short of a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be described, and the description covers what the tool returns. What is missing for a correct call is the workflow prerequisite (task submission producing the id) and any guidance on pagination via limit/offset/search_after_token. Adequate but with clear gaps for a task-scoped retrieval endpoint.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description contributes nothing about parameters such as body.id, limit, offset, filters, page_from/page_to, or search_after_token. The nested schema property descriptions are unusually thorough (defaults, max values, filter syntax, examples), so the schema carries the full load and the baseline of 3 applies; the top-level body property itself is undocumented in both places.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: it returns a list of internal and external links detected on a target website, and enumerates the six supported link types. An agent can distinguish it from siblings like post_dataforseo_on_page_content_parsing or post_dataforseo_on_page_duplicate_tags by resource. It does not, however, differentiate itself explicitly against neighboring link-adjacent tools such as resources or uncrawlable_resources.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use or when-not-to-use guidance, no mention of alternatives, and no prerequisites. Critically, it never states that the required task id must come from a prior Task POST / submit call, which is the single most important invocation condition for this endpoint. The link-type list describes output content, not usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

post_dataforseo_on_page_non_indexableOnPage API Non-indexable PagesC
Destructive
Inspect

‌‌ This endpoint returns a list of pages that are blocked from being indexed by Google and other search engines through robots.txt, HTTP headers, or meta tags settings.

Usage-based billing; Default request estimate: $0.012 USD (not a fixed price). Account-specific pricing and final settlement may differ.

NameRequiredDescriptionDefault
bodyNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.6/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description frames the tool as a pure retrieval ('returns a list of pages'), which signals a safe read, while the annotations declare readOnlyHint=false and destructiveHint=true. These send conflicting signals about the operation's safety profile, so the description contradicts rather than complements the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core sentence is a single, front-loaded statement of purpose with no wasted words, and it leads with the resource rather than burying it. It is slightly diluted by a leading invisible-character artifact and the boilerplate pricing block, but the substantive content is tight.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be described. However, for a task-ID-driven retrieval endpoint, the description omits the prerequisite and any parameter guidance, and its retrieval framing sits awkwardly against a destructive annotation — leaving an agent with an incomplete picture even if the minimum viable purpose statement is present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is reported at 0% for the sole top-level parameter (body), and the description supplies no parameter meaning whatsoever — no mention of the required task id, limit/offset paging, or the filters array. Nested items in the schema do carry documentation, but the description itself compensates for none of the gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb and resource — it 'returns a list of pages that are blocked from being indexed' — and even enumerates the blocking mechanisms (robots.txt, HTTP headers, meta tags). This clearly separates it in concept from the other post_dataforseo_on_page_* siblings (raw_html, links, duplicate_tags, etc.), though it never names an alternative explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use or when-not-to-use guidance. Critically, it does not mention the prerequisite that a task ID from the Task POST endpoint must be supplied, nor when this retrieval endpoint should be preferred over siblings like uncrawlable_resources or summary. The only contextual content is a billing note, not usage direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

post_dataforseo_on_page_submitSetting OnPage TasksC
Destructive
Inspect

‌ OnPage API checks websites for 60+ customizable on-page parameters defines and displays all found flaws and opportunities for optimization so that you can easily fix them. It checks meta tags, duplicate content, image tags, response codes, and other parameters on every page. You can find the full list of OnPage API check-up parameters in the Pages section.

Usage-based billing; Default request estimate: $0.003 USD (not a fixed price). Account-specific pricing and final settlement may differ.

NameRequiredDescriptionDefault
bodyNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the safety profile (readOnlyHint=false, destructiveHint=true, openWorldHint=true, idempotentHint=false), so the description does not need to restate that this mutates/creates something. It does add genuinely useful context by disclosing usage-based billing with a $0.003 default estimate, but it omits the operational traits that matter most here: that the task is queued asynchronously, that it returns an id/tag to poll, and that per-parameter features (load_resources, enable_javascript, enable_browser_rendering) carry extra charges.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The text is short and front-loaded with no padding, and the billing note is clearly delimited. However, the opening two sentences are generic API marketing copy that does not earn its place against the tool's actual job of submitting a task, so brevity comes at the cost of relevance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a complex task-submission tool with a very large nested schema and an output schema (so return values need not be explained). The description still leaves the essentials unstated: that submitting queues an asynchronous job, how to track it (tag/pingback_url), and that downstream on_page endpoints consume the results. For a task-creation endpoint, that is a significant omission.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single top-level `body` parameter carries 0% description coverage, and the description says nothing about it — no mention that `target` and `max_crawl_pages` are the meaningful required inputs, no hint about the array-of-task-object shape, no guidance on which of the ~45 crawl options matter. The nested schema is extremely detailed, but per the low-coverage rule the description is expected to compensate and does not.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explains what the OnPage API family does ('checks websites for 60+ customizable on-page parameters') but never states what this specific tool does — that it submits/creates an asynchronous crawl task. The verb 'submit' appears only in the tool name, and nothing distinguishes it from the ~15 sibling post_dataforseo_on_page_* endpoints that operate on the results of this task.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance is given. It does not say this is the entry point that must run before post_dataforseo_on_page_raw_html, post_dataforseo_on_page_keyword_density, post_dataforseo_on_page_summary, etc., nor does it point to the 'live Instant Pages endpoint' or any alternative the way a routing-aware description would.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

post_dataforseo_serp_ai_summarySERP API AI SummaryA
Destructive
Inspect

‌‌ The purpose of the Live SERP API AI Summary endpoint is to provide a summary of the content found on any SERP and generate a response based on the user’s specified prompt. To obtain results, you have to specify task_id, which you can find in the response to the POST request. Learn more in our Help Center.

Usage-based billing; Default request estimate: $0.02 USD (not a fixed price). Account-specific pricing and final settlement may differ.

NameRequiredDescriptionDefault
bodyNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare openWorldHint, non-idempotency and destructiveHint, so the safety bar is lower. The description adds genuinely useful context beyond them: usage-based billing with a ~$0.02 request estimate, the fact that results depend on a prior POST, and the 30-day task_id validity window. It does not explain why a summarization call is flagged destructive or what resources are consumed, which is a notable omission given that surprising annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two core sentences are front-loaded and free of filler, with pricing isolated in a clearly marked block. Minor noise remains: a leading zero-width character, raw HTML comment markers, and a 'Learn more in our Help Center' pointer with no actual link.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained, and cost plus the task_id prerequisite are covered. However, the body is an array of task objects, implying multiple tasks can be submitted in one call, and the description speaks only of a singular task_id; it also omits the optional toggles that materially change the summary, leaving the agent under-informed about how to call it fully.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Top-level schema description coverage is 0% (the only top-level property is the undescribed 'body' array), so the description should compensate, but it only restates the task_id requirement already documented in the nested schema and says nothing about prompt, fetch_content, include_links, or support_extra. It also asserts task_id is mandatory while the schema marks no required fields, leaving an unresolved ambiguity.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: it summarizes SERP content and generates a response driven by a user prompt, which is clearly distinguishable from raw SERP retrieval tools like post_dataforseo_serp_google_organic_live. It does not, however, differentiate itself from the closest siblings (post_dataforseo_content_summary_live, post_dataforseo_serp_google_ai_mode_live), so an agent must still guess which summarizer applies.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives one real prerequisite: a task_id must be taken from a prior POST response before this endpoint can return anything. It offers no when-to-use vs. when-not guidance and never names an alternative sibling summarizer or SERP endpoint, so routing between the many SERP tools is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

post_dataforseo_serp_bing_organic_liveLive Bing Organic SERP AdvancedB
Destructive
Inspect

Live SERP provides real-time data on top 100 search engine results for the specified keyword, search engine, and location. This endpoint will supply a complete overview of featured snippets and other extra elements of SERPs.

Usage-based billing; Default request estimate: $0.002 USD (not a fixed price). Account-specific pricing and final settlement may differ.

NameRequiredDescriptionDefault
bodyNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the operational profile (readOnlyHint=false, destructiveHint=true, openWorldHint=true, idempotentHint=false), so the description's burden is lighter. It usefully adds cost context ('Usage-based billing; Default request estimate: $0.002 USD'), but it neither explains the per-SERP/per-depth billing model nor reconciles the read-style 'provides real-time data' framing with the destructive annotation. It also claims 'top 100 results' while the schema's default depth is 10, which is potentially misleading.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two front-loaded sentences state the purpose and the extra-element coverage, with the pricing note appended as a clearly delimited boilerplate block. No filler sentences, though the generic 'search engine' phrasing wastes the chance to say 'Bing'.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained, and the schema is richly annotated. Still, for a 15-field advanced SERP endpoint the description omits the Bing specificity, the live/billing implications, and how it relates to the other SERP siblings, leaving the agent to infer routing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds no parameter detail beyond restating keyword/search-engine/location. However, the nested body schema itself documents nearly every field in depth (depth, device, os, target, match_type, location_coordinate, billing caveats), so the schema carries the semantics and a baseline 3 is appropriate; the description contributes nothing here.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a concrete verb+resource: 'provides real-time data on top 100 search engine results for the specified keyword, search engine, and location,' and adds the featured-snippet scope. It never names Bing and doesn't distinguish itself from the many sibling organic SERP tools (Google organic live, YouTube organic live, AI mode), so sibling differentiation is left to the tool name alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to choose this endpoint over alternatives such as post_dataforseo_serp_google_organic_live or the youtube/ai-mode variants. No prerequisites, no exclusion conditions, and no guidance on the live-vs-task model are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

post_dataforseo_serp_google_ai_mode_liveLive Google AI Mode SERPB
Destructive
Inspect

‌‌ Google AI Mode SERP API provides search results from the AI Mode feature of Google Search.

Usage-based billing; Default request estimate: $0.004 USD (not a fixed price). Account-specific pricing and final settlement may differ.

NameRequiredDescriptionDefault
bodyNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare openWorldHint, destructiveHint, non-idempotent and non-read-only, so the safety profile is covered. The description adds useful billing context ($0.004 estimate, usage-based) but says nothing about latency, rate limits, or that calculate_rectangles doubles the charge (that detail lives only in the schema).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short, front-loaded sentences that state purpose then cost. Efficient and free of padding, though leading zero-width characters are noise and the pricing block is boilerplate.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return-value explanation is unnecessary, and annotations cover the behavior profile. For a one-parameter batch-search endpoint with a richly documented body schema, purpose plus billing is a complete-enough frame.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool's single top-level 'body' parameter has no description here, and the description adds no parameter guidance. However, the nested request-object properties carry extremely detailed schema descriptions (keyword rules, location/language exclusivity, device defaults), so effective parameter semantics are strong even if the prose contributes nothing.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: it returns search results from Google's AI Mode SERP feature. This distinguishes it from sibling SERP tools by naming the exact Google surface, though it never explicitly contrasts with nearby alternatives like post_dataforseo_serp_ai_summary or post_dataforseo_serp_google_organic_live.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no when-to-use context, no prerequisites, and no routing against the many other SERP/AI siblings. An agent is left to infer when AI Mode results are the right choice versus ai_summary or google_organic_live.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

post_dataforseo_serp_google_autocomplete_liveLive Google Autocomplete AdvancedC
Destructive
Inspect

‌‌ Google Autocomplete is a feature within Google Search that improves the search experience by allowing users to complete searches they started to type. DataForSEO SERP API will provide you with all the suggestions Google Autocomplete offers for a particular keyword, the position of the cursor pointer, and the search client.

Usage-based billing; Default request estimate: $0.02 USD (not a fixed price). Account-specific pricing and final settlement may differ.

NameRequiredDescriptionDefault
bodyNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the safety profile (readOnly=false, destructive=true, openWorld=true, idempotent=false), so the bar is lower. The description adds a useful cost disclosure ('Usage-based billing; Default request estimate: $0.02 USD') and notes that autocomplete output varies by client, but offers no auth, rate-limit, or response-shape context. Note the annotations label this data-retrieval tool as destructive/non-readOnly, which the description neither supports nor contradicts.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short, but its lead sentence is a generic definition of Google Autocomplete rather than a tool-specific action, and the injected pricing HTML comment breaks the flow. Some sentences do not earn their place relative to the tool's actual contract.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained. For a single-parameter, multi-field data-fetch tool the description covers the concept but omits usage conditions, parameter meaning, and any sibling disambiguation, leaving it only partially complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Top-level schema description coverage is 0%, so per the rules the description should compensate for parameter meaning, which it does not — it names no parameters. The nested body schema does carry detailed enum and format notes (client values, keyword encoding rules, cursor_pointer examples), but that value lives in the schema, not the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explains that Google Autocomplete completes typed searches and that the API returns suggestions, cursor pointer position, and search client, so the resource is identifiable. However, it reads as a general explainer of the autocomplete feature rather than a specific statement of what this tool does, and it never distinguishes itself from the many sibling SERP tools (google_organic_live, google_maps_live, etc.).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no prerequisites, and no alternatives named. The text describes the feature itself rather than the conditions under which an agent should pick this tool over another SERP or keyword-suggestion sibling.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

post_dataforseo_serp_google_local_finder_liveLive Google Local Finder SERPB
Destructive
Inspect

‌‌ Live Google Local_finder SERP provides real-time search engine results for the specified keyword and location.

Usage-based billing; Default request estimate: $0.02 USD (not a fixed price). Account-specific pricing and final settlement may differ.

NameRequiredDescriptionDefault
bodyNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare openWorldHint=true, idempotentHint=false, and destructiveHint=true, so the safety/behavior profile is largely structured. The description adds genuinely useful cost context (usage-based billing, ~$0.02 estimate, non-fixed price), which is behavioral value beyond the schema. It does not address the odd tension between a live retrieval tool and the destructive/non-readOnly annotations, but it does not explicitly assert read-only either, so this is a gap rather than a contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose sentence is front-loaded and concise, and the billing note is compact. Minor noise: leading zero-width characters and an HTML-comment pricing block add clutter without carrying agent-relevant content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained, and annotations carry the safety profile; the description therefore covers purpose plus cost. What remains missing is sibling differentiation against the many other SERP tools, which an agent needs to invoke the correct one.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Top-level schema description coverage is reported at 0% for the single body parameter, so nominally the description should compensate. It only vaguely references "keyword and location," adding no syntax, defaults, or constraints. Mitigating this, the nested body schema actually documents keyword, language_code, location_code, device, depth, and priority in rich detail, so the effective documentation burden is lighter than the 0% figure suggests.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ("provides real-time search engine results") scoped to keyword and location for the Google Local Finder SERP. Clear on its own, but does not differentiate it from close siblings such as post_dataforseo_serp_google_maps_live or post_dataforseo_serp_google_organic_live, so an agent cannot easily tell which local-SERP variant to pick.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description only restates the input scope ("for the specified keyword and location") and gives no when-to-use, when-not-to-use, or alternative guidance. With several overlapping SERP siblings in the toolset, the absence of routing guidance is a real gap.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

post_dataforseo_serp_google_maps_liveLive Google Maps SERPB
Destructive
Inspect

‌‌ Live Google Maps SERP provides real-time data on top 100 search engine results for the specified keyword, search engine, and location.

Usage-based billing; Default request estimate: $0.002 USD (not a fixed price). Account-specific pricing and final settlement may differ.

NameRequiredDescriptionDefault
bodyNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the safety profile (readOnlyHint=false, destructiveHint=true, openWorldHint=true). The description adds genuinely useful context the annotations lack: usage-based billing with a $0.002 default request estimate and the caveat that settlement may differ. It does not explain auth needs or rate limits, and does not reconcile the surprising destructiveHint=true.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded one-sentence purpose followed by a compact pricing note. The HTML-comment pricing block is boilerplate but short and relevant to a billed API call; no wasted prose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need no explanation, and the schema documents the nested request fields thoroughly. What remains missing is usage routing against the many SERP siblings and any note on the surprising destructive annotation — adequate but with clear gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Top-level schema coverage is 0% for the single 'body' param, but the nested field descriptions inside the schema are extremely rich (device, depth, location_code, search_places, etc.). The description adds only a high-level pointer (keyword, search engine, location) and no field-level syntax, so it neither compensates nor detracts.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb (provides real-time data) and resource (top 100 Google Maps SERP results) with scope bounded by keyword, search engine, and location. It distinguishes itself from the many other SERP siblings by naming Google Maps specifically, though it never names an alternative tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use or when-not-to-use guidance. With siblings like post_dataforseo_serp_google_local_finder_live and post_dataforseo_serp_google_organic_live in the list, the agent gets no help deciding which SERP endpoint fits a given intent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

post_dataforseo_serp_google_news_liveLive Google News SERPC
Destructive
Inspect

‌‌ Live Google News SERP provides real-time data on top search engine results for the specified keyword, search engine, and location.

Usage-based billing; Default request estimate: $0.02 USD (not a fixed price). Account-specific pricing and final settlement may differ.

NameRequiredDescriptionDefault
bodyNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already carry the safety profile (readOnlyHint false, destructiveHint true, openWorldHint true, non-idempotent), and the description adds only a generic templated billing estimate ($0.02). It never addresses the confusing part of the annotations — it reads like a passive data-retrieval call but is flagged destructive/non-read-only, and the description does nothing to clarify what side effects or prerequisites actually exist. No auth, rate-limit, or rollback context is given.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One front-loaded sentence states the purpose immediately, followed by a compact pricing block. There is little waste, though the injected pricing marker is boilerplate rather than tool-specific guidance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained, and the nested schema documents the arguments. What is missing for a billing-charged live SERP endpoint is usage context — required credentials, cost multipliers (depth >10, calculate_rectangles), and how to choose it over sibling SERP tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single top-level 'body' parameter has no description (metric reports 0% coverage), and the description does not explain that the body is an array wrapping one object, which is a genuine invocation hazard. It does name keyword/search engine/location, which hints at the core fields, and the nested schema fields are documented richly, so the schema largely carries the load — a baseline 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific resource (Live Google News SERP results) and scope (real-time, for a keyword, search engine, and location), which is clear enough to distinguish it from a generic search tool. It does not, however, differentiate itself from the numerous SERP siblings (google_organic_live, bing_organic_live, google_maps_live, youtube_organic_live, google_autocomplete_live), so an agent must rely on the tool name alone to pick the right one.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit when-to-use or when-not-to-use guidance, and no alternative sibling is named. The closest thing to routing is the word 'News' in the title, which is not reinforced or contrasted with the other SERP endpoints in the description. Usage is only implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

post_dataforseo_serp_google_organic_liveLive Google Organic SERP AdvancedB
Destructive
Inspect

Live SERP provides real-time data on top search engine results for the specified keyword, search engine, and location. This endpoint will supply a complete overview of featured snippets and other extra elements of SERPs. for more info please visit 'https://docs.dataforseo.com/v3/serp/google/organic/live/advanced/?bash'

Usage-based billing; Default request estimate: $0.0175 USD (not a fixed price). Account-specific pricing and final settlement may differ.

NameRequiredDescriptionDefault
bodyNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description surfaces the billing model (usage-based, default estimate $0.0175 per request), which is useful context that the annotations do not convey and partially explains the destructiveHint=true / readOnlyHint=false flags on what is otherwise a data-fetch call. It does not disclose rate limits, whether the call is synchronous 'live' versus queued, or that charges scale with depth/pages; with annotations present, the bar is lower, so this is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose is front-loaded in the first sentence, followed by one sentence on the advanced SERP extras, a docs link, and a short billing block. Nothing is bloated, though the boilerplate pricing block and the raw docs URL consume space without adding agent-facing value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values need not be explained, and annotations cover the safety profile, so the description is not obliged to do more there. The remaining gap is family-level routing: for a tool sitting among a dozen SERP siblings, the definition never says when this endpoint is the right pick, leaving the agent to infer from the name.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The reported schema description coverage is 0% at the top level (the single 'body' parameter carries no description), but the nested property schema itself documents each field (keyword, depth, location_code, stop_crawl_on_match, calculate_rectangles, etc.) in detail, so the parameters are documented somewhere. The description adds no parameter-level meaning of its own, neither syntax nor defaults, so it earns only the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a concrete verb and resource: it returns real-time top search engine results for a given keyword, engine and location, and calls out featured snippets plus other SERP extras. It is clear about what the tool does, but it never names Google specifically nor distinguishes itself from the many sibling SERP endpoints (bing_organic, youtube_organic, google_ai_mode, google_local_finder), so differentiation relies on the tool name alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance and no alternatives are named. An agent choosing between this and post_dataforseo_serp_bing_organic_live, post_dataforseo_serp_google_ai_mode_live, or the non-live/queued variants gets no routing signal from the description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

post_dataforseo_serp_youtube_organic_liveLive YouTube Organic AdvancedB
Destructive
Inspect

Live SERP provides real-time data on the top 20 blocks of YouTube search engine results. These results are specific to the selected location (see the List of Locations) and language (see the List of Languages) settings. for more info please visit 'https://docs.dataforseo.com/v3/serp/youtube/organic/live/advanced/'

Usage-based billing; Default request estimate: $0.002 USD (not a fixed price). Account-specific pricing and final settlement may differ.

NameRequiredDescriptionDefault
bodyNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations (readOnlyHint=false, destructiveHint=true, idempotentHint=false) are counterintuitive for a data-retrieval endpoint, and the description does not reconcile that tension or mention auth or rate limits. It does add genuinely useful behavioral context the annotations lack: the request is billed per call at roughly $0.002 USD, and higher block_depth may incur extra charges.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core capability is stated in the first sentence, followed by a docs link and a clearly delimited pricing block. It is compact and front-loaded, with only mild boilerplate in the trailing URL and billing lines.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be described, and the description covers purpose, location/language dependence, and cost. However, for a paid, multi-field live SERP call it omits which fields are required and when to use it versus the other SERP/social siblings, leaving real gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description generically notes that results are specific to the selected location and language settings, mirroring location_code/language_code, but adds no syntax, defaults, or constraints beyond the schema. The nested field descriptions (os, device, block_depth, keyword encoding rules) already carry that load, so the description contributes little parameter meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource: it 'provides real-time data on the top 20 blocks of YouTube search engine results', scoped to live SERP with location/language targeting. That is enough to distinguish it from a generic search sibling like get_youtube_search, though it never names an alternative explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to choose this live endpoint over a batch/standard SERP tool, nor any stated prerequisites even though the nested schema marks keyword, and one of location/language, as required. The reader is only told what the results depend on, not when this tool is the right pick.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

useRun an AIsa operationC
Destructive
Inspect

deprecated, use batch_use instead

NameRequiredDescriptionDefault
argumentsNoArguments matching input_schema / arguments_schema
search_idNosearch_id from the search that found this operation
operation_idYesoperation_id as returned by search
max_price_usdNoRefuse the call before any spend if its quoted price is above this many USD

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, destructiveHint=true, and openWorldHint=true, so the agent knows this is a state-changing, open-world operation. The description adds only the deprecation status and says nothing about what gets mutated, spend behavior (despite a max_price_usd param), or authorization needs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single clause with zero waste; the deprecation notice and the replacement are front-loaded. It is terse by design for a deprecated endpoint, though it is under-specified rather than optimally efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Has an output schema and annotations, which reduces the burden, but a 4-parameter operation tool with a deprecation notice gives no information about what it executes or whether it remains functional. For an agent deciding between this and batch_use, the description is thin.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all four parameters (operation_id, arguments, search_id, max_price_usd) are already documented in the schema. The description adds no parameter meaning on top, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description never states what the tool does — no verb or resource. It only labels the tool as deprecated and points to a replacement, leaving the actual capability ('Run an AIsa operation' from the title) unexplained. An agent must infer the purpose from the title and schema alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly routes the agent to the alternative ('use batch_use instead'), which is exactly the guidance needed for a deprecated tool. It doesn't explain when, if ever, this tool should still be called (e.g., during a migration window), so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 48 tool updates
    • Addedaccount
    • Removedget_details
    • Changedpost_dataforseo_ai_chat_gpt_llm_responses_live1 field changed
      • changedInput schema / properties / body / items / oneOf
        Previous value: -[
        -  {
        -    "example": [
        -      {
        -        "max_output_tokens": 200,
        -        "message_chain": [
        -          {
        -            "message": "Hello, what’s up?",
        -            "role": "user"
        -          },
        -          {
        -            "message": "Hello! I’m doing well, thank you. How can I assist you today? Are there any specific topics or projects you’d like to discuss in our meeting?",
        -            "role": "ai"
        -          }
        -        ],
        -        "model_name": "gpt-4.1-mini",
        -        "system_message": "communicate as if we are in a business meeting",
        -        "temperature": 0.3,
        -        "top_p": 0.5,
        -        "user_prompt": "provide information on how relevant the amusement park business is in France now",
        -        "web_search": true,
        -        "web_search_city": "Paris",
        -        "web_search_country_iso_code": "FR"
        -      }
        -    ],
        -    "properties": {
        -      "force_web_search": {
        -        "description": "<em>force AI agent to use web search</em><br>optional field<br>to enable this parameter, <code>web_search</code> must also be enabled;<br>when enabled, the AI model is forced to access and cite current web information;<br>default value: <code>false</code>;<br><strong>Note:</strong> even if the parameter is set to <code>true</code>, there is no guarantee web sources will be cited in the response <br><strong>Note #2:</strong> not supported in reasoning models",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "max_output_tokens": {
        -        "description": "<em>maximum number of tokens in the AI response</em><br>optional field<br>minimum value for reasoning models (e.g., <code>reasoning</code> is <code>true</code> in the <a href=\"/v3/ai_optimization/chat_gpt/llm_responses/models/\" target=\"_blank\">Models endpoint</a>): <code>1024</code>;<br>minimum value for non-reasoning models: <code>16</code>;<br>maximum value: <code>4096</code>;<br>default value: <code>2048</code><br><strong>Note:</strong> if <code>web_search</code> is set to <code>true</code> or the reasoning model is specified in the request, the output token count may exceed the specified <code>max_output_tokens</code> limit",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "message_chain": {
        -        "description": "conversation history\noptional field\narray of message objects representing previous conversation turns;\neach object must contain:\nrole string with either user or ai role;\nmessage string with message content (max 500 characters);\nyou can specify maximum of 10 message objects in the array;\nNote: for Perplexity models, messages must strictly alternate between user and AI roles (user → ai);\nexample:\n\"message_chain\": [{\"role\":\"user\",\"message\":\"Hello, what’s up?\"},{\"role\":\"ai\",\"message\":\"Hello! I’m doing well, thank you. How can I assist you today?\"}]",
        -        "items": {
        -          "oneOf": [
        -            {
        -              "properties": {
        -                "message": {
        -                  "description": "message text",
        -                  "type": [
        -                    "string",
        -                    "null"
        -                  ]
        -                },
        -                "role": {
        -                  "description": "role of the user from whom the message originates",
        -                  "type": [
        -                    "string",
        -                    "null"
        -                  ]
        -                }
        -              },
        -              "type": "object"
        -            }
        -          ],
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "model_name": {
        -        "description": "<em>name of the AI model</em><br><strong>required field</strong><br><code>model_name</code >consists of the actual model name and version name;<br>if the basic model name is specified, its latest version will be set by default;<br>for example, if <code>gpt-4.1</code> is specified, the <code>gpt-4.1-2025-04-14</code> will be set as <code>model_name</code> automatically;<br>you can receive the list of available LLM models by making a separate request to the <code>https://api.dataforseo.com/v3/ai_optimization/chat_gpt/llm_responses/models</code>",
        -        "type": "string"
        -      },
        -      "system_message": {
        -        "description": "<em>instructions for the AI behaviour</em><br>optional field<br>defines the AI's role, tone, or specific behavior <br>you can specify <strong>up to 500 characters</strong> in the <code>system_message</code> field",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "temperature": {
        -        "description": "<em>randomness of the AI response</em><br>optional field<br>higher values make output more diverse; <br>lower values make output more focused;<br>minimum value: <code>0</code><br>maximum value: <code>2</code><br>default value: <code>0.94</code><br><strong>Note:</strong> not supported in reasoning models",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "top_p": {
        -        "description": "<em>diversity of the AI response</em><br>optional field <br>controls diversity of the response by limiting token selection;<br>minimum value: <code>0</code><br>maximum value: <code>1</code> <br>default value: <code>0.92</code><p><strong>Note:</strong>  <code>top_p</code> cannot be used together with <code>temperature</code> in the same request",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "user_prompt": {
        -        "description": "<em>prompt for the AI model</em><br><strong>required field</strong><br>the question or task you want to send to the AI model;<br>you can specify <strong>up to 500 characters</strong> in the <code>user_prompt</code> field",
        -        "type": "string"
        -      },
        -      "web_search": {
        -        "description": "<em>enable web search</em><br>optional field<br>when enabled, the AI model can access and cite current web information;<br>default value: <code>false</code>;<br><strong>Note:</strong> refer to the <a href=\"https://docs.dataforseo.com/v3/ai_optimization/chat_gpt/llm_responses/models/\">Models endpoint</a> for a list of models that support <code>web_search</code>;",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "web_search_city": {
        -        "description": "<em>city name of the location</em><br>optional field<br><strong>Note:</strong> not supported in <code>o3-mini</code>, <code>o1-pro</code>, <code>o1</code> models",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "web_search_country_iso_code": {
        -        "description": "<em>ISO country code of the location</em><br>optional field<br>to enable this parameter, <code>web_search</code> must also be enabled;<br>when enabled, the AI model will search the web from the country you specify;<br><strong>Note:</strong> not supported in <code>o3-mini</code>, <code>o1-pro</code>, <code>o1</code> models",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "properties": {
        +      "force_web_search": {
        +        "description": "<em>force AI agent to use web search</em><br>optional field<br>to enable this parameter, <code>web_search</code> must also be enabled;<br>when enabled, the AI model is forced to access and cite current web information;<br>default value: <code>false</code>;<br><strong>Note:</strong> even if the parameter is set to <code>true</code>, there is no guarantee web sources will be cited in the response <br><strong>Note #2:</strong> not supported in reasoning models",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "max_output_tokens": {
        +        "description": "<em>maximum number of tokens in the AI response</em><br>optional field<br>minimum value for reasoning models (e.g., <code>reasoning</code> is <code>true</code> in the <a href=\"/v3/ai_optimization/chat_gpt/llm_responses/models/\" target=\"_blank\">Models endpoint</a>): <code>1024</code>;<br>minimum value for non-reasoning models: <code>16</code>;<br>maximum value: <code>4096</code>;<br>default value: <code>2048</code><br><strong>Note:</strong> if <code>web_search</code> is set to <code>true</code> or the reasoning model is specified in the request, the output token count may exceed the specified <code>max_output_tokens</code> limit",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "message_chain": {
        +        "description": "conversation history\noptional field\narray of message objects representing previous conversation turns;\neach object must contain:\nrole string with either user or ai role;\nmessage string with message content (max 500 characters);\nyou can specify maximum of 10 message objects in the array;\nNote: for Perplexity models, messages must strictly alternate between user and AI roles (user → ai);\nexample:\n\"message_chain\": [{\"role\":\"user\",\"message\":\"Hello, what’s up?\"},{\"role\":\"ai\",\"message\":\"Hello! I’m doing well, thank you. How can I assist you today?\"}]",
        +        "items": {
        +          "oneOf": [
        +            {
        +              "properties": {
        +                "message": {
        +                  "description": "message text",
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                },
        +                "role": {
        +                  "description": "role of the user from whom the message originates",
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                }
        +              },
        +              "type": "object"
        +            }
        +          ],
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "model_name": {
        +        "description": "<em>name of the AI model</em><br><strong>required field</strong><br><code>model_name</code >consists of the actual model name and version name;<br>if the basic model name is specified, its latest version will be set by default;<br>for example, if <code>gpt-4.1</code> is specified, the <code>gpt-4.1-2025-04-14</code> will be set as <code>model_name</code> automatically;<br>you can receive the list of available LLM models by making a separate request to the <code>https://api.dataforseo.com/v3/ai_optimization/chat_gpt/llm_responses/models</code>",
        +        "type": "string"
        +      },
        +      "system_message": {
        +        "description": "<em>instructions for the AI behaviour</em><br>optional field<br>defines the AI's role, tone, or specific behavior <br>you can specify <strong>up to 500 characters</strong> in the <code>system_message</code> field",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "temperature": {
        +        "description": "<em>randomness of the AI response</em><br>optional field<br>higher values make output more diverse; <br>lower values make output more focused;<br>minimum value: <code>0</code><br>maximum value: <code>2</code><br>default value: <code>0.94</code><br><strong>Note:</strong> not supported in reasoning models",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "top_p": {
        +        "description": "<em>diversity of the AI response</em><br>optional field <br>controls diversity of the response by limiting token selection;<br>minimum value: <code>0</code><br>maximum value: <code>1</code> <br>default value: <code>0.92</code><p><strong>Note:</strong>  <code>top_p</code> cannot be used together with <code>temperature</code> in the same request",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "user_prompt": {
        +        "description": "<em>prompt for the AI model</em><br><strong>required field</strong><br>the question or task you want to send to the AI model;<br>you can specify <strong>up to 500 characters</strong> in the <code>user_prompt</code> field",
        +        "type": "string"
        +      },
        +      "web_search": {
        +        "description": "<em>enable web search</em><br>optional field<br>when enabled, the AI model can access and cite current web information;<br>default value: <code>false</code>;<br><strong>Note:</strong> refer to the <a href=\"https://docs.dataforseo.com/v3/ai_optimization/chat_gpt/llm_responses/models/\">Models endpoint</a> for a list of models that support <code>web_search</code>;",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "web_search_city": {
        +        "description": "<em>city name of the location</em><br>optional field<br><strong>Note:</strong> not supported in <code>o3-mini</code>, <code>o1-pro</code>, <code>o1</code> models",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "web_search_country_iso_code": {
        +        "description": "<em>ISO country code of the location</em><br>optional field<br>to enable this parameter, <code>web_search</code> must also be enabled;<br>when enabled, the AI model will search the web from the country you specify;<br><strong>Note:</strong> not supported in <code>o3-mini</code>, <code>o1-pro</code>, <code>o1</code> models",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_ai_claude_llm_responses_live1 field changed
      • changedInput schema / properties / body / items / oneOf
        Previous value: -[
        -  {
        -    "example": [
        -      {
        -        "max_output_tokens": 200,
        -        "message_chain": [
        -          {
        -            "message": "Hello, what’s up?",
        -            "role": "user"
        -          },
        -          {
        -            "message": "Hello! I’m doing well, thank you. How can I assist you today? Are there any specific topics or projects you’d like to discuss in our meeting?",
        -            "role": "ai"
        -          }
        -        ],
        -        "model_name": "claude-opus-5",
        -        "system_message": "communicate as if we are in a business meeting",
        -        "temperature": 0.3,
        -        "user_prompt": "provide information on how relevant the amusement park business is in France now",
        -        "web_search": true,
        -        "web_search_country_iso_code": "FR"
        -      }
        -    ],
        -    "properties": {
        -      "force_web_search": {
        -        "description": "<em>force AI agent to use web search</em><br>optional field<br>to enable this parameter, <code>web_search</code> must also be enabled;<br>when enabled, the AI model is forced to access and cite current web information;<br>default value: <code>false</code>;<br><strong>Note:</strong> even if the parameter is set to <code>true</code>, there is no guarantee web sources will be cited in the response",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "max_output_tokens": {
        -        "description": "<em>maximum number of tokens in the AI response</em><br>optional field<br>minimum value: <code>1</code>;<br>maximum value: <code>4096</code>;<br>default value: <code>2048</code>;<br><strong>Note:</strong> if <code>web_search</code> is set to <code>true</code> or the reasoning model is specified in the request, the output token count may exceed the specified <code>max_output_tokens</code> limit<br><strong>Note #2:</strong> if <code>use_reasoning</code> is set to <code>true</code>, the minimum value for <code>max_output_tokens</code> is <code>1025</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "message_chain": {
        -        "description": "conversation history\noptional field\narray of message objects representing previous conversation turns;\neach object must contain:\nrole string with either user or ai role;\nmessage string with message content (max 500 characters);\nyou can specify maximum of 10 message objects in the array;\nNote: for Perplexity models, messages must strictly alternate between user and AI roles (user → ai);\nexample:\n\"message_chain\": [{\"role\":\"user\",\"message\":\"Hello, what’s up?\"},{\"role\":\"ai\",\"message\":\"Hello! I’m doing well, thank you. How can I assist you today?\"}]",
        -        "items": {
        -          "oneOf": [
        -            {
        -              "properties": {
        -                "message": {
        -                  "description": "message text",
        -                  "type": [
        -                    "string",
        -                    "null"
        -                  ]
        -                },
        -                "role": {
        -                  "description": "role of the user from whom the message originates",
        -                  "type": [
        -                    "string",
        -                    "null"
        -                  ]
        -                }
        -              },
        -              "type": "object"
        -            }
        -          ],
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "model_name": {
        -        "description": "<em>name of the AI model</em><br><strong>required field</strong><br><code>model_name</code >consists of the actual model name and version name;<br>if the basic model name is specified, its latest version will be set by default;<br>for example, if <code>claude-opus-4-0</code> is specified, the <code>claude-opus-4-20250514</code> will be set as <code>model_name</code> automatically;<br>you can receive the list of available LLM models by making a separate request to the <code>https://api.dataforseo.com/v3/ai_optimization/claude/llm_responses/models</code>",
        -        "type": "string"
        -      },
        -      "system_message": {
        -        "description": "<em>instructions for the AI behaviour</em><br>optional field<br>defines the AI's role, tone, or specific behavior;<br>you can specify <strong>up to 500 characters</strong> in the <code>system_message</code> field",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "temperature": {
        -        "description": "<em>randomness of the AI response</em><br>optional field<br>higher values make output more diverse; <br>lower values make output more focused;<br>minimum value: <code>0</code><br>maximum value: <code>1</code><br>default value: <code>0.7</code><p><strong>Note:</strong> <code>temperature</code> cannot be used together with <code>top_p</code> in the same request",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "top_p": {
        -        "description": "<em>diversity of the AI response</em><br>optional field <br>controls diversity of the response by limiting token selection;<br>minimum value: <code>0</code><br>maximum value: <code>1</code> <br>default value: <code>null</code><p><strong>Note:</strong> <code>top_p</code> cannot be used together with <code>temperature</code> in the same request",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "use_reasoning": {
        -        "description": "<em>enable reasoning for the AI model</em><br>optional field<br>when enabled, the model will perform reasoning before generating a response<br>refer to the <a href=\"https://docs.dataforseo.com/v3/ai_optimization/claude/llm_responses/models/\" target=\"_blank\">Models endpoint</a> for a list of models that support <code>reasoning</code><br>default value: <code>false</code><br><strong>Note:</strong> if set to <code>true</code>, the minimum value for <code>max_output_tokens</code> is <code>1025</code><br><strong>Note #2:</strong> if set to <code>true</code>, <code>force_web_search</code> must be set to <code>false</code><br><strong>Note #3:</strong> if set to <code>true</code>, the <code>temperature</code> and <code>top_p</code> cannot be used",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "user_prompt": {
        -        "description": "<em>prompt for the AI model</em><br><strong>required field</strong><br>the question or task you want to send to the AI model;<br>you can specify <strong>up to 500 characters</strong> in the <code>user_prompt</code> field",
        -        "type": "string"
        -      },
        -      "web_search": {
        -        "description": "<em>enable web search for current information</em><br>optional field<br>when enabled, the AI model can access and cite current web information;<br><strong>Note:</strong> refer to the <a href=\"https://docs.dataforseo.com/v3/ai_optimization/claude/llm_responses/models/\">Models endpoint</a> for a list of models that support <code>web_search</code>; <br>default value: <code>false</code>;<br>The cost of the parameter can be calculated on the <a title=\"Anthropic API Pricing\" href=\"https://docs.anthropic.com/en/docs/about-claude/pricing\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "web_search_city": {
        -        "description": "<em>city name of the location used for searching the web</em><br>optional field<br>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "web_search_country_iso_code": {
        -        "description": "<em>ISO country code of the location used for searching the web</em><br>optional field<br>possible values: <code>'AR','AT','AU','BE','BR','CA','CH','CL','CN','DE','DK','ES','FI','FR','GB','HK','ID','IN','IT','JP','KR','MX','MY','NL','NO','NZ','PH','PL','PT','RU','SA','SE','TR','TW','US','ZA'</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "properties": {
        +      "force_web_search": {
        +        "description": "<em>force AI agent to use web search</em><br>optional field<br>to enable this parameter, <code>web_search</code> must also be enabled;<br>when enabled, the AI model is forced to access and cite current web information;<br>default value: <code>false</code>;<br><strong>Note:</strong> even if the parameter is set to <code>true</code>, there is no guarantee web sources will be cited in the response",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "max_output_tokens": {
        +        "description": "<em>maximum number of tokens in the AI response</em><br>optional field<br>minimum value: <code>1</code>;<br>maximum value: <code>4096</code>;<br>default value: <code>2048</code>;<br><strong>Note:</strong> if <code>web_search</code> is set to <code>true</code> or the reasoning model is specified in the request, the output token count may exceed the specified <code>max_output_tokens</code> limit<br><strong>Note #2:</strong> if <code>use_reasoning</code> is set to <code>true</code>, the minimum value for <code>max_output_tokens</code> is <code>1025</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "message_chain": {
        +        "description": "conversation history\noptional field\narray of message objects representing previous conversation turns;\neach object must contain:\nrole string with either user or ai role;\nmessage string with message content (max 500 characters);\nyou can specify maximum of 10 message objects in the array;\nNote: for Perplexity models, messages must strictly alternate between user and AI roles (user → ai);\nexample:\n\"message_chain\": [{\"role\":\"user\",\"message\":\"Hello, what’s up?\"},{\"role\":\"ai\",\"message\":\"Hello! I’m doing well, thank you. How can I assist you today?\"}]",
        +        "items": {
        +          "oneOf": [
        +            {
        +              "properties": {
        +                "message": {
        +                  "description": "message text",
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                },
        +                "role": {
        +                  "description": "role of the user from whom the message originates",
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                }
        +              },
        +              "type": "object"
        +            }
        +          ],
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "model_name": {
        +        "description": "<em>name of the AI model</em><br><strong>required field</strong><br><code>model_name</code >consists of the actual model name and version name;<br>if the basic model name is specified, its latest version will be set by default;<br>for example, if <code>claude-opus-4-0</code> is specified, the <code>claude-opus-4-20250514</code> will be set as <code>model_name</code> automatically;<br>you can receive the list of available LLM models by making a separate request to the <code>https://api.dataforseo.com/v3/ai_optimization/claude/llm_responses/models</code>",
        +        "type": "string"
        +      },
        +      "system_message": {
        +        "description": "<em>instructions for the AI behaviour</em><br>optional field<br>defines the AI's role, tone, or specific behavior;<br>you can specify <strong>up to 500 characters</strong> in the <code>system_message</code> field",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "temperature": {
        +        "description": "<em>randomness of the AI response</em><br>optional field<br>higher values make output more diverse; <br>lower values make output more focused;<br>minimum value: <code>0</code><br>maximum value: <code>1</code><br>default value: <code>0.7</code><p><strong>Note:</strong> <code>temperature</code> cannot be used together with <code>top_p</code> in the same request",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "top_p": {
        +        "description": "<em>diversity of the AI response</em><br>optional field <br>controls diversity of the response by limiting token selection;<br>minimum value: <code>0</code><br>maximum value: <code>1</code> <br>default value: <code>null</code><p><strong>Note:</strong> <code>top_p</code> cannot be used together with <code>temperature</code> in the same request",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "use_reasoning": {
        +        "description": "<em>enable reasoning for the AI model</em><br>optional field<br>when enabled, the model will perform reasoning before generating a response<br>refer to the <a href=\"https://docs.dataforseo.com/v3/ai_optimization/claude/llm_responses/models/\" target=\"_blank\">Models endpoint</a> for a list of models that support <code>reasoning</code><br>default value: <code>false</code><br><strong>Note:</strong> if set to <code>true</code>, the minimum value for <code>max_output_tokens</code> is <code>1025</code><br><strong>Note #2:</strong> if set to <code>true</code>, <code>force_web_search</code> must be set to <code>false</code><br><strong>Note #3:</strong> if set to <code>true</code>, the <code>temperature</code> and <code>top_p</code> cannot be used",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "user_prompt": {
        +        "description": "<em>prompt for the AI model</em><br><strong>required field</strong><br>the question or task you want to send to the AI model;<br>you can specify <strong>up to 500 characters</strong> in the <code>user_prompt</code> field",
        +        "type": "string"
        +      },
        +      "web_search": {
        +        "description": "<em>enable web search for current information</em><br>optional field<br>when enabled, the AI model can access and cite current web information;<br><strong>Note:</strong> refer to the <a href=\"https://docs.dataforseo.com/v3/ai_optimization/claude/llm_responses/models/\">Models endpoint</a> for a list of models that support <code>web_search</code>; <br>default value: <code>false</code>;<br>The cost of the parameter can be calculated on the <a title=\"Anthropic API Pricing\" href=\"https://docs.anthropic.com/en/docs/about-claude/pricing\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "web_search_city": {
        +        "description": "<em>city name of the location used for searching the web</em><br>optional field<br>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "web_search_country_iso_code": {
        +        "description": "<em>ISO country code of the location used for searching the web</em><br>optional field<br>possible values: <code>'AR','AT','AU','BE','BR','CA','CH','CL','CN','DE','DK','ES','FI','FR','GB','HK','ID','IN','IT','JP','KR','MX','MY','NL','NO','NZ','PH','PL','PT','RU','SA','SE','TR','TW','US','ZA'</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_ai_gemini_llm_responses_live1 field changed
      • changedInput schema / properties / body / items / oneOf
        Previous value: -[
        -  {
        -    "example": [
        -      {
        -        "max_output_tokens": 200,
        -        "message_chain": [
        -          {
        -            "message": "Hello, what’s up?",
        -            "role": "user"
        -          },
        -          {
        -            "message": "Hello! I’m doing well, thank you. How can I assist you today? Are there any specific topics or projects you’d like to discuss in our meeting?",
        -            "role": "ai"
        -          }
        -        ],
        -        "model_name": "gemini-2.5-flash",
        -        "system_message": "communicate as if we are in a business meeting",
        -        "temperature": 0.3,
        -        "top_p": 0.5,
        -        "user_prompt": "provide information on how relevant the amusement park business is in France now",
        -        "web_search": true
        -      }
        -    ],
        -    "properties": {
        -      "max_output_tokens": {
        -        "description": "<em>maximum number of tokens in the AI response</em><br>optional field<br>minimum value: <code>1</code><br>maximum value: <code>4096</code>;<br>default value: <code>2048</code>;<br><strong>Note:</strong> if <code>web_search</code> is set to <code>true</code> or the reasoning model is specified in the request, the output token count may exceed the specified <code>max_output_tokens</code> limit<br><strong>Note #2:</strong> if <code>use_reasoning</code> is set to <code>true</code>, the minimum value for <code>max_output_tokens</code> is <code>1024</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "message_chain": {
        -        "description": "conversation history\noptional field\narray of message objects representing previous conversation turns;\neach object must contain:\nrole string with either user or ai role;\nmessage string with message content (max 500 characters);\nyou can specify maximum of 10 message objects in the array;\nNote: for Perplexity models, messages must strictly alternate between user and AI roles (user → ai);\nexample:\n\"message_chain\": [{\"role\":\"user\",\"message\":\"Hello, what’s up?\"},{\"role\":\"ai\",\"message\":\"Hello! I’m doing well, thank you. How can I assist you today?\"}]",
        -        "items": {
        -          "oneOf": [
        -            {
        -              "properties": {
        -                "message": {
        -                  "description": "message text",
        -                  "type": [
        -                    "string",
        -                    "null"
        -                  ]
        -                },
        -                "role": {
        -                  "description": "role of the user from whom the message originates",
        -                  "type": [
        -                    "string",
        -                    "null"
        -                  ]
        -                }
        -              },
        -              "type": "object"
        -            }
        -          ],
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "model_name": {
        -        "description": "<em>name of the AI model</em><br><strong>required field</strong><br><code>model_name</code >consists of the actual model name and version name;<br>if the basic model name is specified, its latest version will be set by default;<br>for example, if <code>gemini-1.5-pro</code> is specified, the <code>gemini-1.5-pro-002</code> will be set as <code>model_name</code> automatically;<br>you can receive the list of available LLM models by making a separate request to the <code>https://api.dataforseo.com/v3/ai_optimization/gemini/llm_responses/models</code>",
        -        "type": "string"
        -      },
        -      "system_message": {
        -        "description": "<em>instructions for the AI behavior</em><br>optional field<br>defines the AI's role, tone, or specific behavior <br>you can specify <strong>up to 500 characters</strong> in the <code>system_message</code> field",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "temperature": {
        -        "description": "<em>randomness of the AI response</em><br>optional field<br>higher values make output more diverse <br>lower values make output more focused<br>minimum value: <code>0</code><br>maximum value: <code>2</code><br>default value: <code>1.3</code>",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "top_p": {
        -        "description": "<em>diversity of the AI response</em><br>optional field <br>controls diversity of the response by limiting token selection<br>minimum value: <code>0</code><br>maximum value: <code>1</code> <br>default value: <code>0.9</code>",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "use_reasoning": {
        -        "description": "<em>enable reasoning for the AI model</em><br>optional field<br>when enabled, the model will perform reasoning before generating a response<br>refer to the <a href=\"https://docs.dataforseo.com/v3/ai_optimization/gemini/llm_responses/models/\" target=\"_blank\">Models endpoint</a> for a list of models that support <code>reasoning</code><br>default value: <code>false</code><br><strong>Note:</strong> if set to <code>true</code>, the minimum value for <code>max_output_tokens</code> is <code>1024</code><br><strong>Note #2:</strong> for Gemini Pro models, the <code>use_reasoning</code> will automatically be set to <code>true</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "user_prompt": {
        -        "description": "<em>prompt for the AI model</em><br><strong>required field</strong><br>the question or task you want to send to the AI model;<br>you can specify <strong>up to 500 characters</strong> in the <code>user_prompt</code> field",
        -        "type": "string"
        -      },
        -      "web_search": {
        -        "description": "<em>enable web search for current information</em><br>optional field<br>when enabled, the AI model can access and cite current web information;<br><strong>Note:</strong> refer to the <a href=\"https://docs.dataforseo.com/v3/ai_optimization/gemini/llm_responses/models/\">Models endpoint</a> for a list of models that support <code>web_search</code>; <br>default value: <code>false</code>;<br>The cost of the parameter can be calculated on the <a title=\"Gemini API Pricing\" href=\"https://ai.google.dev/gemini-api/docs/pricing\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "properties": {
        +      "max_output_tokens": {
        +        "description": "<em>maximum number of tokens in the AI response</em><br>optional field<br>minimum value: <code>1</code><br>maximum value: <code>4096</code>;<br>default value: <code>2048</code>;<br><strong>Note:</strong> if <code>web_search</code> is set to <code>true</code> or the reasoning model is specified in the request, the output token count may exceed the specified <code>max_output_tokens</code> limit<br><strong>Note #2:</strong> if <code>use_reasoning</code> is set to <code>true</code>, the minimum value for <code>max_output_tokens</code> is <code>1024</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "message_chain": {
        +        "description": "conversation history\noptional field\narray of message objects representing previous conversation turns;\neach object must contain:\nrole string with either user or ai role;\nmessage string with message content (max 500 characters);\nyou can specify maximum of 10 message objects in the array;\nNote: for Perplexity models, messages must strictly alternate between user and AI roles (user → ai);\nexample:\n\"message_chain\": [{\"role\":\"user\",\"message\":\"Hello, what’s up?\"},{\"role\":\"ai\",\"message\":\"Hello! I’m doing well, thank you. How can I assist you today?\"}]",
        +        "items": {
        +          "oneOf": [
        +            {
        +              "properties": {
        +                "message": {
        +                  "description": "message text",
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                },
        +                "role": {
        +                  "description": "role of the user from whom the message originates",
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                }
        +              },
        +              "type": "object"
        +            }
        +          ],
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "model_name": {
        +        "description": "<em>name of the AI model</em><br><strong>required field</strong><br><code>model_name</code >consists of the actual model name and version name;<br>if the basic model name is specified, its latest version will be set by default;<br>for example, if <code>gemini-1.5-pro</code> is specified, the <code>gemini-1.5-pro-002</code> will be set as <code>model_name</code> automatically;<br>you can receive the list of available LLM models by making a separate request to the <code>https://api.dataforseo.com/v3/ai_optimization/gemini/llm_responses/models</code>",
        +        "type": "string"
        +      },
        +      "system_message": {
        +        "description": "<em>instructions for the AI behavior</em><br>optional field<br>defines the AI's role, tone, or specific behavior <br>you can specify <strong>up to 500 characters</strong> in the <code>system_message</code> field",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "temperature": {
        +        "description": "<em>randomness of the AI response</em><br>optional field<br>higher values make output more diverse <br>lower values make output more focused<br>minimum value: <code>0</code><br>maximum value: <code>2</code><br>default value: <code>1.3</code>",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "top_p": {
        +        "description": "<em>diversity of the AI response</em><br>optional field <br>controls diversity of the response by limiting token selection<br>minimum value: <code>0</code><br>maximum value: <code>1</code> <br>default value: <code>0.9</code>",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "use_reasoning": {
        +        "description": "<em>enable reasoning for the AI model</em><br>optional field<br>when enabled, the model will perform reasoning before generating a response<br>refer to the <a href=\"https://docs.dataforseo.com/v3/ai_optimization/gemini/llm_responses/models/\" target=\"_blank\">Models endpoint</a> for a list of models that support <code>reasoning</code><br>default value: <code>false</code><br><strong>Note:</strong> if set to <code>true</code>, the minimum value for <code>max_output_tokens</code> is <code>1024</code><br><strong>Note #2:</strong> for Gemini Pro models, the <code>use_reasoning</code> will automatically be set to <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "user_prompt": {
        +        "description": "<em>prompt for the AI model</em><br><strong>required field</strong><br>the question or task you want to send to the AI model;<br>you can specify <strong>up to 500 characters</strong> in the <code>user_prompt</code> field",
        +        "type": "string"
        +      },
        +      "web_search": {
        +        "description": "<em>enable web search for current information</em><br>optional field<br>when enabled, the AI model can access and cite current web information;<br><strong>Note:</strong> refer to the <a href=\"https://docs.dataforseo.com/v3/ai_optimization/gemini/llm_responses/models/\">Models endpoint</a> for a list of models that support <code>web_search</code>; <br>default value: <code>false</code>;<br>The cost of the parameter can be calculated on the <a title=\"Gemini API Pricing\" href=\"https://ai.google.dev/gemini-api/docs/pricing\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_ai_keyword_volume_live1 field changed
      • changedInput schema / properties / body / items / oneOf
        Previous value: -[
        -  {
        -    "example": [
        -      {
        -        "keywords": [
        -          "iphone",
        -          "seo"
        -        ],
        -        "language_name": "English",
        -        "location_code": 2840
        -      }
        -    ],
        -    "properties": {
        -      "keywords": {
        -        "description": "<em>keywords</em><br><strong>required field</strong><br>UTF-8 encoding<br>The maximum number of keywords you can specify: 1000;<br>The maximum number of characters in a single keyword: 250;<br>The keywords will be converted to lowercase format;<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "language_code": {
        -        "description": "<em>language code</em><br><strong>required field if you don't specify</strong> <code>language_name</code><br><strong>if you use this field, you don't need to specify</strong> <code>language_name</code><br>you can receive the list of available languages with their <code>language_code</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/ai_optimization/ai_keyword_data/locations_and_languages</code><br>example:<br><code class=\"long-string\">en</code>",
        -        "type": "string"
        -      },
        -      "language_name": {
        -        "description": "<em>full name of the language</em><br><strong>required field if you don't specify</strong> <code>language_code</code><br><strong>if you use this field, you don't need to specify</strong> <code>language_code</code><br>you can receive the list of available languages with their <code>language_name</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/ai_optimization/ai_keyword_data/locations_and_languages</code><br>example:<br><code class=\"long-string\">English</code>",
        -        "type": "string"
        -      },
        -      "location_code": {
        -        "description": "<em>unique location identifier</em><br><strong>required field if you don't specify</strong> <code>location_name</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/ai_optimization/ai_keyword_data/locations_and_languages</code><br>example:<br><code class=\"long-string\">2840</code>",
        -        "type": "integer"
        -      },
        -      "location_name": {
        -        "description": "<em>full name of the location</em><br><strong>required field if you don't specify</strong> <code>location_code</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/ai_optimization/ai_keyword_data/locations_and_languages</code><br>example:<br><code class=\"long-string\">United Kingdom</code>",
        -        "type": "string"
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "properties": {
        +      "keywords": {
        +        "description": "<em>keywords</em><br><strong>required field</strong><br>UTF-8 encoding<br>The maximum number of keywords you can specify: 1000;<br>The maximum number of characters in a single keyword: 250;<br>The keywords will be converted to lowercase format;<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "language_code": {
        +        "description": "<em>language code</em><br><strong>required field if you don't specify</strong> <code>language_name</code><br><strong>if you use this field, you don't need to specify</strong> <code>language_name</code><br>you can receive the list of available languages with their <code>language_code</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/ai_optimization/ai_keyword_data/locations_and_languages</code><br>example:<br><code class=\"long-string\">en</code>",
        +        "type": "string"
        +      },
        +      "language_name": {
        +        "description": "<em>full name of the language</em><br><strong>required field if you don't specify</strong> <code>language_code</code><br><strong>if you use this field, you don't need to specify</strong> <code>language_code</code><br>you can receive the list of available languages with their <code>language_name</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/ai_optimization/ai_keyword_data/locations_and_languages</code><br>example:<br><code class=\"long-string\">English</code>",
        +        "type": "string"
        +      },
        +      "location_code": {
        +        "description": "<em>unique location identifier</em><br><strong>required field if you don't specify</strong> <code>location_name</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/ai_optimization/ai_keyword_data/locations_and_languages</code><br>example:<br><code class=\"long-string\">2840</code>",
        +        "type": "integer"
        +      },
        +      "location_name": {
        +        "description": "<em>full name of the location</em><br><strong>required field if you don't specify</strong> <code>location_code</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/ai_optimization/ai_keyword_data/locations_and_languages</code><br>example:<br><code class=\"long-string\">United Kingdom</code>",
        +        "type": "string"
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_ai_perplexity_llm_responses_live1 field changed
      • changedInput schema / properties / body / items / oneOf
        Previous value: -[
        -  {
        -    "example": [
        -      {
        -        "max_output_tokens": 200,
        -        "message_chain": [
        -          {
        -            "message": "Hello, what’s up?",
        -            "role": "user"
        -          },
        -          {
        -            "message": "Hello! I’m doing well, thank you. How can I assist you today? Are there any specific topics or projects you’d like to discuss in our meeting?",
        -            "role": "ai"
        -          }
        -        ],
        -        "model_name": "sonar",
        -        "system_message": "communicate as if we are in a business meeting",
        -        "temperature": 0.3,
        -        "top_p": 0.5,
        -        "user_prompt": "provide information on how relevant the amusement park business is in France now",
        -        "web_search_country_iso_code": "FR"
        -      }
        -    ],
        -    "properties": {
        -      "max_output_tokens": {
        -        "description": "<em>maximum number of tokens in the AI response</em><br>optional field<br>minimum value: <code>1</code><br>maximum value: <code>4096</code>;<br>default value: <code>2048</code>;<br><strong>Note:</strong> if the reasoning model is specified in the request, the output token count may exceed the specified <code>max_output_tokens</code> limit",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "message_chain": {
        -        "description": "conversation history\noptional field\narray of message objects representing previous conversation turns;\neach object must contain:\nrole string with either user or ai role;\nmessage string with message content (max 500 characters);\nyou can specify maximum of 10 message objects in the array;\nNote: for Perplexity models, messages must strictly alternate between user and AI roles (user → ai);\nexample:\n\"message_chain\": [{\"role\":\"user\",\"message\":\"Hello, what’s up?\"},{\"role\":\"ai\",\"message\":\"Hello! I’m doing well, thank you. How can I assist you today?\"}]",
        -        "items": {
        -          "oneOf": [
        -            {
        -              "properties": {
        -                "message": {
        -                  "description": "message text",
        -                  "type": [
        -                    "string",
        -                    "null"
        -                  ]
        -                },
        -                "role": {
        -                  "description": "role of the user from whom the message originates",
        -                  "type": [
        -                    "string",
        -                    "null"
        -                  ]
        -                }
        -              },
        -              "type": "object"
        -            }
        -          ],
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "model_name": {
        -        "description": "<em>name of the AI model</em><br><strong>required field</strong><br><code>model_name</code >consists of the actual model name and version name;<br>if the basic model name is specified, its latest version will be set by default;<br>you can receive the list of available LLM models by making a separate request to the following endpoint: <code>https://api.dataforseo.com/v3/ai_optimization/perplexity/llm_responses/models</code>",
        -        "type": "string"
        -      },
        -      "system_message": {
        -        "description": "<em>instructions for the AI behavior</em><br>optional field<br>defines the AI's role, tone, or specific behavior <br>you can specify <strong>up to 500 characters</strong> in the <code>system_message</code> field",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "temperature": {
        -        "description": "<em>randomness of the AI response</em><br>optional field<br>higher values make output more diverse <br>lower values make output more focused<br>minimum value: <code>0</code><br>maximum value: <code>1.9</code><br>default value: <code>0.77</code>",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "top_p": {
        -        "description": "<em>diversity of the AI response</em><br>optional field <br>controls diversity of the response by limiting token selection<br>minimum value: <code>0</code><br>maximum value: <code>1</code> <br>default value: <code>0.9</code>",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "user_prompt": {
        -        "description": "<em>prompt for the AI model</em><br><strong>required field</strong><br>the question or task you want to send to the AI model;<br>you can specify <strong>up to 500 characters</strong> in the <code>user_prompt</code> field",
        -        "type": "string"
        -      },
        -      "web_search_country_iso_code": {
        -        "description": "<em>country code for web search localization</em><br>optional field<br>specify the country  ISO code to get localized web search results<br><strong>Note:</strong> available only for Perplexity Sonar models<br>example: <code>US</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "properties": {
        +      "max_output_tokens": {
        +        "description": "<em>maximum number of tokens in the AI response</em><br>optional field<br>minimum value: <code>1</code><br>maximum value: <code>4096</code>;<br>default value: <code>2048</code>;<br><strong>Note:</strong> if the reasoning model is specified in the request, the output token count may exceed the specified <code>max_output_tokens</code> limit",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "message_chain": {
        +        "description": "conversation history\noptional field\narray of message objects representing previous conversation turns;\neach object must contain:\nrole string with either user or ai role;\nmessage string with message content (max 500 characters);\nyou can specify maximum of 10 message objects in the array;\nNote: for Perplexity models, messages must strictly alternate between user and AI roles (user → ai);\nexample:\n\"message_chain\": [{\"role\":\"user\",\"message\":\"Hello, what’s up?\"},{\"role\":\"ai\",\"message\":\"Hello! I’m doing well, thank you. How can I assist you today?\"}]",
        +        "items": {
        +          "oneOf": [
        +            {
        +              "properties": {
        +                "message": {
        +                  "description": "message text",
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                },
        +                "role": {
        +                  "description": "role of the user from whom the message originates",
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                }
        +              },
        +              "type": "object"
        +            }
        +          ],
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "model_name": {
        +        "description": "<em>name of the AI model</em><br><strong>required field</strong><br><code>model_name</code >consists of the actual model name and version name;<br>if the basic model name is specified, its latest version will be set by default;<br>you can receive the list of available LLM models by making a separate request to the following endpoint: <code>https://api.dataforseo.com/v3/ai_optimization/perplexity/llm_responses/models</code>",
        +        "type": "string"
        +      },
        +      "system_message": {
        +        "description": "<em>instructions for the AI behavior</em><br>optional field<br>defines the AI's role, tone, or specific behavior <br>you can specify <strong>up to 500 characters</strong> in the <code>system_message</code> field",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "temperature": {
        +        "description": "<em>randomness of the AI response</em><br>optional field<br>higher values make output more diverse <br>lower values make output more focused<br>minimum value: <code>0</code><br>maximum value: <code>1.9</code><br>default value: <code>0.77</code>",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "top_p": {
        +        "description": "<em>diversity of the AI response</em><br>optional field <br>controls diversity of the response by limiting token selection<br>minimum value: <code>0</code><br>maximum value: <code>1</code> <br>default value: <code>0.9</code>",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "user_prompt": {
        +        "description": "<em>prompt for the AI model</em><br><strong>required field</strong><br>the question or task you want to send to the AI model;<br>you can specify <strong>up to 500 characters</strong> in the <code>user_prompt</code> field",
        +        "type": "string"
        +      },
        +      "web_search_country_iso_code": {
        +        "description": "<em>country code for web search localization</em><br>optional field<br>specify the country  ISO code to get localized web search results<br><strong>Note:</strong> available only for Perplexity Sonar models<br>example: <code>US</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_backlinks_anchors_live3 fields changed
      • addedInput schema / $defs
        Added value: +{
        +  "Provider0A3E90081762_AisaDataforseoFilterJsonValue": {
        +    "anyOf": [
        +      {
        +        "type": "string"
        +      },
        +      {
        +        "type": "number"
        +      },
        +      {
        +        "type": "boolean"
        +      },
        +      {
        +        "additionalProperties": {
        +          "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +        },
        +        "type": [
        +          "object",
        +          "null"
        +        ]
        +      },
        +      {
        +        "items": {
        +          "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +        },
        +        "type": "array"
        +      }
        +    ],
        +    "description": "JSON representation of filter values and nested expressions. Field names, operators, condition counts and operand compatibility remain provider-validated as documented for each endpoint; this is not a complete filter-language validator."
        +  }
        +}
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "properties": {
        +      "backlinks_filters": {
        +        "description": "<em>filter the backlinks of your <code>target</code></em><br>optional field<br>you can use this field to filter the initial backlinks that will be included in the dataset for aggregated metrics for your <code>target</code><br>you can filter the backlinks by all fields available in the response of <a href=\"/v3/backlinks/backlinks/live/\">this endpoint</a><br>using this parameter, you can include only dofollow backlinks in the response and create a flexible backlinks dataset to calculate the metrics for<br>example:<br><code>\"backlinks_filters\": [[\"dofollow\", \"=\", true]]</code>",
        +        "items": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "number"
        +            },
        +            {
        +              "type": "boolean"
        +            },
        +            {
        +              "additionalProperties": {
        +                "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +              },
        +              "type": [
        +                "object",
        +                "null"
        +              ]
        +            },
        +            {
        +              "items": {
        +                "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +              },
        +              "type": "array"
        +            }
        +          ],
        +          "description": "JSON representation of filter values and nested expressions. Field names, operators, condition counts and operand compatibility remain provider-validated as documented for each endpoint; this is not a complete filter-language validator."
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "backlinks_status_type": {
        +        "description": "<em>set what backlinks to return and count</em><br>optional field<br>you can use this field to choose what backlinks will be returned and used for aggregated metrics for your <code>target</code>;<br>possible values: <br><code>all</code> - all backlinks will be returned and counted;<br><code>live</code> - backlinks found during the last check will be returned and counted;<br><code>lost</code> - lost backlinks will be returned and counted;<p>default value: <code>live</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "exclude_internal_backlinks": {
        +        "description": "<em>indicates whether the backlinks from subdomains of the <code>target</code> are excluded</em><br>optional field<br>if set to <code>false</code>, the backlinks from subdomains of the <code>target</code> will be ommited and you won't receive the same domain in the response;<br>default value: <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "filters": {
        +        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>, <code>not_like</code>, <code>ilike</code>, <code>not_ilike</code>, <code>match</code>, <code>not_match</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters<br>example:<br><code>[\"referring_links_types.anchors\",\"&gt;\",\"1\"]</code><p><code>[[\"broken_pages\",\"&gt;\",\"2\"],<br>\"and\",<br>[\"backlinks\",\"&gt;\",\"10\"]]</code><p><code>[[\"first_seen\",\">\",\"2017-10-23 11:31:45 +00:00\"],<br>\"and\",<br>[[\"anchor\",\"like\",\"%seo%\"],\"or\",[\"referring_domains\",\"&gt;\",\"10\"]]]</code><p>The full list of possible filters is available <a href=\"/v3/backlinks/filters/?bash\">here.</a>",
        +        "items": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "number"
        +            },
        +            {
        +              "type": "boolean"
        +            },
        +            {
        +              "additionalProperties": {
        +                "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +              },
        +              "type": [
        +                "object",
        +                "null"
        +              ]
        +            },
        +            {
        +              "items": {
        +                "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +              },
        +              "type": "array"
        +            }
        +          ],
        +          "description": "JSON representation of filter values and nested expressions. Field names, operators, condition counts and operand compatibility remain provider-validated as documented for each endpoint; this is not a complete filter-language validator."
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "include_indirect_links": {
        +        "description": "<em>indicates if indirect links to the <code>target</code> will be included in the results</em><br>optional field<br>if set to <code>true</code>, the results will include data on indirect links pointing to a page that either redirects to the target, or points to a canonical page<br>if set to <code>false</code>, indirect links will be ignored<br>default value: <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_subdomains": {
        +        "description": "<em>indicates if the subdomains of the <code>target</code> will be included in the search</em><br>optional field<br>if set to <code>false</code>, the subdomains will be ignored<br>default value: <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "internal_list_limit": {
        +        "description": "<em>maximum number of elements within internal arrays</em><br>optional field<br>you can use this field to limit the number of elements within the following arrays:<br><code>referring_links_tld</code><br><code>referring_links_types</code><br><code>referring_links_attributes</code><br><code>referring_links_platform_types</code><br><code>referring_links_semantic_locations</code><p>default value: <code>10</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "limit": {
        +        "description": "<em>the maximum number of returned anchors</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "offset": {
        +        "description": "<em>offset in the results array of returned anchors</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten anchors in the results array will be omitted and the data will be provided for the successive anchors",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "order_by": {
        +        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to set up a sorting type<br>example:<br><code>[\"backlinks,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"backlinks,desc\",\"rank,asc\"]</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "rank_scale": {
        +        "description": "<em>defines the scale used for calculating and displaying the <code>rank</code>, <code>domain_from_rank</code>, and <code>page_from_rank</code> values</em><br>optional field<p>you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale<p>possible values:<br><code>one_hundred</code> — rank values are displayed on a 0–100 scale<br><code>one_thousand</code> — rank values are displayed on a 0–1000 scale<p>default value: <code>one_thousand</code><p>learn more about how this parameter works and how ranking metrics are calculated in <a href=\"https://dataforseo.com/help-center/what_is_rank_in_backlinks_api#rank_scale\">this Help Center article</a>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "target": {
        +        "description": "<em>domain, subdomain or webpage to get anchors for</em><br><strong>required field</strong><br>a domain or a subdomain should be specified without <code>https://</code> and <code>www.</code><br>a page should be specified with absolute URL (including <code>http://</code> or <code>https://</code>)",
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / oneOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "filters": [
        -          "anchor",
        -          "like",
        -          "%news%"
        -        ],
        -        "limit": 4,
        -        "order_by": [
        -          "backlinks,desc"
        -        ],
        -        "target": "forbes.com"
        -      }
        -    ],
        -    "properties": {
        -      "backlinks_filters": {
        -        "description": "<em>filter the backlinks of your <code>target</code></em><br>optional field<br>you can use this field to filter the initial backlinks that will be included in the dataset for aggregated metrics for your <code>target</code><br>you can filter the backlinks by all fields available in the response of <a href=\"/v3/backlinks/backlinks/live/\">this endpoint</a><br>using this parameter, you can include only dofollow backlinks in the response and create a flexible backlinks dataset to calculate the metrics for<br>example:<br><code>\"backlinks_filters\": [[\"dofollow\", \"=\", true]]</code>",
        -        "items": {
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "backlinks_status_type": {
        -        "description": "<em>set what backlinks to return and count</em><br>optional field<br>you can use this field to choose what backlinks will be returned and used for aggregated metrics for your <code>target</code>;<br>possible values: <br><code>all</code> - all backlinks will be returned and counted;<br><code>live</code> - backlinks found during the last check will be returned and counted;<br><code>lost</code> - lost backlinks will be returned and counted;<p>default value: <code>live</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "exclude_internal_backlinks": {
        -        "description": "<em>indicates whether the backlinks from subdomains of the <code>target</code> are excluded</em><br>optional field<br>if set to <code>false</code>, the backlinks from subdomains of the <code>target</code> will be ommited and you won't receive the same domain in the response;<br>default value: <code>true</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "filters": {
        -        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>, <code>not_like</code>, <code>ilike</code>, <code>not_ilike</code>, <code>match</code>, <code>not_match</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters<br>example:<br><code>[\"referring_links_types.anchors\",\"&gt;\",\"1\"]</code><p><code>[[\"broken_pages\",\"&gt;\",\"2\"],<br>\"and\",<br>[\"backlinks\",\"&gt;\",\"10\"]]</code><p><code>[[\"first_seen\",\">\",\"2017-10-23 11:31:45 +00:00\"],<br>\"and\",<br>[[\"anchor\",\"like\",\"%seo%\"],\"or\",[\"referring_domains\",\"&gt;\",\"10\"]]]</code><p>The full list of possible filters is available <a href=\"/v3/backlinks/filters/?bash\">here.</a>",
        -        "items": {
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "include_indirect_links": {
        -        "description": "<em>indicates if indirect links to the <code>target</code> will be included in the results</em><br>optional field<br>if set to <code>true</code>, the results will include data on indirect links pointing to a page that either redirects to the target, or points to a canonical page<br>if set to <code>false</code>, indirect links will be ignored<br>default value: <code>true</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "include_subdomains": {
        -        "description": "<em>indicates if the subdomains of the <code>target</code> will be included in the search</em><br>optional field<br>if set to <code>false</code>, the subdomains will be ignored<br>default value: <code>true</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "internal_list_limit": {
        -        "description": "<em>maximum number of elements within internal arrays</em><br>optional field<br>you can use this field to limit the number of elements within the following arrays:<br><code>referring_links_tld</code><br><code>referring_links_types</code><br><code>referring_links_attributes</code><br><code>referring_links_platform_types</code><br><code>referring_links_semantic_locations</code><p>default value: <code>10</code><br>maximum value: <code>1000</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "limit": {
        -        "description": "<em>the maximum number of returned anchors</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "offset": {
        -        "description": "<em>offset in the results array of returned anchors</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten anchors in the results array will be omitted and the data will be provided for the successive anchors",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "order_by": {
        -        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to set up a sorting type<br>example:<br><code>[\"backlinks,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"backlinks,desc\",\"rank,asc\"]</code>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "rank_scale": {
        -        "description": "<em>defines the scale used for calculating and displaying the <code>rank</code>, <code>domain_from_rank</code>, and <code>page_from_rank</code> values</em><br>optional field<p>you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale<p>possible values:<br><code>one_hundred</code> — rank values are displayed on a 0–100 scale<br><code>one_thousand</code> — rank values are displayed on a 0–1000 scale<p>default value: <code>one_thousand</code><p>learn more about how this parameter works and how ranking metrics are calculated in <a href=\"https://dataforseo.com/help-center/what_is_rank_in_backlinks_api#rank_scale\">this Help Center article</a>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "target": {
        -        "description": "<em>domain, subdomain or webpage to get anchors for</em><br><strong>required field</strong><br>a domain or a subdomain should be specified without <code>https://</code> and <code>www.</code><br>a page should be specified with absolute URL (including <code>http://</code> or <code>https://</code>)",
        -        "type": "string"
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
    • Changedpost_dataforseo_backlinks_backlinks_live3 fields changed
      • addedInput schema / $defs
        Added value: +{
        +  "Provider0A3E90081762_AisaDataforseoFilterJsonValue": {
        +    "anyOf": [
        +      {
        +        "type": "string"
        +      },
        +      {
        +        "type": "number"
        +      },
        +      {
        +        "type": "boolean"
        +      },
        +      {
        +        "additionalProperties": {
        +          "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +        },
        +        "type": [
        +          "object",
        +          "null"
        +        ]
        +      },
        +      {
        +        "items": {
        +          "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +        },
        +        "type": "array"
        +      }
        +    ],
        +    "description": "JSON representation of filter values and nested expressions. Field names, operators, condition counts and operand compatibility remain provider-validated as documented for each endpoint; this is not a complete filter-language validator."
        +  }
        +}
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "properties": {
        +      "backlinks_status_type": {
        +        "description": "<em>set what backlinks to return and count</em><br>optional field<br>you can use this field to choose what backlinks will be returned and used for aggregated metrics for your <code>target</code>;<br>possible values: <br><code>all</code> - all backlinks will be returned and counted;<br><code>live</code> - backlinks found during the last check will be returned and counted;<br><code>lost</code> - lost backlinks will be returned and counted;<p>default value: <code>live</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "custom_mode": {
        +        "additionalProperties": {
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "description": "<em>detailed results grouping type</em><br>optional field<br>use this object to get a specific number of backlinks per <code>field</code><br>if you use <code>custom_mode</code>, then <code>mode</code> will be ignored<br>example:<br><code>\"custom_mode\": {\"field\": \"domain\", \"value\": 100}</code>",
        +        "type": [
        +          "object",
        +          "null"
        +        ]
        +      },
        +      "exclude_internal_backlinks": {
        +        "description": "<em>indicates if internal backlinks from subdomains to the <code>target</code> will be excluded from the results</em><br>optional field<br>if set to <code>true</code>, the results will not include data on internal backlinks from subdomains of the same domain as <code>target</code><br>if set to <code>false</code>, internal links will be included in the results<br>default value: <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "filters": {
        +        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>, <code>not_like</code>, <code>ilike</code>, <code>not_ilike</code>, <code>regex</code>, <code>not_regex</code>, <code>match</code>, <code>not_match</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters<br>example:<br><code>[\"rank\",\"&gt;\",\"80\"]</code><p><code>[[\"page_from_rank\",\"&gt;\",\"55\"],<br>\"and\",<br>[\"dofollow\",\"=\",true]]</code><p><code>[[\"first_seen\",\">\",\"2017-10-23 11:31:45 +00:00\"],<br>\"and\",<br>[[\"anchor\",\"like\",\"%seo%\"],\"or\",[\"text_pre\",\"like\",\"%seo%\"]]]</code><p>The full list of possible filters is available <a href=\"/v3/backlinks/filters/?bash\" rel=\"noopener noreferrer\" target=\"_blank\">here.</a>",
        +        "items": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "number"
        +            },
        +            {
        +              "type": "boolean"
        +            },
        +            {
        +              "additionalProperties": {
        +                "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +              },
        +              "type": [
        +                "object",
        +                "null"
        +              ]
        +            },
        +            {
        +              "items": {
        +                "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +              },
        +              "type": "array"
        +            }
        +          ],
        +          "description": "JSON representation of filter values and nested expressions. Field names, operators, condition counts and operand compatibility remain provider-validated as documented for each endpoint; this is not a complete filter-language validator."
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "include_subdomains": {
        +        "description": "<em>indicates if the subdomains of the <code>target</code> will be included in the search</em><br>optional field<br>if set to <code>false</code>, the subdomains will be ignored<br>default value: <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "limit": {
        +        "description": "<em>the maximum number of returned backlinks</em><br>optional field<p>default value: <code>100</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "mode": {
        +        "description": "<em>results grouping type</em><br>optional field<br>possible grouping types:<br><code>as_is</code> - returns all backlinks<br><code>one_per_domain</code> - returns one backlink per domain<br><code>one_per_anchor</code> - returns one backlink per anchor<p>default value: <code>as_is</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "offset": {
        +        "description": "<em>offset in the results array of the returned backlinks</em><br>optional field<p>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten backlinks in the results array will be omitted and the data will be provided for the successive backlinks;<br><strong>Note:</strong> the maximum value is <code>20,000</code>, use the <code>search_after_token</code> if you would like to offset more results",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "order_by": {
        +        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to set up a sorting type<br>example:<br><code>[\"rank,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"domain_from_rank,desc\",\"page_from_rank,asc\"]</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "rank_scale": {
        +        "description": "<em>defines the scale used for calculating and displaying the <code>rank</code>, <code>domain_from_rank</code>, and <code>page_from_rank</code> values</em><br>optional field<p>you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale<p>possible values:<br><code>one_hundred</code> — rank values are displayed on a 0–100 scale<br><code>one_thousand</code> — rank values are displayed on a 0–1000 scale<p>default value: <code>one_thousand</code><p>learn more about how this parameter works and how ranking metrics are calculated in <a href=\"https://dataforseo.com/help-center/what_is_rank_in_backlinks_api#rank_scale\">this Help Center article</a>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "search_after_token": {
        +        "description": "<em>token for subsequent requests</em><br>optional field<br>provided in the identical filed of the response to each request;<br>use this parameter to avoid timeouts while trying to obtain over <code>20,000</code> results in a single request;<br>by specifying the unique <code>search_after_token</code> value from the response array, you will get the subsequent results of the initial task;<br><code>search_after_token</code> values are unique for each subsequent task ;<br><strong>Note:</strong> if the <code>search_after_token</code> is specified in the request, all other parameters should be identical to the previous request",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "target": {
        +        "description": "<em>domain, subdomain or webpage to get backlinks for</em><br><strong>required field</strong><br>a domain or a subdomain should be specified without <code>https://</code> and <code>www.</code><br>a page should be specified with absolute URL (including <code>http://</code> or <code>https://</code>)",
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / oneOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "filters": [
        -          "dofollow",
        -          "=",
        -          true
        -        ],
        -        "limit": 5,
        -        "mode": "as_is",
        -        "target": "forbes.com"
        -      }
        -    ],
        -    "properties": {
        -      "backlinks_status_type": {
        -        "description": "<em>set what backlinks to return and count</em><br>optional field<br>you can use this field to choose what backlinks will be returned and used for aggregated metrics for your <code>target</code>;<br>possible values: <br><code>all</code> - all backlinks will be returned and counted;<br><code>live</code> - backlinks found during the last check will be returned and counted;<br><code>lost</code> - lost backlinks will be returned and counted;<p>default value: <code>live</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "custom_mode": {
        -        "additionalProperties": {
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "description": "<em>detailed results grouping type</em><br>optional field<br>use this object to get a specific number of backlinks per <code>field</code><br>if you use <code>custom_mode</code>, then <code>mode</code> will be ignored<br>example:<br><code>\"custom_mode\": {\"field\": \"domain\", \"value\": 100}</code>",
        -        "type": [
        -          "object",
        -          "null"
        -        ]
        -      },
        -      "exclude_internal_backlinks": {
        -        "description": "<em>indicates if internal backlinks from subdomains to the <code>target</code> will be excluded from the results</em><br>optional field<br>if set to <code>true</code>, the results will not include data on internal backlinks from subdomains of the same domain as <code>target</code><br>if set to <code>false</code>, internal links will be included in the results<br>default value: <code>true</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "filters": {
        -        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>, <code>not_like</code>, <code>ilike</code>, <code>not_ilike</code>, <code>regex</code>, <code>not_regex</code>, <code>match</code>, <code>not_match</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters<br>example:<br><code>[\"rank\",\"&gt;\",\"80\"]</code><p><code>[[\"page_from_rank\",\"&gt;\",\"55\"],<br>\"and\",<br>[\"dofollow\",\"=\",true]]</code><p><code>[[\"first_seen\",\">\",\"2017-10-23 11:31:45 +00:00\"],<br>\"and\",<br>[[\"anchor\",\"like\",\"%seo%\"],\"or\",[\"text_pre\",\"like\",\"%seo%\"]]]</code><p>The full list of possible filters is available <a href=\"/v3/backlinks/filters/?bash\" rel=\"noopener noreferrer\" target=\"_blank\">here.</a>",
        -        "items": {
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "include_subdomains": {
        -        "description": "<em>indicates if the subdomains of the <code>target</code> will be included in the search</em><br>optional field<br>if set to <code>false</code>, the subdomains will be ignored<br>default value: <code>true</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "limit": {
        -        "description": "<em>the maximum number of returned backlinks</em><br>optional field<p>default value: <code>100</code><br>maximum value: <code>1000</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "mode": {
        -        "description": "<em>results grouping type</em><br>optional field<br>possible grouping types:<br><code>as_is</code> - returns all backlinks<br><code>one_per_domain</code> - returns one backlink per domain<br><code>one_per_anchor</code> - returns one backlink per anchor<p>default value: <code>as_is</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "offset": {
        -        "description": "<em>offset in the results array of the returned backlinks</em><br>optional field<p>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten backlinks in the results array will be omitted and the data will be provided for the successive backlinks;<br><strong>Note:</strong> the maximum value is <code>20,000</code>, use the <code>search_after_token</code> if you would like to offset more results",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "order_by": {
        -        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to set up a sorting type<br>example:<br><code>[\"rank,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"domain_from_rank,desc\",\"page_from_rank,asc\"]</code>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "rank_scale": {
        -        "description": "<em>defines the scale used for calculating and displaying the <code>rank</code>, <code>domain_from_rank</code>, and <code>page_from_rank</code> values</em><br>optional field<p>you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale<p>possible values:<br><code>one_hundred</code> — rank values are displayed on a 0–100 scale<br><code>one_thousand</code> — rank values are displayed on a 0–1000 scale<p>default value: <code>one_thousand</code><p>learn more about how this parameter works and how ranking metrics are calculated in <a href=\"https://dataforseo.com/help-center/what_is_rank_in_backlinks_api#rank_scale\">this Help Center article</a>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "search_after_token": {
        -        "description": "<em>token for subsequent requests</em><br>optional field<br>provided in the identical filed of the response to each request;<br>use this parameter to avoid timeouts while trying to obtain over <code>20,000</code> results in a single request;<br>by specifying the unique <code>search_after_token</code> value from the response array, you will get the subsequent results of the initial task;<br><code>search_after_token</code> values are unique for each subsequent task ;<br><strong>Note:</strong> if the <code>search_after_token</code> is specified in the request, all other parameters should be identical to the previous request",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "target": {
        -        "description": "<em>domain, subdomain or webpage to get backlinks for</em><br><strong>required field</strong><br>a domain or a subdomain should be specified without <code>https://</code> and <code>www.</code><br>a page should be specified with absolute URL (including <code>http://</code> or <code>https://</code>)",
        -        "type": "string"
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
    • Changedpost_dataforseo_backlinks_competitors_live3 fields changed
      • addedInput schema / $defs
        Added value: +{
        +  "Provider0A3E90081762_AisaDataforseoFilterJsonValue": {
        +    "anyOf": [
        +      {
        +        "type": "string"
        +      },
        +      {
        +        "type": "number"
        +      },
        +      {
        +        "type": "boolean"
        +      },
        +      {
        +        "additionalProperties": {
        +          "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +        },
        +        "type": [
        +          "object",
        +          "null"
        +        ]
        +      },
        +      {
        +        "items": {
        +          "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +        },
        +        "type": "array"
        +      }
        +    ],
        +    "description": "JSON representation of filter values and nested expressions. Field names, operators, condition counts and operand compatibility remain provider-validated as documented for each endpoint; this is not a complete filter-language validator."
        +  }
        +}
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "properties": {
        +      "exclude_internal_backlinks": {
        +        "description": "<em>indicates if internal backlinks from subdomains to the <code>target</code> will be excluded from the results</em><br>optional field<br>if set to <code>true</code>, the results will not include data on internal backlinks from subdomains of the same domain as <code>target</code><br>if set to <code>false</code>, internal links will be included in the results<br>default value: <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "exclude_large_domains": {
        +        "description": "<em>indicates whether large domain will appear in results</em><br>optional field<br>if set to <code>true</code>, the results from the large domain (google.com, amazon.com, etc.) will be omitted;<br>default value: <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "filters": {
        +        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>, <code>not_like</code>, <code>ilike</code>, <code>not_ilike</code>, <code>match</code>, <code>not_match</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters<br>example:<br><code>[\"rank\",\"&gt;\",\"100\"]</code><p><code>[[\"target\",\"like\",\"%forbes%\"],<br>\"and\",<br>[[\"rank\",\"&gt;\",\"100\"],\"or\",[\"intersections\",\"&gt;\",\"5\"]]]</code><p>The full list of possible filters is available <a href=\"/v3/backlinks/filters/?bash\" rel=\"noopener noreferrer\" target=\"_blank\">here.</a>",
        +        "items": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "number"
        +            },
        +            {
        +              "type": "boolean"
        +            },
        +            {
        +              "additionalProperties": {
        +                "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +              },
        +              "type": [
        +                "object",
        +                "null"
        +              ]
        +            },
        +            {
        +              "items": {
        +                "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +              },
        +              "type": "array"
        +            }
        +          ],
        +          "description": "JSON representation of filter values and nested expressions. Field names, operators, condition counts and operand compatibility remain provider-validated as documented for each endpoint; this is not a complete filter-language validator."
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "limit": {
        +        "description": "<em>the maximum number of returned domains</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "main_domain": {
        +        "description": "<em>indicates if only main domain of the <code>target</code> will be included in the search</em><br>optional field<br>if set to <code>true</code>, only the main domain will be included in search;<br>default value: <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "offset": {
        +        "description": "<em>offset in the results array of returned domains</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten domains in the results array will be omitted and the data will be provided for the successive pages",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "order_by": {
        +        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to set up a sorting type<br>example:<br><code>[\"rank,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"intersections,desc\",\"rank,asc\"]</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "rank_scale": {
        +        "description": "<em>defines the scale used for calculating and displaying the <code>rank</code>, <code>domain_from_rank</code>, and <code>page_from_rank</code> values</em><br>optional field<p>you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale<p>possible values:<br><code>one_hundred</code> — rank values are displayed on a 0–100 scale<br><code>one_thousand</code> — rank values are displayed on a 0–1000 scale<p>default value: <code>one_thousand</code><p>learn more about how this parameter works and how ranking metrics are calculated in <a href=\"https://dataforseo.com/help-center/what_is_rank_in_backlinks_api#rank_scale\">this Help Center article</a>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "target": {
        +        "description": "<em>domain, subdomain or webpage to get competitor domains for</em><br><strong>required field</strong><br>a domain or a subdomain should be specified without <code>https://</code> and <code>www.</code><br>a page should be specified with absolute URL (including <code>http://</code> or <code>https://</code>)",
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / oneOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "filters": [
        -          "rank",
        -          ">",
        -          100
        -        ],
        -        "limit": 5,
        -        "order_by": [
        -          "rank,desc"
        -        ],
        -        "target": "dataforseo.com"
        -      }
        -    ],
        -    "properties": {
        -      "exclude_internal_backlinks": {
        -        "description": "<em>indicates if internal backlinks from subdomains to the <code>target</code> will be excluded from the results</em><br>optional field<br>if set to <code>true</code>, the results will not include data on internal backlinks from subdomains of the same domain as <code>target</code><br>if set to <code>false</code>, internal links will be included in the results<br>default value: <code>true</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "exclude_large_domains": {
        -        "description": "<em>indicates whether large domain will appear in results</em><br>optional field<br>if set to <code>true</code>, the results from the large domain (google.com, amazon.com, etc.) will be omitted;<br>default value: <code>true</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "filters": {
        -        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>, <code>not_like</code>, <code>ilike</code>, <code>not_ilike</code>, <code>match</code>, <code>not_match</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters<br>example:<br><code>[\"rank\",\"&gt;\",\"100\"]</code><p><code>[[\"target\",\"like\",\"%forbes%\"],<br>\"and\",<br>[[\"rank\",\"&gt;\",\"100\"],\"or\",[\"intersections\",\"&gt;\",\"5\"]]]</code><p>The full list of possible filters is available <a href=\"/v3/backlinks/filters/?bash\" rel=\"noopener noreferrer\" target=\"_blank\">here.</a>",
        -        "items": {
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "limit": {
        -        "description": "<em>the maximum number of returned domains</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "main_domain": {
        -        "description": "<em>indicates if only main domain of the <code>target</code> will be included in the search</em><br>optional field<br>if set to <code>true</code>, only the main domain will be included in search;<br>default value: <code>true</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "offset": {
        -        "description": "<em>offset in the results array of returned domains</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten domains in the results array will be omitted and the data will be provided for the successive pages",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "order_by": {
        -        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to set up a sorting type<br>example:<br><code>[\"rank,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"intersections,desc\",\"rank,asc\"]</code>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "rank_scale": {
        -        "description": "<em>defines the scale used for calculating and displaying the <code>rank</code>, <code>domain_from_rank</code>, and <code>page_from_rank</code> values</em><br>optional field<p>you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale<p>possible values:<br><code>one_hundred</code> — rank values are displayed on a 0–100 scale<br><code>one_thousand</code> — rank values are displayed on a 0–1000 scale<p>default value: <code>one_thousand</code><p>learn more about how this parameter works and how ranking metrics are calculated in <a href=\"https://dataforseo.com/help-center/what_is_rank_in_backlinks_api#rank_scale\">this Help Center article</a>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "target": {
        -        "description": "<em>domain, subdomain or webpage to get competitor domains for</em><br><strong>required field</strong><br>a domain or a subdomain should be specified without <code>https://</code> and <code>www.</code><br>a page should be specified with absolute URL (including <code>http://</code> or <code>https://</code>)",
        -        "type": "string"
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
    • Changedpost_dataforseo_backlinks_history_live1 field changed
      • changedInput schema / properties / body / items / oneOf
        Previous value: -[
        -  {
        -    "example": [
        -      {
        -        "date_from": "2020-01-01",
        -        "date_to": "2021-01-01",
        -        "target": "cnn.com"
        -      }
        -    ],
        -    "properties": {
        -      "date_from": {
        -        "description": "<em>starting date of the time range</em><br>optional field<br>minimum value <code>2019-01-01</code><br>if you don't specify this field, the minimum value will be used by default<br>date format: <code>\"yyyy-mm-dd\"</code><br>example:<br><code>\"2019-01-15\"</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "date_to": {
        -        "description": "<em>ending date of the time range</em><br>optional field<br>if you don't specify this field, the today's date will be used by default<br>date format: <code>\"yyyy-mm-dd\"</code><br>example:<br><code>\"2019-01-15\"</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "rank_scale": {
        -        "description": "<em>defines the scale used for calculating and displaying the <code>rank</code>, <code>domain_from_rank</code>, and <code>page_from_rank</code> values</em><br>optional field<p>you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale<p>possible values:<br><code>one_hundred</code> — rank values are displayed on a 0–100 scale<br><code>one_thousand</code> — rank values are displayed on a 0–1000 scale<p>default value: <code>one_thousand</code><p>learn more about how this parameter works and how ranking metrics are calculated in <a href=\"https://dataforseo.com/help-center/what_is_rank_in_backlinks_api#rank_scale\">this Help Center article</a>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "target": {
        -        "description": "<em>domain</em><br><strong>required field</strong><br>a domain should be specified without <code>https://</code> and <code>www.</code>",
        -        "type": "string"
        -      }
        -    },
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "properties": {
        +      "date_from": {
        +        "description": "<em>starting date of the time range</em><br>optional field<br>minimum value <code>2019-01-01</code><br>if you don't specify this field, the minimum value will be used by default<br>date format: <code>\"yyyy-mm-dd\"</code><br>example:<br><code>\"2019-01-15\"</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "date_to": {
        +        "description": "<em>ending date of the time range</em><br>optional field<br>if you don't specify this field, the today's date will be used by default<br>date format: <code>\"yyyy-mm-dd\"</code><br>example:<br><code>\"2019-01-15\"</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "rank_scale": {
        +        "description": "<em>defines the scale used for calculating and displaying the <code>rank</code>, <code>domain_from_rank</code>, and <code>page_from_rank</code> values</em><br>optional field<p>you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale<p>possible values:<br><code>one_hundred</code> — rank values are displayed on a 0–100 scale<br><code>one_thousand</code> — rank values are displayed on a 0–1000 scale<p>default value: <code>one_thousand</code><p>learn more about how this parameter works and how ranking metrics are calculated in <a href=\"https://dataforseo.com/help-center/what_is_rank_in_backlinks_api#rank_scale\">this Help Center article</a>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "target": {
        +        "description": "<em>domain</em><br><strong>required field</strong><br>a domain should be specified without <code>https://</code> and <code>www.</code>",
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_backlinks_referring_domains_live3 fields changed
      • addedInput schema / $defs
        Added value: +{
        +  "Provider0A3E90081762_AisaDataforseoFilterJsonValue": {
        +    "anyOf": [
        +      {
        +        "type": "string"
        +      },
        +      {
        +        "type": "number"
        +      },
        +      {
        +        "type": "boolean"
        +      },
        +      {
        +        "additionalProperties": {
        +          "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +        },
        +        "type": [
        +          "object",
        +          "null"
        +        ]
        +      },
        +      {
        +        "items": {
        +          "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +        },
        +        "type": "array"
        +      }
        +    ],
        +    "description": "JSON representation of filter values and nested expressions. Field names, operators, condition counts and operand compatibility remain provider-validated as documented for each endpoint; this is not a complete filter-language validator."
        +  }
        +}
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "properties": {
        +      "backlinks_filters": {
        +        "description": "<em>filter the backlinks of your <code>target</code></em><br>optional field<br>you can use this field to filter the initial backlinks that will be included in the dataset for aggregated metrics for your <code>target</code><br>you can filter the backlinks by all fields available in the response of <a href=\"/v3/backlinks/backlinks/live\">this endpoint</a><br>using this parameter, you can include only dofollow backlinks in the response and create a flexible backlinks dataset to calculate the metrics for<br>example:<br><code>\"backlinks_filters\": [\"dofollow\", \"=\", true]</code>",
        +        "items": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "number"
        +            },
        +            {
        +              "type": "boolean"
        +            },
        +            {
        +              "additionalProperties": {
        +                "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +              },
        +              "type": [
        +                "object",
        +                "null"
        +              ]
        +            },
        +            {
        +              "items": {
        +                "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +              },
        +              "type": "array"
        +            }
        +          ],
        +          "description": "JSON representation of filter values and nested expressions. Field names, operators, condition counts and operand compatibility remain provider-validated as documented for each endpoint; this is not a complete filter-language validator."
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "backlinks_status_type": {
        +        "description": "<em>set what backlinks to return and count</em><br>optional field<br>you can use this field to choose what backlinks will be returned and used for aggregated metrics for your <code>target</code>;<br>possible values: <br><code>all</code> - all backlinks will be returned and counted;<br><code>live</code> - backlinks found during the last check will be returned and counted;<br><code>lost</code> - lost backlinks will be returned and counted;<p>default value: <code>live</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "exclude_internal_backlinks": {
        +        "description": "<em>indicates whether the backlinks from subdomains of the <code>target</code> are excluded</em><br>optional field<br>if set to <code>false</code>, the backlinks from subdomains of the <code>target</code> will be ommited and you won't receive the same domain in the response;<br>default value: <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "filters": {
        +        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>, <code>not_like</code>, <code>match</code>, <code>not_match</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters<br>example:<br><code>[\"referring_pages\",\"&gt;\",\"1\"]</code><p><code>[[\"referring_pages\",\"&gt;\",\"2\"],<br>\"and\",<br>[\"backlinks\",\"&gt;\",\"10\"]]</code><p><code>[[\"first_seen\",\">\",\"2017-10-23 11:31:45 +00:00\"],<br>\"and\",<br>[[\"domain\",\"like\",\"%dataforseo.com%\"],\"or\",[\"referring_domains\",\"&gt;\",\"10\"]]]</code><p>The full list of possible filters is available <a href=\"/v3/backlinks/filters/?bash\" rel=\"noopener noreferrer\" target=\"_blank\">here.</a>",
        +        "items": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "number"
        +            },
        +            {
        +              "type": "boolean"
        +            },
        +            {
        +              "additionalProperties": {
        +                "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +              },
        +              "type": [
        +                "object",
        +                "null"
        +              ]
        +            },
        +            {
        +              "items": {
        +                "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +              },
        +              "type": "array"
        +            }
        +          ],
        +          "description": "JSON representation of filter values and nested expressions. Field names, operators, condition counts and operand compatibility remain provider-validated as documented for each endpoint; this is not a complete filter-language validator."
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "include_indirect_links": {
        +        "description": "<em>indicates if indirect links to the <code>target</code> will be included in the results</em><br>optional field<br>if set to <code>true</code>, the results will include data on indirect links pointing to a page that either redirects to the target, or points to a canonical page<br>if set to <code>false</code>, indirect links will be ignored<br>default value: <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_subdomains": {
        +        "description": "<em>indicates if the subdomains of the <code>target</code> will be included in the search</em><br>optional field<br>if set to <code>false</code>, the subdomains will be ignored<br>default value: <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "internal_list_limit": {
        +        "description": "<em>maximum number of elements within internal arrays</em><br>optional field<br>you can use this field to limit the number of elements within the following arrays:<br><code>referring_links_tld</code><br><code>referring_links_types</code><br><code>referring_links_attributes</code><br><code>referring_links_platform_types</code><br><code>referring_links_semantic_locations</code><p>default value: <code>10</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "limit": {
        +        "description": "<em>the maximum number of returned domains</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "offset": {
        +        "description": "<em>offset in the results array of returned domains</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten domains in the results array will be omitted and the data will be provided for the successive pages",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "order_by": {
        +        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to set up a sorting type<br>example:<br><code>[\"backlinks,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"backlinks,desc\",\"rank,asc\"]</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "rank_scale": {
        +        "description": "<em>defines the scale used for calculating and displaying the <code>rank</code>, <code>domain_from_rank</code>, and <code>page_from_rank</code> values</em><br>optional field<p>you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale<p>possible values:<br><code>one_hundred</code> — rank values are displayed on a 0–100 scale<br><code>one_thousand</code> — rank values are displayed on a 0–1000 scale<p>default value: <code>one_thousand</code><p>learn more about how this parameter works and how ranking metrics are calculated in <a href=\"https://dataforseo.com/help-center/what_is_rank_in_backlinks_api#rank_scale\">this Help Center article</a>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "target": {
        +        "description": "<em>domain, subdomain or webpage to get referring domains for</em><br><strong>required field</strong><br>a domain or a subdomain should be specified without <code>https://</code> and <code>www.</code><br>a page should be specified with absolute URL (including <code>http://</code> or <code>https://</code>)",
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / oneOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "backlinks_filters": [
        -          "dofollow",
        -          "=",
        -          true
        -        ],
        -        "exclude_internal_backlinks": true,
        -        "filters": [
        -          "backlinks",
        -          ">",
        -          100
        -        ],
        -        "limit": 5,
        -        "order_by": [
        -          "rank,desc"
        -        ],
        -        "target": "backlinko.com"
        -      }
        -    ],
        -    "properties": {
        -      "backlinks_filters": {
        -        "description": "<em>filter the backlinks of your <code>target</code></em><br>optional field<br>you can use this field to filter the initial backlinks that will be included in the dataset for aggregated metrics for your <code>target</code><br>you can filter the backlinks by all fields available in the response of <a href=\"/v3/backlinks/backlinks/live\">this endpoint</a><br>using this parameter, you can include only dofollow backlinks in the response and create a flexible backlinks dataset to calculate the metrics for<br>example:<br><code>\"backlinks_filters\": [\"dofollow\", \"=\", true]</code>",
        -        "items": {
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "backlinks_status_type": {
        -        "description": "<em>set what backlinks to return and count</em><br>optional field<br>you can use this field to choose what backlinks will be returned and used for aggregated metrics for your <code>target</code>;<br>possible values: <br><code>all</code> - all backlinks will be returned and counted;<br><code>live</code> - backlinks found during the last check will be returned and counted;<br><code>lost</code> - lost backlinks will be returned and counted;<p>default value: <code>live</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "exclude_internal_backlinks": {
        -        "description": "<em>indicates whether the backlinks from subdomains of the <code>target</code> are excluded</em><br>optional field<br>if set to <code>false</code>, the backlinks from subdomains of the <code>target</code> will be ommited and you won't receive the same domain in the response;<br>default value: <code>true</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "filters": {
        -        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>, <code>not_like</code>, <code>match</code>, <code>not_match</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters<br>example:<br><code>[\"referring_pages\",\"&gt;\",\"1\"]</code><p><code>[[\"referring_pages\",\"&gt;\",\"2\"],<br>\"and\",<br>[\"backlinks\",\"&gt;\",\"10\"]]</code><p><code>[[\"first_seen\",\">\",\"2017-10-23 11:31:45 +00:00\"],<br>\"and\",<br>[[\"domain\",\"like\",\"%dataforseo.com%\"],\"or\",[\"referring_domains\",\"&gt;\",\"10\"]]]</code><p>The full list of possible filters is available <a href=\"/v3/backlinks/filters/?bash\" rel=\"noopener noreferrer\" target=\"_blank\">here.</a>",
        -        "items": {
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "include_indirect_links": {
        -        "description": "<em>indicates if indirect links to the <code>target</code> will be included in the results</em><br>optional field<br>if set to <code>true</code>, the results will include data on indirect links pointing to a page that either redirects to the target, or points to a canonical page<br>if set to <code>false</code>, indirect links will be ignored<br>default value: <code>true</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "include_subdomains": {
        -        "description": "<em>indicates if the subdomains of the <code>target</code> will be included in the search</em><br>optional field<br>if set to <code>false</code>, the subdomains will be ignored<br>default value: <code>true</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "internal_list_limit": {
        -        "description": "<em>maximum number of elements within internal arrays</em><br>optional field<br>you can use this field to limit the number of elements within the following arrays:<br><code>referring_links_tld</code><br><code>referring_links_types</code><br><code>referring_links_attributes</code><br><code>referring_links_platform_types</code><br><code>referring_links_semantic_locations</code><p>default value: <code>10</code><br>maximum value: <code>1000</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "limit": {
        -        "description": "<em>the maximum number of returned domains</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "offset": {
        -        "description": "<em>offset in the results array of returned domains</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten domains in the results array will be omitted and the data will be provided for the successive pages",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "order_by": {
        -        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to set up a sorting type<br>example:<br><code>[\"backlinks,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"backlinks,desc\",\"rank,asc\"]</code>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "rank_scale": {
        -        "description": "<em>defines the scale used for calculating and displaying the <code>rank</code>, <code>domain_from_rank</code>, and <code>page_from_rank</code> values</em><br>optional field<p>you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale<p>possible values:<br><code>one_hundred</code> — rank values are displayed on a 0–100 scale<br><code>one_thousand</code> — rank values are displayed on a 0–1000 scale<p>default value: <code>one_thousand</code><p>learn more about how this parameter works and how ranking metrics are calculated in <a href=\"https://dataforseo.com/help-center/what_is_rank_in_backlinks_api#rank_scale\">this Help Center article</a>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "target": {
        -        "description": "<em>domain, subdomain or webpage to get referring domains for</em><br><strong>required field</strong><br>a domain or a subdomain should be specified without <code>https://</code> and <code>www.</code><br>a page should be specified with absolute URL (including <code>http://</code> or <code>https://</code>)",
        -        "type": "string"
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
    • Changedpost_dataforseo_backlinks_summary_live3 fields changed
      • addedInput schema / $defs
        Added value: +{
        +  "Provider0A3E90081762_AisaDataforseoFilterJsonValue": {
        +    "anyOf": [
        +      {
        +        "type": "string"
        +      },
        +      {
        +        "type": "number"
        +      },
        +      {
        +        "type": "boolean"
        +      },
        +      {
        +        "additionalProperties": {
        +          "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +        },
        +        "type": [
        +          "object",
        +          "null"
        +        ]
        +      },
        +      {
        +        "items": {
        +          "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +        },
        +        "type": "array"
        +      }
        +    ],
        +    "description": "JSON representation of filter values and nested expressions. Field names, operators, condition counts and operand compatibility remain provider-validated as documented for each endpoint; this is not a complete filter-language validator."
        +  }
        +}
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "properties": {
        +      "backlinks_filters": {
        +        "description": "<em>filter the backlinks of your <code>target</code></em><br>optional field<br>you can use this field to filter the initial backlinks that will be included in the dataset for aggregated metrics for your <code>target</code><br>you can filter the backlinks by all fields available in the response of <a href=\"/v3/backlinks/backlinks/live\">this endpoint</a><br>using this parameter, you can include only dofollow backlinks in the response and create a flexible backlinks dataset to calculate the metrics for<br>example:<br><code>\"backlinks_filters\": [\"dofollow\", \"=\", true]</code>",
        +        "items": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "number"
        +            },
        +            {
        +              "type": "boolean"
        +            },
        +            {
        +              "additionalProperties": {
        +                "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +              },
        +              "type": [
        +                "object",
        +                "null"
        +              ]
        +            },
        +            {
        +              "items": {
        +                "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +              },
        +              "type": "array"
        +            }
        +          ],
        +          "description": "JSON representation of filter values and nested expressions. Field names, operators, condition counts and operand compatibility remain provider-validated as documented for each endpoint; this is not a complete filter-language validator."
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "backlinks_status_type": {
        +        "description": "<em>set what backlinks to return and count</em><br>optional field<br>you can use this field to choose what backlinks will be returned and used for aggregated metrics for your <code>target</code>;<br>possible values: <br><code>all</code> - all backlinks will be returned and counted;<br><code>live</code> - backlinks found during the last check will be returned and counted;<br><code>lost</code> - lost backlinks will be returned and counted;<p>default value: <code>live</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "exclude_internal_backlinks": {
        +        "description": "<em>indicates if internal backlinks from subdomains to the <code>target</code> will be excluded from the results</em><br>optional field<br>if set to <code>true</code>, the results will not include data on internal backlinks from subdomains of the same domain as <code>target</code><br>if set to <code>false</code>, internal links will be included in the results<br>default value: <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_indirect_links": {
        +        "description": "<em>indicates if indirect links to the <code>target</code> will be included in the results</em><br>optional field<br>if set to <code>true</code>, the results will include data on indirect links pointing to a page that either redirects to the target, or points to a canonical page<br>if set to <code>false</code>, indirect links will be ignored<br>default value: <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_subdomains": {
        +        "description": "<em>indicates if the subdomains of the <code>target</code> will be included in the search</em><br>optional field<br>if set to <code>false</code>, the subdomains will be ignored<br>default value: <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "internal_list_limit": {
        +        "description": "<em>maximum number of elements within internal arrays</em><br>optional field<br>you can use this field to limit the number of elements within the following arrays:<br><code>referring_links_tld</code><br><code>referring_links_types</code><br><code>referring_links_attributes</code><br><code>referring_links_platform_types</code><br><code>referring_links_semantic_locations</code><p>default value: <code>10</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "rank_scale": {
        +        "description": "<em>defines the scale used for calculating and displaying the <code>rank</code>, <code>domain_from_rank</code>, and <code>page_from_rank</code> values</em><br>optional field<p>you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale<p>possible values:<br><code>one_hundred</code> — rank values are displayed on a 0–100 scale<br><code>one_thousand</code> — rank values are displayed on a 0–1000 scale<p>default value: <code>one_thousand</code><p>learn more about how this parameter works and how ranking metrics are calculated in <a href=\"https://dataforseo.com/help-center/what_is_rank_in_backlinks_api#rank_scale\">this Help Center article</a>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "target": {
        +        "description": "<em>domain, subdomain or webpage to get data for</em><br><strong>required field</strong><br>a domain or a subdomain should be specified without <code>https://</code> and <code>www.</code><br>a page should be specified with absolute URL (including <code>http://</code> or <code>https://</code>)",
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / oneOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "backlinks_filters": [
        -          "dofollow",
        -          "=",
        -          true
        -        ],
        -        "backlinks_status_type": "all",
        -        "include_subdomains": true,
        -        "internal_list_limit": 10,
        -        "target": "explodingtopics.com"
        -      }
        -    ],
        -    "properties": {
        -      "backlinks_filters": {
        -        "description": "<em>filter the backlinks of your <code>target</code></em><br>optional field<br>you can use this field to filter the initial backlinks that will be included in the dataset for aggregated metrics for your <code>target</code><br>you can filter the backlinks by all fields available in the response of <a href=\"/v3/backlinks/backlinks/live\">this endpoint</a><br>using this parameter, you can include only dofollow backlinks in the response and create a flexible backlinks dataset to calculate the metrics for<br>example:<br><code>\"backlinks_filters\": [\"dofollow\", \"=\", true]</code>",
        -        "items": {
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "backlinks_status_type": {
        -        "description": "<em>set what backlinks to return and count</em><br>optional field<br>you can use this field to choose what backlinks will be returned and used for aggregated metrics for your <code>target</code>;<br>possible values: <br><code>all</code> - all backlinks will be returned and counted;<br><code>live</code> - backlinks found during the last check will be returned and counted;<br><code>lost</code> - lost backlinks will be returned and counted;<p>default value: <code>live</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "exclude_internal_backlinks": {
        -        "description": "<em>indicates if internal backlinks from subdomains to the <code>target</code> will be excluded from the results</em><br>optional field<br>if set to <code>true</code>, the results will not include data on internal backlinks from subdomains of the same domain as <code>target</code><br>if set to <code>false</code>, internal links will be included in the results<br>default value: <code>true</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "include_indirect_links": {
        -        "description": "<em>indicates if indirect links to the <code>target</code> will be included in the results</em><br>optional field<br>if set to <code>true</code>, the results will include data on indirect links pointing to a page that either redirects to the target, or points to a canonical page<br>if set to <code>false</code>, indirect links will be ignored<br>default value: <code>true</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "include_subdomains": {
        -        "description": "<em>indicates if the subdomains of the <code>target</code> will be included in the search</em><br>optional field<br>if set to <code>false</code>, the subdomains will be ignored<br>default value: <code>true</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "internal_list_limit": {
        -        "description": "<em>maximum number of elements within internal arrays</em><br>optional field<br>you can use this field to limit the number of elements within the following arrays:<br><code>referring_links_tld</code><br><code>referring_links_types</code><br><code>referring_links_attributes</code><br><code>referring_links_platform_types</code><br><code>referring_links_semantic_locations</code><p>default value: <code>10</code><br>maximum value: <code>1000</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "rank_scale": {
        -        "description": "<em>defines the scale used for calculating and displaying the <code>rank</code>, <code>domain_from_rank</code>, and <code>page_from_rank</code> values</em><br>optional field<p>you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale<p>possible values:<br><code>one_hundred</code> — rank values are displayed on a 0–100 scale<br><code>one_thousand</code> — rank values are displayed on a 0–1000 scale<p>default value: <code>one_thousand</code><p>learn more about how this parameter works and how ranking metrics are calculated in <a href=\"https://dataforseo.com/help-center/what_is_rank_in_backlinks_api#rank_scale\">this Help Center article</a>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "target": {
        -        "description": "<em>domain, subdomain or webpage to get data for</em><br><strong>required field</strong><br>a domain or a subdomain should be specified without <code>https://</code> and <code>www.</code><br>a page should be specified with absolute URL (including <code>http://</code> or <code>https://</code>)",
        -        "type": "string"
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
    • Changedpost_dataforseo_content_search_live3 fields changed
      • addedInput schema / $defs
        Added value: +{
        +  "Provider0A3E90081762_AisaDataforseoFilterJsonValue": {
        +    "anyOf": [
        +      {
        +        "type": "string"
        +      },
        +      {
        +        "type": "number"
        +      },
        +      {
        +        "type": "boolean"
        +      },
        +      {
        +        "additionalProperties": {
        +          "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +        },
        +        "type": [
        +          "object",
        +          "null"
        +        ]
        +      },
        +      {
        +        "items": {
        +          "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +        },
        +        "type": "array"
        +      }
        +    ],
        +    "description": "JSON representation of filter values and nested expressions. Field names, operators, condition counts and operand compatibility remain provider-validated as documented for each endpoint; this is not a complete filter-language validator."
        +  }
        +}
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "properties": {
        +      "filters": {
        +        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>,<code>not_like</code>, <code>match</code>, <code>not_match</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters<br>example:<br><code>[\"country\",\"=\", \"US\"]</code><p><code>[[\"domain_rank\",\"&gt;\",800],\"and\",[\"content_info.connotation_types.negative\",\"&gt;\",0.9]]</code><p><code>[[\"domain_rank\",\"&gt;\",800],<br>\"and\",<br>[[\"page_types\",\"has\",\"ecommerce\"],<br>\"or\",<p>[\"content_info.text_category\",\"has\",10994]]]</code><br>for more information about filters, please refer to <a href=\"/v3/content_analysis/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Content Analysis API - Filters</a>",
        +        "items": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "number"
        +            },
        +            {
        +              "type": "boolean"
        +            },
        +            {
        +              "additionalProperties": {
        +                "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +              },
        +              "type": [
        +                "object",
        +                "null"
        +              ]
        +            },
        +            {
        +              "items": {
        +                "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +              },
        +              "type": "array"
        +            }
        +          ],
        +          "description": "JSON representation of filter values and nested expressions. Field names, operators, condition counts and operand compatibility remain provider-validated as documented for each endpoint; this is not a complete filter-language validator."
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "keyword": {
        +        "description": "<em>target keyword</em><br><strong>required field</strong><br>UTF-8 encoding<br>the keywords will be converted to a lowercase format;<br><strong>Note</strong>: to match an exact phrase instead of a stand-alone keyword, use double quotes and backslashes; <br>example: <br>`\"keyword\": \"\\\"tesla palo alto\\\"\"`<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        +        "type": "string"
        +      },
        +      "keyword_fields": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "description": "<em>target keyword fields and target keywords</em><br>optional field<br>use this parameter to filter the dataset by keywords that certain fields should contain;<br>fields you can specify: <code>title</code>, <code>main_title</code>, <code>previous_title</code>, <code>snippet</code><br>you can indicate several fields;<br><strong>Note</strong>: to match an exact phrase instead of a stand-alone keyword, use double quotes and backslashes; <br>example:<br>`\"keyword_fields\": {<br>\"snippet\": \"\\\"logitech mouse\\\"\",<br>\"main_title\": \"sale\"<br>}\"`",
        +        "type": [
        +          "object",
        +          "null"
        +        ]
        +      },
        +      "limit": {
        +        "description": "<em>the maximum number of returned citations</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "offset": {
        +        "description": "<em>offset in the results array of returned citations</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten citations in the results array will be omitted and the data will be provided for the successive citations<br><strong>Note:</strong> we recommend using this parameter only when retrieving up to 10,000 results<br>for retrieving over 10,000 results, use the <code>offset_token</code> instead.",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "offset_token": {
        +        "description": "<em>offset token for subsequent requests</em><br>optional field<br>provided in the identical field of the response to each request;<br>use this parameter to avoid timeouts while trying to obtain over 10,000 results in a single request;<br>by specifying the unique <code>offset_token</code> value from the response array, you will get the subsequent results of the initial task;<br><code>offset_token</code> values are unique for each subsequent task <br><strong>Note:</strong> if the <code>offset_token</code> is specified in the request, all other parameters except <code>limit</code> will not be taken into account when processing a task<br>learn more about this parameter on our <a href=\"https://dataforseo.com/help-center/what-is-the-difference-between-the-offset-and-offset_token-parameters#offset_token\" target=\"_blank\">Help Center</a>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "order_by": {
        +        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to set up a sorting type<br>example:<br><code>[\"content_info.sentiment_connotations.anger,desc\"]</code><br>default rule:<br><code>[\"content_info.sentiment_connotations.anger,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"content_info.sentiment_connotations.anger,desc\",\"keyword_data.keyword_info.cpc,desc\"]</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "page_type": {
        +        "description": "<em>target page types</em><br>optional field<br>use this parameter to filter the dataset by page types<br>possible values: <br><code>\"ecommerce\"</code>, <code>\"news\"</code>, <code>\"blogs\"</code>, <code>\"message-boards\"</code>, <code>\"organization\"</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "rank_scale": {
        +        "description": "<em>defines the scale used for calculating and displaying the <code>domain_rank</code>, and <code>url_rank</code> values</em><br>optional field<p>you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale<p>possible values:<br><code>one_hundred</code> — rank values are displayed on a 0–100 scale<br><code>one_thousand</code> — rank values are displayed on a 0–1000 scale<p>default value: <code>one_thousand</code><p>learn more about how this parameter works in <a href=\"https://dataforseo.com/help-center/using-the-rank_scale-parameter-in-content-analysis-api\">this Help Center article</a>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "search_mode": {
        +        "description": "<em>results grouping type</em><br>optional field<br>possible grouping types:<br><code>as_is</code> - returns all citations for the target <code>keyword</code><br><code>one_per_domain</code> - returns one citation of the <code>keyword</code> per domain<br>default value: <code>as_is</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / oneOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "filters": [
        -          "main_domain",
        -          "=",
        -          "reviewfinder.ca"
        -        ],
        -        "keyword": "logitech",
        -        "keyword_fields": {
        -          "snippet": "logitech"
        -        },
        -        "limit": 10,
        -        "order_by": [
        -          "content_info.sentiment_connotations.anger,desc"
        -        ],
        -        "page_type": [
        -          "ecommerce",
        -          "news",
        -          "blogs",
        -          "message-boards",
        -          "organization"
        -        ],
        -        "search_mode": "as_is"
        -      }
        -    ],
        -    "properties": {
        -      "filters": {
        -        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>,<code>not_like</code>, <code>match</code>, <code>not_match</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters<br>example:<br><code>[\"country\",\"=\", \"US\"]</code><p><code>[[\"domain_rank\",\"&gt;\",800],\"and\",[\"content_info.connotation_types.negative\",\"&gt;\",0.9]]</code><p><code>[[\"domain_rank\",\"&gt;\",800],<br>\"and\",<br>[[\"page_types\",\"has\",\"ecommerce\"],<br>\"or\",<p>[\"content_info.text_category\",\"has\",10994]]]</code><br>for more information about filters, please refer to <a href=\"/v3/content_analysis/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Content Analysis API - Filters</a>",
        -        "items": {
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "keyword": {
        -        "description": "<em>target keyword</em><br><strong>required field</strong><br>UTF-8 encoding<br>the keywords will be converted to a lowercase format;<br><strong>Note</strong>: to match an exact phrase instead of a stand-alone keyword, use double quotes and backslashes; <br>example: <br>`\"keyword\": \"\\\"tesla palo alto\\\"\"`<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        -        "type": "string"
        -      },
        -      "keyword_fields": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "null"
        -          ]
        -        },
        -        "description": "<em>target keyword fields and target keywords</em><br>optional field<br>use this parameter to filter the dataset by keywords that certain fields should contain;<br>fields you can specify: <code>title</code>, <code>main_title</code>, <code>previous_title</code>, <code>snippet</code><br>you can indicate several fields;<br><strong>Note</strong>: to match an exact phrase instead of a stand-alone keyword, use double quotes and backslashes; <br>example:<br>`\"keyword_fields\": {<br>\"snippet\": \"\\\"logitech mouse\\\"\",<br>\"main_title\": \"sale\"<br>}\"`",
        -        "type": [
        -          "object",
        -          "null"
        -        ]
        -      },
        -      "limit": {
        -        "description": "<em>the maximum number of returned citations</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "offset": {
        -        "description": "<em>offset in the results array of returned citations</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten citations in the results array will be omitted and the data will be provided for the successive citations<br><strong>Note:</strong> we recommend using this parameter only when retrieving up to 10,000 results<br>for retrieving over 10,000 results, use the <code>offset_token</code> instead.",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "offset_token": {
        -        "description": "<em>offset token for subsequent requests</em><br>optional field<br>provided in the identical field of the response to each request;<br>use this parameter to avoid timeouts while trying to obtain over 10,000 results in a single request;<br>by specifying the unique <code>offset_token</code> value from the response array, you will get the subsequent results of the initial task;<br><code>offset_token</code> values are unique for each subsequent task <br><strong>Note:</strong> if the <code>offset_token</code> is specified in the request, all other parameters except <code>limit</code> will not be taken into account when processing a task<br>learn more about this parameter on our <a href=\"https://dataforseo.com/help-center/what-is-the-difference-between-the-offset-and-offset_token-parameters#offset_token\" target=\"_blank\">Help Center</a>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "order_by": {
        -        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to set up a sorting type<br>example:<br><code>[\"content_info.sentiment_connotations.anger,desc\"]</code><br>default rule:<br><code>[\"content_info.sentiment_connotations.anger,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"content_info.sentiment_connotations.anger,desc\",\"keyword_data.keyword_info.cpc,desc\"]</code>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "page_type": {
        -        "description": "<em>target page types</em><br>optional field<br>use this parameter to filter the dataset by page types<br>possible values: <br><code>\"ecommerce\"</code>, <code>\"news\"</code>, <code>\"blogs\"</code>, <code>\"message-boards\"</code>, <code>\"organization\"</code>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "rank_scale": {
        -        "description": "<em>defines the scale used for calculating and displaying the <code>domain_rank</code>, and <code>url_rank</code> values</em><br>optional field<p>you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale<p>possible values:<br><code>one_hundred</code> — rank values are displayed on a 0–100 scale<br><code>one_thousand</code> — rank values are displayed on a 0–1000 scale<p>default value: <code>one_thousand</code><p>learn more about how this parameter works in <a href=\"https://dataforseo.com/help-center/using-the-rank_scale-parameter-in-content-analysis-api\">this Help Center article</a>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "search_mode": {
        -        "description": "<em>results grouping type</em><br>optional field<br>possible grouping types:<br><code>as_is</code> - returns all citations for the target <code>keyword</code><br><code>one_per_domain</code> - returns one citation of the <code>keyword</code> per domain<br>default value: <code>as_is</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
    • Changedpost_dataforseo_content_sentiment_analysis_live3 fields changed
      • addedInput schema / $defs
        Added value: +{
        +  "Provider0A3E90081762_AisaDataforseoFilterJsonValue": {
        +    "anyOf": [
        +      {
        +        "type": "string"
        +      },
        +      {
        +        "type": "number"
        +      },
        +      {
        +        "type": "boolean"
        +      },
        +      {
        +        "additionalProperties": {
        +          "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +        },
        +        "type": [
        +          "object",
        +          "null"
        +        ]
        +      },
        +      {
        +        "items": {
        +          "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +        },
        +        "type": "array"
        +      }
        +    ],
        +    "description": "JSON representation of filter values and nested expressions. Field names, operators, condition counts and operand compatibility remain provider-validated as documented for each endpoint; this is not a complete filter-language validator."
        +  }
        +}
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "properties": {
        +      "initial_dataset_filters": {
        +        "description": "initial dataset filtering parameters\noptional field\ninitial filtering parameters that apply to fields in the Search endpoint\nyou can add several filters at once (8 filters maximum)\nyou should set a logical operator and, or between the conditions\nthe following operators are supported:\nregex, not_regex, <, <=, >, >=, =, <>, in, not_in, like,not_like, has, has_not, match, not_match\nyou can use the % operator with like and not_like to match any string of zero or more characters\nexample:\n[\"domain\",\"<>\", \"logitech.com\"]\n[[\"domain\",\"<>\",\"logitech.com\"],\"and\",[\"content_info.connotation_types.negative\",\">\",1000]]\n[[\"domain\",\"<>\",\"logitech.com\"]],\n\"and\",\n[[\"content_info.connotation_types.negative\",\">\",1000],\n\"or\",\n[\"content_info.text_category\",\"has\",10994]]]\nfor more information about filters, please refer to Content Analysis API – Filters\nlearn more about the initial dataset filters in this help center article.",
        +        "items": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "number"
        +            },
        +            {
        +              "type": "boolean"
        +            },
        +            {
        +              "additionalProperties": {
        +                "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +              },
        +              "type": [
        +                "object",
        +                "null"
        +              ]
        +            },
        +            {
        +              "items": {
        +                "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +              },
        +              "type": "array"
        +            }
        +          ],
        +          "description": "JSON representation of filter values and nested expressions. Field names, operators, condition counts and operand compatibility remain provider-validated as documented for each endpoint; this is not a complete filter-language validator."
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "internal_list_limit": {
        +        "description": "maximum number of elements within internal arrays\noptional field\nyou can use this field to limit the number of elements within the following arrays:\ntop_domains\ntext_categories\npage_categories\ncountries\nlanguages\ndefault value: 1\nmaximum value: 20",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "keyword": {
        +        "description": "target keyword\nrequired field\nUTF-8 encoding\nthe keywords will be converted to a lowercase format;\nNote: to match an exact phrase instead of a stand-alone keyword, use double quotes and backslashes;\nexample:\n\"keyword\": \"\\\"tesla palo alto\\\"\"\nlearn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        +        "type": "string"
        +      },
        +      "keyword_fields": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "description": "target keyword fields and target keywords\noptional field\nuse this parameter to filter the dataset by keywords that certain fields should contain;\nfields you can specify: title, main_title, previous_title, snippet\nyou can indicate several fields;\nNote: to match an exact phrase instead of a stand-alone keyword, use double quotes and backslashes;\nexample:\n\"keyword_fields\": {\n    \"snippet\": \"\\\"logitech mouse\\\"\",\n    \"main_title\": \"sale\"\n}",
        +        "type": [
        +          "object",
        +          "null"
        +        ]
        +      },
        +      "page_type": {
        +        "description": "target page types\noptional field\nuse this parameter to filter the dataset by page types\npossible values:\n\"ecommerce\", \"news\", \"blogs\", \"message-boards\", \"organization\"",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "positive_connotation_threshold": {
        +        "description": "positive connotation threshold\noptional field\nspecified as the probability index threshold for positive sentiment related to the citation content\nif you specify this field, connotation_types object in the response will only contain data on citations with positive sentiment probability more than or equal to the specified value\npossible values: from 0 to 1\ndefault value: 0.4",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "rank_scale": {
        +        "description": "defines the scale used for calculating and displaying the rank values\noptional field\nyou can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale\npossible values:\none_hundred — rank values are displayed on a 0–100 scale\none_thousand — rank values are displayed on a 0–1000 scale\ndefault value: one_thousand\nlearn more about how this parameter works in this Help Center article",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "sentiments_connotation_threshold": {
        +        "description": "sentiment connotation threshold\noptional field\nspecified as the probability index threshold for sentiment connotations related to the citation content\nif you specify this field, sentiment_connotations object in the response will only contain data on citations where the probability per each sentiment is more than or equal to the specified value\npossible values: from 0 to 1\ndefault value: 0.4",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "user-defined task identifier\noptional field\nthe character limit is 255\nyou can use this parameter to identify the task and match it with the result\nyou will find the specified tag value in the data object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / oneOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "internal_list_limit": 1,
        -        "keyword": "logitech"
        -      }
        -    ],
        -    "properties": {
        -      "initial_dataset_filters": {
        -        "description": "initial dataset filtering parameters\noptional field\ninitial filtering parameters that apply to fields in the Search endpoint\nyou can add several filters at once (8 filters maximum)\nyou should set a logical operator and, or between the conditions\nthe following operators are supported:\nregex, not_regex, <, <=, >, >=, =, <>, in, not_in, like,not_like, has, has_not, match, not_match\nyou can use the % operator with like and not_like to match any string of zero or more characters\nexample:\n[\"domain\",\"<>\", \"logitech.com\"]\n[[\"domain\",\"<>\",\"logitech.com\"],\"and\",[\"content_info.connotation_types.negative\",\">\",1000]]\n[[\"domain\",\"<>\",\"logitech.com\"]],\n\"and\",\n[[\"content_info.connotation_types.negative\",\">\",1000],\n\"or\",\n[\"content_info.text_category\",\"has\",10994]]]\nfor more information about filters, please refer to Content Analysis API – Filters\nlearn more about the initial dataset filters in this help center article.",
        -        "items": {
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "internal_list_limit": {
        -        "description": "maximum number of elements within internal arrays\noptional field\nyou can use this field to limit the number of elements within the following arrays:\ntop_domains\ntext_categories\npage_categories\ncountries\nlanguages\ndefault value: 1\nmaximum value: 20",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "keyword": {
        -        "description": "target keyword\nrequired field\nUTF-8 encoding\nthe keywords will be converted to a lowercase format;\nNote: to match an exact phrase instead of a stand-alone keyword, use double quotes and backslashes;\nexample:\n\"keyword\": \"\\\"tesla palo alto\\\"\"\nlearn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        -        "type": "string"
        -      },
        -      "keyword_fields": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "null"
        -          ]
        -        },
        -        "description": "target keyword fields and target keywords\noptional field\nuse this parameter to filter the dataset by keywords that certain fields should contain;\nfields you can specify: title, main_title, previous_title, snippet\nyou can indicate several fields;\nNote: to match an exact phrase instead of a stand-alone keyword, use double quotes and backslashes;\nexample:\n\"keyword_fields\": {\n    \"snippet\": \"\\\"logitech mouse\\\"\",\n    \"main_title\": \"sale\"\n}",
        -        "type": [
        -          "object",
        -          "null"
        -        ]
        -      },
        -      "page_type": {
        -        "description": "target page types\noptional field\nuse this parameter to filter the dataset by page types\npossible values:\n\"ecommerce\", \"news\", \"blogs\", \"message-boards\", \"organization\"",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "positive_connotation_threshold": {
        -        "description": "positive connotation threshold\noptional field\nspecified as the probability index threshold for positive sentiment related to the citation content\nif you specify this field, connotation_types object in the response will only contain data on citations with positive sentiment probability more than or equal to the specified value\npossible values: from 0 to 1\ndefault value: 0.4",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "rank_scale": {
        -        "description": "defines the scale used for calculating and displaying the rank values\noptional field\nyou can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale\npossible values:\none_hundred — rank values are displayed on a 0–100 scale\none_thousand — rank values are displayed on a 0–1000 scale\ndefault value: one_thousand\nlearn more about how this parameter works in this Help Center article",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "sentiments_connotation_threshold": {
        -        "description": "sentiment connotation threshold\noptional field\nspecified as the probability index threshold for sentiment connotations related to the citation content\nif you specify this field, sentiment_connotations object in the response will only contain data on citations where the probability per each sentiment is more than or equal to the specified value\npossible values: from 0 to 1\ndefault value: 0.4",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "user-defined task identifier\noptional field\nthe character limit is 255\nyou can use this parameter to identify the task and match it with the result\nyou will find the specified tag value in the data object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
    • Changedpost_dataforseo_content_summary_live3 fields changed
      • addedInput schema / $defs
        Added value: +{
        +  "Provider0A3E90081762_AisaDataforseoFilterJsonValue": {
        +    "anyOf": [
        +      {
        +        "type": "string"
        +      },
        +      {
        +        "type": "number"
        +      },
        +      {
        +        "type": "boolean"
        +      },
        +      {
        +        "additionalProperties": {
        +          "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +        },
        +        "type": [
        +          "object",
        +          "null"
        +        ]
        +      },
        +      {
        +        "items": {
        +          "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +        },
        +        "type": "array"
        +      }
        +    ],
        +    "description": "JSON representation of filter values and nested expressions. Field names, operators, condition counts and operand compatibility remain provider-validated as documented for each endpoint; this is not a complete filter-language validator."
        +  }
        +}
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "properties": {
        +      "initial_dataset_filters": {
        +        "description": "<em>initial dataset filtering parameters</em><br>optional field<br>initial filtering parameters that apply to fields in the <a href=\"/v3/content_analysis/search/live/?bash\" target=\"_blank\">Search endpoint</a><br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>,<code>not_like</code>, <code>has</code>, <code>has_not</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters<br>example:<br><code>[\"domain\",\"&lt;&gt;\", \"logitech.com\"]</code><p><code>[[\"domain\",\"&lt;&gt;\",\"logitech.com\"],\"and\",[\"content_info.connotation_types.negative\",\"&gt;\",1000]]</code><p><code>[[\"domain\",\"&lt;&gt\",\"logitech.com\"]],<br>\"and\",<br>[[\"content_info.connotation_types.negative\",\"&gt;\",1000],<br>\"or\",<p>[\"content_info.text_category\",\"has\",10994]]]</code><br>for more information about filters, please refer to <a href=\"/v3/content_analysis/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Content Analysis API - Filters</a><br>learn more about the initial dataset filters in <a href=\"https://dataforseo.com/help-center/what-are-the-initial-dataset-filters-and-how-do-they-work\" rel=\"noopener noreferrer\" target=\"_blank\">this help center article.</a>",
        +        "items": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "number"
        +            },
        +            {
        +              "type": "boolean"
        +            },
        +            {
        +              "additionalProperties": {
        +                "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +              },
        +              "type": [
        +                "object",
        +                "null"
        +              ]
        +            },
        +            {
        +              "items": {
        +                "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +              },
        +              "type": "array"
        +            }
        +          ],
        +          "description": "JSON representation of filter values and nested expressions. Field names, operators, condition counts and operand compatibility remain provider-validated as documented for each endpoint; this is not a complete filter-language validator."
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "internal_list_limit": {
        +        "description": "<em>maximum number of elements within internal arrays</em><br>optional field<br>you can use this field to limit the number of elements within the following arrays:<br><code>top_domains</code><br><code>text_categories</code><br><code>page_categories</code><br><code>countries</code><br><code>languages</code><br>default value: <code>1</code><br>maximum value: <code>20</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "keyword": {
        +        "description": "<em>target keyword</em><br><strong>required field</strong><br>UTF-8 encoding<br>the keywords will be converted to a lowercase format;<br><strong>Note</strong>: to match an exact phrase instead of a stand-alone keyword, use double quotes and backslashes; <br>example: <br><code>\"keyword\": \"\\\"tesla palo alto\\\"\"</code><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        +        "type": "string"
        +      },
        +      "keyword_fields": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "description": "<em>target keyword fields and target keywords</em><br>optional field<br>use this parameter to filter the dataset by keywords that certain fields should contain;<br>fields you can specify: <code>title</code>, <code>main_title</code>, <code>previous_title</code>, <code>snippet</code><br>you can indicate several fields;<br><strong>Note</strong>: to match an exact phrase instead of a stand-alone keyword, use double quotes and backslashes; <br>example:<br><code>\"keyword_fields\": {<br>\"snippet\": \"\\\"logitech mouse\\\"\",<br>\"main_title\": \"sale\"<br>}</code>",
        +        "type": [
        +          "object",
        +          "null"
        +        ]
        +      },
        +      "page_type": {
        +        "description": "<em>target page types</em><br>optional field<br>use this parameter to filter the dataset by page types<br>possible values: <br><code>\"ecommerce\"</code>, <code>\"news\"</code>, <code>\"blogs\"</code>, <code>\"message-boards\"</code>, <code>\"organization\"</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "positive_connotation_threshold": {
        +        "description": "<em>positive connotation threshold</em><br>optional field<br>specified as the probability index threshold for positive sentiment related to the citation content<br>if you specify this field, <code>connotation_types</code> object in the response will only contain data on citations with <code>positive</code> sentiment probability more than or equal to the specified value<br>possible values: from <code>0</code> to <code>1</code><br>default value: <code>0.4</code>",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "rank_scale": {
        +        "description": "<em>defines the scale used for calculating and displaying the <code>rank</code> values</em><br>optional field<p>you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale<p>possible values:<br><code>one_hundred</code> — rank values are displayed on a 0–100 scale<br><code>one_thousand</code> — rank values are displayed on a 0–1000 scale<p>default value: <code>one_thousand</code><p>learn more about how this parameter works in <a href=\"https://dataforseo.com/help-center/using-the-rank_scale-parameter-in-content-analysis-api\">this Help Center article</a>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "sentiments_connotation_threshold": {
        +        "description": "<em>sentiment connotation threshold</em><br>optional field<br>specified as the probability index threshold for sentiment connotations related to the citation content<br>if you specify this field, <code>sentiment_connotations</code> object in the response will only contain data on citations where the <br>probability per each sentiment is more than or equal to the specified value<br>possible values: from <code>0</code> to <code>1</code><br>default value: <code>0.4</code>",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / oneOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "internal_list_limit": 8,
        -        "keyword": "logitech",
        -        "page_type": [
        -          "ecommerce",
        -          "news",
        -          "blogs",
        -          "message-boards",
        -          "organization"
        -        ],
        -        "positive_connotation_threshold": 0.5
        -      }
        -    ],
        -    "properties": {
        -      "initial_dataset_filters": {
        -        "description": "<em>initial dataset filtering parameters</em><br>optional field<br>initial filtering parameters that apply to fields in the <a href=\"/v3/content_analysis/search/live/?bash\" target=\"_blank\">Search endpoint</a><br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>,<code>not_like</code>, <code>has</code>, <code>has_not</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters<br>example:<br><code>[\"domain\",\"&lt;&gt;\", \"logitech.com\"]</code><p><code>[[\"domain\",\"&lt;&gt;\",\"logitech.com\"],\"and\",[\"content_info.connotation_types.negative\",\"&gt;\",1000]]</code><p><code>[[\"domain\",\"&lt;&gt\",\"logitech.com\"]],<br>\"and\",<br>[[\"content_info.connotation_types.negative\",\"&gt;\",1000],<br>\"or\",<p>[\"content_info.text_category\",\"has\",10994]]]</code><br>for more information about filters, please refer to <a href=\"/v3/content_analysis/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Content Analysis API - Filters</a><br>learn more about the initial dataset filters in <a href=\"https://dataforseo.com/help-center/what-are-the-initial-dataset-filters-and-how-do-they-work\" rel=\"noopener noreferrer\" target=\"_blank\">this help center article.</a>",
        -        "items": {
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "internal_list_limit": {
        -        "description": "<em>maximum number of elements within internal arrays</em><br>optional field<br>you can use this field to limit the number of elements within the following arrays:<br><code>top_domains</code><br><code>text_categories</code><br><code>page_categories</code><br><code>countries</code><br><code>languages</code><br>default value: <code>1</code><br>maximum value: <code>20</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "keyword": {
        -        "description": "<em>target keyword</em><br><strong>required field</strong><br>UTF-8 encoding<br>the keywords will be converted to a lowercase format;<br><strong>Note</strong>: to match an exact phrase instead of a stand-alone keyword, use double quotes and backslashes; <br>example: <br><code>\"keyword\": \"\\\"tesla palo alto\\\"\"</code><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        -        "type": "string"
        -      },
        -      "keyword_fields": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "null"
        -          ]
        -        },
        -        "description": "<em>target keyword fields and target keywords</em><br>optional field<br>use this parameter to filter the dataset by keywords that certain fields should contain;<br>fields you can specify: <code>title</code>, <code>main_title</code>, <code>previous_title</code>, <code>snippet</code><br>you can indicate several fields;<br><strong>Note</strong>: to match an exact phrase instead of a stand-alone keyword, use double quotes and backslashes; <br>example:<br><code>\"keyword_fields\": {<br>\"snippet\": \"\\\"logitech mouse\\\"\",<br>\"main_title\": \"sale\"<br>}</code>",
        -        "type": [
        -          "object",
        -          "null"
        -        ]
        -      },
        -      "page_type": {
        -        "description": "<em>target page types</em><br>optional field<br>use this parameter to filter the dataset by page types<br>possible values: <br><code>\"ecommerce\"</code>, <code>\"news\"</code>, <code>\"blogs\"</code>, <code>\"message-boards\"</code>, <code>\"organization\"</code>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "positive_connotation_threshold": {
        -        "description": "<em>positive connotation threshold</em><br>optional field<br>specified as the probability index threshold for positive sentiment related to the citation content<br>if you specify this field, <code>connotation_types</code> object in the response will only contain data on citations with <code>positive</code> sentiment probability more than or equal to the specified value<br>possible values: from <code>0</code> to <code>1</code><br>default value: <code>0.4</code>",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "rank_scale": {
        -        "description": "<em>defines the scale used for calculating and displaying the <code>rank</code> values</em><br>optional field<p>you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale<p>possible values:<br><code>one_hundred</code> — rank values are displayed on a 0–100 scale<br><code>one_thousand</code> — rank values are displayed on a 0–1000 scale<p>default value: <code>one_thousand</code><p>learn more about how this parameter works in <a href=\"https://dataforseo.com/help-center/using-the-rank_scale-parameter-in-content-analysis-api\">this Help Center article</a>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "sentiments_connotation_threshold": {
        -        "description": "<em>sentiment connotation threshold</em><br>optional field<br>specified as the probability index threshold for sentiment connotations related to the citation content<br>if you specify this field, <code>sentiment_connotations</code> object in the response will only contain data on citations where the <br>probability per each sentiment is more than or equal to the specified value<br>possible values: from <code>0</code> to <code>1</code><br>default value: <code>0.4</code>",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
    • Changedpost_dataforseo_domains_tech_for_domain_live1 field changed
      • changedInput schema / properties / body / items / oneOf
        Previous value: -[
        -  {
        -    "example": [
        -      {
        -        "target": "dataforseo.com"
        -      }
        -    ],
        -    "properties": {
        -      "target": {
        -        "description": "<em>target domain</em><br><strong>required field</strong><br>domain name of the website to analyze<br><strong>Note:</strong> results will be returned for the specified domain only",
        -        "type": "string"
        -      }
        -    },
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "properties": {
        +      "target": {
        +        "description": "<em>target domain</em><br><strong>required field</strong><br>domain name of the website to analyze<br><strong>Note:</strong> results will be returned for the specified domain only",
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_domains_whois_overview_live3 fields changed
      • addedInput schema / $defs
        Added value: +{
        +  "Provider0A3E90081762_AisaDataforseoFilterJsonValue": {
        +    "anyOf": [
        +      {
        +        "type": "string"
        +      },
        +      {
        +        "type": "number"
        +      },
        +      {
        +        "type": "boolean"
        +      },
        +      {
        +        "additionalProperties": {
        +          "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +        },
        +        "type": [
        +          "object",
        +          "null"
        +        ]
        +      },
        +      {
        +        "items": {
        +          "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +        },
        +        "type": "array"
        +      }
        +    ],
        +    "description": "JSON representation of filter values and nested expressions. Field names, operators, condition counts and operand compatibility remain provider-validated as documented for each endpoint; this is not a complete filter-language validator."
        +  }
        +}
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "properties": {
        +      "filters": {
        +        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>, <code>not_like</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters",
        +        "items": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "number"
        +            },
        +            {
        +              "type": "boolean"
        +            },
        +            {
        +              "additionalProperties": {
        +                "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +              },
        +              "type": [
        +                "object",
        +                "null"
        +              ]
        +            },
        +            {
        +              "items": {
        +                "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +              },
        +              "type": "array"
        +            }
        +          ],
        +          "description": "JSON representation of filter values and nested expressions. Field names, operators, condition counts and operand compatibility remain provider-validated as documented for each endpoint; this is not a complete filter-language validator."
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "limit": {
        +        "description": "<em>the maximum number of returned domains</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "offset": {
        +        "description": "<em>offset in the results array of returned items</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten <code>items</code> in the results array will be omitted and the data will be provided for the successive items;<br><strong>Note:</strong> we recommend using this parameter only when retrieving up to 10,000 results for retrieving over 10,000 results, use the <code>offset_token</code> instead",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "offset_token": {
        +        "description": "<em>token for subsequent requests</em><br>optional field<br>provided in the identical filed of the response to each request;<br>use this parameter to avoid timeouts while trying to obtain over 100,000 results in a single request;<br>by specifying the unique <code>offset_token</code> value from the response array, you will get the subsequent results of the initial task;<br><code>offset_token</code> values are unique for each subsequent task<br><strong>Note:</strong> if the <code>offset_token</code> is specified in the request, all other parameters should be identical to the previous request<br>learn more about this parameter on our <a href=\"https://dataforseo.com/help-center/what-is-the-difference-between-the-offset-and-offset_token-parameters#offset_token\" target=\"_blank\">Help Center</a>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "order_by": {
        +        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>the comma is used as a separator<br>example:<br><code>[\"metrics.organic.pos_1,desc\"]</code><br>default rule:<br><code>[\"metrics.organic.count,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"expiration_datetime,asc\",\"metrics.organic.etv,desc\",\"metrics.organic.pos_1,desc\"]</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / oneOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "filters": [
        -          [
        -            "epp_status_codes",
        -            "in",
        -            [
        -              "client_transfer_prohibited",
        -              "client_update_prohibited"
        -            ]
        -          ]
        -        ],
        -        "limit": 2
        -      }
        -    ],
        -    "properties": {
        -      "filters": {
        -        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>, <code>not_like</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters",
        -        "items": {
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "limit": {
        -        "description": "<em>the maximum number of returned domains</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "offset": {
        -        "description": "<em>offset in the results array of returned items</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten <code>items</code> in the results array will be omitted and the data will be provided for the successive items;<br><strong>Note:</strong> we recommend using this parameter only when retrieving up to 10,000 results for retrieving over 10,000 results, use the <code>offset_token</code> instead",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "offset_token": {
        -        "description": "<em>token for subsequent requests</em><br>optional field<br>provided in the identical filed of the response to each request;<br>use this parameter to avoid timeouts while trying to obtain over 100,000 results in a single request;<br>by specifying the unique <code>offset_token</code> value from the response array, you will get the subsequent results of the initial task;<br><code>offset_token</code> values are unique for each subsequent task<br><strong>Note:</strong> if the <code>offset_token</code> is specified in the request, all other parameters should be identical to the previous request<br>learn more about this parameter on our <a href=\"https://dataforseo.com/help-center/what-is-the-difference-between-the-offset-and-offset_token-parameters#offset_token\" target=\"_blank\">Help Center</a>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "order_by": {
        -        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>the comma is used as a separator<br>example:<br><code>[\"metrics.organic.pos_1,desc\"]</code><br>default rule:<br><code>[\"metrics.organic.count,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"expiration_datetime,asc\",\"metrics.organic.etv,desc\",\"metrics.organic.pos_1,desc\"]</code>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
    • Changedpost_dataforseo_keywords_gads_kw_for_keywords_live1 field changed
      • changedInput schema / properties / body / items / oneOf
        Previous value: -[
        -  {
        -    "example": [
        -      {
        -        "keywords": [
        -          "phone",
        -          "cellphone"
        -        ],
        -        "location_code": 2840
        -      }
        -    ],
        -    "properties": {
        -      "date_from": {
        -        "description": "<em>starting date of the time range</em><br>optional field<br>date format: <code>\"yyyy-mm-dd\"</code><br>minimal value: 4 years from the current date<br>by default, data is returned for the past 12 months;<br><strong>Note</strong>: the indicated date cannot be greater than that specified in <code>date_to</code> and/or yesterday's date;if <a href=\"/v3/keywords_data/google_ads/status/\" target=\"_blank\" rel=\"noopener noreferrer\">Status endpoint</a> returns <code>false</code> in the <code>actual_data</code> field, <code>date_from</code> can be set to the month before last and prior;<br>if <a href=\"/v3/keywords_data/google_ads/status/\" target=\"_blank\" rel=\"noopener noreferrer\">Status endpoint</a> returns <code>true</code> in the <code>actual_data</code> field, <code>date_from</code> can be set to the last month and prior",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "date_to": {
        -        "description": "<em>ending date of the time range</em><br>optional field<br><strong>Note:</strong> the indicated date cannot be greater than yesterday's date;<br>if you don't specify this field, yesterday's date will be used by default<br>date format: <code>\"yyyy-mm-dd\"</code><br>example:<br><code>\"2022-11-30\"</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "include_adult_keywords": {
        -        "description": "<em>include keywords associated with adult content</em><br>optional field<br>if set to <code>true</code>, adult keywords will be included in the response<br>default value: <code>false</code><br><strong>note</strong> that the API may return no data for such keywords due to <a href=\"https://support.google.com/adspolicy/answer/6008942?hl=en\" target=\"_blank\" rel=\"noopener noreferrer\">Google Ads restrictions</a>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "keywords": {
        -        "description": "<em>keywords</em><br><strong>required field</strong><br>The maximum number of keywords you can specify: 20<br>The maximum number of characters for each keyword: 80<br>the keywords you specify will be converted to a lowercase format<br><strong>Note:</strong> Google Ads may return no data for certain groups of keywords<br><a href=\"https://dataforseo.com/help-center/no-search-volume-data-for-some-keywords\" target=\"_blank\" rel=\"noopener noreferrer\">visit our Help Center to learn more</a><br><strong>Also note</strong> that Google Ads doesn't allow using certain symbols and characters (e.g., UTF symbols, emojis), so you can't use them when setting a task;<br>to learn more about which symbols and characters can be used, please refer to <a href=\"https://dataforseo.com/help-center/using-symbols-in-keywords-when-setting-a-google-ads-task\" target=\"_blank\" rel=\"noopener noreferrer\">this article</a><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "language_code": {
        -        "description": "<em>search engine language code</em><br>optional field<br>you can receive the list of available languages of the search engine with their <code>language_code</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/google_ads/languages</code><br>example:<br><code class=\"long-string\">en</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "language_name": {
        -        "description": "<em>full name of search engine language</em><br>optional field<br>you can receive the list of available languages of the search engine with their <code>language_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/google_ads/languages</code><br>example:<br><code class=\"long-string\">English</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "location_code": {
        -        "description": "<em>search engine location code</em><br>optional field<br>if you do not indicate the location, you will receive worldwide results, i.e., for all available locations;<br><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_coordinate</code></strong>;<br>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/google_ads/locations</code><br>example:<br><code class=\"long-string\">2840</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "location_coordinate": {
        -        "description": "<em>GPS coordinates of a location</em><br>optional field<br>if you do not indicate the location, you will receive worldwide results, i.e., for all available locations;<br><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_code</code></strong>;<br><code>location_coordinate</code> parameter should be specified in the <em>\"latitude,longitude\"</em> format;<br><strong>the data will be provided for the country the specified coordinates belong to</strong>;<br>example:<br><code class=\"long-string\">52.6178549,-155.352142</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "location_name": {
        -        "description": "<em>full name of search engine location</em><br>optional field<br>if you do not indicate the location, you will receive worldwide results, i.e., for all available locations;<br><strong>if you use this field, you don't need to specify <code>location_code</code> or <code>location_coordinate</code></strong><br>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/google_ads/locations</code><br>example:<br><code class=\"long-string\">London,England,United Kingdom</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "search_partners": {
        -        "description": "<em>include Google search partners</em><br>optional field<br>if you specify <code class=\"prettyprint\">true</code>, the results will be delivered for owned, operated, and syndicated networks across <a href=\"https://support.google.com/google-ads/answer/1722047?hl=en\" target=\"_blank\" rel=\"noopener noreferrer\">Google and partner sites</a> that host Google search;<br>default value: <code>false</code> - results are returned for Google search sites",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "sort_by": {
        -        "description": "<em>results sorting parameters</em><br>optional field<br>Use these parameters to sort the results by <code>relevance</code>, <code>search_volume</code>, <code>competition_index</code>, <code>low_top_of_page_bid</code>, or <code>high_top_of_page_bid</code> in descending order<br>default value: <code>relevance</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "properties": {
        +      "date_from": {
        +        "description": "<em>starting date of the time range</em><br>optional field<br>date format: <code>\"yyyy-mm-dd\"</code><br>minimal value: 4 years from the current date<br>by default, data is returned for the past 12 months;<br><strong>Note</strong>: the indicated date cannot be greater than that specified in <code>date_to</code> and/or yesterday's date;if <a href=\"/v3/keywords_data/google_ads/status/\" target=\"_blank\" rel=\"noopener noreferrer\">Status endpoint</a> returns <code>false</code> in the <code>actual_data</code> field, <code>date_from</code> can be set to the month before last and prior;<br>if <a href=\"/v3/keywords_data/google_ads/status/\" target=\"_blank\" rel=\"noopener noreferrer\">Status endpoint</a> returns <code>true</code> in the <code>actual_data</code> field, <code>date_from</code> can be set to the last month and prior",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "date_to": {
        +        "description": "<em>ending date of the time range</em><br>optional field<br><strong>Note:</strong> the indicated date cannot be greater than yesterday's date;<br>if you don't specify this field, yesterday's date will be used by default<br>date format: <code>\"yyyy-mm-dd\"</code><br>example:<br><code>\"2022-11-30\"</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "include_adult_keywords": {
        +        "description": "<em>include keywords associated with adult content</em><br>optional field<br>if set to <code>true</code>, adult keywords will be included in the response<br>default value: <code>false</code><br><strong>note</strong> that the API may return no data for such keywords due to <a href=\"https://support.google.com/adspolicy/answer/6008942?hl=en\" target=\"_blank\" rel=\"noopener noreferrer\">Google Ads restrictions</a>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "keywords": {
        +        "description": "<em>keywords</em><br><strong>required field</strong><br>The maximum number of keywords you can specify: 20<br>The maximum number of characters for each keyword: 80<br>the keywords you specify will be converted to a lowercase format<br><strong>Note:</strong> Google Ads may return no data for certain groups of keywords<br><a href=\"https://dataforseo.com/help-center/no-search-volume-data-for-some-keywords\" target=\"_blank\" rel=\"noopener noreferrer\">visit our Help Center to learn more</a><br><strong>Also note</strong> that Google Ads doesn't allow using certain symbols and characters (e.g., UTF symbols, emojis), so you can't use them when setting a task;<br>to learn more about which symbols and characters can be used, please refer to <a href=\"https://dataforseo.com/help-center/using-symbols-in-keywords-when-setting-a-google-ads-task\" target=\"_blank\" rel=\"noopener noreferrer\">this article</a><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "language_code": {
        +        "description": "<em>search engine language code</em><br>optional field<br>you can receive the list of available languages of the search engine with their <code>language_code</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/google_ads/languages</code><br>example:<br><code class=\"long-string\">en</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "<em>full name of search engine language</em><br>optional field<br>you can receive the list of available languages of the search engine with their <code>language_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/google_ads/languages</code><br>example:<br><code class=\"long-string\">English</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "location_code": {
        +        "description": "<em>search engine location code</em><br>optional field<br>if you do not indicate the location, you will receive worldwide results, i.e., for all available locations;<br><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_coordinate</code></strong>;<br>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/google_ads/locations</code><br>example:<br><code class=\"long-string\">2840</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_coordinate": {
        +        "description": "<em>GPS coordinates of a location</em><br>optional field<br>if you do not indicate the location, you will receive worldwide results, i.e., for all available locations;<br><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_code</code></strong>;<br><code>location_coordinate</code> parameter should be specified in the <em>\"latitude,longitude\"</em> format;<br><strong>the data will be provided for the country the specified coordinates belong to</strong>;<br>example:<br><code class=\"long-string\">52.6178549,-155.352142</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "location_name": {
        +        "description": "<em>full name of search engine location</em><br>optional field<br>if you do not indicate the location, you will receive worldwide results, i.e., for all available locations;<br><strong>if you use this field, you don't need to specify <code>location_code</code> or <code>location_coordinate</code></strong><br>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/google_ads/locations</code><br>example:<br><code class=\"long-string\">London,England,United Kingdom</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "search_partners": {
        +        "description": "<em>include Google search partners</em><br>optional field<br>if you specify <code class=\"prettyprint\">true</code>, the results will be delivered for owned, operated, and syndicated networks across <a href=\"https://support.google.com/google-ads/answer/1722047?hl=en\" target=\"_blank\" rel=\"noopener noreferrer\">Google and partner sites</a> that host Google search;<br>default value: <code>false</code> - results are returned for Google search sites",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "sort_by": {
        +        "description": "<em>results sorting parameters</em><br>optional field<br>Use these parameters to sort the results by <code>relevance</code>, <code>search_volume</code>, <code>competition_index</code>, <code>low_top_of_page_bid</code>, or <code>high_top_of_page_bid</code> in descending order<br>default value: <code>relevance</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_keywords_gads_search_volume_live1 field changed
      • changedInput schema / properties / body / items / oneOf
        Previous value: -[
        -  {
        -    "example": [
        -      {
        -        "date_from": "2021-08-01",
        -        "keywords": [
        -          "buy laptop",
        -          "cheap laptops for sale",
        -          "purchase laptop"
        -        ],
        -        "location_code": 2840,
        -        "search_partners": true
        -      }
        -    ],
        -    "properties": {
        -      "date_from": {
        -        "description": "<em>starting date of the time range</em><br>optional field<br>date format: <code>\"yyyy-mm-dd\"</code><br>minimal value: 4 years from the current date<br>by default, data is returned for the past 12 months;<br><strong>Note</strong>: the indicated date cannot be greater than that specified in <code>date_to</code> and/or yesterday's date;if <a href=\"/v3/keywords_data/google_ads/status/\" target=\"_blank\" rel=\"noopener noreferrer\">Status endpoint</a> returns <code>false</code> in the <code>actual_data</code> field, <code>date_from</code> can be set to the month before last and prior;<br>if <a href=\"/v3/keywords_data/google_ads/status/\" target=\"_blank\" rel=\"noopener noreferrer\">Status endpoint</a> returns <code>true</code> in the <code>actual_data</code> field, <code>date_from</code> can be set to the last month and prior",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "date_to": {
        -        "description": "<em>ending date of the time range</em><br>optional field<br><strong>Note:</strong> the indicated date cannot be greater than the past month, Google Ads does not return data on the current month;<br>if you don't specify this field, yesterday's date will be used by default<br>date format: <code>\"yyyy-mm-dd\"</code><br>example:<br><code>\"2022-11-30\"</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "include_adult_keywords": {
        -        "description": "<em>include keywords associated with adult content<br></em>optional field<br>if set to_<code>true</code>, adult keywords will be included in the response<br>default value:_<code>false</code><br><strong>note</strong>_that the API may return no data for such keywords due to_<a href=\"https://support.google.com/adspolicy/answer/6008942?hl=en\" target=\"_blank\" rel=\"noopener noreferrer\">Google Ads restrictions</a>n",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "keywords": {
        -        "description": "<em>keywords</em><br><strong>required field</strong><br>The maximum number of keywords you can specify: 1000<br>The maximum number of characters for each keyword: 80<br>The maximum number of words for each keyword phrase: 10<br>the keywords you specify will be converted to a lowercase format<br><strong>Note #1:</strong> <a href=\"https://dataforseo.com/help-center/no-search-volume-data-for-some-keywords\" target=\"_blank\" rel=\"noopener noreferrer\">Google Ads may return no data for certain groups of keywords</a>;<br><strong>Note #2:</strong> <a href=\"https://dataforseo.com/help-center/sv-broad-exact-phrase-match\" target=\"_blank\" rel=\"noopener noreferrer\">Google Ads provides combined search volume values for groups of similar keywords</a><br>to obtain search volume for similar keywords, we recommend submitting such keywords in separate requests;<br><strong>Note #3:</strong> Google Ads doesn't allow using certain symbols and characters (e.g., UTF symbols, emojis), so you can't use them when setting a task;<br>to learn more about which symbols and characters can be used, please refer to <a href=\"https://dataforseo.com/help-center/using-symbols-in-keywords-when-setting-a-google-ads-task\" target=\"_blank\" rel=\"noopener noreferrer\">this article</a><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "language_code": {
        -        "description": "<em>search engine language code</em><br>optional field<br>you can receive the list of available languages of the search engine with their <code>language_code</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/google_ads/languages</code><br>example:<br><code class=\"long-string\">en</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "language_name": {
        -        "description": "<em>full name of search engine language</em><br>optional field<br>you can receive the list of available languages of the search engine with their <code>language_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/google_ads/languages</code><br>example:<br><code class=\"long-string\">English</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "location_code": {
        -        "description": "<em>search engine location code</em><br>optional field<br>if you do not indicate the location, you will receive worldwide results, i.e., for all available locations;<br><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_coordinate</code></strong>;<br>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/google_ads/locations</code><br>example:<br><code class=\"long-string\">2840</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "location_coordinate": {
        -        "description": "<em>GPS coordinates of a location</em><br>optional field<br>if you do not indicate the location, you will receive worldwide results, i.e., for all available locations;<br><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_code</code></strong>;<br><code>location_coordinate</code> parameter should be specified in the <em>\"latitude,longitude\"</em> format;<br><strong>the data will be provided for the country the specified coordinates belong to</strong>;<br>example:<br><code class=\"long-string\">52.6178549,-155.352142</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "location_name": {
        -        "description": "<em>full name of search engine location</em><br>optional field<br>if you do not indicate the location, you will receive worldwide results, i.e., for all available locations;<br><strong>if you use this field, you don't need to specify <code>location_code</code> or <code>location_coordinate</code></strong><br>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/google_ads/locations</code><br>example:<br><code class=\"long-string\">London,England,United Kingdom</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "search_partners": {
        -        "description": "<em>include Google search partners</em><br>optional field<br>if you specify <code class=\"prettyprint\">true</code>, the results will be delivered for owned, operated, and syndicated networks across <a href=\"https://support.google.com/google-ads/answer/1722047?hl=en\" target=\"_blank\" rel=\"noopener noreferrer\">Google and partner sites</a> that host Google search;<br>default value: <code>false</code> - results are returned for Google search sites",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "sort_by": {
        -        "description": "<em>results sorting parameters</em><br>optional field<br>use these parameters to sort the results by <code>relevance</code>, <code>search_volume</code>, <code>competition_index</code>, <code>low_top_of_page_bid</code>, or <code>high_top_of_page_bid</code> in the descending order<br>default value: <code>relevance</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> array of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "properties": {
        +      "date_from": {
        +        "description": "<em>starting date of the time range</em><br>optional field<br>date format: <code>\"yyyy-mm-dd\"</code><br>minimal value: 4 years from the current date<br>by default, data is returned for the past 12 months;<br><strong>Note</strong>: the indicated date cannot be greater than that specified in <code>date_to</code> and/or yesterday's date;if <a href=\"/v3/keywords_data/google_ads/status/\" target=\"_blank\" rel=\"noopener noreferrer\">Status endpoint</a> returns <code>false</code> in the <code>actual_data</code> field, <code>date_from</code> can be set to the month before last and prior;<br>if <a href=\"/v3/keywords_data/google_ads/status/\" target=\"_blank\" rel=\"noopener noreferrer\">Status endpoint</a> returns <code>true</code> in the <code>actual_data</code> field, <code>date_from</code> can be set to the last month and prior",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "date_to": {
        +        "description": "<em>ending date of the time range</em><br>optional field<br><strong>Note:</strong> the indicated date cannot be greater than the past month, Google Ads does not return data on the current month;<br>if you don't specify this field, yesterday's date will be used by default<br>date format: <code>\"yyyy-mm-dd\"</code><br>example:<br><code>\"2022-11-30\"</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "include_adult_keywords": {
        +        "description": "<em>include keywords associated with adult content<br></em>optional field<br>if set to_<code>true</code>, adult keywords will be included in the response<br>default value:_<code>false</code><br><strong>note</strong>_that the API may return no data for such keywords due to_<a href=\"https://support.google.com/adspolicy/answer/6008942?hl=en\" target=\"_blank\" rel=\"noopener noreferrer\">Google Ads restrictions</a>n",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "keywords": {
        +        "description": "<em>keywords</em><br><strong>required field</strong><br>The maximum number of keywords you can specify: 1000<br>The maximum number of characters for each keyword: 80<br>The maximum number of words for each keyword phrase: 10<br>the keywords you specify will be converted to a lowercase format<br><strong>Note #1:</strong> <a href=\"https://dataforseo.com/help-center/no-search-volume-data-for-some-keywords\" target=\"_blank\" rel=\"noopener noreferrer\">Google Ads may return no data for certain groups of keywords</a>;<br><strong>Note #2:</strong> <a href=\"https://dataforseo.com/help-center/sv-broad-exact-phrase-match\" target=\"_blank\" rel=\"noopener noreferrer\">Google Ads provides combined search volume values for groups of similar keywords</a><br>to obtain search volume for similar keywords, we recommend submitting such keywords in separate requests;<br><strong>Note #3:</strong> Google Ads doesn't allow using certain symbols and characters (e.g., UTF symbols, emojis), so you can't use them when setting a task;<br>to learn more about which symbols and characters can be used, please refer to <a href=\"https://dataforseo.com/help-center/using-symbols-in-keywords-when-setting-a-google-ads-task\" target=\"_blank\" rel=\"noopener noreferrer\">this article</a><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "language_code": {
        +        "description": "<em>search engine language code</em><br>optional field<br>you can receive the list of available languages of the search engine with their <code>language_code</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/google_ads/languages</code><br>example:<br><code class=\"long-string\">en</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "<em>full name of search engine language</em><br>optional field<br>you can receive the list of available languages of the search engine with their <code>language_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/google_ads/languages</code><br>example:<br><code class=\"long-string\">English</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "location_code": {
        +        "description": "<em>search engine location code</em><br>optional field<br>if you do not indicate the location, you will receive worldwide results, i.e., for all available locations;<br><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_coordinate</code></strong>;<br>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/google_ads/locations</code><br>example:<br><code class=\"long-string\">2840</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_coordinate": {
        +        "description": "<em>GPS coordinates of a location</em><br>optional field<br>if you do not indicate the location, you will receive worldwide results, i.e., for all available locations;<br><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_code</code></strong>;<br><code>location_coordinate</code> parameter should be specified in the <em>\"latitude,longitude\"</em> format;<br><strong>the data will be provided for the country the specified coordinates belong to</strong>;<br>example:<br><code class=\"long-string\">52.6178549,-155.352142</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "location_name": {
        +        "description": "<em>full name of search engine location</em><br>optional field<br>if you do not indicate the location, you will receive worldwide results, i.e., for all available locations;<br><strong>if you use this field, you don't need to specify <code>location_code</code> or <code>location_coordinate</code></strong><br>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/google_ads/locations</code><br>example:<br><code class=\"long-string\">London,England,United Kingdom</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "search_partners": {
        +        "description": "<em>include Google search partners</em><br>optional field<br>if you specify <code class=\"prettyprint\">true</code>, the results will be delivered for owned, operated, and syndicated networks across <a href=\"https://support.google.com/google-ads/answer/1722047?hl=en\" target=\"_blank\" rel=\"noopener noreferrer\">Google and partner sites</a> that host Google search;<br>default value: <code>false</code> - results are returned for Google search sites",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "sort_by": {
        +        "description": "<em>results sorting parameters</em><br>optional field<br>use these parameters to sort the results by <code>relevance</code>, <code>search_volume</code>, <code>competition_index</code>, <code>low_top_of_page_bid</code>, or <code>high_top_of_page_bid</code> in the descending order<br>default value: <code>relevance</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> array of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_keywords_trends_explore_live1 field changed
      • changedInput schema / properties / body / items / oneOf
        Previous value: -[
        -  {
        -    "example": [
        -      {
        -        "keywords": [
        -          "iphone 14",
        -          "samsung s23"
        -        ],
        -        "location_code": 2840
        -      }
        -    ],
        -    "properties": {
        -      "date_from": {
        -        "description": "<em>starting date of the time range</em><br>optional field<br>if you don't specify this field, the current day and month of the preceding year will be used by default<br>minimal value for the <code>web</code> type: <code>2004-01-01</code><br>minimal value for other types: <code>2008-01-01</code><br>date format: <code>\"yyyy-mm-dd\"</code><br>example:<br><code>\"2019-01-15\"</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "date_to": {
        -        "description": "<em>ending date of the time range</em><br>optional field<br>if you don't specify this field, the today's date will be used by default<br>date format: <code>\"yyyy-mm-dd\"</code><br>example:<br><code>\"2019-01-15\"</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "keywords": {
        -        "description": "<em>keywords</em><br><strong>required field</strong><br>the maximum number of keywords you can specify: 5<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "location_code": {
        -        "description": "<em>search engine location code</em><br>optional field<br>if you don't use this field, you will recieve global results<br><strong>if you use this field, you don't need to specify <code>location_name</code></strong><br>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/dataforseo_trends/locations</code><br><strong>note that the data will be provided for the country the specified <code>location_code</code> belongs to;</strong><br>example:<br><code class=\"long-string\">2840</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "location_name": {
        -        "description": "<em>full name of search engine location</em><br>optional field<br>if you don't use this field, you will recieve global results<br><strong>if you use this field, you don't need to specify <code>location_code</code></strong><br>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/dataforseo_trends/locations</code><br><strong>note that the data will be provided for the country the specified <code>location_name</code> belongs to;</strong><br>example:<br><code class=\"long-string\">United Kingdom</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "time_range": {
        -        "description": "<em>preset time ranges</em><br>optional field<br>if you specify <code>date_from</code> or <code>date_to</code> parameters, this field will be ignored when setting a task<br><em>possible values for all <code>type</code> parameters:</em><br><code>past_4_hours</code>, <code>past_day</code>, <code>past_7_days</code>, <code>past_30_days</code>, <code>past_90_days</code>, <code>past_12_months</code>, <code>past_5_years</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "type": {
        -        "description": "type of element",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "properties": {
        +      "date_from": {
        +        "description": "<em>starting date of the time range</em><br>optional field<br>if you don't specify this field, the current day and month of the preceding year will be used by default<br>minimal value for the <code>web</code> type: <code>2004-01-01</code><br>minimal value for other types: <code>2008-01-01</code><br>date format: <code>\"yyyy-mm-dd\"</code><br>example:<br><code>\"2019-01-15\"</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "date_to": {
        +        "description": "<em>ending date of the time range</em><br>optional field<br>if you don't specify this field, the today's date will be used by default<br>date format: <code>\"yyyy-mm-dd\"</code><br>example:<br><code>\"2019-01-15\"</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "keywords": {
        +        "description": "<em>keywords</em><br><strong>required field</strong><br>the maximum number of keywords you can specify: 5<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "location_code": {
        +        "description": "<em>search engine location code</em><br>optional field<br>if you don't use this field, you will recieve global results<br><strong>if you use this field, you don't need to specify <code>location_name</code></strong><br>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/dataforseo_trends/locations</code><br><strong>note that the data will be provided for the country the specified <code>location_code</code> belongs to;</strong><br>example:<br><code class=\"long-string\">2840</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_name": {
        +        "description": "<em>full name of search engine location</em><br>optional field<br>if you don't use this field, you will recieve global results<br><strong>if you use this field, you don't need to specify <code>location_code</code></strong><br>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/dataforseo_trends/locations</code><br><strong>note that the data will be provided for the country the specified <code>location_name</code> belongs to;</strong><br>example:<br><code class=\"long-string\">United Kingdom</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "time_range": {
        +        "description": "<em>preset time ranges</em><br>optional field<br>if you specify <code>date_from</code> or <code>date_to</code> parameters, this field will be ignored when setting a task<br><em>possible values for all <code>type</code> parameters:</em><br><code>past_4_hours</code>, <code>past_day</code>, <code>past_7_days</code>, <code>past_30_days</code>, <code>past_90_days</code>, <code>past_12_months</code>, <code>past_5_years</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "type": {
        +        "description": "type of element",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_labs_google_bulk_keyword_difficulty_live1 field changed
      • changedInput schema / properties / body / items / oneOf
        Previous value: -[
        -  {
        -    "example": [
        -      {
        -        "keywords": [
        -          "dentist new york",
        -          "pizza brooklyn",
        -          "car dealer los angeles"
        -        ],
        -        "language_code": "en",
        -        "location_code": 2840
        -      }
        -    ],
        -    "properties": {
        -      "keywords": {
        -        "description": "<em>target keywords</em><br><strong>required field</strong><br>UTF-8 encoding<br>maximum number of keywords you can specify in this array: 1000<br>the keywords will be converted to lowercase format<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "language_code": {
        -        "description": "<em>language code</em><br><strong>required field if don't specify <code>language_name</code></strong><br>you can receive the list of available languages with their <code>language_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">en</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "language_name": {
        -        "description": "<em>full name of the language</em><br><strong>required field if don't specify <code>language_code</code></strong><br>you can receive the list of available languages with their <code>language_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">English</code>",
        -        "type": "string"
        -      },
        -      "location_code": {
        -        "description": "<em>location code</em><br><strong>required field if don't specify <code>location_name</code></strong><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">2840</code>",
        -        "type": "integer"
        -      },
        -      "location_name": {
        -        "description": "<em>full name of the location</em><br><strong>required field if don't specify <code>location_code</code></strong><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">United Kingdom</code>",
        -        "type": "string"
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "properties": {
        +      "keywords": {
        +        "description": "<em>target keywords</em><br><strong>required field</strong><br>UTF-8 encoding<br>maximum number of keywords you can specify in this array: 1000<br>the keywords will be converted to lowercase format<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "language_code": {
        +        "description": "<em>language code</em><br><strong>required field if don't specify <code>language_name</code></strong><br>you can receive the list of available languages with their <code>language_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">en</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "<em>full name of the language</em><br><strong>required field if don't specify <code>language_code</code></strong><br>you can receive the list of available languages with their <code>language_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">English</code>",
        +        "type": "string"
        +      },
        +      "location_code": {
        +        "description": "<em>location code</em><br><strong>required field if don't specify <code>location_name</code></strong><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">2840</code>",
        +        "type": "integer"
        +      },
        +      "location_name": {
        +        "description": "<em>full name of the location</em><br><strong>required field if don't specify <code>location_code</code></strong><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">United Kingdom</code>",
        +        "type": "string"
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_labs_google_bulk_traffic_estimation_live1 field changed
      • changedInput schema / properties / body / items / oneOf
        Previous value: -[
        -  {
        -    "example": [
        -      {
        -        "item_types": [
        -          "organic",
        -          "paid"
        -        ],
        -        "language_code": "en",
        -        "location_code": 2840,
        -        "targets": [
        -          "dataforseo.com",
        -          "cnn.com",
        -          "forbes.com"
        -        ]
        -      }
        -    ],
        -    "properties": {
        -      "ignore_synonyms": {
        -        "description": "<em>ignore highly similar keywords</em><br>optional field<br>if set to_<code class=\"prettyprint\">true</code>, only core keywords will be returned, all highly similar keywords will be excluded;  <br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "item_types": {
        -        "description": "<em>display results by item type</em><br>optional field<br>indicates the type of search results included in the response<p><strong>Note:</strong> if the <code>item_types</code> array contains item types that are different from <code>organic</code>, the results will be ordered by the first item type in the array<p>possible values: <br><code>[\"organic\", \"paid\", \"featured_snippet\", \"local_pack\"]</code><br>default value: <br><code>[\"organic\", \"paid\"]</code>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "language_code": {
        -        "description": "<em>language code</em><br>if you use this field, you don’t need to specify <code>language_name</code><br>you can receive the list of available languages with their <code>language_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available languages<br>example:<br><code class=\"long-string\">en</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "language_name": {
        -        "description": "<em>full name of the language</em><br>if you use this field, you don’t need to specify <code>language_code</code><br>you can receive the list of available languages with their <code>language_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available languages<br>example:<br><code class=\"long-string\">English</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "location_code": {
        -        "description": "<em>location code</em><br>if you use this field, you don't have to specify <code>location_name</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">2840</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "location_name": {
        -        "description": "<em>full name of the location</em><br>if you use this field, you don't have to specify <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">United Kingdom</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "targets": {
        -        "description": "<em>target domains, subdomains, and webpages</em><br><strong>required field</strong><br>you can specify domains, subdomains, and webpages in this field;<br>domains and subdomains should be specified without <code>https://</code> and <code>www.</code>;<br>pages should be specified with absolute URL, including <code>https://</code> and <code>www.</code>;<br>you can set up to 1000 domains, subdomains or webpages",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      }
        -    },
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "properties": {
        +      "ignore_synonyms": {
        +        "description": "<em>ignore highly similar keywords</em><br>optional field<br>if set to_<code class=\"prettyprint\">true</code>, only core keywords will be returned, all highly similar keywords will be excluded;  <br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "item_types": {
        +        "description": "<em>display results by item type</em><br>optional field<br>indicates the type of search results included in the response<p><strong>Note:</strong> if the <code>item_types</code> array contains item types that are different from <code>organic</code>, the results will be ordered by the first item type in the array<p>possible values: <br><code>[\"organic\", \"paid\", \"featured_snippet\", \"local_pack\"]</code><br>default value: <br><code>[\"organic\", \"paid\"]</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "language_code": {
        +        "description": "<em>language code</em><br>if you use this field, you don’t need to specify <code>language_name</code><br>you can receive the list of available languages with their <code>language_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available languages<br>example:<br><code class=\"long-string\">en</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "<em>full name of the language</em><br>if you use this field, you don’t need to specify <code>language_code</code><br>you can receive the list of available languages with their <code>language_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available languages<br>example:<br><code class=\"long-string\">English</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "location_code": {
        +        "description": "<em>location code</em><br>if you use this field, you don't have to specify <code>location_name</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">2840</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_name": {
        +        "description": "<em>full name of the location</em><br>if you use this field, you don't have to specify <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">United Kingdom</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "targets": {
        +        "description": "<em>target domains, subdomains, and webpages</em><br><strong>required field</strong><br>you can specify domains, subdomains, and webpages in this field;<br>domains and subdomains should be specified without <code>https://</code> and <code>www.</code>;<br>pages should be specified with absolute URL, including <code>https://</code> and <code>www.</code>;<br>you can set up to 1000 domains, subdomains or webpages",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_labs_google_domain_rank_overview_live1 field changed
      • changedInput schema / properties / body / items / oneOf
        Previous value: -[
        -  {
        -    "example": [
        -      {
        -        "language_name": "English",
        -        "location_code": 2840,
        -        "target": "dataforseo.com"
        -      }
        -    ],
        -    "properties": {
        -      "ignore_synonyms": {
        -        "description": "<em>ignore highly similar keywords</em><br>optional field<br>if set to_<code class=\"prettyprint\">true</code>, all highly similar keywords will be excluded from the ranking and traffic calculations, the results will be based on data for main keywords from groups of synonyms<br>default value: <code>false</code>n",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "language_code": {
        -        "description": "<em>language code</em><br>optional field<br>if you use this field, you don't need to specify <code>language_name</code><br>you can receive the list of available languages with their <code>language_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available languages<br>example:<br><code class=\"long-string\">en</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "language_name": {
        -        "description": "<em>full name of the language</em><br>optional field<br>if you use this field, you don't need to specify <code>language_code</code><br>you can receive the list of available languages with their <code>language_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available languages<br>example:<br><code class=\"long-string\">English</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "limit": {
        -        "description": "<em>the maximum number of returned results for domain</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "location_code": {
        -        "description": "<em>location code</em><br>optional field<br>if you use this field, you don't need to specify <code>location_name</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">2840</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "location_name": {
        -        "description": "<em>full name of the location</em><br>optional field<br>if you use this field, you don't need to specify <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">United Kingdom</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "offset": {
        -        "description": "<em>offset in the results array of returned items</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten <code>items</code> in the results array will be omitted and the data will be provided for the successive items",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "target": {
        -        "description": "<em>domain</em><br><strong>required field</strong><br>the domain name of the target website<br>the domain should be specified without <code>https://</code> and <code>www.</code>",
        -        "type": "string"
        -      }
        -    },
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "properties": {
        +      "ignore_synonyms": {
        +        "description": "<em>ignore highly similar keywords</em><br>optional field<br>if set to_<code class=\"prettyprint\">true</code>, all highly similar keywords will be excluded from the ranking and traffic calculations, the results will be based on data for main keywords from groups of synonyms<br>default value: <code>false</code>n",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "language_code": {
        +        "description": "<em>language code</em><br>optional field<br>if you use this field, you don't need to specify <code>language_name</code><br>you can receive the list of available languages with their <code>language_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available languages<br>example:<br><code class=\"long-string\">en</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "<em>full name of the language</em><br>optional field<br>if you use this field, you don't need to specify <code>language_code</code><br>you can receive the list of available languages with their <code>language_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available languages<br>example:<br><code class=\"long-string\">English</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "limit": {
        +        "description": "<em>the maximum number of returned results for domain</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_code": {
        +        "description": "<em>location code</em><br>optional field<br>if you use this field, you don't need to specify <code>location_name</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">2840</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_name": {
        +        "description": "<em>full name of the location</em><br>optional field<br>if you use this field, you don't need to specify <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">United Kingdom</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "offset": {
        +        "description": "<em>offset in the results array of returned items</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten <code>items</code> in the results array will be omitted and the data will be provided for the successive items",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "target": {
        +        "description": "<em>domain</em><br><strong>required field</strong><br>the domain name of the target website<br>the domain should be specified without <code>https://</code> and <code>www.</code>",
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_labs_google_historical_keyword_data_live1 field changed
      • changedInput schema / properties / body / items / oneOf
        Previous value: -[
        -  {
        -    "example": [
        -      {
        -        "keywords": [
        -          "iphone"
        -        ],
        -        "language_code": "en",
        -        "location_code": 2840
        -      }
        -    ],
        -    "properties": {
        -      "keywords": {
        -        "description": "<em>keywords</em><br><strong>required field</strong><br>The maximum number of keywords you can specify: 700<br>The maximum number of characters for each keyword: 80<br>The maximum number of words for each keyword phrase: 10<br>the specified keywords will be converted to lowercase format, data will be provided in a separate array<p><strong>note</strong> that if some of the keywords specified in this array are omitted in the results you receive, then our database doesn't contain such keywords and cannot return data on them<br>you will not be charged for the keywords omitted in the results<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "language_code": {
        -        "description": "<em>language code</em><br><strong>required field if you don't specify</strong> <code>language_name</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available locations with their <code>language_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">en</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "language_name": {
        -        "description": "<em>full name of the language</em><br><strong>required field if you don't specify</strong> <code>language_code</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available locations with their <code>language_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">English</code>",
        -        "type": "string"
        -      },
        -      "location_code": {
        -        "description": "<em>location code</em><br><strong>required field if you don't specify</strong> <code>location_name</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">2840</code>",
        -        "type": "integer"
        -      },
        -      "location_name": {
        -        "description": "<em>full name of the location</em><br><strong>required field if you don't specify</strong> <code>location_code</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">United Kingdom</code>",
        -        "type": "string"
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "properties": {
        +      "keywords": {
        +        "description": "<em>keywords</em><br><strong>required field</strong><br>The maximum number of keywords you can specify: 700<br>The maximum number of characters for each keyword: 80<br>The maximum number of words for each keyword phrase: 10<br>the specified keywords will be converted to lowercase format, data will be provided in a separate array<p><strong>note</strong> that if some of the keywords specified in this array are omitted in the results you receive, then our database doesn't contain such keywords and cannot return data on them<br>you will not be charged for the keywords omitted in the results<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "language_code": {
        +        "description": "<em>language code</em><br><strong>required field if you don't specify</strong> <code>language_name</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available locations with their <code>language_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">en</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "<em>full name of the language</em><br><strong>required field if you don't specify</strong> <code>language_code</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available locations with their <code>language_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">English</code>",
        +        "type": "string"
        +      },
        +      "location_code": {
        +        "description": "<em>location code</em><br><strong>required field if you don't specify</strong> <code>location_name</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">2840</code>",
        +        "type": "integer"
        +      },
        +      "location_name": {
        +        "description": "<em>full name of the location</em><br><strong>required field if you don't specify</strong> <code>location_code</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">United Kingdom</code>",
        +        "type": "string"
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_labs_google_historical_rank_live1 field changed
      • changedInput schema / properties / body / items / oneOf
        Previous value: -[
        -  {
        -    "example": [
        -      {
        -        "date_from": "2021-01-01",
        -        "date_to": "2021-03-29",
        -        "language_code": "en",
        -        "location_code": 2840,
        -        "target": "dataforseo.com"
        -      }
        -    ],
        -    "properties": {
        -      "correlate": {
        -        "description": "<em>correlate data with previously obtained datasets</em><br>optional field<br>default value: <code>true</code><br>if you use this parameter, our system will correlate data you obtain now with previously obtained datasets<br>this parameter is intended to mitigate any inconsistencies that may result from changes to our database<br>we recommend always setting <code>correlate</code> to <code>true</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "date_from": {
        -        "description": "<em>starting date of the time range</em><br>optional field<br>if you don't specify this field, the data will be provided for the previous 6 months<br>minimal possible value: <code>2020-10-01</code><br>date format: <code>\"yyyy-mm-dd\"</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "date_to": {
        -        "description": "<em>ending date of the time range</em><br>optional field<br>if you don't specify this field, the today's date will be used by default<br>date format: <code>\"yyyy-mm-dd\"</code><br>example:<br><code>\"2021-04-01\"</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "ignore_synonyms": {
        -        "description": "<em>ignore highly similar keywords</em><br>optional field<br>if set to <code class=\"prettyprint\">true</code>, only data based on core keywords will be returned, data for all highly similar keywords will be excluded;  <br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "include_clickstream_data": {
        -        "description": "<em>include or exclude data from clickstream-based metrics in the result</em><br>optional field<br>if the parameter is set to <code>true</code>, you will receive <code>clickstream_etv</code>, <code>clickstream_gender_distribution</code>, and <code>clickstream_age_distribution</code> fields with clickstream data in the response;<br>default value: <code>false</code>;<p><strong>Note:</strong> historical clickstream data is available from 2024/05 (May, 2024);<br><strong>with this parameter enabled, you will be charged double the price for the request;</strong><br>learn more about how clickstream-based metrics are calculated in this <a href=\"https://dataforseo.com/help-center/what-are-clickstream-based-metrics-and-how-do-we-calculate-them\" rel=\"noopener noreferrer\" target=\"_blank\">help center article</a>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "language_code": {
        -        "description": "<em>language code</em><br><strong>required field if you don't specify</strong> <code>language_name</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available locations with their <code>language_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">en</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "language_name": {
        -        "description": "<em>full name of the language</em><br><strong>required field if you don't specify</strong> <code>language_code</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available locations with their <code>language_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">English</code>",
        -        "type": "string"
        -      },
        -      "location_code": {
        -        "description": "<em>location code</em><br><strong>required field if you don't specify</strong> <code>location_name</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">2840</code>",
        -        "type": "integer"
        -      },
        -      "location_name": {
        -        "description": "<em>full name of the location</em><br><strong>required field if you don't specify</strong> <code>location_code</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">United Kingdom</code>",
        -        "type": "string"
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "target": {
        -        "description": "<em>domain</em><br><strong>required field</strong><br>the domain name of the target website<br>the domain should be specified without <code>https://</code> and <code>www.</code>",
        -        "type": "string"
        -      }
        -    },
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "properties": {
        +      "correlate": {
        +        "description": "<em>correlate data with previously obtained datasets</em><br>optional field<br>default value: <code>true</code><br>if you use this parameter, our system will correlate data you obtain now with previously obtained datasets<br>this parameter is intended to mitigate any inconsistencies that may result from changes to our database<br>we recommend always setting <code>correlate</code> to <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "date_from": {
        +        "description": "<em>starting date of the time range</em><br>optional field<br>if you don't specify this field, the data will be provided for the previous 6 months<br>minimal possible value: <code>2020-10-01</code><br>date format: <code>\"yyyy-mm-dd\"</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "date_to": {
        +        "description": "<em>ending date of the time range</em><br>optional field<br>if you don't specify this field, the today's date will be used by default<br>date format: <code>\"yyyy-mm-dd\"</code><br>example:<br><code>\"2021-04-01\"</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "ignore_synonyms": {
        +        "description": "<em>ignore highly similar keywords</em><br>optional field<br>if set to <code class=\"prettyprint\">true</code>, only data based on core keywords will be returned, data for all highly similar keywords will be excluded;  <br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_clickstream_data": {
        +        "description": "<em>include or exclude data from clickstream-based metrics in the result</em><br>optional field<br>if the parameter is set to <code>true</code>, you will receive <code>clickstream_etv</code>, <code>clickstream_gender_distribution</code>, and <code>clickstream_age_distribution</code> fields with clickstream data in the response;<br>default value: <code>false</code>;<p><strong>Note:</strong> historical clickstream data is available from 2024/05 (May, 2024);<br><strong>with this parameter enabled, you will be charged double the price for the request;</strong><br>learn more about how clickstream-based metrics are calculated in this <a href=\"https://dataforseo.com/help-center/what-are-clickstream-based-metrics-and-how-do-we-calculate-them\" rel=\"noopener noreferrer\" target=\"_blank\">help center article</a>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "language_code": {
        +        "description": "<em>language code</em><br><strong>required field if you don't specify</strong> <code>language_name</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available locations with their <code>language_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">en</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "<em>full name of the language</em><br><strong>required field if you don't specify</strong> <code>language_code</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available locations with their <code>language_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">English</code>",
        +        "type": "string"
        +      },
        +      "location_code": {
        +        "description": "<em>location code</em><br><strong>required field if you don't specify</strong> <code>location_name</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">2840</code>",
        +        "type": "integer"
        +      },
        +      "location_name": {
        +        "description": "<em>full name of the location</em><br><strong>required field if you don't specify</strong> <code>location_code</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">United Kingdom</code>",
        +        "type": "string"
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "target": {
        +        "description": "<em>domain</em><br><strong>required field</strong><br>the domain name of the target website<br>the domain should be specified without <code>https://</code> and <code>www.</code>",
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_labs_google_keyword_ideas_live3 fields changed
      • addedInput schema / $defs
        Added value: +{
        +  "Provider0A3E90081762_AisaDataforseoFilterJsonValue": {
        +    "anyOf": [
        +      {
        +        "type": "string"
        +      },
        +      {
        +        "type": "number"
        +      },
        +      {
        +        "type": "boolean"
        +      },
        +      {
        +        "additionalProperties": {
        +          "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +        },
        +        "type": [
        +          "object",
        +          "null"
        +        ]
        +      },
        +      {
        +        "items": {
        +          "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +        },
        +        "type": "array"
        +      }
        +    ],
        +    "description": "JSON representation of filter values and nested expressions. Field names, operators, condition counts and operand compatibility remain provider-validated as documented for each endpoint; this is not a complete filter-language validator."
        +  }
        +}
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "properties": {
        +      "closely_variants": {
        +        "description": "<em>search mode</em><br>optional field<br>if set to_<code class=\"prettyprint\">true</code> the results will be based on the phrase-match search algorithm<br>if set to <code class=\"prettyprint\">false</code> the results will be based on the broad-match search algorithm<br>default value: <code>false</code>n",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "filters": {
        +        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>match</code>, <code>not_match</code>, <code>ilike</code>, <code>not_ilike</code>, <code>like</code>, <code>not_like</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code>,as well as <code>ilike</code>, <code>not_ilike</code> to match any string of zero or more characters<br><strong>note that you can not filter the results by <code>relevance</code></strong><br>example:<br><code>[\"keyword_info.search_volume\",\"&gt;\",0]</code><p><code>[[\"keyword_info.search_volume\",\"in\",[0,1000]],<br>\"and\",<br>[\"keyword_info.competition_level\",\"=\",\"LOW\"]]</code><p><code>[[\"keyword_info.search_volume\",\"&gt;\",100],<br>\"and\",<br>[[\"keyword_info.cpc\",\"&lt;\",0.5],<br>\"or\",<p>[\"keyword_info.high_top_of_page_bid\",\"&lt;=\",0.5]]]</code><br>for more information about filters, please refer to <a href=\"/v3/dataforseo_labs/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Dataforseo Labs - Filters</a> or this <a href=\"https://dataforseo.com/help-center/how-to-use-filters-in-dataforseo-labs-api\" rel=\"noopener noreferrer\" target=\"_blank\">help center guide</a>",
        +        "items": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "number"
        +            },
        +            {
        +              "type": "boolean"
        +            },
        +            {
        +              "additionalProperties": {
        +                "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +              },
        +              "type": [
        +                "object",
        +                "null"
        +              ]
        +            },
        +            {
        +              "items": {
        +                "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +              },
        +              "type": "array"
        +            }
        +          ],
        +          "description": "JSON representation of filter values and nested expressions. Field names, operators, condition counts and operand compatibility remain provider-validated as documented for each endpoint; this is not a complete filter-language validator."
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "ignore_synonyms": {
        +        "description": "<em>ignore highly similar keywords</em><br>optional field<br>if set to_<code class=\"prettyprint\">true</code> only core keywords will be returned, all highly similar keywords will be excluded;  <br>default value: <code>false</code>n",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_clickstream_data": {
        +        "description": "<em>include or exclude data from clickstream-based metrics in the result</em><br>optional field<br>if the parameter is set to <code>true</code>, you will receive <code>clickstream_keyword_info</code>, <code>keyword_info_normalized_with_clickstream</code>, and <code>keyword_info_normalized_with_bing</code> fields in the response<br>default value: <code>false</code><br>with this parameter enabled, you will be charged double the price for the request<p>learn more about how clickstream-based metrics are calculated in this <a href=\"https://dataforseo.com/help-center/what-are-clickstream-based-metrics-and-how-do-we-calculate-them\" rel=\"noopener noreferrer\" target=\"_blank\">help center article</a>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_serp_info": {
        +        "description": "<em>include data from SERP for each keyword</em><br>optional field<br>if set to <code>true</code>, we will return a <code>serp_info</code> array containing SERP data (number of search results, relevant URL, and SERP features) for every keyword in the response<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "keywords": {
        +        "description": "<em>keywords</em><br><strong>required field</strong><br>UTF-8 encoding<br>The maximum number of keywords you can specify: 200.<br>The keywords will be converted to lowercase format<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "language_code": {
        +        "description": "<em>language code</em><br>optional field<br>if you use this field, you don't need to specify <code>language_name</code><br>you can receive the list of available languages with their <code>language_code</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">en</code><br><strong>Note:</strong> if omitted, results default to the language with the most keyword records in the specified location;<br>refer to the <code>available_languages.keywords</code> field of the <a href=\"https://docs.dataforseo.com/v3/dataforseo_labs/locations_and_languages\" target=\"_blank\">Locations and Languages endpoint</a> to determine the default language",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "<em>full name of the language</em><br>optional field<br>if you use this field, you don't need to specify <code>language_code</code><br>you can receive the list of available languages with their <code>language_name</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">English</code><br><strong>Note:</strong> if omitted, results default to the language with the most keyword records in the specified location;<br>refer to the <code>available_languages.keywords</code> field of the <a href=\"https://docs.dataforseo.com/v3/dataforseo_labs/locations_and_languages\" target=\"_blank\">Locations and Languages endpoint</a> to determine the default language",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "limit": {
        +        "description": "<em>the maximum number of keywords in the results array</em><br>optional field<br>default value: <code>700</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_code": {
        +        "description": "<em>unique location identifier</em><br><strong>required field if you don't specify</strong> <code>location_name</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">2840</code>",
        +        "type": "integer"
        +      },
        +      "location_name": {
        +        "description": "<em>full name of the location</em><br><strong>required field if you don't specify</strong> <code>location_code</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">United Kingdom</code>",
        +        "type": "string"
        +      },
        +      "offset": {
        +        "description": "<em>offset in the results array of returned keywords</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten keywords in the results array will be omitted and the data will be provided for the successive keywords<br><strong>Note:</strong> we recommend using this parameter only when retrieving up to 10,000 results<br>for retrieving over 10,000 results, use the <code>offset_token</code> instead.",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "offset_token": {
        +        "description": "<em>offset token for subsequent requests</em><br>optional field<br>provided in the identical filed of the response to each request;<br>use this parameter to avoid timeouts while trying to obtain over 10,000 results in a single request;<br>by specifying the unique <code>offset_token</code> value from the response array, you will get the subsequent results of the initial task;<br><code>offset_token</code> values are unique for each subsequent task <br><strong>Note:</strong> if the <code>offset_token</code> is specified in the request, all other parameters except <code>limit</code> will not be taken into account when processing a task.<br>learn more about this parameter on our <a href=\"https://dataforseo.com/help-center/what-is-the-difference-between-the-offset-and-offset_token-parameters#offset_token\" target=\"_blank\">Help Center</a>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "order_by": {
        +        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to set up a sorting parameter<p>default rule:<br><code>[\"relevance,desc\"]</code><br>relevance is used as the default sorting rule to provide you with the closest keyword ideas. We recommend using this sorting rule to get highly-relevant search terms. <strong>Note</strong> that <code>relevance</code> is only our internal system identifier, so <strong>it can not be used as a filter</strong>, and you will not find this field in the <code>result</code> array. The relevance score is based on a similar principle as used in <a href=\"/v3/keywords_data/google/keywords_for_keywords/live/?php\">the Keywords For Keywords</a> endpoint.<p><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"relevance,desc\",\"keyword_info.search_volume,desc\"]</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / oneOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "include_serp_info": true,
        -        "keywords": [
        -          "phone",
        -          "watch"
        -        ],
        -        "language_code": "en",
        -        "limit": 3,
        -        "location_code": 2840
        -      }
        -    ],
        -    "properties": {
        -      "closely_variants": {
        -        "description": "<em>search mode</em><br>optional field<br>if set to_<code class=\"prettyprint\">true</code> the results will be based on the phrase-match search algorithm<br>if set to <code class=\"prettyprint\">false</code> the results will be based on the broad-match search algorithm<br>default value: <code>false</code>n",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "filters": {
        -        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>match</code>, <code>not_match</code>, <code>ilike</code>, <code>not_ilike</code>, <code>like</code>, <code>not_like</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code>,as well as <code>ilike</code>, <code>not_ilike</code> to match any string of zero or more characters<br><strong>note that you can not filter the results by <code>relevance</code></strong><br>example:<br><code>[\"keyword_info.search_volume\",\"&gt;\",0]</code><p><code>[[\"keyword_info.search_volume\",\"in\",[0,1000]],<br>\"and\",<br>[\"keyword_info.competition_level\",\"=\",\"LOW\"]]</code><p><code>[[\"keyword_info.search_volume\",\"&gt;\",100],<br>\"and\",<br>[[\"keyword_info.cpc\",\"&lt;\",0.5],<br>\"or\",<p>[\"keyword_info.high_top_of_page_bid\",\"&lt;=\",0.5]]]</code><br>for more information about filters, please refer to <a href=\"/v3/dataforseo_labs/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Dataforseo Labs - Filters</a> or this <a href=\"https://dataforseo.com/help-center/how-to-use-filters-in-dataforseo-labs-api\" rel=\"noopener noreferrer\" target=\"_blank\">help center guide</a>",
        -        "items": {
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "ignore_synonyms": {
        -        "description": "<em>ignore highly similar keywords</em><br>optional field<br>if set to_<code class=\"prettyprint\">true</code> only core keywords will be returned, all highly similar keywords will be excluded;  <br>default value: <code>false</code>n",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "include_clickstream_data": {
        -        "description": "<em>include or exclude data from clickstream-based metrics in the result</em><br>optional field<br>if the parameter is set to <code>true</code>, you will receive <code>clickstream_keyword_info</code>, <code>keyword_info_normalized_with_clickstream</code>, and <code>keyword_info_normalized_with_bing</code> fields in the response<br>default value: <code>false</code><br>with this parameter enabled, you will be charged double the price for the request<p>learn more about how clickstream-based metrics are calculated in this <a href=\"https://dataforseo.com/help-center/what-are-clickstream-based-metrics-and-how-do-we-calculate-them\" rel=\"noopener noreferrer\" target=\"_blank\">help center article</a>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "include_serp_info": {
        -        "description": "<em>include data from SERP for each keyword</em><br>optional field<br>if set to <code>true</code>, we will return a <code>serp_info</code> array containing SERP data (number of search results, relevant URL, and SERP features) for every keyword in the response<br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "keywords": {
        -        "description": "<em>keywords</em><br><strong>required field</strong><br>UTF-8 encoding<br>The maximum number of keywords you can specify: 200.<br>The keywords will be converted to lowercase format<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "language_code": {
        -        "description": "<em>language code</em><br>optional field<br>if you use this field, you don't need to specify <code>language_name</code><br>you can receive the list of available languages with their <code>language_code</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">en</code><br><strong>Note:</strong> if omitted, results default to the language with the most keyword records in the specified location;<br>refer to the <code>available_languages.keywords</code> field of the <a href=\"https://docs.dataforseo.com/v3/dataforseo_labs/locations_and_languages\" target=\"_blank\">Locations and Languages endpoint</a> to determine the default language",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "language_name": {
        -        "description": "<em>full name of the language</em><br>optional field<br>if you use this field, you don't need to specify <code>language_code</code><br>you can receive the list of available languages with their <code>language_name</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">English</code><br><strong>Note:</strong> if omitted, results default to the language with the most keyword records in the specified location;<br>refer to the <code>available_languages.keywords</code> field of the <a href=\"https://docs.dataforseo.com/v3/dataforseo_labs/locations_and_languages\" target=\"_blank\">Locations and Languages endpoint</a> to determine the default language",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "limit": {
        -        "description": "<em>the maximum number of keywords in the results array</em><br>optional field<br>default value: <code>700</code><br>maximum value: <code>1000</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "location_code": {
        -        "description": "<em>unique location identifier</em><br><strong>required field if you don't specify</strong> <code>location_name</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">2840</code>",
        -        "type": "integer"
        -      },
        -      "location_name": {
        -        "description": "<em>full name of the location</em><br><strong>required field if you don't specify</strong> <code>location_code</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">United Kingdom</code>",
        -        "type": "string"
        -      },
        -      "offset": {
        -        "description": "<em>offset in the results array of returned keywords</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten keywords in the results array will be omitted and the data will be provided for the successive keywords<br><strong>Note:</strong> we recommend using this parameter only when retrieving up to 10,000 results<br>for retrieving over 10,000 results, use the <code>offset_token</code> instead.",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "offset_token": {
        -        "description": "<em>offset token for subsequent requests</em><br>optional field<br>provided in the identical filed of the response to each request;<br>use this parameter to avoid timeouts while trying to obtain over 10,000 results in a single request;<br>by specifying the unique <code>offset_token</code> value from the response array, you will get the subsequent results of the initial task;<br><code>offset_token</code> values are unique for each subsequent task <br><strong>Note:</strong> if the <code>offset_token</code> is specified in the request, all other parameters except <code>limit</code> will not be taken into account when processing a task.<br>learn more about this parameter on our <a href=\"https://dataforseo.com/help-center/what-is-the-difference-between-the-offset-and-offset_token-parameters#offset_token\" target=\"_blank\">Help Center</a>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "order_by": {
        -        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to set up a sorting parameter<p>default rule:<br><code>[\"relevance,desc\"]</code><br>relevance is used as the default sorting rule to provide you with the closest keyword ideas. We recommend using this sorting rule to get highly-relevant search terms. <strong>Note</strong> that <code>relevance</code> is only our internal system identifier, so <strong>it can not be used as a filter</strong>, and you will not find this field in the <code>result</code> array. The relevance score is based on a similar principle as used in <a href=\"/v3/keywords_data/google/keywords_for_keywords/live/?php\">the Keywords For Keywords</a> endpoint.<p><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"relevance,desc\",\"keyword_info.search_volume,desc\"]</code>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
    • Changedpost_dataforseo_labs_google_keyword_overview_live1 field changed
      • changedInput schema / properties / body / items / oneOf
        Previous value: -[
        -  {
        -    "example": [
        -      {
        -        "include_clickstream_data": true,
        -        "include_serp_info": true,
        -        "keywords": [
        -          "iphone"
        -        ],
        -        "language_code": "en",
        -        "location_code": 2840
        -      }
        -    ],
        -    "properties": {
        -      "include_clickstream_data": {
        -        "description": "<em>include or exclude data from clickstream-based metrics in the result</em><br>optional field<br>if the parameter is set to <code>true</code>, you will receive <code>clickstream_keyword_info</code>, <code>keyword_info_normalized_with_clickstream</code>, and <code>keyword_info_normalized_with_bing</code> fields in the response<br>default value: <code>false</code><br>with this parameter enabled, you will be charged double the price for the request<p>learn more about how clickstream-based metrics are calculated in this <a href=\"https://dataforseo.com/help-center/what-are-clickstream-based-metrics-and-how-do-we-calculate-them\" rel=\"noopener noreferrer\" target=\"_blank\">help center article</a>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "include_serp_info": {
        -        "description": "<em>include data from SERP for each keyword</em><br>optional field<br>if set to <code>true</code>, we will return a <code>serp_info</code> array containing SERP data (number of search results, relevant URL, and SERP features) for every keyword in the response<br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "keywords": {
        -        "description": "<em>keywords</em><br><strong>required field</strong><br>The maximum number of keywords you can specify: 700<br>The maximum number of characters for each keyword: 80<br>The maximum number of words for each keyword phrase: 10<br>the specified keywords will be converted to lowercase format, data will be provided in a separate array<p><strong>note</strong> that if some of the keywords specified in this array are omitted in the results you receive, then our database doesn't contain such keywords and cannot return data on them<br>you will not be charged for the keywords omitted in the results<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "language_code": {
        -        "description": "<em>language code</em><br><strong>required field if you don't specify</strong> <code>language_name</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available locations with their <code>language_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">en</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "language_name": {
        -        "description": "<em>full name of the language</em><br><strong>required field if you don't specify</strong> <code>language_code</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available locations with their <code>language_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">English</code>",
        -        "type": "string"
        -      },
        -      "location_code": {
        -        "description": "<em>location code</em><br><strong>required field if you don't specify</strong> <code>location_name</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">2840</code>",
        -        "type": "integer"
        -      },
        -      "location_name": {
        -        "description": "<em>full name of the location</em><br><strong>required field if you don't specify</strong> <code>location_code</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">United Kingdom</code>",
        -        "type": "string"
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "properties": {
        +      "include_clickstream_data": {
        +        "description": "<em>include or exclude data from clickstream-based metrics in the result</em><br>optional field<br>if the parameter is set to <code>true</code>, you will receive <code>clickstream_keyword_info</code>, <code>keyword_info_normalized_with_clickstream</code>, and <code>keyword_info_normalized_with_bing</code> fields in the response<br>default value: <code>false</code><br>with this parameter enabled, you will be charged double the price for the request<p>learn more about how clickstream-based metrics are calculated in this <a href=\"https://dataforseo.com/help-center/what-are-clickstream-based-metrics-and-how-do-we-calculate-them\" rel=\"noopener noreferrer\" target=\"_blank\">help center article</a>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_serp_info": {
        +        "description": "<em>include data from SERP for each keyword</em><br>optional field<br>if set to <code>true</code>, we will return a <code>serp_info</code> array containing SERP data (number of search results, relevant URL, and SERP features) for every keyword in the response<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "keywords": {
        +        "description": "<em>keywords</em><br><strong>required field</strong><br>The maximum number of keywords you can specify: 700<br>The maximum number of characters for each keyword: 80<br>The maximum number of words for each keyword phrase: 10<br>the specified keywords will be converted to lowercase format, data will be provided in a separate array<p><strong>note</strong> that if some of the keywords specified in this array are omitted in the results you receive, then our database doesn't contain such keywords and cannot return data on them<br>you will not be charged for the keywords omitted in the results<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "language_code": {
        +        "description": "<em>language code</em><br><strong>required field if you don't specify</strong> <code>language_name</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available locations with their <code>language_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">en</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "<em>full name of the language</em><br><strong>required field if you don't specify</strong> <code>language_code</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available locations with their <code>language_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">English</code>",
        +        "type": "string"
        +      },
        +      "location_code": {
        +        "description": "<em>location code</em><br><strong>required field if you don't specify</strong> <code>location_name</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">2840</code>",
        +        "type": "integer"
        +      },
        +      "location_name": {
        +        "description": "<em>full name of the location</em><br><strong>required field if you don't specify</strong> <code>location_code</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">United Kingdom</code>",
        +        "type": "string"
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_labs_google_keyword_suggestions_live3 fields changed
      • addedInput schema / $defs
        Added value: +{
        +  "Provider0A3E90081762_AisaDataforseoFilterJsonValue": {
        +    "anyOf": [
        +      {
        +        "type": "string"
        +      },
        +      {
        +        "type": "number"
        +      },
        +      {
        +        "type": "boolean"
        +      },
        +      {
        +        "additionalProperties": {
        +          "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +        },
        +        "type": [
        +          "object",
        +          "null"
        +        ]
        +      },
        +      {
        +        "items": {
        +          "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +        },
        +        "type": "array"
        +      }
        +    ],
        +    "description": "JSON representation of filter values and nested expressions. Field names, operators, condition counts and operand compatibility remain provider-validated as documented for each endpoint; this is not a complete filter-language validator."
        +  }
        +}
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "properties": {
        +      "exact_match": {
        +        "description": "<em>search for the exact phrase</em><br>optional field<br>if set to <code>true</code>, the returned keywords will include the exact keyword phrase you specified, with potentially other words before or after that phrase<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "filters": {
        +        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>match</code>, <code>not_match</code>, <code>ilike</code>, <code>not_ilike</code>, <code>like</code>, <code>not_like</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code>, as well as <code>ilike</code> and <code>not_ilike</code> to match any string of zero or more characters<br>example:<br><code>[\"keyword_info.search_volume\",\"&gt;\",0]</code><br><code>[[\"keyword_info.search_volume\",\"in\",[0,1000]],<br>\"and\",<br>[\"keyword_info.competition_level\",\"=\",\"LOW\"]]</code><code>[[\"keyword_info.search_volume\",\"&gt;\",100],<br>\"and\",<br>[[\"keyword_info.cpc\",\"&lt;\",0.5],<br>\"or\",<br>[\"keyword_info.high_top_of_page_bid\",\"&lt;=\",0.5]]]</code><br>for more information about filters, please refer to <a href=\"/v3/dataforseo_labs/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Dataforseo Labs - Filters</a> or this <a href=\"https://dataforseo.com/help-center/how-to-use-filters-in-dataforseo-labs-api\" target=\"_blank\" rel=\"noopener noreferrer\">help center guide</a>",
        +        "items": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "number"
        +            },
        +            {
        +              "type": "boolean"
        +            },
        +            {
        +              "additionalProperties": {
        +                "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +              },
        +              "type": [
        +                "object",
        +                "null"
        +              ]
        +            },
        +            {
        +              "items": {
        +                "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +              },
        +              "type": "array"
        +            }
        +          ],
        +          "description": "JSON representation of filter values and nested expressions. Field names, operators, condition counts and operand compatibility remain provider-validated as documented for each endpoint; this is not a complete filter-language validator."
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "ignore_synonyms": {
        +        "description": "<em>ignore highly similar keywords</em><br>optional field<br>if set to <code class=\"prettyprint\">true</code> only core keywords will be returned, all highly similar keywords will be excluded;<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_clickstream_data": {
        +        "description": "<em>include or exclude data from clickstream-based metrics in the result</em><br>optional field<br>if the parameter is set to <code>true</code>, you will receive <code>clickstream_keyword_info</code>, <code>keyword_info_normalized_with_clickstream</code>, and <code>keyword_info_normalized_with_bing</code> fields in the response<br>default value: <code>false</code><br>with this parameter enabled, you will be charged double the price for the request<p>learn more about how clickstream-based metrics are calculated in this <a href=\"https://dataforseo.com/help-center/what-are-clickstream-based-metrics-and-how-do-we-calculate-them\" rel=\"noopener noreferrer\" target=\"_blank\">help center article</a>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_seed_keyword": {
        +        "description": "<em>include data for the seed keyword</em><br>optional field<br>if set to <code>true</code>, data for the seed keyword specified in the <code>keyword</code> field will be provided in the <code>seed_keyword_data</code> array of the response<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_serp_info": {
        +        "description": "<em>include data from SERP for each keyword</em><br>optional field<br>if set to <code>true</code>, we will return a <code>serp_info</code> array containing SERP data (number of search results, relevant URL, and SERP features) for every keyword in the response<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "keyword": {
        +        "description": "<em>keyword</em><br><strong>required field</strong><br>UTF-8 encoding<br>the keywords will be converted to lowercase format;<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        +        "type": "string"
        +      },
        +      "language_code": {
        +        "description": "<em>language code</em><br>optional field<br>if you use this field, you don't need to specify <code>language_name</code><br>you can receive the list of available languages with their <code>language_code</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">en</code><br><strong>Note:</strong> if omitted, results default to the language with the most keyword records in the specified location;<br>refer to the <code>available_languages.keywords</code> field of the <a href=\"https://docs.dataforseo.com/v3/dataforseo_labs/locations_and_languages\" target=\"_blank\">Locations and Languages endpoint</a> to determine the default language",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "<em>full name of the language</em><br>optional field<br>if you use this field, you don't need to specify <code>language_code</code><br>you can receive the list of available languages with their <code>language_name</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">English</code><br><strong>Note:</strong> if omitted, results default to the language with the most keyword records in the specified location;<br>refer to the <code>available_languages.keywords</code> field of the <a href=\"https://docs.dataforseo.com/v3/dataforseo_labs/locations_and_languages\" target=\"_blank\">Locations and Languages endpoint</a> to determine the default language",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "limit": {
        +        "description": "<em>the maximum number of returned keywords</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_code": {
        +        "description": "<em>location code</em><br>optional field<br>if you use this field, you don't need to specify <code>location_name</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">2840</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_name": {
        +        "description": "<em>full name of the location</em><br>optional field<br>if you use this field, you don't need to specify <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">United Kingdom</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "offset": {
        +        "description": "<em>offset in the results array of returned keywords</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten keywords in the results array will be omitted and the data will be provided for the successive keywords<br><strong>Note:</strong> we recommend using this parameter only when retrieving up to 10,000 results<br>for retrieving over 10,000 results, use the <code>offset_token</code> instead.",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "offset_token": {
        +        "description": "<em>offset token for subsequent requests</em><br>optional field<br>provided in the identical filed of the response to each request;<br>use this parameter to avoid timeouts while trying to obtain over 10,000 results in a single request;<br>by specifying the unique <code>offset_token</code> value from the response array, you will get the subsequent results of the initial task;<br><code>offset_token</code> values are unique for each subsequent task<br><strong>Note:</strong> if the <code>offset_token</code> is specified in the request, all other parameters except <code>limit</code> will not be taken into account when processing a task.<br>learn more about this parameter on our <a href=\"https://dataforseo.com/help-center/what-is-the-difference-between-the-offset-and-offset_token-parameters#offset_token\" target=\"_blank\">Help Center</a>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "order_by": {
        +        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>a comma is used as a separator<br>example:<br><code>[\"keyword_info.competition,desc\"]</code><br>default rule:<br><code>[\"keyword_info.search_volume,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"keyword_info.search_volume,desc\",\"keyword_info.cpc,desc\"]</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / oneOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "include_seed_keyword": true,
        -        "include_serp_info": true,
        -        "keyword": "phone",
        -        "language_code": "en",
        -        "limit": 1,
        -        "location_code": 2840
        -      }
        -    ],
        -    "properties": {
        -      "exact_match": {
        -        "description": "<em>search for the exact phrase</em><br>optional field<br>if set to <code>true</code>, the returned keywords will include the exact keyword phrase you specified, with potentially other words before or after that phrase<br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "filters": {
        -        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>match</code>, <code>not_match</code>, <code>ilike</code>, <code>not_ilike</code>, <code>like</code>, <code>not_like</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code>, as well as <code>ilike</code> and <code>not_ilike</code> to match any string of zero or more characters<br>example:<br><code>[\"keyword_info.search_volume\",\"&gt;\",0]</code><br><code>[[\"keyword_info.search_volume\",\"in\",[0,1000]],<br>\"and\",<br>[\"keyword_info.competition_level\",\"=\",\"LOW\"]]</code><code>[[\"keyword_info.search_volume\",\"&gt;\",100],<br>\"and\",<br>[[\"keyword_info.cpc\",\"&lt;\",0.5],<br>\"or\",<br>[\"keyword_info.high_top_of_page_bid\",\"&lt;=\",0.5]]]</code><br>for more information about filters, please refer to <a href=\"/v3/dataforseo_labs/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Dataforseo Labs - Filters</a> or this <a href=\"https://dataforseo.com/help-center/how-to-use-filters-in-dataforseo-labs-api\" target=\"_blank\" rel=\"noopener noreferrer\">help center guide</a>",
        -        "items": {
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "ignore_synonyms": {
        -        "description": "<em>ignore highly similar keywords</em><br>optional field<br>if set to <code class=\"prettyprint\">true</code> only core keywords will be returned, all highly similar keywords will be excluded;<br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "include_clickstream_data": {
        -        "description": "<em>include or exclude data from clickstream-based metrics in the result</em><br>optional field<br>if the parameter is set to <code>true</code>, you will receive <code>clickstream_keyword_info</code>, <code>keyword_info_normalized_with_clickstream</code>, and <code>keyword_info_normalized_with_bing</code> fields in the response<br>default value: <code>false</code><br>with this parameter enabled, you will be charged double the price for the request<p>learn more about how clickstream-based metrics are calculated in this <a href=\"https://dataforseo.com/help-center/what-are-clickstream-based-metrics-and-how-do-we-calculate-them\" rel=\"noopener noreferrer\" target=\"_blank\">help center article</a>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "include_seed_keyword": {
        -        "description": "<em>include data for the seed keyword</em><br>optional field<br>if set to <code>true</code>, data for the seed keyword specified in the <code>keyword</code> field will be provided in the <code>seed_keyword_data</code> array of the response<br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "include_serp_info": {
        -        "description": "<em>include data from SERP for each keyword</em><br>optional field<br>if set to <code>true</code>, we will return a <code>serp_info</code> array containing SERP data (number of search results, relevant URL, and SERP features) for every keyword in the response<br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "keyword": {
        -        "description": "<em>keyword</em><br><strong>required field</strong><br>UTF-8 encoding<br>the keywords will be converted to lowercase format;<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        -        "type": "string"
        -      },
        -      "language_code": {
        -        "description": "<em>language code</em><br>optional field<br>if you use this field, you don't need to specify <code>language_name</code><br>you can receive the list of available languages with their <code>language_code</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">en</code><br><strong>Note:</strong> if omitted, results default to the language with the most keyword records in the specified location;<br>refer to the <code>available_languages.keywords</code> field of the <a href=\"https://docs.dataforseo.com/v3/dataforseo_labs/locations_and_languages\" target=\"_blank\">Locations and Languages endpoint</a> to determine the default language",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "language_name": {
        -        "description": "<em>full name of the language</em><br>optional field<br>if you use this field, you don't need to specify <code>language_code</code><br>you can receive the list of available languages with their <code>language_name</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">English</code><br><strong>Note:</strong> if omitted, results default to the language with the most keyword records in the specified location;<br>refer to the <code>available_languages.keywords</code> field of the <a href=\"https://docs.dataforseo.com/v3/dataforseo_labs/locations_and_languages\" target=\"_blank\">Locations and Languages endpoint</a> to determine the default language",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "limit": {
        -        "description": "<em>the maximum number of returned keywords</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "location_code": {
        -        "description": "<em>location code</em><br>optional field<br>if you use this field, you don't need to specify <code>location_name</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">2840</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "location_name": {
        -        "description": "<em>full name of the location</em><br>optional field<br>if you use this field, you don't need to specify <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">United Kingdom</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "offset": {
        -        "description": "<em>offset in the results array of returned keywords</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten keywords in the results array will be omitted and the data will be provided for the successive keywords<br><strong>Note:</strong> we recommend using this parameter only when retrieving up to 10,000 results<br>for retrieving over 10,000 results, use the <code>offset_token</code> instead.",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "offset_token": {
        -        "description": "<em>offset token for subsequent requests</em><br>optional field<br>provided in the identical filed of the response to each request;<br>use this parameter to avoid timeouts while trying to obtain over 10,000 results in a single request;<br>by specifying the unique <code>offset_token</code> value from the response array, you will get the subsequent results of the initial task;<br><code>offset_token</code> values are unique for each subsequent task<br><strong>Note:</strong> if the <code>offset_token</code> is specified in the request, all other parameters except <code>limit</code> will not be taken into account when processing a task.<br>learn more about this parameter on our <a href=\"https://dataforseo.com/help-center/what-is-the-difference-between-the-offset-and-offset_token-parameters#offset_token\" target=\"_blank\">Help Center</a>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "order_by": {
        -        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>a comma is used as a separator<br>example:<br><code>[\"keyword_info.competition,desc\"]</code><br>default rule:<br><code>[\"keyword_info.search_volume,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"keyword_info.search_volume,desc\",\"keyword_info.cpc,desc\"]</code>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
    • Changedpost_dataforseo_labs_google_related_keywords_live3 fields changed
      • addedInput schema / $defs
        Added value: +{
        +  "Provider0A3E90081762_AisaDataforseoFilterJsonValue": {
        +    "anyOf": [
        +      {
        +        "type": "string"
        +      },
        +      {
        +        "type": "number"
        +      },
        +      {
        +        "type": "boolean"
        +      },
        +      {
        +        "additionalProperties": {
        +          "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +        },
        +        "type": [
        +          "object",
        +          "null"
        +        ]
        +      },
        +      {
        +        "items": {
        +          "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +        },
        +        "type": "array"
        +      }
        +    ],
        +    "description": "JSON representation of filter values and nested expressions. Field names, operators, condition counts and operand compatibility remain provider-validated as documented for each endpoint; this is not a complete filter-language validator."
        +  }
        +}
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "properties": {
        +      "depth": {
        +        "description": "<em>keyword search depth</em><br>optional field<br>default value: <code>1</code><p>number of the returned results depends on the value you set in this field<br>you can specify a level from 0 to 4<br>estimated number of keywords for each level (maximum):<br>0 - the keyword set in the <code>keyword</code> field<br>1 – 8 keywords<br>2 – 72 keywords<br>3 – 584 keywords<br>4 – 4680 keywords",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "filters": {
        +        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>match</code>, <code>not_match</code>, <code>ilike</code>, <code>not_ilike</code>, <code>like</code>,<code>not_like</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code>, as well as <code>ilike</code> and <code>not_ilike</code> to match any string of zero or more characters<br>example:<br><code>[\"keyword_data.keyword_info.search_volume\",\"&gt;\",0]</code><p><code>[[\"keyword_info.search_volume\",\"in\",[0,1000]],<br>\"and\",<br>[\"keyword_data.keyword_info.competition_level\",\"=\",\"LOW\"]]</code><p><code>[[\"keyword_data.keyword_info.search_volume\",\"&gt;\",100],<br>\"and\",<br>[[\"keyword_data.keyword_info.cpc\",\"&lt;\",0.5],<br>\"or\",<p>[\"keyword_info.high_top_of_page_bid\",\"&lt;=\",0.5]]]</code><br>for more information about filters, please refer to <a href=\"/v3/dataforseo_labs/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Dataforseo Labs - Filters</a> or this <a href=\"https://dataforseo.com/help-center/how-to-use-filters-in-dataforseo-labs-api\" rel=\"noopener noreferrer\" target=\"_blank\">help center guide</a>",
        +        "items": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "number"
        +            },
        +            {
        +              "type": "boolean"
        +            },
        +            {
        +              "additionalProperties": {
        +                "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +              },
        +              "type": [
        +                "object",
        +                "null"
        +              ]
        +            },
        +            {
        +              "items": {
        +                "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +              },
        +              "type": "array"
        +            }
        +          ],
        +          "description": "JSON representation of filter values and nested expressions. Field names, operators, condition counts and operand compatibility remain provider-validated as documented for each endpoint; this is not a complete filter-language validator."
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "ignore_synonyms": {
        +        "description": "",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_clickstream_data": {
        +        "description": "",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_seed_keyword": {
        +        "description": "<em>include data for the seed keyword</em><br>optional field<br>if set to <code>true</code>, data for the seed keyword specified in the <code>keyword</code> field will be provided in the <code>seed_keyword_data</code> array of the response<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_serp_info": {
        +        "description": "<em>include data from SERP for each keyword</em><br>optional field<br>if set to <code>true</code>, we will return a <code>serp_info</code> array containing SERP data (number of search results, relevant URL, and SERP features) for every keyword in the response<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "keyword": {
        +        "description": "<em>keyword</em><br><strong>required field</strong><br>UTF-8 encoding<br>the keywords will be converted to lowercase format<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        +        "type": "string"
        +      },
        +      "language_code": {
        +        "description": "<em>language code</em><br><strong>required field if you don't specify</strong> <code>language_name</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available locations with their <code>language_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">en</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "<em>full name of the language</em><br><strong>required field if you don't specify</strong> <code>language_code</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available locations with their <code>language_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">English</code>",
        +        "type": "string"
        +      },
        +      "limit": {
        +        "description": "<em>the maximum number of returned keywords</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_code": {
        +        "description": "<em>location code</em><br><strong>required field if you don't specify</strong> <code>location_name</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">2840</code>",
        +        "type": "integer"
        +      },
        +      "location_name": {
        +        "description": "<em>full name of the location</em><br><strong>required field if you don't specify</strong> <code>location_code</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">United Kingdom</code>",
        +        "type": "string"
        +      },
        +      "offset": {
        +        "description": "<em>offset in the results array of returned keywords</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten keywords in the results array will be omitted and the data will be provided for the successive keywords",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "order_by": {
        +        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to set up a sorting type<br>example:<br><code>[\"keyword_data.keyword_info.competition,desc\"]</code><br>default rule:<br><code>[\"keyword_data.keyword_info.search_volume,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"keyword_data.keyword_info.search_volume,desc\",\"keyword_data.keyword_info.cpc,desc\"]</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "replace_with_core_keyword": {
        +        "description": "<em>return data for core keyword</em><br>optional field<br>if <code>true</code>, <code>serp_info</code> and <code>related_keywords</code> will be returned for the main keyword in the group that the specified <code>keyword</code> belongs to;<br>if <code>false</code>, <code>serp_info</code> and <code>related_keywords</code> will be returned for the specified <code>keyword</code> (if available);<br>refer to <a href=\"https://dataforseo.com/help-center/replace_with_core_keyword\" rel=\"noopener noreferrer\" target=\"_blank\">this help center article</a> for more details;<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / oneOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "keyword": "phone",
        -        "language_name": "English",
        -        "limit": 3,
        -        "location_code": 2840
        -      }
        -    ],
        -    "properties": {
        -      "depth": {
        -        "description": "<em>keyword search depth</em><br>optional field<br>default value: <code>1</code><p>number of the returned results depends on the value you set in this field<br>you can specify a level from 0 to 4<br>estimated number of keywords for each level (maximum):<br>0 - the keyword set in the <code>keyword</code> field<br>1 – 8 keywords<br>2 – 72 keywords<br>3 – 584 keywords<br>4 – 4680 keywords",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "filters": {
        -        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>match</code>, <code>not_match</code>, <code>ilike</code>, <code>not_ilike</code>, <code>like</code>,<code>not_like</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code>, as well as <code>ilike</code> and <code>not_ilike</code> to match any string of zero or more characters<br>example:<br><code>[\"keyword_data.keyword_info.search_volume\",\"&gt;\",0]</code><p><code>[[\"keyword_info.search_volume\",\"in\",[0,1000]],<br>\"and\",<br>[\"keyword_data.keyword_info.competition_level\",\"=\",\"LOW\"]]</code><p><code>[[\"keyword_data.keyword_info.search_volume\",\"&gt;\",100],<br>\"and\",<br>[[\"keyword_data.keyword_info.cpc\",\"&lt;\",0.5],<br>\"or\",<p>[\"keyword_info.high_top_of_page_bid\",\"&lt;=\",0.5]]]</code><br>for more information about filters, please refer to <a href=\"/v3/dataforseo_labs/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Dataforseo Labs - Filters</a> or this <a href=\"https://dataforseo.com/help-center/how-to-use-filters-in-dataforseo-labs-api\" rel=\"noopener noreferrer\" target=\"_blank\">help center guide</a>",
        -        "items": {
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "ignore_synonyms": {
        -        "description": "",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "include_clickstream_data": {
        -        "description": "",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "include_seed_keyword": {
        -        "description": "<em>include data for the seed keyword</em><br>optional field<br>if set to <code>true</code>, data for the seed keyword specified in the <code>keyword</code> field will be provided in the <code>seed_keyword_data</code> array of the response<br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "include_serp_info": {
        -        "description": "<em>include data from SERP for each keyword</em><br>optional field<br>if set to <code>true</code>, we will return a <code>serp_info</code> array containing SERP data (number of search results, relevant URL, and SERP features) for every keyword in the response<br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "keyword": {
        -        "description": "<em>keyword</em><br><strong>required field</strong><br>UTF-8 encoding<br>the keywords will be converted to lowercase format<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        -        "type": "string"
        -      },
        -      "language_code": {
        -        "description": "<em>language code</em><br><strong>required field if you don't specify</strong> <code>language_name</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available locations with their <code>language_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">en</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "language_name": {
        -        "description": "<em>full name of the language</em><br><strong>required field if you don't specify</strong> <code>language_code</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available locations with their <code>language_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">English</code>",
        -        "type": "string"
        -      },
        -      "limit": {
        -        "description": "<em>the maximum number of returned keywords</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "location_code": {
        -        "description": "<em>location code</em><br><strong>required field if you don't specify</strong> <code>location_name</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">2840</code>",
        -        "type": "integer"
        -      },
        -      "location_name": {
        -        "description": "<em>full name of the location</em><br><strong>required field if you don't specify</strong> <code>location_code</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">United Kingdom</code>",
        -        "type": "string"
        -      },
        -      "offset": {
        -        "description": "<em>offset in the results array of returned keywords</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten keywords in the results array will be omitted and the data will be provided for the successive keywords",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "order_by": {
        -        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to set up a sorting type<br>example:<br><code>[\"keyword_data.keyword_info.competition,desc\"]</code><br>default rule:<br><code>[\"keyword_data.keyword_info.search_volume,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"keyword_data.keyword_info.search_volume,desc\",\"keyword_data.keyword_info.cpc,desc\"]</code>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "replace_with_core_keyword": {
        -        "description": "<em>return data for core keyword</em><br>optional field<br>if <code>true</code>, <code>serp_info</code> and <code>related_keywords</code> will be returned for the main keyword in the group that the specified <code>keyword</code> belongs to;<br>if <code>false</code>, <code>serp_info</code> and <code>related_keywords</code> will be returned for the specified <code>keyword</code> (if available);<br>refer to <a href=\"https://dataforseo.com/help-center/replace_with_core_keyword\" rel=\"noopener noreferrer\" target=\"_blank\">this help center article</a> for more details;<br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
    • Changedpost_dataforseo_labs_google_relevant_pages_live3 fields changed
      • addedInput schema / $defs
        Added value: +{
        +  "Provider0A3E90081762_AisaDataforseoFilterJsonValue": {
        +    "anyOf": [
        +      {
        +        "type": "string"
        +      },
        +      {
        +        "type": "number"
        +      },
        +      {
        +        "type": "boolean"
        +      },
        +      {
        +        "additionalProperties": {
        +          "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +        },
        +        "type": [
        +          "object",
        +          "null"
        +        ]
        +      },
        +      {
        +        "items": {
        +          "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +        },
        +        "type": "array"
        +      }
        +    ],
        +    "description": "JSON representation of filter values and nested expressions. Field names, operators, condition counts and operand compatibility remain provider-validated as documented for each endpoint; this is not a complete filter-language validator."
        +  }
        +}
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "properties": {
        +      "filters": {
        +        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code><p>example:<br><code>[\"metrics.paid.count\",\"&gt;\",0]</code><p><code>[[\"metrics.organic.count\",\"&gt;\",50],\"and\",[\"metrics.organic.pos_1\",\"&lt;&gt;\",0]]</code><p><code>[[\"\"metrics.organic.count\",\"&gt;\",50\"],<br>\"and\",<br>[[\"metrics.organic.pos_1\",\"&lt;&gt;\",0],\"or\",[\"metrics.organic.pos_2_3\",\"&lt;&gt;\",0]]]</code><br>for more information about filters, please refer to <a href=\"/v3/dataforseo_labs/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Dataforseo Labs - Filters</a> or this <a href=\"https://dataforseo.com/help-center/how-to-use-filters-in-dataforseo-labs-api\" rel=\"noopener noreferrer\" target=\"_blank\">help center guide</a>",
        +        "items": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "number"
        +            },
        +            {
        +              "type": "boolean"
        +            },
        +            {
        +              "additionalProperties": {
        +                "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +              },
        +              "type": [
        +                "object",
        +                "null"
        +              ]
        +            },
        +            {
        +              "items": {
        +                "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +              },
        +              "type": "array"
        +            }
        +          ],
        +          "description": "JSON representation of filter values and nested expressions. Field names, operators, condition counts and operand compatibility remain provider-validated as documented for each endpoint; this is not a complete filter-language validator."
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "historical_serp_mode": {
        +        "description": "<em>data collection mode</em><br>optional field<br>you can use this field to filter the results;<br>possible types of filtering:<br><code>live</code> — return metrics for SERPs in which the specified <code>target</code> currently has ranking results;<br><code>lost</code> — return metrics for SERPs in which the specified <code>target</code> had previously had ranking results, but didn't have them during the last check;<br><code>all</code> — return metrics for both types of SERPs.<br>default value: <code>live</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "ignore_synonyms": {
        +        "description": "<em>ignore highly similar keywords</em><br>optional field<br>if set to <code class=\"prettyprint\">true</code>, only core keywords will be returned, all highly similar keywords will be excluded;  <br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_clickstream_data": {
        +        "description": "<em>include or exclude data from clickstream-based metrics in the result</em><br>optional field<br>if the parameter is set to <code>true</code>, you will receive <code>clickstream_etv</code>, <code>clickstream_gender_distribution</code>, and <code>clickstream_age_distribution</code> fields with clickstream data in the response<br>default value: <code>false</code><br>with this parameter enabled, you will be charged double the price for the request<p>learn more about how clickstream-based metrics are calculated in this <a href=\"https://dataforseo.com/help-center/what-are-clickstream-based-metrics-and-how-do-we-calculate-them\" rel=\"noopener noreferrer\" target=\"_blank\">help center article</a>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "item_types": {
        +        "description": "<em>display results by item type</em><br>optional field<br>indicates the type of search results included in the response<p><strong>Note:</strong> if the <code>item_types</code> array contains item types that are different from <code>organic</code>, the results will be ordered by the first item type in the array; you will not be able to sort and filter results by the types of search results not included in the response;<p>possible values: <br><code>[\"organic\", \"paid\", \"featured_snippet\", \"local_pack\"]</code><br>default value: <br><code>[\"organic\", \"paid\"]</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "language_code": {
        +        "description": "<em>language code</em><br>optional field<br>if you use this field, you don't need to specify <code>language_name</code><br>you can receive the list of available languages with their <code>language_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available languages<br>example:<br><code class=\"long-string\">en</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "<em>full name of the language</em><br>optional field<br>if you use this field, you don't need to specify <code>language_code</code><br>you can receive the list of available languages with their <code>language_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available languages<br>example:<br><code class=\"long-string\">English</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "limit": {
        +        "description": "<em>the maximum number of returned pages</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_code": {
        +        "description": "<em>location code</em><br>optional field<br>if you use this field, you don't need to specify <code>location_name</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">2840</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_name": {
        +        "description": "<em>full name of the location</em><br>optional field<br>if you use this field, you don't need to specify <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">United Kingdom</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "offset": {
        +        "description": "<em>offset in the results array of returned pages</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten pages in the results array will be omitted and the data will be provided for the successive pages",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "order_by": {
        +        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to specify a sorting type<br>example:<br><code>[\"metrics.paid.etv,asc\"]</code><br><strong>Note:</strong> you can set no more than three sorting rules in a single request<br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"metrics.organic.etv,desc\",\"metrics.paid.count,asc\"]</code><p>default rule:<br><code>[\"metrics.organic.count,desc\"]</code><br><strong>Note:</strong> if the <code>item_types</code> array contains item types that are different from <code>organic</code>, the results will be ordered by the first item type in the array",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "target": {
        +        "description": "<em>domain</em><br><strong>required field</strong><br>the domain name of the target website<br>the domain should be specified without <code>https://</code> and <code>www.</code>",
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / oneOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "filters": [
        -          [
        -            "metrics.organic.pos_1",
        -            "<>",
        -            0
        -          ],
        -          "or",
        -          [
        -            "metrics.organic.pos_2_3",
        -            "<>",
        -            0
        -          ]
        -        ],
        -        "language_name": "English",
        -        "limit": 3,
        -        "location_code": 2840,
        -        "target": "amazon.com"
        -      }
        -    ],
        -    "properties": {
        -      "filters": {
        -        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code><p>example:<br><code>[\"metrics.paid.count\",\"&gt;\",0]</code><p><code>[[\"metrics.organic.count\",\"&gt;\",50],\"and\",[\"metrics.organic.pos_1\",\"&lt;&gt;\",0]]</code><p><code>[[\"\"metrics.organic.count\",\"&gt;\",50\"],<br>\"and\",<br>[[\"metrics.organic.pos_1\",\"&lt;&gt;\",0],\"or\",[\"metrics.organic.pos_2_3\",\"&lt;&gt;\",0]]]</code><br>for more information about filters, please refer to <a href=\"/v3/dataforseo_labs/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Dataforseo Labs - Filters</a> or this <a href=\"https://dataforseo.com/help-center/how-to-use-filters-in-dataforseo-labs-api\" rel=\"noopener noreferrer\" target=\"_blank\">help center guide</a>",
        -        "items": {
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "historical_serp_mode": {
        -        "description": "<em>data collection mode</em><br>optional field<br>you can use this field to filter the results;<br>possible types of filtering:<br><code>live</code> — return metrics for SERPs in which the specified <code>target</code> currently has ranking results;<br><code>lost</code> — return metrics for SERPs in which the specified <code>target</code> had previously had ranking results, but didn't have them during the last check;<br><code>all</code> — return metrics for both types of SERPs.<br>default value: <code>live</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "ignore_synonyms": {
        -        "description": "<em>ignore highly similar keywords</em><br>optional field<br>if set to <code class=\"prettyprint\">true</code>, only core keywords will be returned, all highly similar keywords will be excluded;  <br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "include_clickstream_data": {
        -        "description": "<em>include or exclude data from clickstream-based metrics in the result</em><br>optional field<br>if the parameter is set to <code>true</code>, you will receive <code>clickstream_etv</code>, <code>clickstream_gender_distribution</code>, and <code>clickstream_age_distribution</code> fields with clickstream data in the response<br>default value: <code>false</code><br>with this parameter enabled, you will be charged double the price for the request<p>learn more about how clickstream-based metrics are calculated in this <a href=\"https://dataforseo.com/help-center/what-are-clickstream-based-metrics-and-how-do-we-calculate-them\" rel=\"noopener noreferrer\" target=\"_blank\">help center article</a>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "item_types": {
        -        "description": "<em>display results by item type</em><br>optional field<br>indicates the type of search results included in the response<p><strong>Note:</strong> if the <code>item_types</code> array contains item types that are different from <code>organic</code>, the results will be ordered by the first item type in the array; you will not be able to sort and filter results by the types of search results not included in the response;<p>possible values: <br><code>[\"organic\", \"paid\", \"featured_snippet\", \"local_pack\"]</code><br>default value: <br><code>[\"organic\", \"paid\"]</code>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "language_code": {
        -        "description": "<em>language code</em><br>optional field<br>if you use this field, you don't need to specify <code>language_name</code><br>you can receive the list of available languages with their <code>language_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available languages<br>example:<br><code class=\"long-string\">en</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "language_name": {
        -        "description": "<em>full name of the language</em><br>optional field<br>if you use this field, you don't need to specify <code>language_code</code><br>you can receive the list of available languages with their <code>language_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available languages<br>example:<br><code class=\"long-string\">English</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "limit": {
        -        "description": "<em>the maximum number of returned pages</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "location_code": {
        -        "description": "<em>location code</em><br>optional field<br>if you use this field, you don't need to specify <code>location_name</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">2840</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "location_name": {
        -        "description": "<em>full name of the location</em><br>optional field<br>if you use this field, you don't need to specify <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">United Kingdom</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "offset": {
        -        "description": "<em>offset in the results array of returned pages</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten pages in the results array will be omitted and the data will be provided for the successive pages",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "order_by": {
        -        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to specify a sorting type<br>example:<br><code>[\"metrics.paid.etv,asc\"]</code><br><strong>Note:</strong> you can set no more than three sorting rules in a single request<br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"metrics.organic.etv,desc\",\"metrics.paid.count,asc\"]</code><p>default rule:<br><code>[\"metrics.organic.count,desc\"]</code><br><strong>Note:</strong> if the <code>item_types</code> array contains item types that are different from <code>organic</code>, the results will be ordered by the first item type in the array",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "target": {
        -        "description": "<em>domain</em><br><strong>required field</strong><br>the domain name of the target website<br>the domain should be specified without <code>https://</code> and <code>www.</code>",
        -        "type": "string"
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
    • Changedpost_dataforseo_labs_google_search_intent_live1 field changed
      • changedInput schema / properties / body / items / oneOf
        Previous value: -[
        -  {
        -    "example": [
        -      {
        -        "keywords": [
        -          "login page",
        -          "audi a7",
        -          "elon musk",
        -          "milk store new york"
        -        ]
        -      }
        -    ],
        -    "properties": {
        -      "keywords": {
        -        "description": "<em>target keywords</em><br><strong>required field</strong><br>UTF-8 encoding<br>maximum number of keywords you can specify in this array: 1000;<br>the keywords will be converted to lowercase format<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "properties": {
        +      "keywords": {
        +        "description": "<em>target keywords</em><br><strong>required field</strong><br>UTF-8 encoding<br>maximum number of keywords you can specify in this array: 1000;<br>the keywords will be converted to lowercase format<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_labs_google_serp_competitors_live3 fields changed
      • addedInput schema / $defs
        Added value: +{
        +  "Provider0A3E90081762_AisaDataforseoFilterJsonValue": {
        +    "anyOf": [
        +      {
        +        "type": "string"
        +      },
        +      {
        +        "type": "number"
        +      },
        +      {
        +        "type": "boolean"
        +      },
        +      {
        +        "additionalProperties": {
        +          "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +        },
        +        "type": [
        +          "object",
        +          "null"
        +        ]
        +      },
        +      {
        +        "items": {
        +          "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +        },
        +        "type": "array"
        +      }
        +    ],
        +    "description": "JSON representation of filter values and nested expressions. Field names, operators, condition counts and operand compatibility remain provider-validated as documented for each endpoint; this is not a complete filter-language validator."
        +  }
        +}
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "properties": {
        +      "filters": {
        +        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>match</code>, <code>not_match</code>, <code>ilike</code>, <code>not_ilike</code>, <code>like</code>, <code>not_like</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code>, as well as <code>ilike</code> and <code>not_ilike</code> to match any string of zero or more characters<br>example:<br><code>[\"median_position\",\"in\",[1,10]]</code><p><code>[[\"median_position\",\"in\",[1,10]],\"and\",[\"domain\",\"not_like\",\"%wikipedia.org%\"]]</code><p><code>[[\"domain\",\"not_like\",\"%wikipedia.org%\"],<br>\"and\",<br>[[\"relevant_serp_items\",\"&gt;\",0],\"or\",[\"median_position\",\"in\",[1,10]]]]</code><br>for more information about filters, please refer to <a href=\"/v3/dataforseo_labs/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Dataforseo Labs - Filters</a> or this <a href=\"https://dataforseo.com/help-center/how-to-use-filters-in-dataforseo-labs-api\" rel=\"noopener noreferrer\" target=\"_blank\">help center guide</a>",
        +        "items": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "number"
        +            },
        +            {
        +              "type": "boolean"
        +            },
        +            {
        +              "additionalProperties": {
        +                "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +              },
        +              "type": [
        +                "object",
        +                "null"
        +              ]
        +            },
        +            {
        +              "items": {
        +                "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +              },
        +              "type": "array"
        +            }
        +          ],
        +          "description": "JSON representation of filter values and nested expressions. Field names, operators, condition counts and operand compatibility remain provider-validated as documented for each endpoint; this is not a complete filter-language validator."
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "include_subdomains": {
        +        "description": "<em>indicates if the subdomains will be included in the search</em><br>optional field<br>if set to <code>false</code>, the subdomains will be ignored<br>default value: <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "item_types": {
        +        "description": "<em>search results type</em><br>indicates type of search results included in the response<br>optional field<p>possible values: <br><code>[\"organic\", \"paid\", \"featured_snippet\", \"local_pack\"]</code><br>default value: <br><code>[\"organic\", \"paid\"]</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "keywords": {
        +        "description": "<em>keywords array</em><br><strong>required field</strong><br>the results will be based on the keywords you specify in this array<br>UTF-8 encoding;<br>the keywords will be converted to lowercase format;<br><strong>you can specify the maximum of 200 keywords</strong><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "language_code": {
        +        "description": "<em>unique language identifier</em><br><strong>required field if you don't specify</strong> <code>language_name</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available languages with their <code>language_code</code> parameters by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">en</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "<em>full name of the language</em><br><strong>required field if you don't specify</strong> <code>language_code</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available languages with their <code>language_name</code> parameters by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">English</code>",
        +        "type": "string"
        +      },
        +      "limit": {
        +        "description": "<em>the maximum number of returned domains</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_code": {
        +        "description": "<em>unique location identifier</em><br><strong>required field if you don't specify</strong> <code>location_name</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_code</code> parameters by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">2840</code>",
        +        "type": "integer"
        +      },
        +      "location_name": {
        +        "description": "<em>full name of the location</em><br><strong>required field if you don't specify</strong> <code>location_code</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with <code>location_name</code> parameters by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">United Kingdom</code>",
        +        "type": "string"
        +      },
        +      "offset": {
        +        "description": "<em>offset in the results array of returned domains</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten domains in the results array will be omitted and the data will be provided for the successive domains",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "order_by": {
        +        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>the comma is used as a separator<br>example:<br><code>[\"avg_position,asc\"]</code><br>default rule:<br><code>[\"rating,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"avg_position,asc\",\"etv,desc\"]</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / oneOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "item_types": [
        -          "organic"
        -        ],
        -        "keywords": [
        -          "phone"
        -        ],
        -        "language_name": "English",
        -        "limit": 5,
        -        "location_code": 2840
        -      }
        -    ],
        -    "properties": {
        -      "filters": {
        -        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>match</code>, <code>not_match</code>, <code>ilike</code>, <code>not_ilike</code>, <code>like</code>, <code>not_like</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code>, as well as <code>ilike</code> and <code>not_ilike</code> to match any string of zero or more characters<br>example:<br><code>[\"median_position\",\"in\",[1,10]]</code><p><code>[[\"median_position\",\"in\",[1,10]],\"and\",[\"domain\",\"not_like\",\"%wikipedia.org%\"]]</code><p><code>[[\"domain\",\"not_like\",\"%wikipedia.org%\"],<br>\"and\",<br>[[\"relevant_serp_items\",\"&gt;\",0],\"or\",[\"median_position\",\"in\",[1,10]]]]</code><br>for more information about filters, please refer to <a href=\"/v3/dataforseo_labs/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Dataforseo Labs - Filters</a> or this <a href=\"https://dataforseo.com/help-center/how-to-use-filters-in-dataforseo-labs-api\" rel=\"noopener noreferrer\" target=\"_blank\">help center guide</a>",
        -        "items": {
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "include_subdomains": {
        -        "description": "<em>indicates if the subdomains will be included in the search</em><br>optional field<br>if set to <code>false</code>, the subdomains will be ignored<br>default value: <code>true</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "item_types": {
        -        "description": "<em>search results type</em><br>indicates type of search results included in the response<br>optional field<p>possible values: <br><code>[\"organic\", \"paid\", \"featured_snippet\", \"local_pack\"]</code><br>default value: <br><code>[\"organic\", \"paid\"]</code>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "keywords": {
        -        "description": "<em>keywords array</em><br><strong>required field</strong><br>the results will be based on the keywords you specify in this array<br>UTF-8 encoding;<br>the keywords will be converted to lowercase format;<br><strong>you can specify the maximum of 200 keywords</strong><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "language_code": {
        -        "description": "<em>unique language identifier</em><br><strong>required field if you don't specify</strong> <code>language_name</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available languages with their <code>language_code</code> parameters by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">en</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "language_name": {
        -        "description": "<em>full name of the language</em><br><strong>required field if you don't specify</strong> <code>language_code</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available languages with their <code>language_name</code> parameters by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">English</code>",
        -        "type": "string"
        -      },
        -      "limit": {
        -        "description": "<em>the maximum number of returned domains</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "location_code": {
        -        "description": "<em>unique location identifier</em><br><strong>required field if you don't specify</strong> <code>location_name</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_code</code> parameters by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">2840</code>",
        -        "type": "integer"
        -      },
        -      "location_name": {
        -        "description": "<em>full name of the location</em><br><strong>required field if you don't specify</strong> <code>location_code</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with <code>location_name</code> parameters by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">United Kingdom</code>",
        -        "type": "string"
        -      },
        -      "offset": {
        -        "description": "<em>offset in the results array of returned domains</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten domains in the results array will be omitted and the data will be provided for the successive domains",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "order_by": {
        -        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>the comma is used as a separator<br>example:<br><code>[\"avg_position,asc\"]</code><br>default rule:<br><code>[\"rating,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"avg_position,asc\",\"etv,desc\"]</code>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
    • Changedpost_dataforseo_labs_google_subdomains_live3 fields changed
      • addedInput schema / $defs
        Added value: +{
        +  "Provider0A3E90081762_AisaDataforseoFilterJsonValue": {
        +    "anyOf": [
        +      {
        +        "type": "string"
        +      },
        +      {
        +        "type": "number"
        +      },
        +      {
        +        "type": "boolean"
        +      },
        +      {
        +        "additionalProperties": {
        +          "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +        },
        +        "type": [
        +          "object",
        +          "null"
        +        ]
        +      },
        +      {
        +        "items": {
        +          "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +        },
        +        "type": "array"
        +      }
        +    ],
        +    "description": "JSON representation of filter values and nested expressions. Field names, operators, condition counts and operand compatibility remain provider-validated as documented for each endpoint; this is not a complete filter-language validator."
        +  }
        +}
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "properties": {
        +      "filters": {
        +        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code><br>example:<br><code>[\"metrics.paid.count\",\"&gt;\",0]</code><p><code>[[\"metrics.paid.count\",\"&gt;\",0],\"and\",[\"metrics.paid.etv\",\"&gt;\",\"50\"]]</code><p><code>[[\"metrics.organic.count\",\"&gt;\",\"10\"],<br>\"and\",<br>[[\"metrics.organic.pos_1\",\"&lt;&gt;\",0],\"or\",[\"metrics.organic.pos_2_3\",\"&lt;&gt;\",0]]]</code><br>for more information about filters, please refer to <a href=\"/v3/dataforseo_labs/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Dataforseo Labs - Filters</a> or this <a href=\"https://dataforseo.com/help-center/how-to-use-filters-in-dataforseo-labs-api\" rel=\"noopener noreferrer\" target=\"_blank\">help center guide</a>",
        +        "items": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "number"
        +            },
        +            {
        +              "type": "boolean"
        +            },
        +            {
        +              "additionalProperties": {
        +                "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +              },
        +              "type": [
        +                "object",
        +                "null"
        +              ]
        +            },
        +            {
        +              "items": {
        +                "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +              },
        +              "type": "array"
        +            }
        +          ],
        +          "description": "JSON representation of filter values and nested expressions. Field names, operators, condition counts and operand compatibility remain provider-validated as documented for each endpoint; this is not a complete filter-language validator."
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "historical_serp_mode": {
        +        "description": "<em>data collection mode</em><br>optional field<br>you can use this field to filter the results;<br>possible types of filtering:<br><code>live</code> — return metrics for SERPs in which the specified <code>target</code> currently has ranking results;<br><code>lost</code> — return metrics for SERPs in which the specified <code>target</code> had previously had ranking results, but didn't have them during the last check;<br><code>all</code> — return metrics for both types of SERPs.<br>default value: <code>live</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "ignore_synonyms": {
        +        "description": "<em>ignore highly similar keywords</em><br>optional field<br>if set to <code class=\"prettyprint\">true</code>, only core keywords will be returned, all highly similar keywords will be excluded;  <br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_clickstream_data": {
        +        "description": "<em>include or exclude data from clickstream-based metrics in the result</em><br>optional field<br>if the parameter is set to <code>true</code>, you will receive <code>clickstream_etv</code>, <code>clickstream_gender_distribution</code>, and <code>clickstream_age_distribution</code> fields with clickstream data in the response<br>default value: <code>false</code><br>with this parameter enabled, you will be charged double the price for the request<p>learn more about how clickstream-based metrics are calculated in this <a href=\"https://dataforseo.com/help-center/what-are-clickstream-based-metrics-and-how-do-we-calculate-them\" rel=\"noopener noreferrer\" target=\"_blank\">help center article</a>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "item_types": {
        +        "description": "<em>display results by item type</em><br>optional field<br>indicates the type of search results included in the response<p><strong>Note:</strong> if the <code>item_types</code> array contains item types that are different from <code>organic</code>, the results will be ordered by the first item type in the array; you will not be able to sort and filter results by the types of search results not included in the response;<p>possible values: <br><code>[\"organic\", \"paid\", \"featured_snippet\", \"local_pack\"]</code><br>default value: <br><code>[\"organic\", \"paid\"]</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "language_code": {
        +        "description": "<em>language code</em><br>optional field<br>if you use this field, you don't need to specify <code>language_name</code><br>you can receive the list of available languages with their <code>language_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available languages<br>example:<br><code class=\"long-string\">en</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "<em>full name of the language</em><br>optional field<br>if you use this field, you don't need to specify <code>language_code</code><br>you can receive the list of available languages with their <code>language_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available languages<br>example:<br><code class=\"long-string\">English</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "limit": {
        +        "description": "<em>the maximum number of returned keywords</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_code": {
        +        "description": "<em>location code</em><br>optional field<br>if you use this field, you don't need to specify <code>location_name</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">2840</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_name": {
        +        "description": "<em>full name of the location</em><br>optional field<br>if you use this field, you don't need to specify <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">United Kingdom</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "offset": {
        +        "description": "<em>offset in the results array of returned keywords</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten keywords in the results array will be omitted and the data will be provided for the successive keywords",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "order_by": {
        +        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to specify a sorting type<br>example:<br><code>[\"metrics.paid.etv,asc\"]</code><br><strong>Note:</strong> you can set no more than three sorting rules in a single request<br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"metrics.organic.etv,desc\",\"metrics.paid.count,asc\"]</code><p>default rule:<br><code>[\"metrics.organic.count,desc\"]</code><br><strong>Note:</strong> if the <code>item_types</code> array contains item types that are different from <code>organic</code>, the results will be ordered by the first item type in the array",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "target": {
        +        "description": "<em>domain</em><br><strong>required field</strong><br>the domain name of the target website<br>the domain should be specified without <code>https://</code> and <code>www.</code>",
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / oneOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "filters": [
        -          [
        -            "metrics.organic.pos_1",
        -            "<>",
        -            0
        -          ],
        -          "or",
        -          [
        -            "metrics.organic.pos_2_3",
        -            "<>",
        -            0
        -          ]
        -        ],
        -        "language_name": "English",
        -        "location_code": 2840,
        -        "target": "dataforseo.com"
        -      }
        -    ],
        -    "properties": {
        -      "filters": {
        -        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code><br>example:<br><code>[\"metrics.paid.count\",\"&gt;\",0]</code><p><code>[[\"metrics.paid.count\",\"&gt;\",0],\"and\",[\"metrics.paid.etv\",\"&gt;\",\"50\"]]</code><p><code>[[\"metrics.organic.count\",\"&gt;\",\"10\"],<br>\"and\",<br>[[\"metrics.organic.pos_1\",\"&lt;&gt;\",0],\"or\",[\"metrics.organic.pos_2_3\",\"&lt;&gt;\",0]]]</code><br>for more information about filters, please refer to <a href=\"/v3/dataforseo_labs/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Dataforseo Labs - Filters</a> or this <a href=\"https://dataforseo.com/help-center/how-to-use-filters-in-dataforseo-labs-api\" rel=\"noopener noreferrer\" target=\"_blank\">help center guide</a>",
        -        "items": {
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "historical_serp_mode": {
        -        "description": "<em>data collection mode</em><br>optional field<br>you can use this field to filter the results;<br>possible types of filtering:<br><code>live</code> — return metrics for SERPs in which the specified <code>target</code> currently has ranking results;<br><code>lost</code> — return metrics for SERPs in which the specified <code>target</code> had previously had ranking results, but didn't have them during the last check;<br><code>all</code> — return metrics for both types of SERPs.<br>default value: <code>live</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "ignore_synonyms": {
        -        "description": "<em>ignore highly similar keywords</em><br>optional field<br>if set to <code class=\"prettyprint\">true</code>, only core keywords will be returned, all highly similar keywords will be excluded;  <br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "include_clickstream_data": {
        -        "description": "<em>include or exclude data from clickstream-based metrics in the result</em><br>optional field<br>if the parameter is set to <code>true</code>, you will receive <code>clickstream_etv</code>, <code>clickstream_gender_distribution</code>, and <code>clickstream_age_distribution</code> fields with clickstream data in the response<br>default value: <code>false</code><br>with this parameter enabled, you will be charged double the price for the request<p>learn more about how clickstream-based metrics are calculated in this <a href=\"https://dataforseo.com/help-center/what-are-clickstream-based-metrics-and-how-do-we-calculate-them\" rel=\"noopener noreferrer\" target=\"_blank\">help center article</a>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "item_types": {
        -        "description": "<em>display results by item type</em><br>optional field<br>indicates the type of search results included in the response<p><strong>Note:</strong> if the <code>item_types</code> array contains item types that are different from <code>organic</code>, the results will be ordered by the first item type in the array; you will not be able to sort and filter results by the types of search results not included in the response;<p>possible values: <br><code>[\"organic\", \"paid\", \"featured_snippet\", \"local_pack\"]</code><br>default value: <br><code>[\"organic\", \"paid\"]</code>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "language_code": {
        -        "description": "<em>language code</em><br>optional field<br>if you use this field, you don't need to specify <code>language_name</code><br>you can receive the list of available languages with their <code>language_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available languages<br>example:<br><code class=\"long-string\">en</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "language_name": {
        -        "description": "<em>full name of the language</em><br>optional field<br>if you use this field, you don't need to specify <code>language_code</code><br>you can receive the list of available languages with their <code>language_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available languages<br>example:<br><code class=\"long-string\">English</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "limit": {
        -        "description": "<em>the maximum number of returned keywords</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "location_code": {
        -        "description": "<em>location code</em><br>optional field<br>if you use this field, you don't need to specify <code>location_name</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">2840</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "location_name": {
        -        "description": "<em>full name of the location</em><br>optional field<br>if you use this field, you don't need to specify <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">United Kingdom</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "offset": {
        -        "description": "<em>offset in the results array of returned keywords</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten keywords in the results array will be omitted and the data will be provided for the successive keywords",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "order_by": {
        -        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to specify a sorting type<br>example:<br><code>[\"metrics.paid.etv,asc\"]</code><br><strong>Note:</strong> you can set no more than three sorting rules in a single request<br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"metrics.organic.etv,desc\",\"metrics.paid.count,asc\"]</code><p>default rule:<br><code>[\"metrics.organic.count,desc\"]</code><br><strong>Note:</strong> if the <code>item_types</code> array contains item types that are different from <code>organic</code>, the results will be ordered by the first item type in the array",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "target": {
        -        "description": "<em>domain</em><br><strong>required field</strong><br>the domain name of the target website<br>the domain should be specified without <code>https://</code> and <code>www.</code>",
        -        "type": "string"
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
    • Changedpost_dataforseo_on_page_duplicate_content1 field changed
      • changedInput schema / properties / body / items / oneOf
        Previous value: -[
        -  {
        -    "example": [
        -      {
        -        "id": "07281559-0695-0216-0000-c269be8b7592",
        -        "url": "https://www.etsy.com/"
        -      }
        -    ],
        -    "properties": {
        -      "id": {
        -        "description": "<em>ID of the task</em><br><strong>required field</strong><br>you can get this ID in the response of the <a href=\"https://docs.dataforseo.com/v3/on_page/task_post/\">Task POST</a> endpoint<br>example:<br>\"07131248-1535-0216-1000-17384017ad04\"",
        -        "type": "string"
        -      },
        -      "limit": {
        -        "description": "<em>the maximum number of returned pages</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "offset": {
        -        "description": "<em>offset in the results array of returned pages</em><br>optional field<br>default value: <code>0</code><br>maximum value: <code>2000000</code><br>if you specify the <code>10</code> value, the first ten pages in the results array will be omitted and the data will be provided for the successive pages",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "similarity": {
        -        "description": "<em>content similarity score</em><br>by default, the content is considered duplicate if the value is greater than or equals <code>6</code><br>you can specify any similarity score in the 0-to-10 range",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "url": {
        -        "description": "<em>page URL</em><br><strong>required field</strong><br>specify the initial page you want to receive duplicate content for",
        -        "type": "string"
        -      }
        -    },
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "properties": {
        +      "id": {
        +        "description": "<em>ID of the task</em><br><strong>required field</strong><br>you can get this ID in the response of the <a href=\"https://docs.dataforseo.com/v3/on_page/task_post/\">Task POST</a> endpoint<br>example:<br>\"07131248-1535-0216-1000-17384017ad04\"",
        +        "type": "string"
        +      },
        +      "limit": {
        +        "description": "<em>the maximum number of returned pages</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "offset": {
        +        "description": "<em>offset in the results array of returned pages</em><br>optional field<br>default value: <code>0</code><br>maximum value: <code>2000000</code><br>if you specify the <code>10</code> value, the first ten pages in the results array will be omitted and the data will be provided for the successive pages",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "similarity": {
        +        "description": "<em>content similarity score</em><br>by default, the content is considered duplicate if the value is greater than or equals <code>6</code><br>you can specify any similarity score in the 0-to-10 range",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "url": {
        +        "description": "<em>page URL</em><br><strong>required field</strong><br>specify the initial page you want to receive duplicate content for",
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_on_page_lighthouse_live_json1 field changed
      • changedInput schema / properties / body / items / oneOf
        Previous value: -[
        -  {
        -    "example": [
        -      {
        -        "for_mobile": true,
        -        "tag": "some_string_123",
        -        "url": "https://dataforseo.com"
        -      }
        -    ],
        -    "properties": {
        -      "audits": {
        -        "description": "<em>Lighthouse audits</em><br>optional field<br>audits are individual tests Lighthouse runs for each specific feature/optimization/metric to produce a numeric score (<a href=\"https://github.com/GoogleChrome/lighthouse/blob/master/docs/architecture.md#components--terminology\" rel=\"noopener noreferrer\" target=\"_blank\">see official definition</a>);  <p><strong>if you ignore this field, we will return data for all audits</strong>;<br>use this field to get data for specific audits you indicate here;<p><strong>Note:</strong> that some audits do not belong to a specific category and are stand-alone page quality measurements;<p>in general, there can be several use cases:<p>1. if you ignore <code>categories</code>, you can use this field to get data for the specified audits only<br>for example, if you ignore <code>\"categories\"</code> and specify <code>\"audits\": [\"metrics/cumulative-layout-shift\",\"metrics/largest-contentful-paint\",\"metrics/total-blocking-time\"]</code>, you will get data only for these audits<p>2. if you specify a category, you can use this field to additionally receive audits that do not belong to the category(-ies) you specified<br>for example, if you specify <code>\"categories\": [\"seo\"]</code> and <code>\"audits\": [\"metrics/cumulative-layout-shift\",\"metrics/largest-contentful-paint\",\"metrics/total-blocking-time\"]</code>, you will get only these audits under \"performance\" and all audits under \"seo\"<p>you can get <a href=\"/v3/on_page/lighthouse/audits/\">the full list of possible audits here</a>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "browser_cpu_throttling_multiplier": {
        -        "description": "<em>browser CPU throttling multiplier</em><br><strong>required if <code>browser_network_throttling_method</code> is set to <code>devtools</code>;</strong><br>set the CPU throttling multiplier to simulate device performance conditions during the Lighthouse audit;<br>can be specified within the following range: <code>1–4</code>;<br><strong>Note:</strong> this parameter is applied only when <code>browser_network_throttling_method</code> is set to <code>devtools</code>;",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "browser_network_throttling": {
        -        "description": "<em>browser network throttling</em><br><strong>required if <code>browser_network_throttling_method</code> is set to <code>devtools</code>;</strong><br>set the network throttling profile to simulate connection speed conditions during the Lighthouse audit;<br>possible values: <code>no_throttling</code>, <code>fast_4g</code>, <code>slow_4g</code>, <code>regular_3g</code>, <code>pc</code>;<br><strong>Note:</strong> this parameter is applied only when <code>browser_network_throttling_method</code> is set to <code>devtools</code>;",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "browser_network_throttling_method": {
        -        "description": "<em>browser network throttling method</em><br>optional field<br>defines the method used to apply throttling during the Lighthouse audit;<br>possible vaules:<br><code>simulate</code> - calculates estimated performance metrics without applying explicit throttling;<br><code>devtools</code> -  applies the throttling settings specified in <code>browser_network_throttling</code> and <code>browser_cpu_throttling_multiplier</code>;<br><code>provided</code> - uses the network conditions of the crawling environment;",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "browser_screen_height": {
        -        "description": "<em>browser screen height</em><br>optional field<br>set the screen height of the browser used for the Lighthouse audit to emulate a specific device;<br>can be specified within the following range: <code>240–9999</code>;",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "browser_screen_scale_factor": {
        -        "description": "<em>browser screen scale factor</em><br>optional field<br>set the device pixel ratio of the browser used for the Lighthouse audit;<br>can be specified within the following range: <code>0.5–3</code>;",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "browser_screen_width": {
        -        "description": "<em>browser screen width</em><br>optional field<br>set the screen width of the browser used for the Lighthouse audit to emulate a specific device;<br>can be specified within the following range: <code>240–9999</code>;",
        -        "format": "int64",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "categories": {
        -        "description": "<em>categories of Lighthouse audits</em><br>optional field<br>each category is a collection of audits and audit groups that applies weighting and scoring to the section (<a href=\"https://github.com/GoogleChrome/lighthouse/blob/master/docs/architecture.md#auditreport-terminology\" rel=\"noopener noreferrer\" target=\"_blank\">see official definition</a>)<p><strong>if you ignore this field, we will return data for all categories unless you specify <code>audits</code></strong><br>use this field to get data for specific categories you indicate here<p>possible values:<br><code>seo</code>, <code>performance</code>, <code>best_practices</code>, <code>accessibility</code>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "custom_user_agent": {
        -        "description": "<em>custom user agent</em><br>optional field<br>specify the custom user agent used by the browser when running the Lighthouse audit;<br>can be specified with up to 254 characters;",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "for_mobile": {
        -        "description": "<em>applies mobile emulation</em><br>optional field<br>if set to <code>true</code>, Lighthouse will use mobile device and screen emulation to test the page against mobile environment<br>if set to <code>false</code>, the results will be provided for desktop<br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "language_code": {
        -        "description": "<em>lighthouse language code</em><br>optional field<br>you can receive the list of available languages of the search engine with their <code>language_code</code> by making a separate request to <code>https://api.dataforseo.com/v3/on_page/lighthouse/languages</code><br>default value:<br><code class=\"long-string\">en</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "language_name": {
        -        "description": "<em>lighthouse language name</em><br>optional field<br>you can receive the list of available languages of the search engine with their <code>language_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/on_page/lighthouse/languages</code><br>default value:<br><code class=\"long-string\">English</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "url": {
        -        "description": "<em>target URL</em><br><strong>required field</strong><br>target page should be specified with its absolute URL (including http:// or https://)<br>example:<br><code>https://dataforseo.com/</code>",
        -        "type": "string"
        -      },
        -      "version": {
        -        "description": "<em>lighthouse version</em><br>optional field<br>you can obtain the results specific to a certain Lighthouse version by specifying its number<br>the list of available versions is available through the <a href=\"/v3/on_page/lighthouse/versions/\" rel=\"noopener noreferrer\" target=\"_blank\">Lighthouse Versions endpoint</a>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "properties": {
        +      "audits": {
        +        "description": "<em>Lighthouse audits</em><br>optional field<br>audits are individual tests Lighthouse runs for each specific feature/optimization/metric to produce a numeric score (<a href=\"https://github.com/GoogleChrome/lighthouse/blob/master/docs/architecture.md#components--terminology\" rel=\"noopener noreferrer\" target=\"_blank\">see official definition</a>);  <p><strong>if you ignore this field, we will return data for all audits</strong>;<br>use this field to get data for specific audits you indicate here;<p><strong>Note:</strong> that some audits do not belong to a specific category and are stand-alone page quality measurements;<p>in general, there can be several use cases:<p>1. if you ignore <code>categories</code>, you can use this field to get data for the specified audits only<br>for example, if you ignore <code>\"categories\"</code> and specify <code>\"audits\": [\"metrics/cumulative-layout-shift\",\"metrics/largest-contentful-paint\",\"metrics/total-blocking-time\"]</code>, you will get data only for these audits<p>2. if you specify a category, you can use this field to additionally receive audits that do not belong to the category(-ies) you specified<br>for example, if you specify <code>\"categories\": [\"seo\"]</code> and <code>\"audits\": [\"metrics/cumulative-layout-shift\",\"metrics/largest-contentful-paint\",\"metrics/total-blocking-time\"]</code>, you will get only these audits under \"performance\" and all audits under \"seo\"<p>you can get <a href=\"/v3/on_page/lighthouse/audits/\">the full list of possible audits here</a>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "browser_cpu_throttling_multiplier": {
        +        "description": "<em>browser CPU throttling multiplier</em><br><strong>required if <code>browser_network_throttling_method</code> is set to <code>devtools</code>;</strong><br>set the CPU throttling multiplier to simulate device performance conditions during the Lighthouse audit;<br>can be specified within the following range: <code>1–4</code>;<br><strong>Note:</strong> this parameter is applied only when <code>browser_network_throttling_method</code> is set to <code>devtools</code>;",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "browser_network_throttling": {
        +        "description": "<em>browser network throttling</em><br><strong>required if <code>browser_network_throttling_method</code> is set to <code>devtools</code>;</strong><br>set the network throttling profile to simulate connection speed conditions during the Lighthouse audit;<br>possible values: <code>no_throttling</code>, <code>fast_4g</code>, <code>slow_4g</code>, <code>regular_3g</code>, <code>pc</code>;<br><strong>Note:</strong> this parameter is applied only when <code>browser_network_throttling_method</code> is set to <code>devtools</code>;",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "browser_network_throttling_method": {
        +        "description": "<em>browser network throttling method</em><br>optional field<br>defines the method used to apply throttling during the Lighthouse audit;<br>possible vaules:<br><code>simulate</code> - calculates estimated performance metrics without applying explicit throttling;<br><code>devtools</code> -  applies the throttling settings specified in <code>browser_network_throttling</code> and <code>browser_cpu_throttling_multiplier</code>;<br><code>provided</code> - uses the network conditions of the crawling environment;",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "browser_screen_height": {
        +        "description": "<em>browser screen height</em><br>optional field<br>set the screen height of the browser used for the Lighthouse audit to emulate a specific device;<br>can be specified within the following range: <code>240–9999</code>;",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "browser_screen_scale_factor": {
        +        "description": "<em>browser screen scale factor</em><br>optional field<br>set the device pixel ratio of the browser used for the Lighthouse audit;<br>can be specified within the following range: <code>0.5–3</code>;",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "browser_screen_width": {
        +        "description": "<em>browser screen width</em><br>optional field<br>set the screen width of the browser used for the Lighthouse audit to emulate a specific device;<br>can be specified within the following range: <code>240–9999</code>;",
        +        "format": "int64",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "categories": {
        +        "description": "<em>categories of Lighthouse audits</em><br>optional field<br>each category is a collection of audits and audit groups that applies weighting and scoring to the section (<a href=\"https://github.com/GoogleChrome/lighthouse/blob/master/docs/architecture.md#auditreport-terminology\" rel=\"noopener noreferrer\" target=\"_blank\">see official definition</a>)<p><strong>if you ignore this field, we will return data for all categories unless you specify <code>audits</code></strong><br>use this field to get data for specific categories you indicate here<p>possible values:<br><code>seo</code>, <code>performance</code>, <code>best_practices</code>, <code>accessibility</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "custom_user_agent": {
        +        "description": "<em>custom user agent</em><br>optional field<br>specify the custom user agent used by the browser when running the Lighthouse audit;<br>can be specified with up to 254 characters;",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "for_mobile": {
        +        "description": "<em>applies mobile emulation</em><br>optional field<br>if set to <code>true</code>, Lighthouse will use mobile device and screen emulation to test the page against mobile environment<br>if set to <code>false</code>, the results will be provided for desktop<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "language_code": {
        +        "description": "<em>lighthouse language code</em><br>optional field<br>you can receive the list of available languages of the search engine with their <code>language_code</code> by making a separate request to <code>https://api.dataforseo.com/v3/on_page/lighthouse/languages</code><br>default value:<br><code class=\"long-string\">en</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "<em>lighthouse language name</em><br>optional field<br>you can receive the list of available languages of the search engine with their <code>language_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/on_page/lighthouse/languages</code><br>default value:<br><code class=\"long-string\">English</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "url": {
        +        "description": "<em>target URL</em><br><strong>required field</strong><br>target page should be specified with its absolute URL (including http:// or https://)<br>example:<br><code>https://dataforseo.com/</code>",
        +        "type": "string"
        +      },
        +      "version": {
        +        "description": "<em>lighthouse version</em><br>optional field<br>you can obtain the results specific to a certain Lighthouse version by specifying its number<br>the list of available versions is available through the <a href=\"/v3/on_page/lighthouse/versions/\" rel=\"noopener noreferrer\" target=\"_blank\">Lighthouse Versions endpoint</a>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_on_page_links3 fields changed
      • addedInput schema / $defs
        Added value: +{
        +  "Provider0A3E90081762_AisaDataforseoFilterJsonValue": {
        +    "anyOf": [
        +      {
        +        "type": "string"
        +      },
        +      {
        +        "type": "number"
        +      },
        +      {
        +        "type": "boolean"
        +      },
        +      {
        +        "additionalProperties": {
        +          "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +        },
        +        "type": [
        +          "object",
        +          "null"
        +        ]
        +      },
        +      {
        +        "items": {
        +          "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +        },
        +        "type": "array"
        +      }
        +    ],
        +    "description": "JSON representation of filter values and nested expressions. Field names, operators, condition counts and operand compatibility remain provider-validated as documented for each endpoint; this is not a complete filter-language validator."
        +  }
        +}
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "properties": {
        +      "filters": {
        +        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>, <code>not_like</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters<br>example:<br><code>[\"direction\",\"=\",\"external\"]</code><p><code>[[\"domain_to\",\"&lt;&gt;\",\"example.com\"],<br>\"and\",<br>[\"link_from\",\"not_like\",\"%example.com/blog%\"]]</code><p><code>[[\"direction\",\"=\",\"external\"],<br>\"and\",<br>[[\"link_from\",\"like\",\"%example.com/blog%\"],\"or\",[\"link_from\",\"like\",\"%example.com/help%\"]]]</code><p>The full list of possible filters is available <a href=\"/v3/on_page/filters_and_thresholds/?bash\" rel=\"noopener noreferrer\" target=\"_blank\">by this link.</a>",
        +        "items": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "number"
        +            },
        +            {
        +              "type": "boolean"
        +            },
        +            {
        +              "additionalProperties": {
        +                "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +              },
        +              "type": [
        +                "object",
        +                "null"
        +              ]
        +            },
        +            {
        +              "items": {
        +                "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +              },
        +              "type": "array"
        +            }
        +          ],
        +          "description": "JSON representation of filter values and nested expressions. Field names, operators, condition counts and operand compatibility remain provider-validated as documented for each endpoint; this is not a complete filter-language validator."
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "id": {
        +        "description": "<em>ID of the task</em><br><strong>required field</strong><br>you can get this ID in the response of the <a href=\"https://docs.dataforseo.com/v3/on_page/task_post/\">Task POST</a> endpoint<br>example:<br>\"07131248-1535-0216-1000-17384017ad04\"",
        +        "type": "string"
        +      },
        +      "limit": {
        +        "description": "<em>the maximum number of returned links</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "offset": {
        +        "description": "<em>offset in the results array of returned links</em><br>optional field<br>default value: <code>0</code><br>maximum value: <code>2000000</code><br>if you specify the <code>10</code> value, the first ten links in the results array will be omitted and the data will be provided for the successive links",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "page_from": {
        +        "description": "<em>relative page URL</em><br>optional field<br>if you use this field, the API response will contain only links from the specified page<br>note that in this field you can specify relative URLs only",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "page_to": {
        +        "description": "<em>relative page URL</em><br>optional field<br>if you use this field, the API response will contain only internal links pointing to the specified page<br>note that in this field you can specify relative URLs only",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "search_after_token": {
        +        "description": "<em>token for subsequent requests</em><br>optional field<br>provided in the identical filed of the response to each request;<br>use this parameter to avoid timeouts while trying to obtain over <code>20,000</code> results in a single request;<br>by specifying the unique <code>search_after_token</code> value from the response array, you will get the subsequent results of the initial task;<br><code>search_after_token</code> values are unique for each subsequent task ;<br><strong>Note:</strong> if the <code>search_after_token</code> is specified in the request, all other parameters should be identical to the previous request",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / oneOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "filters": [
        -          [
        -            "dofollow",
        -            "=",
        -            true
        -          ],
        -          "and",
        -          [
        -            "direction",
        -            "=",
        -            "external"
        -          ]
        -        ],
        -        "id": "07281559-0695-0216-0000-c269be8b7592",
        -        "limit": 10,
        -        "page_from": "/apis/google-trends-api"
        -      }
        -    ],
        -    "properties": {
        -      "filters": {
        -        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>, <code>not_like</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters<br>example:<br><code>[\"direction\",\"=\",\"external\"]</code><p><code>[[\"domain_to\",\"&lt;&gt;\",\"example.com\"],<br>\"and\",<br>[\"link_from\",\"not_like\",\"%example.com/blog%\"]]</code><p><code>[[\"direction\",\"=\",\"external\"],<br>\"and\",<br>[[\"link_from\",\"like\",\"%example.com/blog%\"],\"or\",[\"link_from\",\"like\",\"%example.com/help%\"]]]</code><p>The full list of possible filters is available <a href=\"/v3/on_page/filters_and_thresholds/?bash\" rel=\"noopener noreferrer\" target=\"_blank\">by this link.</a>",
        -        "items": {
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "id": {
        -        "description": "<em>ID of the task</em><br><strong>required field</strong><br>you can get this ID in the response of the <a href=\"https://docs.dataforseo.com/v3/on_page/task_post/\">Task POST</a> endpoint<br>example:<br>\"07131248-1535-0216-1000-17384017ad04\"",
        -        "type": "string"
        -      },
        -      "limit": {
        -        "description": "<em>the maximum number of returned links</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "offset": {
        -        "description": "<em>offset in the results array of returned links</em><br>optional field<br>default value: <code>0</code><br>maximum value: <code>2000000</code><br>if you specify the <code>10</code> value, the first ten links in the results array will be omitted and the data will be provided for the successive links",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "page_from": {
        -        "description": "<em>relative page URL</em><br>optional field<br>if you use this field, the API response will contain only links from the specified page<br>note that in this field you can specify relative URLs only",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "page_to": {
        -        "description": "<em>relative page URL</em><br>optional field<br>if you use this field, the API response will contain only internal links pointing to the specified page<br>note that in this field you can specify relative URLs only",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "search_after_token": {
        -        "description": "<em>token for subsequent requests</em><br>optional field<br>provided in the identical filed of the response to each request;<br>use this parameter to avoid timeouts while trying to obtain over <code>20,000</code> results in a single request;<br>by specifying the unique <code>search_after_token</code> value from the response array, you will get the subsequent results of the initial task;<br><code>search_after_token</code> values are unique for each subsequent task ;<br><strong>Note:</strong> if the <code>search_after_token</code> is specified in the request, all other parameters should be identical to the previous request",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
    • Changedpost_dataforseo_on_page_non_indexable3 fields changed
      • addedInput schema / $defs
        Added value: +{
        +  "Provider0A3E90081762_AisaDataforseoFilterJsonValue": {
        +    "anyOf": [
        +      {
        +        "type": "string"
        +      },
        +      {
        +        "type": "number"
        +      },
        +      {
        +        "type": "boolean"
        +      },
        +      {
        +        "additionalProperties": {
        +          "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +        },
        +        "type": [
        +          "object",
        +          "null"
        +        ]
        +      },
        +      {
        +        "items": {
        +          "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +        },
        +        "type": "array"
        +      }
        +    ],
        +    "description": "JSON representation of filter values and nested expressions. Field names, operators, condition counts and operand compatibility remain provider-validated as documented for each endpoint; this is not a complete filter-language validator."
        +  }
        +}
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "properties": {
        +      "filters": {
        +        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>, <code>not_like</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters<br>example:<br><code>[[\"reason\",\"&lt;&gt;\",\"robots_txt\"],<br>\"and\",<br>[\"url\",\"not_like\",\"%/wp-admin/%\"]]</code><p><code>[[\"url\",\"not_like\",\"%/wp-admin/%\"],<br>\"and\",<br>[[\"reason\",\"&lt;&gt;\",\"meta_tag\"],\"or\",[\"reason\",\"&lt;&gt;\",\"http_header\"]]]</code><p>The full list of possible filters is available <a href=\"/v3/on_page/filters_and_thresholds/?bash\" target=\"_blank\" rel=\"noopener noreferrer\">by this link.</a>",
        +        "items": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "number"
        +            },
        +            {
        +              "type": "boolean"
        +            },
        +            {
        +              "additionalProperties": {
        +                "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +              },
        +              "type": [
        +                "object",
        +                "null"
        +              ]
        +            },
        +            {
        +              "items": {
        +                "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
        +              },
        +              "type": "array"
        +            }
        +          ],
        +          "description": "JSON representation of filter values and nested expressions. Field names, operators, condition counts and operand compatibility remain provider-validated as documented for each endpoint; this is not a complete filter-language validator."
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "id": {
        +        "description": "<em>ID of the task</em><br><strong>required field</strong><br>you can get this ID in the response of the <a href=\"/v3/on_page/task_post/\">Task POST</a> endpoint<br>example:<br>\"07131248-1535-0216-1000-17384017ad04\"",
        +        "type": "string"
        +      },
        +      "limit": {
        +        "description": "<em>the maximum number of returned pages</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "offset": {
        +        "description": "<em>offset in the results array of returned pages</em><br>optional field<br>default value: <code>0</code><br>maximum value: <code>2000000</code><br>if you specify the <code>10</code> value, the first ten pages in the results array will be omitted and the data will be provided for the successive pages",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / oneOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "filters": [
        -          [
        -            "reason",
        -            "=",
        -            "robots_txt"
        -          ],
        -          "and",
        -          [
        -            "url",
        -            "like",
        -            "%go%"
        -          ]
        -        ],
        -        "id": "07281559-0695-0216-0000-c269be8b7592",
        -        "limit": 10
        -      }
        -    ],
        -    "properties": {
        -      "filters": {
        -        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>, <code>not_like</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters<br>example:<br><code>[[\"reason\",\"&lt;&gt;\",\"robots_txt\"],<br>\"and\",<br>[\"url\",\"not_like\",\"%/wp-admin/%\"]]</code><p><code>[[\"url\",\"not_like\",\"%/wp-admin/%\"],<br>\"and\",<br>[[\"reason\",\"&lt;&gt;\",\"meta_tag\"],\"or\",[\"reason\",\"&lt;&gt;\",\"http_header\"]]]</code><p>The full list of possible filters is available <a href=\"/v3/on_page/filters_and_thresholds/?bash\" target=\"_blank\" rel=\"noopener noreferrer\">by this link.</a>",
        -        "items": {
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "id": {
        -        "description": "<em>ID of the task</em><br><strong>required field</strong><br>you can get this ID in the response of the <a href=\"/v3/on_page/task_post/\">Task POST</a> endpoint<br>example:<br>\"07131248-1535-0216-1000-17384017ad04\"",
        -        "type": "string"
        -      },
        -      "limit": {
        -        "description": "<em>the maximum number of returned pages</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "offset": {
        -        "description": "<em>offset in the results array of returned pages</em><br>optional field<br>default value: <code>0</code><br>maximum value: <code>2000000</code><br>if you specify the <code>10</code> value, the first ten pages in the results array will be omitted and the data will be provided for the successive pages",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
    • Changedpost_dataforseo_on_page_submit1 field changed
      • changedInput schema / properties / body / items / oneOf
        Previous value: -[
        -  {
        -    "example": [
        -      {
        -        "custom_js": "meta = {}; meta.url = document.URL; meta;",
        -        "enable_javascript": true,
        -        "load_resources": true,
        -        "max_crawl_pages": 10,
        -        "pingback_url": "https://your-server.com/pingscript?id=$id&tag=$tag",
        -        "tag": "some_string_123",
        -        "target": "dataforseo.com"
        -      }
        -    ],
        -    "properties": {
        -      "accept_language": {
        -        "description": "<em>language header for accessing the website</em><br>optional field<br>all locale formats are supported (xx, xx-XX, xxx-XX, etc.)<br><strong>Note:</strong> if you do not specify this parameter, some websites may deny access; in this case, pages will be returned with the <code>\"type\":\"broken</code> in the response array",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "allow_subdomains": {
        -        "description": "<em>include pages on subdomains</em><br>optional field<br>set to <code>true</code> if you want to crawl all subdomains of a target website<br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "allowed_subdomains": {
        -        "description": "<em>subdomains to crawl</em><br>optional field<br>specify subdomains that you want to crawl<br>example: <code>[\"blog.site.com\", \"my.site.com\", \"shop.site.com\"]</code><br><strong>Note:</strong> to use this parameter, the <code>allow_subdomains</code> parameter should be set to <code>false</code>;<br>otherwise, the content of <code>allowed_subdomains</code> field will be ignored and the results will be returned for all subdomains",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "browser_preset": {
        -        "description": "<em>preset for browser screen parameters</em><br>optional field<br>if you use this field, you don't need to indicate <code>browser_screen_width</code>, <code>browser_screen_height</code>, <code>browser_screen_scale_factor</code>possible values:<br><code>desktop</code>, <code>mobile</code>, <code>tablet</code><code>desktop</code> preset will apply the following values:<code>browser_screen_width: 1920</code><br><code>browser_screen_height: 1080</code><br><code>browser_screen_scale_factor: 1</code><code>mobile</code> preset will apply the following values:<code>browser_screen_width: 390</code><br><code>browser_screen_height: 844</code><br><code>browser_screen_scale_factor: 3</code><code>tablet</code> preset will apply the following values:<code>browser_screen_width: 1024</code><br><code>browser_screen_height: 1366</code><br><code>browser_screen_scale_factor: 2</code><br><strong>Note:</strong> to use this parameter, set <code>enable_javascript</code> or <code>enable_browser_rendering</code> to <code>true</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "browser_screen_height": {
        -        "description": "<em>browser screen height</em><br>optional field<br>you can set a custom browser screen height to perform an audit for a particular device;<br>if you use this field, you don't need to indicate <code>browser_preset</code> as it will be ignored;<br><strong>Note:</strong> to use this parameter, set <code>enable_javascript</code> or <code>enable_browser_rendering</code> to <code>true</code>minimum value, in pixels: <code>240</code><br>maximum value, in pixels: <code>9999</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "browser_screen_scale_factor": {
        -        "description": "<em>browser screen scale factor</em><br>optional field<br>you can set a custom browser screen resolution ratio to perform audit for a particular device;<br>if you use this field, you don't need to indicate <code>browser_preset</code> as it will be ignored;<br><strong>Note:</strong> to use this parameter, set <code>enable_javascript</code> or <code>enable_browser_rendering</code> to <code>true</code>minimum value: <code>0.5</code><br>maximum value: <code>3</code>",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "browser_screen_width": {
        -        "description": "<em>browser screen width</em><br>optional field<br>you can set a custom browser screen width to perform audit for a particular device;<br>if you use this field, you don't need to indicate <code>browser_preset</code> as it will be ignored;<br><strong>Note:</strong> to use this parameter, set <code>enable_javascript</code> or <code>enable_browser_rendering</code> to <code>true</code>minimum value, in pixels: <code>240</code><br>maximum value, in pixels: <code>9999</code>",
        -        "format": "int64",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "calculate_keyword_density": {
        -        "description": "<em>calculate keyword density for the target domain</em><br>optional field<br>set to <code>true</code> if you want to calculate keyword density for website pages<br>default value: <code>false</code><br><strong>Note:</strong> if you use this parameter, additional charges will apply; learn more about the cost of tasks with this parameter <a href=\"https://dataforseo.com/help-center/cost-of-onpage-api-parameters\" target=\"_blank\" rel=\"noopener noreferrer\">in our help article</a><br>once the crawl is completed, you can obtain keyword density values with <a href=\"/v3/on_page/keyword_density?bash\" target=\"_blank\" rel=\"noopener noreferrer\">the Keyword Density endpoint</a>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "check_spell": {
        -        "description": "<em>check spelling</em><br>optional field<br>set to <code>true</code> to check spelling on a website using <a href=\"http://hunspell.github.io/\" target=\"_blank\" rel=\"noopener noreferrer\">Hunspell</a> library<br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "check_spell_exceptions": {
        -        "description": "<em>words excluded from spell check</em><br>optional field<br>specify the words that you want to exclude from spell check<br>maximum word length: 100 characters<br>maximum amount of words: 1000<br>example: <code>\"SERP\", \"minifiers\", \"JavaScript\"</code>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "check_spell_language": {
        -        "description": "<em>language of the spell check</em><br>optional field<br>supported languages: 'hy', 'eu', 'bg', 'ca', 'hr', 'cs', 'da', 'nl', 'en', 'eo', 'et', 'fo', 'fa', 'fr', 'fy', 'gl', 'ka', 'de', 'el', 'he', 'hu', 'is', 'ia', 'ga', 'it', 'rw', 'la', 'lv', 'lt', 'mk', 'mn', 'ne', 'nb', 'nn', 'pl', 'pt', 'ro', 'gd', 'sr', 'sk', 'sl', 'es', 'sv', 'tr', 'tk', 'uk', 'vi'<br><strong>Note:</strong> if no language is specified, it will be set automatically based on page content",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "checks_threshold": {
        -        "additionalProperties": {
        -          "format": "int64",
        -          "type": [
        -            "integer",
        -            "null"
        -          ]
        -        },
        -        "description": "<em>custom threshold values for checks</em><br>optional field<br>you can specify custom threshold values for the parameters included in the <code>checks</code> object of OnPage API responses;<br><strong>Note:</strong> only integer threshold values can be modified;<br>for example, the <code>high_loading_time</code> and <code>large_page_size</code> parameters are set to 3 seconds and 1 megabyte respectively by default;<br>if you want to change these thresholds to 1 second and 1000 kbytes, use the following snippet:<br>`\"checks_threshold\": {<br>\"high_loading_time\": 1,<br>\"large_page_size\": 1000<br>}`<br>available customizable parameters with default values:<br>`\"title_too_short\", default value: 30, type: \"int\"<br>\"title_too_long\", default value: 65, type: \"int\"<br>\"small_page_size\", default value: 1024, type: \"int\"<br>\"large_page_size\", default value: 1048576 (1024 * 1024), type: \"int\"<br>\"low_character_count\", default value: 1024, type: \"int\"<br>\"high_character_count\", default value: 256000 (250 * 1024), type: \"int\"<br>\"low_content_rate\", default value: 0.1, type: \"float\"<br>\"high_content_rate\", default value: 0.9, type: \"float\"<br>\"high_loading_time\", default value: 3000, type: \"int\"<br>\"high_waiting_time\", default value: 1500, type: \"int\"<br>\"low_readability_rate\", default value: 15.0, type: \"float\"<br>\"irrelevant_description\", default value: 0.2, type: \"float\"<br>\"irrelevant_title\", default value: 0.3, type: \"float\"<br>\"irrelevant_meta_keywords\", default value: 0.6, type: \"float\"`",
        -        "type": [
        -          "object",
        -          "null"
        -        ]
        -      },
        -      "crawl_delay": {
        -        "description": "<em>delay between hits, ms</em><br>optional field<br>the custom delay between crawler hits to the server<br>default value: <code>2000</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "crawl_sitemap_only": {
        -        "description": "<em>crawl only pages indicated in the sitemap</em><br>optional field<br>set to <code>true</code> if you want to crawl only the pages indicated in the sitemap<br>if you set this parameter to <code>true</code> and do not specify <code>custom_sitemap</code>, we will crawl the default sitemap<br>default value: <code>false</code><br><strong>Note:</strong> if you want to use this parameter, <code>respect_sitemap</code> should be <code>true</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "custom_js": {
        -        "description": "<em>custom javascript</em><br>optional field<br><strong>Note</strong> that the execution time for the script you enter here should be 700 ms maximum, for example, you can use the following JS snippet to check if the website contains Google Tag Manager as a <code>scr</code> attribute:<br><code>let meta = { haveGoogleAnalytics: false, haveTagManager: false };rnfor (var i = 0; i &lt; document.scripts.length; i++) {rn let src = document.scripts[i].getAttribute(\"src\");rn if (src != undefined) {rn if (src.indexOf(\"analytics.js\") &gt;= 0)rn      meta.haveGoogleAnalytics = true;rntif (src.indexOf(\"gtm.js\") &gt;= 0)rn      meta.haveTagManager = true;rn  }rn}rnmeta;</code>the returned value depends on what you specified in this field. For instance, if you specify the following script:<br>`meta = {}; meta.url = document.URL; meta.test = 'test'; meta;`<br>as a response you will receive the following data:<br>`\"custom_js_response\": {<br>\"url\": \"https://dataforseo.com/\",<br>\"test\": \"test\"<br>}`<br><strong>Note:</strong> the length of the script you enter must be no more than 2000 characters",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "custom_robots_txt": {
        -        "description": "<em>custom robots.txt settings</em><br>optional field<br>example: <code>Disallow: /directory1/</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "custom_sitemap": {
        -        "description": "<em>custom sitemap url</em><br>optional field<br>the URL of the page where the alternative sitemap is located<br><strong>Note:</strong> if you want to use this parameter, <code>respect_sitemap</code> should be <code>true</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "custom_user_agent": {
        -        "description": "<em>custom user agent</em><br>optional field<br>custom user agent for crawling a website<br>example: <code>Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36<br></code><br>default value: <code>Mozilla/5.0 (compatible; RSiteAuditor)</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "disable_cookie_popup": {
        -        "description": "<em>disable the cookie popup</em><br>optional field<br>set to <code>true</code> if you want to disable the popup requesting cookie consent from the user;<br>default value:<br><code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "disable_page_checks": {
        -        "description": "<em>prevent certain page checks from running</em><br>optional field<br>specify certain <code>checks</code> to prevent them from running and impacting the <code>onpage_score</code>example:<br><code>\"disable_page_checks\": [\"is_5xx_code\", \"is_4xx_code\"]</code>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "disable_sitewide_checks": {
        -        "description": "<em>prevent certain sitewide checks from running</em><br>optional field<br>specify the following <code>checks</code> to prevent them from running on the <code>target</code> website:<br><code>\"test_page_not_found\"</code><br><code>\"test_canonicalization\"</code><br><code>\"test_https_redirect\"</code><br><code>\"test_directory_browsing\"</code>example:<br><code>\"disable_sitewide_checks\": [\"test_directory_browsing\", \"test_page_not_found\"]</code>learn more on <a href=\"https://dataforseo.com/help-center/how-to-disable-sitewide-checks-in-onpage-api\" target=\"_blank\" rel=\"noopener noreferrer\">our help center</a>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "disallowed_subdomains": {
        -        "description": "<em>subdomains not to crawl</em><br>optional field<br>specify subdomains that you don't want to crawl<br>example: <code>[\"status.site.com\", \"docs.site.com\"]</code><br><strong>Note:</strong> to use this parameter, the <code>allow_subdomains</code> parameter should be set to <code>true</code>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "enable_browser_rendering": {
        -        "description": "<em>emulate browser rendering to measure Core Web Vitals</em><br>optional field<br>by using this parameter you will be able to emulate a browser when loading a web page;<br><code>enable_browser_rendering</code> loads styles, images, fonts, animations, videos, and other resources on a page;<br>default value: <code>false</code><br>set to <code>true</code> to obtain Core Web Vitals (FID, CLS, LCP) metrics in the response;<br><strong>if you use this field, <code>enable_javascript</code>, and <code>load_resources</code> parameters must be set to <code>true</code></strong><br><strong>Note:</strong> if you use this parameter, additional charges will apply; learn more about the cost of tasks with this parameter <a href=\"https://dataforseo.com/help-center/cost-of-onpage-api-parameters\" target=\"_blank\" rel=\"noopener noreferrer\">in our help article</a>; the cost can be calculated on the <a href=\"https://dataforseo.com/pricing/on-page/onpage-api\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing Page</a>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "enable_content_parsing": {
        -        "description": "<em>parse content on crawled pages</em><br>optional field<br>set to <code>true</code> to use the <a href=\"/v3/on_page/content_parsing/live/\" target=\"_blank\" rel=\"noopener noreferrer\">OnPage Content Parsing endpoint</a><br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "enable_javascript": {
        -        "description": "<em>load javascript on a page</em><br>optional field<br>set to <code>true</code> if you want to load the scripts available on a page<br>default value: <code>false</code><br><strong>Note:</strong> if you use this parameter, additional charges will apply; learn more about the cost of tasks with this parameter <a href=\"https://dataforseo.com/help-center/cost-of-onpage-api-parameters\" target=\"_blank\" rel=\"noopener noreferrer\">in our help article</a>; the cost can be calculated on the <a href=\"https://dataforseo.com/pricing/on-page/onpage-api\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing Page</a>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "enable_www_redirect_check": {
        -        "description": "<em>check if the domain implemented the www redirection</em><br>optional field<br>set to <code>true</code> if you want to check if the requested domain implemented the www to non-www or non-www to www redirect;<br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "enable_xhr": {
        -        "description": "<em>enable XMLHttpRequest on a page</em><br>optional field<br>set to <code>true</code> if you want our crawler to request data from a web server using the XMLHttpRequest object<br>default value: <code>false</code>;if you use this field, <code>enable_javascript</code> must be set to <code>true</code>;",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "force_sitewide_checks": {
        -        "description": "<em>enable sitewide checks when crawling a single page</em><br>optional field<br>set to <code>true</code> to get data on sitewide checks when crawling a single page;<br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "load_resources": {
        -        "description": "<em>load resources</em><br>optional field<br>set to <code>true</code> if you want to load image, stylesheets, scripts, and broken resources<br>default value: <code>false</code><br><strong>Note:</strong> if you use this parameter, additional charges will apply; learn more about the cost of tasks with this parameter <a href=\"https://dataforseo.com/help-center/cost-of-onpage-api-parameters\" target=\"_blank\" rel=\"noopener noreferrer\">in our help article</a>; the cost can be calculated on the <a href=\"https://dataforseo.com/pricing/on-page/onpage-api\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing Page</a>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "max_crawl_depth": {
        -        "description": "<em>crawl depth</em><br>optional field<br>the linking depth of the pages to crawl;<br>for example, starting page of the crawl is level 0, pages that have links from that page are level 1, etc.",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "max_crawl_pages": {
        -        "description": "<em>crawled pages limit</em><br><strong>required field</strong><br>the number of pages to crawl on the specified domain<br><strong>Note:</strong><br>if you set <code>max_crawl_pages</code> to 1 and do not specify <code>start_url</code> or set a homepage in it, the following sitewide checks will be disabled:<br><code>test_canonicalization</code>, <code>enable_www_redirect_check</code>, <code>test_hidden_server_signature</code>, <code>test_page_not_found</code>, <code>test_directory_browsing</code>, <code>test_https_redirect</code><br>to enable them anyway, set <code>force_sitewide_checks</code> to <code>true</code>if you set <code>max_crawl_pages</code> to 1 and specify <code>start_url</code> other than a homepage, all sitewide checks will be disabled;<br>to enable them anyway, set <code>force_sitewide_checks</code> to <code>true</code>",
        -        "type": "integer"
        -      },
        -      "pingback_url": {
        -        "description": "<em>notification URL of a completed task</em><br>optional field<br>when a task is completed we will notify you by GET request sent to the URL you have specified<br>you can use the ‘$id’ string as a <code>$id</code> variable and ‘$tag’ as urlencoded <code>$tag</code> variable. We will set the necessary values before sending the request.<br>example:<br><code>http://your-server.com/pingscript?id=$id</code><br><code>http://your-server.com/pingscript?id=$id&amp;tag=$tag</code><br><strong>Note:</strong> special characters in <code>pingback_url</code> will be urlencoded;<br>i.a., the <code>#</code> character will be encoded into <code>%23</code><p>learn more on our <a href=\"https://dataforseo.com/help-center/pingbacks-postbacks-with-dataforseo-api\" target=\"_blank\" rel=\"noopener noreferrer\">Help Center</a>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "priority_urls": {
        -        "description": "<em>urls to be crawled bypassing the queue</em><br>optional field<br>URLs specified in this array will be crawled in the first instance, bypassing the crawling queue;<br><strong>Note:</strong> you should specify the absolute URL;<br>you can specify up to <strong>20 URLs</strong>;<br>all URLs in the array must belong to the <code>target</code> domain;<br>subdomains will be ignored unless the <code>allow_subdomains</code> parameter is set to <code>true</code>example:<br>`\"priority_urls\": [<br>\"https://dataforseo.com/apis/serp-api\",<br>\"https://dataforseo.com/contact\"<br>]`",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "respect_sitemap": {
        -        "description": "<em>respect sitemap when crawling</em><br>optional field<br>set to <code>true</code> if you want to follow the order of pages indicated in the primary sitemap when crawling;<br>default value: <code>false</code><br><strong>Note:</strong> if set to <code>true</code>, the <code>click_depth</code> value in the API response will equal <code>0</code>;<br>the <code>max_crawl_depth</code> field of the request will be ignored, you can specify the number of pages to crawl using the <code>max_crawl_pages</code> parameter",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "return_despite_timeout": {
        -        "description": "<em>return data on pages despite the timeout error</em><br>optional field<br>if <code>true</code>, the data will be provided on pages that failed to load within 120 seconds and responded with a timeout error;<br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "robots_txt_merge_mode": {
        -        "description": "<em>merge with or override robots.txt settings</em><br>optional field<br>possible values: <code>merge</code>, <code>override</code>;<br>set to <code>override</code> if you want to ignore website crawling restrictions and other robots.txt settings<br>default value: <code>merge</code>;<br><strong>Note:</strong> if set to <code>override</code>, specify the <code>custom_robots_txt</code> parameter",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "start_url": {
        -        "description": "<em>the first url to crawl </em><br>optional field<br><strong>Note:</strong> you should specify an absolute URL<br>if you want to crawl a single page, specify its URL in this field and additionally set the <code>max_crawl_pages</code> parameter to <code>1</code><br>you can also use the <a href=\"/v3/on_page/instant_pages/?bash\" target=\"_blank\" rel=\"noopener noreferrer\">live Instant Pages endpoint</a> to get page-specific data",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "store_raw_html": {
        -        "description": "<em>store HTML of crawled pages</em><br>optional field<br>set to <code>true</code> if you want to get the HTML of the page using the <a href=\"/v3/on_page/raw_html/\" target=\"_blank\" rel=\"noopener noreferrer\">OnPage Raw HTML endpoint</a><br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "support_cookies": {
        -        "description": "<em>support cookies on crawled pages</em><br>optional field<br>set to <code>true</code> to support cookies when crawling the pages<br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "switch_pool": {
        -        "description": "<em>switch proxy pool</em><br>optional field<br>if <code>true</code>, additional proxy pools will be used to obtain the requested data;<br>the parameter can be used if a multitude of tasks is set simultaneously, resulting in occasional <code>rate-limit</code> and/or <code>site_unreachable</code> errors",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "target": {
        -        "description": "<em>target domain</em><br><strong>required field</strong><br>domain name should be specified without <code>https://</code> and <code>www.</code><br>if you specify the page URL, the results will be returned for the domain included in the URL",
        -        "type": "string"
        -      },
        -      "validate_micromarkup": {
        -        "description": "<em>enable microdata validation</em><br>optional field<br>set to <code>true</code> if you want to use the <a href=\"/v3/on_page/microdata/\" target=\"_blank\" rel=\"noopener noreferrer\">OnPage API Microdata endpoint</a><br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "properties": {
        +      "accept_language": {
        +        "description": "<em>language header for accessing the website</em><br>optional field<br>all locale formats are supported (xx, xx-XX, xxx-XX, etc.)<br><strong>Note:</strong> if you do not specify this parameter, some websites may deny access; in this case, pages will be returned with the <code>\"type\":\"broken</code> in the response array",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "allow_subdomains": {
        +        "description": "<em>include pages on subdomains</em><br>optional field<br>set to <code>true</code> if you want to crawl all subdomains of a target website<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "allowed_subdomains": {
        +        "description": "<em>subdomains to crawl</em><br>optional field<br>specify subdomains that you want to crawl<br>example: <code>[\"blog.site.com\", \"my.site.com\", \"shop.site.com\"]</code><br><strong>Note:</strong> to use this parameter, the <code>allow_subdomains</code> parameter should be set to <code>false</code>;<br>otherwise, the content of <code>allowed_subdomains</code> field will be ignored and the results will be returned for all subdomains",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "browser_preset": {
        +        "description": "<em>preset for browser screen parameters</em><br>optional field<br>if you use this field, you don't need to indicate <code>browser_screen_width</code>, <code>browser_screen_height</code>, <code>browser_screen_scale_factor</code>possible values:<br><code>desktop</code>, <code>mobile</code>, <code>tablet</code><code>desktop</code> preset will apply the following values:<code>browser_screen_width: 1920</code><br><code>browser_screen_height: 1080</code><br><code>browser_screen_scale_factor: 1</code><code>mobile</code> preset will apply the following values:<code>browser_screen_width: 390</code><br><code>browser_screen_height: 844</code><br><code>browser_screen_scale_factor: 3</code><code>tablet</code> preset will apply the following values:<code>browser_screen_width: 1024</code><br><code>browser_screen_height: 1366</code><br><code>browser_screen_scale_factor: 2</code><br><strong>Note:</strong> to use this parameter, set <code>enable_javascript</code> or <code>enable_browser_rendering</code> to <code>true</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "browser_screen_height": {
        +        "description": "<em>browser screen height</em><br>optional field<br>you can set a custom browser screen height to perform an audit for a particular device;<br>if you use this field, you don't need to indicate <code>browser_preset</code> as it will be ignored;<br><strong>Note:</strong> to use this parameter, set <code>enable_javascript</code> or <code>enable_browser_rendering</code> to <code>true</code>minimum value, in pixels: <code>240</code><br>maximum value, in pixels: <code>9999</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "browser_screen_scale_factor": {
        +        "description": "<em>browser screen scale factor</em><br>optional field<br>you can set a custom browser screen resolution ratio to perform audit for a particular device;<br>if you use this field, you don't need to indicate <code>browser_preset</code> as it will be ignored;<br><strong>Note:</strong> to use this parameter, set <code>enable_javascript</code> or <code>enable_browser_rendering</code> to <code>true</code>minimum value: <code>0.5</code><br>maximum value: <code>3</code>",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "browser_screen_width": {
        +        "description": "<em>browser screen width</em><br>optional field<br>you can set a custom browser screen width to perform audit for a particular device;<br>if you use this field, you don't need to indicate <code>browser_preset</code> as it will be ignored;<br><strong>Note:</strong> to use this parameter, set <code>enable_javascript</code> or <code>enable_browser_rendering</code> to <code>true</code>minimum value, in pixels: <code>240</code><br>maximum value, in pixels: <code>9999</code>",
        +        "format": "int64",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "calculate_keyword_density": {
        +        "description": "<em>calculate keyword density for the target domain</em><br>optional field<br>set to <code>true</code> if you want to calculate keyword density for website pages<br>default value: <code>false</code><br><strong>Note:</strong> if you use this parameter, additional charges will apply; learn more about the cost of tasks with this parameter <a href=\"https://dataforseo.com/help-center/cost-of-onpage-api-parameters\" target=\"_blank\" rel=\"noopener noreferrer\">in our help article</a><br>once the crawl is completed, you can obtain keyword density values with <a href=\"/v3/on_page/keyword_density?bash\" target=\"_blank\" rel=\"noopener noreferrer\">the Keyword Density endpoint</a>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "check_spell": {
        +        "description": "<em>check spelling</em><br>optional field<br>set to <code>true</code> to check spelling on a website using <a href=\"http://hunspell.github.io/\" target=\"_blank\" rel=\"noopener noreferrer\">Hunspell</a> library<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "check_spell_exceptions": {
        +        "description": "<em>words excluded from spell check</em><br>optional field<br>specify the words that you want to exclude from spell check<br>maximum word length: 100 characters<br>maximum amount of words: 1000<br>example: <code>\"SERP\", \"minifiers\", \"JavaScript\"</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "check_spell_language": {
        +        "description": "<em>language of the spell check</em><br>optional field<br>supported languages: 'hy', 'eu', 'bg', 'ca', 'hr', 'cs', 'da', 'nl', 'en', 'eo', 'et', 'fo', 'fa', 'fr', 'fy', 'gl', 'ka', 'de', 'el', 'he', 'hu', 'is', 'ia', 'ga', 'it', 'rw', 'la', 'lv', 'lt', 'mk', 'mn', 'ne', 'nb', 'nn', 'pl', 'pt', 'ro', 'gd', 'sr', 'sk', 'sl', 'es', 'sv', 'tr', 'tk', 'uk', 'vi'<br><strong>Note:</strong> if no language is specified, it will be set automatically based on page content",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "checks_threshold": {
        +        "additionalProperties": {
        +          "format": "int64",
        +          "type": [
        +            "integer",
        +            "null"
        +          ]
        +        },
        +        "description": "<em>custom threshold values for checks</em><br>optional field<br>you can specify custom threshold values for the parameters included in the <code>checks</code> object of OnPage API responses;<br><strong>Note:</strong> only integer threshold values can be modified;<br>for example, the <code>high_loading_time</code> and <code>large_page_size</code> parameters are set to 3 seconds and 1 megabyte respectively by default;<br>if you want to change these thresholds to 1 second and 1000 kbytes, use the following snippet:<br>`\"checks_threshold\": {<br>\"high_loading_time\": 1,<br>\"large_page_size\": 1000<br>}`<br>available customizable parameters with default values:<br>`\"title_too_short\", default value: 30, type: \"int\"<br>\"title_too_long\", default value: 65, type: \"int\"<br>\"small_page_size\", default value: 1024, type: \"int\"<br>\"large_page_size\", default value: 1048576 (1024 * 1024), type: \"int\"<br>\"low_character_count\", default value: 1024, type: \"int\"<br>\"high_character_count\", default value: 256000 (250 * 1024), type: \"int\"<br>\"low_content_rate\", default value: 0.1, type: \"float\"<br>\"high_content_rate\", default value: 0.9, type: \"float\"<br>\"high_loading_time\", default value: 3000, type: \"int\"<br>\"high_waiting_time\", default value: 1500, type: \"int\"<br>\"low_readability_rate\", default value: 15.0, type: \"float\"<br>\"irrelevant_description\", default value: 0.2, type: \"float\"<br>\"irrelevant_title\", default value: 0.3, type: \"float\"<br>\"irrelevant_meta_keywords\", default value: 0.6, type: \"float\"`",
        +        "type": [
        +          "object",
        +          "null"
        +        ]
        +      },
        +      "crawl_delay": {
        +        "description": "<em>delay between hits, ms</em><br>optional field<br>the custom delay between crawler hits to the server<br>default value: <code>2000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "crawl_sitemap_only": {
        +        "description": "<em>crawl only pages indicated in the sitemap</em><br>optional field<br>set to <code>true</code> if you want to crawl only the pages indicated in the sitemap<br>if you set this parameter to <code>true</code> and do not specify <code>custom_sitemap</code>, we will crawl the default sitemap<br>default value: <code>false</code><br><strong>Note:</strong> if you want to use this parameter, <code>respect_sitemap</code> should be <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "custom_js": {
        +        "description": "<em>custom javascript</em><br>optional field<br><strong>Note</strong> that the execution time for the script you enter here should be 700 ms maximum, for example, you can use the following JS snippet to check if the website contains Google Tag Manager as a <code>scr</code> attribute:<br><code>let meta = { haveGoogleAnalytics: false, haveTagManager: false };rnfor (var i = 0; i &lt; document.scripts.length; i++) {rn let src = document.scripts[i].getAttribute(\"src\");rn if (src != undefined) {rn if (src.indexOf(\"analytics.js\") &gt;= 0)rn      meta.haveGoogleAnalytics = true;rntif (src.indexOf(\"gtm.js\") &gt;= 0)rn      meta.haveTagManager = true;rn  }rn}rnmeta;</code>the returned value depends on what you specified in this field. For instance, if you specify the following script:<br>`meta = {}; meta.url = document.URL; meta.test = 'test'; meta;`<br>as a response you will receive the following data:<br>`\"custom_js_response\": {<br>\"url\": \"https://dataforseo.com/\",<br>\"test\": \"test\"<br>}`<br><strong>Note:</strong> the length of the script you enter must be no more than 2000 characters",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "custom_robots_txt": {
        +        "description": "<em>custom robots.txt settings</em><br>optional field<br>example: <code>Disallow: /directory1/</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "custom_sitemap": {
        +        "description": "<em>custom sitemap url</em><br>optional field<br>the URL of the page where the alternative sitemap is located<br><strong>Note:</strong> if you want to use this parameter, <code>respect_sitemap</code> should be <code>true</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "custom_user_agent": {
        +        "description": "<em>custom user agent</em><br>optional field<br>custom user agent for crawling a website<br>example: <code>Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36<br></code><br>default value: <code>Mozilla/5.0 (compatible; RSiteAuditor)</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "disable_cookie_popup": {
        +        "description": "<em>disable the cookie popup</em><br>optional field<br>set to <code>true</code> if you want to disable the popup requesting cookie consent from the user;<br>default value:<br><code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "disable_page_checks": {
        +        "description": "<em>prevent certain page checks from running</em><br>optional field<br>specify certain <code>checks</code> to prevent them from running and impacting the <code>onpage_score</code>example:<br><code>\"disable_page_checks\": [\"is_5xx_code\", \"is_4xx_code\"]</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "disable_sitewide_checks": {
        +        "description": "<em>prevent certain sitewide checks from running</em><br>optional field<br>specify the following <code>checks</code> to prevent them from running on the <code>target</code> website:<br><code>\"test_page_not_found\"</code><br><code>\"test_canonicalization\"</code><br><code>\"test_https_redirect\"</code><br><code>\"test_directory_browsing\"</code>example:<br><code>\"disable_sitewide_checks\": [\"test_directory_browsing\", \"test_page_not_found\"]</code>learn more on <a href=\"https://dataforseo.com/help-center/how-to-disable-sitewide-checks-in-onpage-api\" target=\"_blank\" rel=\"noopener noreferrer\">our help center</a>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "disallowed_subdomains": {
        +        "description": "<em>subdomains not to crawl</em><br>optional field<br>specify subdomains that you don't want to crawl<br>example: <code>[\"status.site.com\", \"docs.site.com\"]</code><br><strong>Note:</strong> to use this parameter, the <code>allow_subdomains</code> parameter should be set to <code>true</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "enable_browser_rendering": {
        +        "description": "<em>emulate browser rendering to measure Core Web Vitals</em><br>optional field<br>by using this parameter you will be able to emulate a browser when loading a web page;<br><code>enable_browser_rendering</code> loads styles, images, fonts, animations, videos, and other resources on a page;<br>default value: <code>false</code><br>set to <code>true</code> to obtain Core Web Vitals (FID, CLS, LCP) metrics in the response;<br><strong>if you use this field, <code>enable_javascript</code>, and <code>load_resources</code> parameters must be set to <code>true</code></strong><br><strong>Note:</strong> if you use this parameter, additional charges will apply; learn more about the cost of tasks with this parameter <a href=\"https://dataforseo.com/help-center/cost-of-onpage-api-parameters\" target=\"_blank\" rel=\"noopener noreferrer\">in our help article</a>; the cost can be calculated on the <a href=\"https://dataforseo.com/pricing/on-page/onpage-api\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing Page</a>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "enable_content_parsing": {
        +        "description": "<em>parse content on crawled pages</em><br>optional field<br>set to <code>true</code> to use the <a href=\"/v3/on_page/content_parsing/live/\" target=\"_blank\" rel=\"noopener noreferrer\">OnPage Content Parsing endpoint</a><br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "enable_javascript": {
        +        "description": "<em>load javascript on a page</em><br>optional field<br>set to <code>true</code> if you want to load the scripts available on a page<br>default value: <code>false</code><br><strong>Note:</strong> if you use this parameter, additional charges will apply; learn more about the cost of tasks with this parameter <a href=\"https://dataforseo.com/help-center/cost-of-onpage-api-parameters\" target=\"_blank\" rel=\"noopener noreferrer\">in our help article</a>; the cost can be calculated on the <a href=\"https://dataforseo.com/pricing/on-page/onpage-api\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing Page</a>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "enable_www_redirect_check": {
        +        "description": "<em>check if the domain implemented the www redirection</em><br>optional field<br>set to <code>true</code> if you want to check if the requested domain implemented the www to non-www or non-www to www redirect;<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "enable_xhr": {
        +        "description": "<em>enable XMLHttpRequest on a page</em><br>optional field<br>set to <code>true</code> if you want our crawler to request data from a web server using the XMLHttpRequest object<br>default value: <code>false</code>;if you use this field, <code>enable_javascript</code> must be set to <code>true</code>;",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "force_sitewide_checks": {
        +        "description": "<em>enable sitewide checks when crawling a single page</em><br>optional field<br>set to <code>true</code> to get data on sitewide checks when crawling a single page;<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "load_resources": {
        +        "description": "<em>load resources</em><br>optional field<br>set to <code>true</code> if you want to load image, stylesheets, scripts, and broken resources<br>default value: <code>false</code><br><strong>Note:</strong> if you use this parameter, additional charges will apply; learn more about the cost of tasks with this parameter <a href=\"https://dataforseo.com/help-center/cost-of-onpage-api-parameters\" target=\"_blank\" rel=\"noopener noreferrer\">in our help article</a>; the cost can be calculated on the <a href=\"https://dataforseo.com/pricing/on-page/onpage-api\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing Page</a>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "max_crawl_depth": {
        +        "description": "<em>crawl depth</em><br>optional field<br>the linking depth of the pages to crawl;<br>for example, starting page of the crawl is level 0, pages that have links from that page are level 1, etc.",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "max_crawl_pages": {
        +        "description": "<em>crawled pages limit</em><br><strong>required field</strong><br>the number of pages to crawl on the specified domain<br><strong>Note:</strong><br>if you set <code>max_crawl_pages</code> to 1 and do not specify <code>start_url</code> or set a homepage in it, the following sitewide checks will be disabled:<br><code>test_canonicalization</code>, <code>enable_www_redirect_check</code>, <code>test_hidden_server_signature</code>, <code>test_page_not_found</code>, <code>test_directory_browsing</code>, <code>test_https_redirect</code><br>to enable them anyway, set <code>force_sitewide_checks</code> to <code>true</code>if you set <code>max_crawl_pages</code> to 1 and specify <code>start_url</code> other than a homepage, all sitewide checks will be disabled;<br>to enable them anyway, set <code>force_sitewide_checks</code> to <code>true</code>",
        +        "type": "integer"
        +      },
        +      "pingback_url": {
        +        "description": "<em>notification URL of a completed task</em><br>optional field<br>when a task is completed we will notify you by GET request sent to the URL you have specified<br>you can use the ‘$id’ string as a <code>$id</code> variable and ‘$tag’ as urlencoded <code>$tag</code> variable. We will set the necessary values before sending the request.<br>example:<br><code>http://your-server.com/pingscript?id=$id</code><br><code>http://your-server.com/pingscript?id=$id&amp;tag=$tag</code><br><strong>Note:</strong> special characters in <code>pingback_url</code> will be urlencoded;<br>i.a., the <code>#</code> character will be encoded into <code>%23</code><p>learn more on our <a href=\"https://dataforseo.com/help-center/pingbacks-postbacks-with-dataforseo-api\" target=\"_blank\" rel=\"noopener noreferrer\">Help Center</a>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "priority_urls": {
        +        "description": "<em>urls to be crawled bypassing the queue</em><br>optional field<br>URLs specified in this array will be crawled in the first instance, bypassing the crawling queue;<br><strong>Note:</strong> you should specify the absolute URL;<br>you can specify up to <strong>20 URLs</strong>;<br>all URLs in the array must belong to the <code>target</code> domain;<br>subdomains will be ignored unless the <code>allow_subdomains</code> parameter is set to <code>true</code>example:<br>`\"priority_urls\": [<br>\"https://dataforseo.com/apis/serp-api\",<br>\"https://dataforseo.com/contact\"<br>]`",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "respect_sitemap": {
        +        "description": "<em>respect sitemap when crawling</em><br>optional field<br>set to <code>true</code> if you want to follow the order of pages indicated in the primary sitemap when crawling;<br>default value: <code>false</code><br><strong>Note:</strong> if set to <code>true</code>, the <code>click_depth</code> value in the API response will equal <code>0</code>;<br>the <code>max_crawl_depth</code> field of the request will be ignored, you can specify the number of pages to crawl using the <code>max_crawl_pages</code> parameter",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "return_despite_timeout": {
        +        "description": "<em>return data on pages despite the timeout error</em><br>optional field<br>if <code>true</code>, the data will be provided on pages that failed to load within 120 seconds and responded with a timeout error;<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "robots_txt_merge_mode": {
        +        "description": "<em>merge with or override robots.txt settings</em><br>optional field<br>possible values: <code>merge</code>, <code>override</code>;<br>set to <code>override</code> if you want to ignore website crawling restrictions and other robots.txt settings<br>default value: <code>merge</code>;<br><strong>Note:</strong> if set to <code>override</code>, specify the <code>custom_robots_txt</code> parameter",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "start_url": {
        +        "description": "<em>the first url to crawl </em><br>optional field<br><strong>Note:</strong> you should specify an absolute URL<br>if you want to crawl a single page, specify its URL in this field and additionally set the <code>max_crawl_pages</code> parameter to <code>1</code><br>you can also use the <a href=\"/v3/on_page/instant_pages/?bash\" target=\"_blank\" rel=\"noopener noreferrer\">live Instant Pages endpoint</a> to get page-specific data",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "store_raw_html": {
        +        "description": "<em>store HTML of crawled pages</em><br>optional field<br>set to <code>true</code> if you want to get the HTML of the page using the <a href=\"/v3/on_page/raw_html/\" target=\"_blank\" rel=\"noopener noreferrer\">OnPage Raw HTML endpoint</a><br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "support_cookies": {
        +        "description": "<em>support cookies on crawled pages</em><br>optional field<br>set to <code>true</code> to support cookies when crawling the pages<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "switch_pool": {
        +        "description": "<em>switch proxy pool</em><br>optional field<br>if <code>true</code>, additional proxy pools will be used to obtain the requested data;<br>the parameter can be used if a multitude of tasks is set simultaneously, resulting in occasional <code>rate-limit</code> and/or <code>site_unreachable</code> errors",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "target": {
        +        "description": "<em>target domain</em><br><strong>required field</strong><br>domain name should be specified without <code>https://</code> and <code>www.</code><br>if you specify the page URL, the results will be returned for the domain included in the URL",
        +        "type": "string"
        +      },
        +      "validate_micromarkup": {
        +        "description": "<em>enable microdata validation</em><br>optional field<br>set to <code>true</code> if you want to use the <a href=\"/v3/on_page/microdata/\" target=\"_blank\" rel=\"noopener noreferrer\">OnPage API Microdata endpoint</a><br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_serp_ai_summary1 field changed
      • changedInput schema / properties / body / items / oneOf
        Previous value: -[
        -  {
        -    "example": [
        -      {
        -        "fetch_content": true,
        -        "include_links": true,
        -        "prompt": "explain what DataForSEO is",
        -        "task_id": "07031739-1535-0139-0000-9d1e639a5b7d"
        -      }
        -    ],
        -    "properties": {
        -      "fetch_content": {
        -        "description": "<em>fetch content from pages in SERPs</em><br>optional field<br>if set to <code>true</code>, the API will fetch the content from pages featured in SERP results, and the AI model will consider this content when generating the summary in the result;<br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "include_links": {
        -        "description": "<em>include source links in the summary</em><br>optional field<br>if set to <code>true</code>, the <code>summary</code> field in the API response will contain links to sources of the generated summary;<br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "prompt": {
        -        "description": "<em>AI prompt</em><br>optional field<br>additional task for AI summariser;<br>any form of text, question or information that communicates to AI what response you're looking for;<br>max number of symbols or characters you can specify: <code>2000</code>;<br><strong>note:</strong> your prompt has to be relevant to the keyword specified in the POST request to SERP API",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "support_extra": {
        -        "description": "<em>support extra SERP features</em><br>optional field<br>if set to <code>true</code>, the AI model will consider the following extra SERP features, in addition to <code>organic</code> results: <code>answer_box</code>, <code>knowledge_graph</code>, <code>featured_snippet</code>;<br>default value: <code>true</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "task_id": {
        -        "description": "<em>task identifier</em><br><strong>required field</strong><br>unique identifier of the associated task in the <a href=\"https://en.wikipedia.org/wiki/Universally_unique_identifier\">UUID</a> format<br>you will be able to use it within <strong>30 days</strong> to request the results of the task at any time",
        -        "type": "string"
        -      }
        -    },
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "properties": {
        +      "fetch_content": {
        +        "description": "<em>fetch content from pages in SERPs</em><br>optional field<br>if set to <code>true</code>, the API will fetch the content from pages featured in SERP results, and the AI model will consider this content when generating the summary in the result;<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_links": {
        +        "description": "<em>include source links in the summary</em><br>optional field<br>if set to <code>true</code>, the <code>summary</code> field in the API response will contain links to sources of the generated summary;<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "prompt": {
        +        "description": "<em>AI prompt</em><br>optional field<br>additional task for AI summariser;<br>any form of text, question or information that communicates to AI what response you're looking for;<br>max number of symbols or characters you can specify: <code>2000</code>;<br><strong>note:</strong> your prompt has to be relevant to the keyword specified in the POST request to SERP API",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "support_extra": {
        +        "description": "<em>support extra SERP features</em><br>optional field<br>if set to <code>true</code>, the AI model will consider the following extra SERP features, in addition to <code>organic</code> results: <code>answer_box</code>, <code>knowledge_graph</code>, <code>featured_snippet</code>;<br>default value: <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "task_id": {
        +        "description": "<em>task identifier</em><br><strong>required field</strong><br>unique identifier of the associated task in the <a href=\"https://en.wikipedia.org/wiki/Universally_unique_identifier\">UUID</a> format<br>you will be able to use it within <strong>30 days</strong> to request the results of the task at any time",
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_serp_bing_organic_live1 field changed
      • changedInput schema / properties / body / items / oneOf
        Previous value: -[
        -  {
        -    "example": [
        -      {
        -        "keyword": "flight ticket new york san francisco",
        -        "language_code": "en",
        -        "location_code": 2840
        -      }
        -    ],
        -    "properties": {
        -      "browser_screen_height": {
        -        "description": "<p><em>browser screen height</em><p>optional field<p>you can set a custom browser screen height to calculate pixel rankings for a particular device;<p>can be specified within the following range: <code>240-9999</code>;<p>by default, the parameter is set to:<p><code>1080</code> for <code>desktop</code>;<p><code>640</code> for <code>mobile</code> on <code>android</code>;<p><code>812</code> for <code>mobile</code> on <code>iOS</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "browser_screen_resolution_ratio": {
        -        "description": "<p><em>browser screen resolution ratio</em><p>optional field<p>you can set a custom browser screen resolution ratio to calculate pixel rankings for a particular device;<p>can be specified within the following range: <code>0.5-3</code>;<p>by default, the parameter is set to:<p><code>1</code> for <code>desktop</code>;<p><code>3</code> for <code>mobile</code> on <code>android</code>;<p><code>3</code> for <code>mobile</code> on <code>iOS</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "browser_screen_width": {
        -        "description": "<p><em>browser screen width</em><p>optional field<p>you can set a custom browser screen width to calculate pixel rankings for a particular device;<p>can be specified within the following range: <code>240-9999</code>;<p>by default, the parameter is set to:<p><code>1920</code> for <code>desktop</code>;<p><code>360</code> for <code>mobile</code> on <code>android</code>;<p><code>375</code> for <code>mobile</code> on <code>iOS</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
        -        "format": "int64",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "calculate_rectangles": {
        -        "description": "<p><em>calculate pixel rankings for SERP elements in advanced results</em><p>optional field<p>pixel ranking refers to the distance between the result snippet and top left corner of the screen;<p><a href=\"https://dataforseo.com/help-center/pixel-ranking-in-serp-api\">Visit Help Center to learn more&gt;&gt;</a><p>by default, the parameter is set to <code>false</code><p><strong></p>\n\nFor current API pricing, see the published x-aisa-pricing metadata. Where supported, obtain a quote for your exact request.",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "depth": {
        -        "description": "<p><em>parsing depth</em><p>optional field<p>number of results in SERP<p>default value: <code>10</code><p>max value: <code>200</code></p><br><strong>Your account will be billed per each SERP containing up to 10 results;</strong><p>Setting depth above 10 may result in additional charges <a href=\"https://dataforseo.com/help-center/how-many-results-scraped\" rel=\"noopener noreferrer\" target=\"_blank\">if the search engine returns more than 10 results</a>;<p>The cost can be calculated on the <a title=\"Pricing\" href=\"https://dataforseo.com/pricing/serp/bing-organic-serp-api\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page.",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "device": {
        -        "description": "<p><em>device type</em><p>optional field<p>return results for a specific device type<p>can take the values:<code>desktop</code>, <code>mobile</code><p>default value: <code>desktop</code></p>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "keyword": {
        -        "description": "<p><em>keyword</em><p><strong>required field</strong><p>you can specify <strong>up to 700 characters</strong> in the <code>keyword</code> field<p><strong>all %## will be decoded (plus character '+' will be decoded to a space character)</strong><p>if you need to use the \"%\" character for your <code>keyword</code>, please specify it as \"%25\";<p>if you need to use the “+” character for your <code>keyword</code>, please specify it as “%2B”;</p><br><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" target=\"_blank\" rel=\"noopener noreferrer\">Help Center article</a></p>",
        -        "type": "string"
        -      },
        -      "language_code": {
        -        "description": "<p><em>search engine language code</em><p><strong>required field if you don't specify</strong> <code>language_name</code><p><strong>if you use this field, you don't need to specify <code>language_name</code></strong><p>you can receive the list of available languages of the search engine with their <code>language_code</code>&nbsp;by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages</code><em><p></em>example:<em><p></em><code class=\"long-string\">en</code></p>",
        -        "type": "string"
        -      },
        -      "language_name": {
        -        "description": "<p><em>full name of search engine language</em><p><strong>required field if you don't specify</strong> <code>language_code</code><p><strong>if you use this field, you don't need to specify <code>language_code</code></strong><p>you can receive the list of available languages of the search engine with their <code>language_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages</code><p>example:<p><code class=\"long-string\">English</code></p>",
        -        "type": "string"
        -      },
        -      "location_code": {
        -        "description": "<p><em>search engine location code</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations</code><p>example:<p><code class=\"long-string\">2840</code></p>",
        -        "type": "integer"
        -      },
        -      "location_coordinate": {
        -        "description": "<p><em>GPS coordinates of a location</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_code</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_code</code></strong><p><code>location_coordinate</code> parameter should be specified in the <em>\"latitude,longitude\"</em> format<p>the maximum number of decimal digits for <em>\"latitude\"</em> and <em>\"longitude\"</em>: 7<p>example:<p><code class=\"long-string\">53.476225,-2.243572</code></p>",
        -        "type": "string"
        -      },
        -      "location_name": {
        -        "description": "<p><em>full name of search engine location</em><p><strong>required field if you don't specify</strong> <code>location_code</code> or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_code</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations</code><p>example:<p><code class=\"long-string\">London,England,United Kingdom</code></p>",
        -        "type": "string"
        -      },
        -      "match_type": {
        -        "description": "<p><em>target match type</em><p><strong>required field if <code>stop_crawl_on_match</code> is specified</strong><p>type of match for the <code>match_value</code><p>possible values:<p><code>domain</code> – specific domain or subdomain<p><code>with_subdomains</code> – main domain and subdomains<p><code>wildcard</code> –  wildcard pattern</p>",
        -        "type": "string"
        -      },
        -      "match_value": {
        -        "description": "<p><em>target domain, subdomain, or wildcard value</em><p><strong>required field if <code>stop_crawl_on_match</code> is specified</strong><p>specify a target domain, subdomain, or wildcard value;<p><strong>Note:</strong> domain or subdomain must be specified without a request protocol;<p>example: <code>\"match_value\": \"dataforseo.com\"</code>,<p><code>\"match_value\": \"/blog/post-*\"</code></p>",
        -        "type": "string"
        -      },
        -      "max_crawl_pages": {
        -        "description": "<p><em>page crawl limit</em><p>optional field<p>number of search results pages to crawl<p>default value: <code>1</code><p>max value: <code>100</code><p><strong>Note:</strong> the <code>max_crawl_pages</code> and <code>depth</code> parameters complement each other;<p>learn more at <a href=\"https://dataforseo.com/help-center/what-is-max-crawl-pages-and-how-does-it-work\" rel=\"noopener noreferrer\" target=\"_blank\">our help center</a></p>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "os": {
        -        "description": "<p><em>device operating system</em><p>optional field<p>if you specify <code>desktop</code> in the <code>device</code> field, choose from the following values: <code>windows</code>, <code>macos</code><p>default value: <code>windows</code><p>if you specify <code>mobile</code> in the <code>device</code> field, choose from the following values: <code>android</code>, <code>ios</code><p>default value: <code>android</code></p>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "search_param": {
        -        "description": "<p><em>additional parameters of the search query</em><p>optional field<p><a href=\"https://dataforseo.com/help-center/bing-search-engine-parameters-and-how-to-use-them\">get the list of available parameters and additional details here</a></p>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "stop_crawl_on_match": {
        -        "description": "array of targets to stop crawling\noptional field\nif specified, the response will contain SERP results up to and including the specified match_value;\nyou can specify up to 10 target values in this array\nexample:\n\"stop_crawl_on_match\":[{\"match_value\":\"dataforseo.com\",\"match_type\":\"with_subdomains\"}]\nlearn more about this parameter on our Help Center - https://dataforseo.com/help-center/using-the-stop_crawl_on_match-parameter-in-serp-api\nYour account will be billed per each SERP crawled through the specified targets",
        -        "items": {
        -          "oneOf": [
        -            {
        -              "properties": {
        -                "match_type": {
        -                  "description": "target match type\nrequired field if stop_crawl_on_match is specified;\ntype of match for the match_value\npossible values: domain, with_subdomains, wildcard",
        -                  "type": [
        -                    "string",
        -                    "null"
        -                  ]
        -                },
        -                "match_value": {
        -                  "description": "arget domain or wildcard value\nrequired field if stop_crawl_on_match is specified;\nspecify a target domain or wildcard value;\nNote: domain name must be specified without a request protocol;\nexample: dataforseo.com",
        -                  "type": [
        -                    "string",
        -                    "null"
        -                  ]
        -                }
        -              },
        -              "type": "object"
        -            }
        -          ],
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<p><em>user-defined task identifier</em><p>optional field<p><em>the character limit is 255</em><p>you can use this parameter to identify the task and match it with the result<p>you will find the specified <code>tag</code> value in the <code>data</code> object of the response</p>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "target": {
        -        "description": "<p><em>target domain, subdomain, or webpage to get results for</em><p>optional field<p>a domain or a subdomain should be specified without <code>https://</code> and <code>www.</code><p>note that the results of <code>target</code>-specific tasks will only include SERP elements that contain a <code>url</code> string;<p>you can also use a wildcard (‘*’) character to specify the search pattern in SERP and narrow down the results;<p>examples:<p><strong><code class=\"long-string\">example.com</code></strong>  - returns results for the website's home page with URLs, such as <code class=\"long-string\">https://example.com</code>, or <code class=\"long-string\">https://www.example.com/</code>, or <code class=\"long-string\">https://example.com/</code>;<p><strong><code class=\"long-string\">example.com*</code></strong> - returns results for the domain, including all its pages;<p><strong><code class=\"long-string\">*example.com*</code></strong> - returns results for the entire domain, including all its pages and subdomains;<p><strong><code class=\"long-string\">*example.com</code></strong>  - returns results for the home page regardless of the subdomain, such as <code class=\"long-string\">https://en.example.com</code>;<p><strong><code class=\"long-string\">example.com/example-page</code></strong>  - returns results for the exact URL;<p><strong><code class=\"long-string\">example.com/example-page*</code></strong>  - returns results for all domain's URLs that start with the specified string</p>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "url": {
        -        "description": "<p><em>direct URL of the search query</em><p>optional field<p>you can specify a direct URL and we will sort it out to the necessary fields. Note that this method is the most difficult for our API to process and also requires you to specify the exact language and location in the URL. In most cases, we wouldn’t recommend using this method.<p>example:<p><code class=\"long-string\">https://www.bing.com/search?q=rank%20checker&amp;count=50&amp;first=1&amp;setlang=en&amp;cc=US&amp;safesearch=Moderate&amp;FORM=SEPAGE</code></p>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "properties": {
        +      "browser_screen_height": {
        +        "description": "<p><em>browser screen height</em><p>optional field<p>you can set a custom browser screen height to calculate pixel rankings for a particular device;<p>can be specified within the following range: <code>240-9999</code>;<p>by default, the parameter is set to:<p><code>1080</code> for <code>desktop</code>;<p><code>640</code> for <code>mobile</code> on <code>android</code>;<p><code>812</code> for <code>mobile</code> on <code>iOS</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "browser_screen_resolution_ratio": {
        +        "description": "<p><em>browser screen resolution ratio</em><p>optional field<p>you can set a custom browser screen resolution ratio to calculate pixel rankings for a particular device;<p>can be specified within the following range: <code>0.5-3</code>;<p>by default, the parameter is set to:<p><code>1</code> for <code>desktop</code>;<p><code>3</code> for <code>mobile</code> on <code>android</code>;<p><code>3</code> for <code>mobile</code> on <code>iOS</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "browser_screen_width": {
        +        "description": "<p><em>browser screen width</em><p>optional field<p>you can set a custom browser screen width to calculate pixel rankings for a particular device;<p>can be specified within the following range: <code>240-9999</code>;<p>by default, the parameter is set to:<p><code>1920</code> for <code>desktop</code>;<p><code>360</code> for <code>mobile</code> on <code>android</code>;<p><code>375</code> for <code>mobile</code> on <code>iOS</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
        +        "format": "int64",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "calculate_rectangles": {
        +        "description": "<p><em>calculate pixel rankings for SERP elements in advanced results</em><p>optional field<p>pixel ranking refers to the distance between the result snippet and top left corner of the screen;<p><a href=\"https://dataforseo.com/help-center/pixel-ranking-in-serp-api\">Visit Help Center to learn more&gt;&gt;</a><p>by default, the parameter is set to <code>false</code><p><strong>Note:</strong> provider usage may increase for using this parameter</p>\n\nFor current API pricing, see the published x-aisa-pricing metadata. Where supported, obtain a quote for your exact request.",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "depth": {
        +        "description": "<p><em>parsing depth</em><p>optional field<p>number of results in SERP<p>default value: <code>10</code><p>max value: <code>200</code></p><br><strong>Your account will be billed per each SERP containing up to 10 results;</strong><p>Setting depth above 10 may result in additional charges <a href=\"https://dataforseo.com/help-center/how-many-results-scraped\" rel=\"noopener noreferrer\" target=\"_blank\">if the search engine returns more than 10 results</a>;<p>The cost can be calculated on the <a title=\"Pricing\" href=\"https://dataforseo.com/pricing/serp/bing-organic-serp-api\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page.",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "device": {
        +        "description": "<p><em>device type</em><p>optional field<p>return results for a specific device type<p>can take the values:<code>desktop</code>, <code>mobile</code><p>default value: <code>desktop</code></p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "keyword": {
        +        "description": "<p><em>keyword</em><p><strong>required field</strong><p>you can specify <strong>up to 700 characters</strong> in the <code>keyword</code> field<p><strong>all %## will be decoded (plus character '+' will be decoded to a space character)</strong><p>if you need to use the \"%\" character for your <code>keyword</code>, please specify it as \"%25\";<p>if you need to use the “+” character for your <code>keyword</code>, please specify it as “%2B”;</p><br><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" target=\"_blank\" rel=\"noopener noreferrer\">Help Center article</a></p>",
        +        "type": "string"
        +      },
        +      "language_code": {
        +        "description": "<p><em>search engine language code</em><p><strong>required field if you don't specify</strong> <code>language_name</code><p><strong>if you use this field, you don't need to specify <code>language_name</code></strong><p>you can receive the list of available languages of the search engine with their <code>language_code</code>&nbsp;by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages</code><em><p></em>example:<em><p></em><code class=\"long-string\">en</code></p>",
        +        "type": "string"
        +      },
        +      "language_name": {
        +        "description": "<p><em>full name of search engine language</em><p><strong>required field if you don't specify</strong> <code>language_code</code><p><strong>if you use this field, you don't need to specify <code>language_code</code></strong><p>you can receive the list of available languages of the search engine with their <code>language_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages</code><p>example:<p><code class=\"long-string\">English</code></p>",
        +        "type": "string"
        +      },
        +      "location_code": {
        +        "description": "<p><em>search engine location code</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations</code><p>example:<p><code class=\"long-string\">2840</code></p>",
        +        "type": "integer"
        +      },
        +      "location_coordinate": {
        +        "description": "<p><em>GPS coordinates of a location</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_code</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_code</code></strong><p><code>location_coordinate</code> parameter should be specified in the <em>\"latitude,longitude\"</em> format<p>the maximum number of decimal digits for <em>\"latitude\"</em> and <em>\"longitude\"</em>: 7<p>example:<p><code class=\"long-string\">53.476225,-2.243572</code></p>",
        +        "type": "string"
        +      },
        +      "location_name": {
        +        "description": "<p><em>full name of search engine location</em><p><strong>required field if you don't specify</strong> <code>location_code</code> or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_code</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations</code><p>example:<p><code class=\"long-string\">London,England,United Kingdom</code></p>",
        +        "type": "string"
        +      },
        +      "match_type": {
        +        "description": "<p><em>target match type</em><p><strong>required field if <code>stop_crawl_on_match</code> is specified</strong><p>type of match for the <code>match_value</code><p>possible values:<p><code>domain</code> – specific domain or subdomain<p><code>with_subdomains</code> – main domain and subdomains<p><code>wildcard</code> –  wildcard pattern</p>",
        +        "type": "string"
        +      },
        +      "match_value": {
        +        "description": "<p><em>target domain, subdomain, or wildcard value</em><p><strong>required field if <code>stop_crawl_on_match</code> is specified</strong><p>specify a target domain, subdomain, or wildcard value;<p><strong>Note:</strong> domain or subdomain must be specified without a request protocol;<p>example: <code>\"match_value\": \"dataforseo.com\"</code>,<p><code>\"match_value\": \"/blog/post-*\"</code></p>",
        +        "type": "string"
        +      },
        +      "max_crawl_pages": {
        +        "description": "<p><em>page crawl limit</em><p>optional field<p>number of search results pages to crawl<p>default value: <code>1</code><p>max value: <code>100</code><p><strong>Note:</strong> the <code>max_crawl_pages</code> and <code>depth</code> parameters complement each other;<p>learn more at <a href=\"https://dataforseo.com/help-center/what-is-max-crawl-pages-and-how-does-it-work\" rel=\"noopener noreferrer\" target=\"_blank\">our help center</a></p>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "os": {
        +        "description": "<p><em>device operating system</em><p>optional field<p>if you specify <code>desktop</code> in the <code>device</code> field, choose from the following values: <code>windows</code>, <code>macos</code><p>default value: <code>windows</code><p>if you specify <code>mobile</code> in the <code>device</code> field, choose from the following values: <code>android</code>, <code>ios</code><p>default value: <code>android</code></p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "search_param": {
        +        "description": "<p><em>additional parameters of the search query</em><p>optional field<p><a href=\"https://dataforseo.com/help-center/bing-search-engine-parameters-and-how-to-use-them\">get the list of available parameters and additional details here</a></p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "stop_crawl_on_match": {
        +        "description": "array of targets to stop crawling\noptional field\nif specified, the response will contain SERP results up to and including the specified match_value;\nyou can specify up to 10 target values in this array\nexample:\n\"stop_crawl_on_match\":[{\"match_value\":\"dataforseo.com\",\"match_type\":\"with_subdomains\"}]\nlearn more about this parameter on our Help Center - https://dataforseo.com/help-center/using-the-stop_crawl_on_match-parameter-in-serp-api\nYour account will be billed per each SERP crawled through the specified targets",
        +        "items": {
        +          "oneOf": [
        +            {
        +              "properties": {
        +                "match_type": {
        +                  "description": "target match type\nrequired field if stop_crawl_on_match is specified;\ntype of match for the match_value\npossible values: domain, with_subdomains, wildcard",
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                },
        +                "match_value": {
        +                  "description": "arget domain or wildcard value\nrequired field if stop_crawl_on_match is specified;\nspecify a target domain or wildcard value;\nNote: domain name must be specified without a request protocol;\nexample: dataforseo.com",
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                }
        +              },
        +              "type": "object"
        +            }
        +          ],
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<p><em>user-defined task identifier</em><p>optional field<p><em>the character limit is 255</em><p>you can use this parameter to identify the task and match it with the result<p>you will find the specified <code>tag</code> value in the <code>data</code> object of the response</p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "target": {
        +        "description": "<p><em>target domain, subdomain, or webpage to get results for</em><p>optional field<p>a domain or a subdomain should be specified without <code>https://</code> and <code>www.</code><p>note that the results of <code>target</code>-specific tasks will only include SERP elements that contain a <code>url</code> string;<p>you can also use a wildcard (‘*’) character to specify the search pattern in SERP and narrow down the results;<p>examples:<p><strong><code class=\"long-string\">example.com</code></strong>  - returns results for the website's home page with URLs, such as <code class=\"long-string\">https://example.com</code>, or <code class=\"long-string\">https://www.example.com/</code>, or <code class=\"long-string\">https://example.com/</code>;<p><strong><code class=\"long-string\">example.com*</code></strong> - returns results for the domain, including all its pages;<p><strong><code class=\"long-string\">*example.com*</code></strong> - returns results for the entire domain, including all its pages and subdomains;<p><strong><code class=\"long-string\">*example.com</code></strong>  - returns results for the home page regardless of the subdomain, such as <code class=\"long-string\">https://en.example.com</code>;<p><strong><code class=\"long-string\">example.com/example-page</code></strong>  - returns results for the exact URL;<p><strong><code class=\"long-string\">example.com/example-page*</code></strong>  - returns results for all domain's URLs that start with the specified string</p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "url": {
        +        "description": "<p><em>direct URL of the search query</em><p>optional field<p>you can specify a direct URL and we will sort it out to the necessary fields. Note that this method is the most difficult for our API to process and also requires you to specify the exact language and location in the URL. In most cases, we wouldn’t recommend using this method.<p>example:<p><code class=\"long-string\">https://www.bing.com/search?q=rank%20checker&amp;count=50&amp;first=1&amp;setlang=en&amp;cc=US&amp;safesearch=Moderate&amp;FORM=SEPAGE</code></p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_serp_google_ai_mode_live1 field changed
      • changedInput schema / properties / body / items / oneOf
        Previous value: -[
        -  {
        -    "example": [
        -      {
        -        "keyword": "what is google ai mode",
        -        "language_code": "en",
        -        "location_code": 2840
        -      }
        -    ],
        -    "properties": {
        -      "browser_screen_height": {
        -        "description": "<p><em>browser screen height</em><p>optional field<p>you can set a custom browser screen height to calculate pixel rankings for a particular device;<p>can be specified within the following range: <code>240-9999</code>;<p>by default, the parameter is set to:<p><code>1080</code> for <code>desktop</code>;<p><code>640</code> for <code>mobile</code> on <code>android</code>;<p><code>812</code> for <code>mobile</code> on <code>iOS</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "browser_screen_resolution_ratio": {
        -        "description": "<p><em>browser screen resolution ratio</em><p>optional field<p>you can set a custom browser screen resolution ratio to calculate pixel rankings for a particular device;<p>can be specified within the following range: <code>0.5-3</code>;<p>by default, the parameter is set to:<p><code>1</code> for <code>desktop</code>;<p><code>3</code> for <code>mobile</code> on <code>android</code>;<p><code>3</code> for <code>mobile</code> on <code>iOS</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "browser_screen_width": {
        -        "description": "<p><em>browser screen width</em><p>optional field<p>you can set a custom browser screen width to calculate pixel rankings for a particular device;<p>can be specified within the following range: <code>240-9999</code>;<p>by default, the parameter is set to:<p><code>1920</code> for <code>desktop</code>;<p><code>360</code> for <code>mobile</code> on <code>android</code>;<p><code>375</code> for <code>mobile</code> on <code>iOS</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
        -        "format": "int64",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "calculate_rectangles": {
        -        "description": "<p><em>calculate pixel rankings for SERP elements in advanced results</em><p>optional field<p>pixel ranking refers to the distance between the result snippet and top left corner of the screen;<p><a href=\"https://dataforseo.com/help-center/pixel-ranking-in-serp-api\">Visit Help Center to learn more&gt;&gt;</a><p>by default, the parameter is set to <code>false</code><p><strong>Note:</strong> if set to <code>true</code>, the charge per task will be multiplied by 2</p>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "device": {
        -        "description": "<p><em>device type</em><p>optional field<p>return results for a specific device type<p>can take the values:<code>desktop</code>, <code>mobile</code><p>default value: <code>desktop</code></p>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "keyword": {
        -        "description": "<p><em>keyword</em><p><strong>required field</strong><p>you can specify <strong>up to 700 characters</strong> in the <code>keyword</code> field<p>all %## will be decoded (plus character ‘+’ will be decoded to a space character)<p>if you need to use the “%” character for your <code>keyword</code>, please specify it as “%25”;<p>if you need to use the “+” character for your <code>keyword</code>, please specify it as “%2B”</p><br><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a></p>",
        -        "type": "string"
        -      },
        -      "language_code": {
        -        "description": "<p><em>search engine language code</em><p>required field if you don't specify <code>language_name</code>;<p>if you use this field, you don't need to specify <code>language_name</code>;<p>you can receive the list of available languages of the search engine with their <code>language_code</code>&nbsp;by making a separate request to the <code>https://api.dataforseo.com/v3/serp/google/ai_mode/languages</code></p>",
        -        "type": "string"
        -      },
        -      "language_name": {
        -        "description": "<p><em>full name of search engine language</em><p>required field if you don't specify <code>language_code</code>;<p>if you use this field, you don't need to specify <code>language_code</code>;<p>you can receive the list of available languages of the search engine with their <code>language_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/google/ai_mode/languages</code>;</p>",
        -        "type": "string"
        -      },
        -      "location_code": {
        -        "description": "<p><em>search engine location code</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/google/locations</code><p><strong>Note:</strong> check <a href=\"https://support.google.com/websearch/answer/16011537?hl=en&amp;co=GENIE.Platform%3DAndroid#\" target=\"_blank\"> Google Search Help</a> for the list of countries where AI Mode is currently available</p>",
        -        "type": "integer"
        -      },
        -      "location_coordinate": {
        -        "description": "<p><em>GPS coordinates of a location</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_code</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_code</code></strong><p><code>location_coordinate</code> parameter should be specified in the <em>\"latitude,longitude,zoom\"</em> format<p>if <em>\"zoom\"</em> is not specified, <em>9z</em> will be applied as a default value<p>the maximum number of decimal digits for <em>\"latitude\"</em> and <em>\"longitude\"</em>: 7<p>the minimum value for <em>\"zoom\"</em>: 4z<p>the maximum value for <em>\"zoom\"</em>: 18z<p>example:<p><code class=\"long-string\">52.6178549,-155.352142,18z</code></p>",
        -        "type": "string"
        -      },
        -      "location_name": {
        -        "description": "<p><em>full name of search engine location</em><p><strong>required field if you don't specify</strong> <code>location_code</code> or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_code</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/google/locations</code><p><strong>Note:</strong> check <a href=\"https://support.google.com/websearch/answer/16011537?hl=en&amp;co=GENIE.Platform%3DAndroid#\" target=\"_blank\"> Google Search Help</a> for the list of countries where AI Mode is currently available</p>",
        -        "type": "string"
        -      },
        -      "os": {
        -        "description": "<p><em>device operating system</em><p>optional field<p>if you specify <code>desktop</code> in the <code>device</code> field, choose from the following values: <code>windows</code>, <code>macos</code><p>default value: <code>windows</code><p>if you specify <code>mobile</code> in the <code>device</code> field, choose from the following values: <code>android</code>, <code>ios</code><p>default value: <code>android</code></p>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<p><em>user-defined task identifier</em><p>optional field<p><em>the character limit is 255</em><p>you can use this parameter to identify the task and match it with the result<p>you will find the specified <code>tag</code> value in the <code>data</code> object of the response</p>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "properties": {
        +      "browser_screen_height": {
        +        "description": "<p><em>browser screen height</em><p>optional field<p>you can set a custom browser screen height to calculate pixel rankings for a particular device;<p>can be specified within the following range: <code>240-9999</code>;<p>by default, the parameter is set to:<p><code>1080</code> for <code>desktop</code>;<p><code>640</code> for <code>mobile</code> on <code>android</code>;<p><code>812</code> for <code>mobile</code> on <code>iOS</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "browser_screen_resolution_ratio": {
        +        "description": "<p><em>browser screen resolution ratio</em><p>optional field<p>you can set a custom browser screen resolution ratio to calculate pixel rankings for a particular device;<p>can be specified within the following range: <code>0.5-3</code>;<p>by default, the parameter is set to:<p><code>1</code> for <code>desktop</code>;<p><code>3</code> for <code>mobile</code> on <code>android</code>;<p><code>3</code> for <code>mobile</code> on <code>iOS</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "browser_screen_width": {
        +        "description": "<p><em>browser screen width</em><p>optional field<p>you can set a custom browser screen width to calculate pixel rankings for a particular device;<p>can be specified within the following range: <code>240-9999</code>;<p>by default, the parameter is set to:<p><code>1920</code> for <code>desktop</code>;<p><code>360</code> for <code>mobile</code> on <code>android</code>;<p><code>375</code> for <code>mobile</code> on <code>iOS</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
        +        "format": "int64",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "calculate_rectangles": {
        +        "description": "<p><em>calculate pixel rankings for SERP elements in advanced results</em><p>optional field<p>pixel ranking refers to the distance between the result snippet and top left corner of the screen;<p><a href=\"https://dataforseo.com/help-center/pixel-ranking-in-serp-api\">Visit Help Center to learn more&gt;&gt;</a><p>by default, the parameter is set to <code>false</code><p><strong>Note:</strong> if set to <code>true</code>, the charge per task will be multiplied by 2</p>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "device": {
        +        "description": "<p><em>device type</em><p>optional field<p>return results for a specific device type<p>can take the values:<code>desktop</code>, <code>mobile</code><p>default value: <code>desktop</code></p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "keyword": {
        +        "description": "<p><em>keyword</em><p><strong>required field</strong><p>you can specify <strong>up to 700 characters</strong> in the <code>keyword</code> field<p>all %## will be decoded (plus character ‘+’ will be decoded to a space character)<p>if you need to use the “%” character for your <code>keyword</code>, please specify it as “%25”;<p>if you need to use the “+” character for your <code>keyword</code>, please specify it as “%2B”</p><br><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a></p>",
        +        "type": "string"
        +      },
        +      "language_code": {
        +        "description": "<p><em>search engine language code</em><p>required field if you don't specify <code>language_name</code>;<p>if you use this field, you don't need to specify <code>language_name</code>;<p>you can receive the list of available languages of the search engine with their <code>language_code</code>&nbsp;by making a separate request to the <code>https://api.dataforseo.com/v3/serp/google/ai_mode/languages</code></p>",
        +        "type": "string"
        +      },
        +      "language_name": {
        +        "description": "<p><em>full name of search engine language</em><p>required field if you don't specify <code>language_code</code>;<p>if you use this field, you don't need to specify <code>language_code</code>;<p>you can receive the list of available languages of the search engine with their <code>language_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/google/ai_mode/languages</code>;</p>",
        +        "type": "string"
        +      },
        +      "location_code": {
        +        "description": "<p><em>search engine location code</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/google/locations</code><p><strong>Note:</strong> check <a href=\"https://support.google.com/websearch/answer/16011537?hl=en&amp;co=GENIE.Platform%3DAndroid#\" target=\"_blank\"> Google Search Help</a> for the list of countries where AI Mode is currently available</p>",
        +        "type": "integer"
        +      },
        +      "location_coordinate": {
        +        "description": "<p><em>GPS coordinates of a location</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_code</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_code</code></strong><p><code>location_coordinate</code> parameter should be specified in the <em>\"latitude,longitude,zoom\"</em> format<p>if <em>\"zoom\"</em> is not specified, <em>9z</em> will be applied as a default value<p>the maximum number of decimal digits for <em>\"latitude\"</em> and <em>\"longitude\"</em>: 7<p>the minimum value for <em>\"zoom\"</em>: 4z<p>the maximum value for <em>\"zoom\"</em>: 18z<p>example:<p><code class=\"long-string\">52.6178549,-155.352142,18z</code></p>",
        +        "type": "string"
        +      },
        +      "location_name": {
        +        "description": "<p><em>full name of search engine location</em><p><strong>required field if you don't specify</strong> <code>location_code</code> or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_code</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/google/locations</code><p><strong>Note:</strong> check <a href=\"https://support.google.com/websearch/answer/16011537?hl=en&amp;co=GENIE.Platform%3DAndroid#\" target=\"_blank\"> Google Search Help</a> for the list of countries where AI Mode is currently available</p>",
        +        "type": "string"
        +      },
        +      "os": {
        +        "description": "<p><em>device operating system</em><p>optional field<p>if you specify <code>desktop</code> in the <code>device</code> field, choose from the following values: <code>windows</code>, <code>macos</code><p>default value: <code>windows</code><p>if you specify <code>mobile</code> in the <code>device</code> field, choose from the following values: <code>android</code>, <code>ios</code><p>default value: <code>android</code></p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<p><em>user-defined task identifier</em><p>optional field<p><em>the character limit is 255</em><p>you can use this parameter to identify the task and match it with the result<p>you will find the specified <code>tag</code> value in the <code>data</code> object of the response</p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_serp_google_autocomplete_live1 field changed
      • changedInput schema / properties / body / items / oneOf
        Previous value: -[
        -  {
        -    "example": [
        -      {
        -        "client": "gws-wiz-serp",
        -        "keyword": "albert einstein",
        -        "language_code": "en",
        -        "location_code": 2840
        -      }
        -    ],
        -    "properties": {
        -      "client": {
        -        "description": "<p><em>search client for autocomplete</em><p>optional field<p>autocomplete results may differ depending on the search client;<p>possible values:<p><code>chrome</code> — used when google search is opened in google chrome;<p><code>chrome-omni</code> — used in the address bar in chrome;<p><code>gws-wiz</code> — used in google search home page;<p><code>gws-wiz-serp</code> — used in google search engine results page;<p><code>safari</code> — used when google search is opened in safari browser;<p><code>firefox</code> — used when google search is opened in firefox browser;<p><code>psy-ab</code> — may be used when google search is opened in google chrome browser;<p><code>toolbar</code> — returns XML;<p><code>youtube</code> — returns JSONP;<p><code>gws-wiz-local</code> — used in google local;<p><code>img</code> — used in google's image search;<p><code>products-cc</code> — used in google shopping search</p>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "cursor_pointer": {
        -        "description": "<p><em>search bar cursor pointer</em><p>optional field<p>the horizontal numerical position of the cursor pointer within the keyword in the search bar;<p>by modifying the position of the cursor pointer, you will obtain different autocomplete suggestions for the same seed keyword;<p>minimal value: <code>0</code><p>default value: the number of the last character of the specified <code>keyword</code><p>example:<p><code>|which query are s</code> - <code>\"cursor_pointer\": 0</code><p><code>which query is s|</code> - <code>\"cursor_pointer\": 16</code><p><code>which que|ry is s</code> - <code>\"cursor_pointer\": 9</code></p>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "keyword": {
        -        "description": "<p><em>keyword</em><p><strong>required field</strong><p>you can specify <strong>up to 700 characters</strong> in the <code>keyword</code> field<p>all %## will be decoded (plus character ‘+’ will be decoded to a space character)<p>if you need to use the “%” character for your <code>keyword</code>, please specify it as “%25”;<p>if you need to use the “+” character for your <code>keyword</code>, please specify it as “%2B”;</p><br><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a></p>",
        -        "type": "string"
        -      },
        -      "language_code": {
        -        "description": "<p><em>search engine language code</em><p><strong>required field if you don't specify</strong> <code>language_name</code><p><strong>if you use this field, you don't need to specify <code>language_name</code></strong>;<p>you can receive the list of available languages of the search engine with their <code>language_code</code>&nbsp;by making a separate request to the <code>https://api.dataforseo.com/v3/serp/google/languages</code><em><p></em>example:<em><p></em><code class=\"long-string\">en</code></p>",
        -        "type": "string"
        -      },
        -      "language_name": {
        -        "description": "<p><em>full name of search engine language</em><p><strong>required field if you don't specify</strong> <code>language_code</code><p><strong>if you use this field, you don't need to specify <code>language_code</code></strong>;<p>you can receive the list of available languages of the search engine with their <code>language_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/serp/google/languages</code><p>example:<p><code class=\"long-string\">English</code></p>",
        -        "type": "string"
        -      },
        -      "location_code": {
        -        "description": "<p><em>search engine location code</em><p><strong>required field if you don't specify</strong> <code>location_name</code>;<p>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to <code>https://api.dataforseo.com/v3/serp/google/locations</code><p>example:<p><code class=\"long-string\">2840</code></p>",
        -        "type": "integer"
        -      },
        -      "location_name": {
        -        "description": "<p><em>full name of search engine location</em><p><strong>required field if you don't specify</strong> <code>location_code</code><p><strong>if you use this field, you don't need to specify <code>location_code</code></strong>;<p>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/serp/google/autocomplete/locations</code><p>example:<p><code class=\"long-string\">London,England,United Kingdom</code></p>",
        -        "type": "string"
        -      },
        -      "tag": {
        -        "description": "<p><em>user-defined task identifier</em><p>optional field<p><em>the character limit is 255</em><p>you can use this parameter to identify the task and match it with the result<p>you will find the specified <code>tag</code> value in the <code>data</code> object of the response</p>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "properties": {
        +      "client": {
        +        "description": "<p><em>search client for autocomplete</em><p>optional field<p>autocomplete results may differ depending on the search client;<p>possible values:<p><code>chrome</code> — used when google search is opened in google chrome;<p><code>chrome-omni</code> — used in the address bar in chrome;<p><code>gws-wiz</code> — used in google search home page;<p><code>gws-wiz-serp</code> — used in google search engine results page;<p><code>safari</code> — used when google search is opened in safari browser;<p><code>firefox</code> — used when google search is opened in firefox browser;<p><code>psy-ab</code> — may be used when google search is opened in google chrome browser;<p><code>toolbar</code> — returns XML;<p><code>youtube</code> — returns JSONP;<p><code>gws-wiz-local</code> — used in google local;<p><code>img</code> — used in google's image search;<p><code>products-cc</code> — used in google shopping search</p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "cursor_pointer": {
        +        "description": "<p><em>search bar cursor pointer</em><p>optional field<p>the horizontal numerical position of the cursor pointer within the keyword in the search bar;<p>by modifying the position of the cursor pointer, you will obtain different autocomplete suggestions for the same seed keyword;<p>minimal value: <code>0</code><p>default value: the number of the last character of the specified <code>keyword</code><p>example:<p><code>|which query are s</code> - <code>\"cursor_pointer\": 0</code><p><code>which query is s|</code> - <code>\"cursor_pointer\": 16</code><p><code>which que|ry is s</code> - <code>\"cursor_pointer\": 9</code></p>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "keyword": {
        +        "description": "<p><em>keyword</em><p><strong>required field</strong><p>you can specify <strong>up to 700 characters</strong> in the <code>keyword</code> field<p>all %## will be decoded (plus character ‘+’ will be decoded to a space character)<p>if you need to use the “%” character for your <code>keyword</code>, please specify it as “%25”;<p>if you need to use the “+” character for your <code>keyword</code>, please specify it as “%2B”;</p><br><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a></p>",
        +        "type": "string"
        +      },
        +      "language_code": {
        +        "description": "<p><em>search engine language code</em><p><strong>required field if you don't specify</strong> <code>language_name</code><p><strong>if you use this field, you don't need to specify <code>language_name</code></strong>;<p>you can receive the list of available languages of the search engine with their <code>language_code</code>&nbsp;by making a separate request to the <code>https://api.dataforseo.com/v3/serp/google/languages</code><em><p></em>example:<em><p></em><code class=\"long-string\">en</code></p>",
        +        "type": "string"
        +      },
        +      "language_name": {
        +        "description": "<p><em>full name of search engine language</em><p><strong>required field if you don't specify</strong> <code>language_code</code><p><strong>if you use this field, you don't need to specify <code>language_code</code></strong>;<p>you can receive the list of available languages of the search engine with their <code>language_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/serp/google/languages</code><p>example:<p><code class=\"long-string\">English</code></p>",
        +        "type": "string"
        +      },
        +      "location_code": {
        +        "description": "<p><em>search engine location code</em><p><strong>required field if you don't specify</strong> <code>location_name</code>;<p>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to <code>https://api.dataforseo.com/v3/serp/google/locations</code><p>example:<p><code class=\"long-string\">2840</code></p>",
        +        "type": "integer"
        +      },
        +      "location_name": {
        +        "description": "<p><em>full name of search engine location</em><p><strong>required field if you don't specify</strong> <code>location_code</code><p><strong>if you use this field, you don't need to specify <code>location_code</code></strong>;<p>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/serp/google/autocomplete/locations</code><p>example:<p><code class=\"long-string\">London,England,United Kingdom</code></p>",
        +        "type": "string"
        +      },
        +      "tag": {
        +        "description": "<p><em>user-defined task identifier</em><p>optional field<p><em>the character limit is 255</em><p>you can use this parameter to identify the task and match it with the result<p>you will find the specified <code>tag</code> value in the <code>data</code> object of the response</p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_serp_google_local_finder_live1 field changed
      • changedInput schema / properties / body / items / oneOf
        Previous value: -[
        -  {
        -    "example": [
        -      {
        -        "keyword": "local nail services",
        -        "language_code": "en",
        -        "location_code": 2840
        -      }
        -    ],
        -    "properties": {
        -      "depth": {
        -        "description": "<p><em>parsing depth</em><p>optional field<p>number of results in SERP<br><p>default value: <code>10</code><p>max value: <code>100</code></p><br><strong>Your account will be billed per each SERP containing up to 10 results;</strong><p>Setting depth above 10 may result in additional charges if the search engine returns more than 10 results respectively;<p>If the specified depth is higher than the number of results in the response, the difference will be refunded to your account balance automatically<p>The cost can be calculated on the <a title=\"Pricing\" href=\"https://dataforseo.com/pricing/serp/google-local-finder-serp-api\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page.",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "device": {
        -        "description": "<p><em>device type</em><p>optional field<p>return results for a specific device type<p>can take the values:<code>desktop</code>, <code>mobile</code><p>default value: <code>desktop</code></p>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "keyword": {
        -        "description": "<p><em>keyword</em><p><strong>required field</strong><p>you can specify <strong>up to 700 characters</strong> in the <code>keyword</code> field<p>all %## will be decoded (plus character ‘+’ will be decoded to a space character)<p>if you need to use the “%” character for your <code>keyword</code>, please specify it as “%25”;<p>if you need to use the “+” character for your <code>keyword</code>, please specify it as “%2B”</p><br><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a></p>",
        -        "type": "string"
        -      },
        -      "language_code": {
        -        "description": "<p><em>search engine language code</em><p><strong>required field if you don't specify</strong> <code>language_name</code><p><strong>if you use this field, you don't need to specify <code>language_name</code></strong><p>you can receive the list of available languages of the search engine with their <code>language_code</code>&nbsp;by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages</code><p>example:<code class=\"long-string\">en</code></p>",
        -        "type": "string"
        -      },
        -      "language_name": {
        -        "description": "<p><em>full name of search engine language</em><p><strong>required field if you don't specify</strong> <code>language_code</code><p><strong>if you use this field, you don't need to specify <code>language_code</code></strong><p>you can receive the list of available languages of the search engine with their <code>language_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages</code><p>example:<p><code class=\"long-string\">English</code></p>",
        -        "type": "string"
        -      },
        -      "location_code": {
        -        "description": "<p><em>search engine location code</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations</code><p>example:<p><code class=\"long-string\">2840</code></p>",
        -        "type": "integer"
        -      },
        -      "location_coordinate": {
        -        "description": "<p><em>GPS coordinates of a location</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_code</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_code</code></strong><p><code>location_coordinate</code> parameter should be specified in the <em>\"latitude,longitude,zoom\"</em> format<p>if <em>\"zoom\"</em> is not specified, <em>9z</em> will be applied as a default value<p>the maximum number of decimal digits for <em>\"latitude\"</em> and <em>\"longitude\"</em>: 7<p>the minimum value for <em>\"zoom\"</em>: 4z<p>the maximum value for <em>\"zoom\"</em>: 18z<p>example:<p><code class=\"long-string\">52.6178549,-155.352142,20z</code></p>",
        -        "type": "string"
        -      },
        -      "location_name": {
        -        "description": "<p><em>full name of search engine location</em><p><strong>required field if you don't specify</strong> <code>location_code</code> or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_code</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations</code><p>example:<p><code class=\"long-string\">London,England,United Kingdom</code></p>",
        -        "type": "string"
        -      },
        -      "os": {
        -        "description": "<p><em>device operating system</em><p>optional field<p>if you specify <code>desktop</code> in the <code>device</code> field, choose from the following values: <code>windows</code>, <code>macos</code><p>default value: <code>windows</code><p>if you specify <code>mobile</code> in the <code>device</code> field, choose from the following values: <code>android</code>, <code>ios</code><p>default value: <code>android</code></p>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "priority": {
        -        "description": "<p><em>task priority</em><p>optional field<p>can take the following values:<p>1 – normal execution priority (set by default)<p>2 – high execution priority</p><br>You will be additionally charged for the tasks with high execution priority.<p>The cost can be calculated on the <a title=\"Pricing\" href=\"https://dataforseo.com/pricing/serp/google-local-finder-serp-api\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page.",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<p><em>user-defined task identifier</em><p>optional field<p><em>the character limit is 255</em><p>you can use this parameter to identify the task and match it with the result<p>you will find the specified <code>tag</code> value in the <code>data</code> object of the response</p>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "properties": {
        +      "depth": {
        +        "description": "<p><em>parsing depth</em><p>optional field<p>number of results in SERP<br><p>default value: <code>10</code><p>max value: <code>100</code></p><br><strong>Your account will be billed per each SERP containing up to 10 results;</strong><p>Setting depth above 10 may result in additional charges if the search engine returns more than 10 results respectively;<p>If the specified depth is higher than the number of results in the response, the difference will be refunded to your account balance automatically<p>The cost can be calculated on the <a title=\"Pricing\" href=\"https://dataforseo.com/pricing/serp/google-local-finder-serp-api\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page.",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "device": {
        +        "description": "<p><em>device type</em><p>optional field<p>return results for a specific device type<p>can take the values:<code>desktop</code>, <code>mobile</code><p>default value: <code>desktop</code></p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "keyword": {
        +        "description": "<p><em>keyword</em><p><strong>required field</strong><p>you can specify <strong>up to 700 characters</strong> in the <code>keyword</code> field<p>all %## will be decoded (plus character ‘+’ will be decoded to a space character)<p>if you need to use the “%” character for your <code>keyword</code>, please specify it as “%25”;<p>if you need to use the “+” character for your <code>keyword</code>, please specify it as “%2B”</p><br><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a></p>",
        +        "type": "string"
        +      },
        +      "language_code": {
        +        "description": "<p><em>search engine language code</em><p><strong>required field if you don't specify</strong> <code>language_name</code><p><strong>if you use this field, you don't need to specify <code>language_name</code></strong><p>you can receive the list of available languages of the search engine with their <code>language_code</code>&nbsp;by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages</code><p>example:<code class=\"long-string\">en</code></p>",
        +        "type": "string"
        +      },
        +      "language_name": {
        +        "description": "<p><em>full name of search engine language</em><p><strong>required field if you don't specify</strong> <code>language_code</code><p><strong>if you use this field, you don't need to specify <code>language_code</code></strong><p>you can receive the list of available languages of the search engine with their <code>language_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages</code><p>example:<p><code class=\"long-string\">English</code></p>",
        +        "type": "string"
        +      },
        +      "location_code": {
        +        "description": "<p><em>search engine location code</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations</code><p>example:<p><code class=\"long-string\">2840</code></p>",
        +        "type": "integer"
        +      },
        +      "location_coordinate": {
        +        "description": "<p><em>GPS coordinates of a location</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_code</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_code</code></strong><p><code>location_coordinate</code> parameter should be specified in the <em>\"latitude,longitude,zoom\"</em> format<p>if <em>\"zoom\"</em> is not specified, <em>9z</em> will be applied as a default value<p>the maximum number of decimal digits for <em>\"latitude\"</em> and <em>\"longitude\"</em>: 7<p>the minimum value for <em>\"zoom\"</em>: 4z<p>the maximum value for <em>\"zoom\"</em>: 18z<p>example:<p><code class=\"long-string\">52.6178549,-155.352142,20z</code></p>",
        +        "type": "string"
        +      },
        +      "location_name": {
        +        "description": "<p><em>full name of search engine location</em><p><strong>required field if you don't specify</strong> <code>location_code</code> or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_code</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations</code><p>example:<p><code class=\"long-string\">London,England,United Kingdom</code></p>",
        +        "type": "string"
        +      },
        +      "os": {
        +        "description": "<p><em>device operating system</em><p>optional field<p>if you specify <code>desktop</code> in the <code>device</code> field, choose from the following values: <code>windows</code>, <code>macos</code><p>default value: <code>windows</code><p>if you specify <code>mobile</code> in the <code>device</code> field, choose from the following values: <code>android</code>, <code>ios</code><p>default value: <code>android</code></p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "priority": {
        +        "description": "<p><em>task priority</em><p>optional field<p>can take the following values:<p>1 – normal execution priority (set by default)<p>2 – high execution priority</p><br>You will be additionally charged for the tasks with high execution priority.<p>The cost can be calculated on the <a title=\"Pricing\" href=\"https://dataforseo.com/pricing/serp/google-local-finder-serp-api\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page.",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<p><em>user-defined task identifier</em><p>optional field<p><em>the character limit is 255</em><p>you can use this parameter to identify the task and match it with the result<p>you will find the specified <code>tag</code> value in the <code>data</code> object of the response</p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_serp_google_maps_live1 field changed
      • changedInput schema / properties / body / items / oneOf
        Previous value: -[
        -  {
        -    "example": [
        -      {
        -        "keyword": "albert einstein",
        -        "language_code": "en",
        -        "location_code": 2840
        -      }
        -    ],
        -    "properties": {
        -      "depth": {
        -        "description": "<p><em>parsing depth</em><p>optional field<p>number of results in SERP<p>default value: <code>100</code><p>max value: <code>700</code></p><br><strong>Your account will be billed per each SERP containing up to 100 results;</strong><p>Setting depth above 100 may result in additional charges <a href=\"https://dataforseo.com/help-center/how-many-results-scraped\" rel=\"noopener noreferrer\" target=\"_blank\">if the search engine returns more than 100 results</a>;<p>The cost can be calculated on the <a title=\"Pricing\" href=\"https://dataforseo.com/pricing/serp/google-maps-serp-api\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page.",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "device": {
        -        "description": "<p><em>device type</em><p>optional field<p>return results for a specific device type<p>can take the values:<code>desktop</code>, <code>mobile</code><p>default value: <code>desktop</code><p><strong>note:</strong> for <code>mobile</code> device, only 20 results are returned for every SERP</p>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "keyword": {
        -        "description": "<p><em>keyword</em><p><strong>required field</strong><p>you can specify <strong>up to 700 characters</strong> in the <code>keyword</code> field<p>all %## will be decoded (plus character '+' will be decoded to a space character)<p>if you need to use the \"%\" character for your <code>keyword</code>, please specify it as \"%25\";<p>if you need to use the “+” character for your <code>keyword</code>, please specify it as “%2B”;<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a></p>",
        -        "type": "string"
        -      },
        -      "language_code": {
        -        "description": "<p><em>search engine language code</em><p><strong>required field if you don't specify</strong> <code>language_name</code><p><strong>if you use this field, you don't need to specify <code>language_name</code></strong><p>you can receive the list of available languages of the search engine with their <code>language_code</code>&nbsp;by making a separate request to the <code>https://api.dataforseo.com/v3/serp/google/languages</code><em><p></em>example:<em><p></em><code class=\"long-string\">en</code></p>",
        -        "type": "string"
        -      },
        -      "language_name": {
        -        "description": "<p><em>full name of search engine language</em><p><strong>required field if you don't specify</strong> <code>language_code</code><p><strong>if you use this field, you don't need to specify <code>language_code</code></strong><p>you can receive the list of available languages  of the search engine with their <code>language_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/google/languages</code><p>example:<p><code class=\"long-string\">English</code></p>",
        -        "type": "string"
        -      },
        -      "location_code": {
        -        "description": "<p><em>search engine location code</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/google/locations</code><p>example:<p><code class=\"long-string\">2840</code></p>",
        -        "type": "integer"
        -      },
        -      "location_coordinate": {
        -        "description": "<p><em>GPS coordinates of a location</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_code</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_code</code></strong><p><code>location_coordinate</code> parameter should be specified in the <em>\"latitude,longitude,zoom\"</em> format<p>if <em>\"zoom\"</em> is not specified, <em>17z</em> will be applied as a default value<p>the maximum number of decimal digits for <em>\"latitude\"</em> and <em>\"longitude\"</em>: 7<p>the minimum value for <em>\"zoom\"</em>: 3z<p>the maximum value for <em>\"zoom\"</em>: 21z<p>example:<p><code class=\"long-string\">52.6178549,-155.352142,20z</code></p>",
        -        "type": "string"
        -      },
        -      "location_name": {
        -        "description": "<p><em>full name of search engine location</em><p><strong>required field if you don't specify</strong> <code>location_code</code> or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_code</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/google/locations</code><p>example:<p><code class=\"long-string\">London,England,United Kingdom</code></p>",
        -        "type": "string"
        -      },
        -      "max_crawl_pages": {
        -        "description": "<p><em>page crawl limit</em><p>optional field<p>number of search results pages to crawl<p>max value: <code>100</code><p><strong>Note:</strong> the <code>max_crawl_pages</code> and <code>depth</code> parameters complement each other;<p>learn more at <a href=\"https://dataforseo.com/help-center/what-is-max-crawl-pages-and-how-does-it-work\" rel=\"noopener noreferrer\" target=\"_blank\">our help center</a></p>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "os": {
        -        "description": "<p><em>device operating system</em><p>optional field<p>if you specify <code>desktop</code> in the <code>device</code> field, choose from the following values: <code>windows</code>, <code>macos</code><p>default value: <code>windows</code><p>if you specify <code>mobile</code> in the <code>device</code> field, choose from the following values: <code>android</code>, <code>ios</code><p>default value: <code>android</code></p>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "se_domain": {
        -        "description": "<p><em>search engine domain</em><p>optional field<p>we choose the relevant search engine domain automatically according to the location and language you specify<p>however, you can set a custom search engine domain in this field<p>example:<p><code><em>google.co.uk</em></code>, <code><em>google.com.au</em></code>, <code><em>google.de</em></code>, etc.</p>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "search_places": {
        -        "description": "<p><em>search places mode</em><p>optional field<p>the search places mode allows to obtain Google Maps results on a certain place (e.g., Apple Store in New York)<p>however, due to the pecularities of our data mining algorithm, this mode might interfere with some local-intent queries - and display results for a location that is different from that specified in the request;<p>to prevent this interference and obtain correct results for keywords with local intent you may set this parameter to <code>false</code>;</p><br><p>default value: <code>true</code><p><strong>Note:</strong> if the <code>search_places</code> mode is turned off and no results were found in the search area, the <code>results</code> array will be empty</p>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "search_this_area": {
        -        "description": "<p><em>show results from the displayed area</em><p>optional field<p>can take the values:<code>true</code>, <code>false</code><p>default value: <code>true</code></p><br><p>if set to <code>false</code>, the <code>search_this_area</code> mode will be turned off</p><br><p><strong>Note:</strong> if the <code>search_this_area</code> mode is turned off, Google Maps listings might contain results beyond the displayed area</p>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<p><em>user-defined task identifier</em><p>optional field<p><em>the character limit is 255</em><p>you can use this parameter to identify the task and match it with the result<p>you will find the specified <code>tag</code> value in the <code>data</code> object of the response</p>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "url": {
        -        "description": "<p><em>direct URL of the search query</em><p>optional field<p>you can specify a direct URL and we will sort it out to the necessary fields. Note that this method is the most difficult for our API to process and also requires you to specify the exact language and location in the URL. In most cases, we wouldn’t recommend using this method.<p>example:<p><code class=\"long-string\">https://google.com/maps/search/pizza/@37.09024,-95.712891,4z</code></p><br><strong>Note:</strong> the following search engine parameters are not supported and will be automatically unset if specified in the URL: <code>allinanchor:</code>, <code>allintext:</code>, <code>allintitle:</code>, <code>allinurl:</code>, <code>cache:</code>, <code>define:</code>, <code>definition:</code>, <code>filetype:</code>, <code>id:</code>, <code>inanchor:</code>, <code>info:</code>, <code>intext:</code>, <code>intitle:</code>, <code>inurl:</code>, <code>link:</code>, <code>site:</code>.",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "properties": {
        +      "depth": {
        +        "description": "<p><em>parsing depth</em><p>optional field<p>number of results in SERP<p>default value: <code>100</code><p>max value: <code>700</code></p><br><strong>Your account will be billed per each SERP containing up to 100 results;</strong><p>Setting depth above 100 may result in additional charges <a href=\"https://dataforseo.com/help-center/how-many-results-scraped\" rel=\"noopener noreferrer\" target=\"_blank\">if the search engine returns more than 100 results</a>;<p>The cost can be calculated on the <a title=\"Pricing\" href=\"https://dataforseo.com/pricing/serp/google-maps-serp-api\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page.",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "device": {
        +        "description": "<p><em>device type</em><p>optional field<p>return results for a specific device type<p>can take the values:<code>desktop</code>, <code>mobile</code><p>default value: <code>desktop</code><p><strong>note:</strong> for <code>mobile</code> device, only 20 results are returned for every SERP</p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "keyword": {
        +        "description": "<p><em>keyword</em><p><strong>required field</strong><p>you can specify <strong>up to 700 characters</strong> in the <code>keyword</code> field<p>all %## will be decoded (plus character '+' will be decoded to a space character)<p>if you need to use the \"%\" character for your <code>keyword</code>, please specify it as \"%25\";<p>if you need to use the “+” character for your <code>keyword</code>, please specify it as “%2B”;<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a></p>",
        +        "type": "string"
        +      },
        +      "language_code": {
        +        "description": "<p><em>search engine language code</em><p><strong>required field if you don't specify</strong> <code>language_name</code><p><strong>if you use this field, you don't need to specify <code>language_name</code></strong><p>you can receive the list of available languages of the search engine with their <code>language_code</code>&nbsp;by making a separate request to the <code>https://api.dataforseo.com/v3/serp/google/languages</code><em><p></em>example:<em><p></em><code class=\"long-string\">en</code></p>",
        +        "type": "string"
        +      },
        +      "language_name": {
        +        "description": "<p><em>full name of search engine language</em><p><strong>required field if you don't specify</strong> <code>language_code</code><p><strong>if you use this field, you don't need to specify <code>language_code</code></strong><p>you can receive the list of available languages  of the search engine with their <code>language_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/google/languages</code><p>example:<p><code class=\"long-string\">English</code></p>",
        +        "type": "string"
        +      },
        +      "location_code": {
        +        "description": "<p><em>search engine location code</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/google/locations</code><p>example:<p><code class=\"long-string\">2840</code></p>",
        +        "type": "integer"
        +      },
        +      "location_coordinate": {
        +        "description": "<p><em>GPS coordinates of a location</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_code</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_code</code></strong><p><code>location_coordinate</code> parameter should be specified in the <em>\"latitude,longitude,zoom\"</em> format<p>if <em>\"zoom\"</em> is not specified, <em>17z</em> will be applied as a default value<p>the maximum number of decimal digits for <em>\"latitude\"</em> and <em>\"longitude\"</em>: 7<p>the minimum value for <em>\"zoom\"</em>: 3z<p>the maximum value for <em>\"zoom\"</em>: 21z<p>example:<p><code class=\"long-string\">52.6178549,-155.352142,20z</code></p>",
        +        "type": "string"
        +      },
        +      "location_name": {
        +        "description": "<p><em>full name of search engine location</em><p><strong>required field if you don't specify</strong> <code>location_code</code> or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_code</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/google/locations</code><p>example:<p><code class=\"long-string\">London,England,United Kingdom</code></p>",
        +        "type": "string"
        +      },
        +      "max_crawl_pages": {
        +        "description": "<p><em>page crawl limit</em><p>optional field<p>number of search results pages to crawl<p>max value: <code>100</code><p><strong>Note:</strong> the <code>max_crawl_pages</code> and <code>depth</code> parameters complement each other;<p>learn more at <a href=\"https://dataforseo.com/help-center/what-is-max-crawl-pages-and-how-does-it-work\" rel=\"noopener noreferrer\" target=\"_blank\">our help center</a></p>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "os": {
        +        "description": "<p><em>device operating system</em><p>optional field<p>if you specify <code>desktop</code> in the <code>device</code> field, choose from the following values: <code>windows</code>, <code>macos</code><p>default value: <code>windows</code><p>if you specify <code>mobile</code> in the <code>device</code> field, choose from the following values: <code>android</code>, <code>ios</code><p>default value: <code>android</code></p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "se_domain": {
        +        "description": "<p><em>search engine domain</em><p>optional field<p>we choose the relevant search engine domain automatically according to the location and language you specify<p>however, you can set a custom search engine domain in this field<p>example:<p><code><em>google.co.uk</em></code>, <code><em>google.com.au</em></code>, <code><em>google.de</em></code>, etc.</p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "search_places": {
        +        "description": "<p><em>search places mode</em><p>optional field<p>the search places mode allows to obtain Google Maps results on a certain place (e.g., Apple Store in New York)<p>however, due to the pecularities of our data mining algorithm, this mode might interfere with some local-intent queries - and display results for a location that is different from that specified in the request;<p>to prevent this interference and obtain correct results for keywords with local intent you may set this parameter to <code>false</code>;</p><br><p>default value: <code>true</code><p><strong>Note:</strong> if the <code>search_places</code> mode is turned off and no results were found in the search area, the <code>results</code> array will be empty</p>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "search_this_area": {
        +        "description": "<p><em>show results from the displayed area</em><p>optional field<p>can take the values:<code>true</code>, <code>false</code><p>default value: <code>true</code></p><br><p>if set to <code>false</code>, the <code>search_this_area</code> mode will be turned off</p><br><p><strong>Note:</strong> if the <code>search_this_area</code> mode is turned off, Google Maps listings might contain results beyond the displayed area</p>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<p><em>user-defined task identifier</em><p>optional field<p><em>the character limit is 255</em><p>you can use this parameter to identify the task and match it with the result<p>you will find the specified <code>tag</code> value in the <code>data</code> object of the response</p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "url": {
        +        "description": "<p><em>direct URL of the search query</em><p>optional field<p>you can specify a direct URL and we will sort it out to the necessary fields. Note that this method is the most difficult for our API to process and also requires you to specify the exact language and location in the URL. In most cases, we wouldn’t recommend using this method.<p>example:<p><code class=\"long-string\">https://google.com/maps/search/pizza/@37.09024,-95.712891,4z</code></p><br><strong>Note:</strong> the following search engine parameters are not supported and will be automatically unset if specified in the URL: <code>allinanchor:</code>, <code>allintext:</code>, <code>allintitle:</code>, <code>allinurl:</code>, <code>cache:</code>, <code>define:</code>, <code>definition:</code>, <code>filetype:</code>, <code>id:</code>, <code>inanchor:</code>, <code>info:</code>, <code>intext:</code>, <code>intitle:</code>, <code>inurl:</code>, <code>link:</code>, <code>site:</code>.",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_serp_google_news_live1 field changed
      • changedInput schema / properties / body / items / oneOf
        Previous value: -[
        -  {
        -    "example": [
        -      {
        -        "keyword": "android",
        -        "language_code": "en",
        -        "location_code": 2840
        -      }
        -    ],
        -    "properties": {
        -      "browser_screen_height": {
        -        "description": "<p><em>browser screen height</em><p>optional field<p>you can set a custom browser screen height to calculate pixel rankings for a particular device;<p>by default, the parameter is set to <code>1080</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "browser_screen_resolution_ratio": {
        -        "description": "<p><em>browser screen resolution ratio</em><p>optional field<p>you can set a custom browser screen resolution ratio to calculate pixel rankings for a particular device;<p>by default, the parameter is set to <code>1</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "browser_screen_width": {
        -        "description": "<p><em>browser screen width</em><p>optional field<p>you can set a custom browser screen width to calculate pixel rankings for a particular device;<p>by default, the parameter is set to <code>1920</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
        -        "format": "int64",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "calculate_rectangles": {
        -        "description": "<p><em>calculate pixel rankings for SERP elements in advanced results</em><p>optional field<p>pixel ranking refers to the distance between the result snippet and top left corner of the screen;<p><a href=\"https://dataforseo.com/help-center/pixel-ranking-in-serp-api\">Visit Help Center to learn more&gt;&gt;</a><p>by default, the parameter is set to <code>false</code><p><strong>Note:</strong> if set to <code>true</code>, the charge per task will be multiplied by 2</p>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "depth": {
        -        "description": "<p><em>parsing depth</em><p>optional field<p>number of results in SERP<p>default value: <code>10</code><p>max value: <code>200</code></p><br><strong>Your account will be billed per each SERP containing up to 10 results;</strong><p>Setting depth above 10 may result in additional charges if the search engine returns more than 10 results;<p>If the specified depth is higher than the number of results in the response, the difference will be refunded to your account balance automatically<p>The cost can be calculated on the <a title=\"Pricing\" href=\"https://dataforseo.com/pricing/serp/google-news-serp-api\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page.",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "keyword": {
        -        "description": "<p><em>keyword</em><p><strong>required field</strong><p>you can specify <strong>up to 700 characters</strong> in the <code>keyword</code> field<p>all %## will be decoded (plus character '+' will be decoded to a space character)<p>if you need to use the \"%\" character for your <code>keyword</code>, please specify it as \"%25\";<p>if you need to use the “+” character for your <code>keyword</code>, please specify it as “%2B”;<p>if this field contains such parameters as <em>'allinanchor:', 'allintext:', 'allintitle:', 'allinurl:', 'define:', 'filetype:', 'id:', 'inanchor:', 'info:', 'intext:', 'intitle:', 'inurl:', 'link:', 'related:', 'site:'</em>, <strong>the charge per task will be multiplied by 5</strong><p><strong>Note:</strong> queries containing the ‘cache:’ parameter are not supported and will return a validation error</p><br><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a></p>",
        -        "type": "string"
        -      },
        -      "language_code": {
        -        "description": "<p><em>search engine language code</em><p><strong>required field if you don't specify</strong> <code>language_name</code><p><strong>if you use this field, you don't need to specify <code>language_name</code></strong><p>you can receive the list of available languages of the search engine with their <code>language_code</code>&nbsp;by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages</code><em><p></em>example:<em><p></em><code class=\"long-string\">en</code></p>",
        -        "type": "string"
        -      },
        -      "language_name": {
        -        "description": "<p><em>full name of search engine language</em><p><strong>required field if you don't specify</strong> <code>language_code</code><p><strong>if you use this field, you don't need to specify <code>language_code</code></strong><p>you can receive the list of available languages of the search engine with their <code>language_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages</code><p>example:<p><code class=\"long-string\">English</code></p>",
        -        "type": "string"
        -      },
        -      "location_code": {
        -        "description": "<p><em>search engine location code</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations</code><p>example:<p><code class=\"long-string\">2840</code></p>",
        -        "type": "integer"
        -      },
        -      "location_coordinate": {
        -        "description": "<p><em>GPS coordinates of a location</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_code</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_code</code></strong><p><code>location_coordinate</code> parameter should be specified in the <em>\"latitude,longitude,radius\"</em> format<p>the maximum number of decimal digits for <em>\"latitude\"</em> and <em>\"longitude\"</em>: 7<p>the minimum value for <em>\"radius\"</em>: 199.9 (mm)<p>the maximum value for <em>\"radius\"</em>: 199999 (mm)<p>example:<p><code class=\"long-string\">53.476225,-2.243572,200</code></p>",
        -        "type": "string"
        -      },
        -      "location_name": {
        -        "description": "<p><em>full name of search engine location</em><p><strong>required field if you don't specify</strong> <code>location_code</code> or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_code</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations</code><p>example:<p><code class=\"long-string\">London,England,United Kingdom</code></p>",
        -        "type": "string"
        -      },
        -      "max_crawl_pages": {
        -        "description": "<p><em>page crawl limit</em><p>optional field<p>number of search results pages to crawl<p>max value: <code>100</code><p><strong>Note:</strong> the <code>max_crawl_pages</code> and <code>depth</code> parameters complement each other;<p>learn more at <a href=\"https://dataforseo.com/help-center/what-is-max-crawl-pages-and-how-does-it-work\" rel=\"noopener noreferrer\" target=\"_blank\">our help center</a></p>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "os": {
        -        "description": "<p><em>device operating system</em><p>optional field<p><strong>note that this API provides results for desktop only</strong><p>choose from the following values: <code>windows</code>, <code>macos</code><p>default value: <code>windows</code></p>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "se_domain": {
        -        "description": "<p><em>search engine domain</em><p>optional field<p>we choose the relevant search engine domain automatically according to the location and language you specify<p>however, you can set a custom search engine domain in this field<p>example:<p><code><em>google.co.uk</em></code>, <code><em>google.com.au</em></code>, <code><em>google.de</em></code>, etc.</p>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "search_param": {
        -        "description": "<p><em>additional parameters of the search query</em><p>optional field<p><a href=\"https://dataforseo.com/help-center/google-search-engine-parameters-and-how-to-use-them\">Get the list of available parameters and additional details here.</a></p>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "url": {
        -        "description": "<p><em>direct URL of the search query</em><p>optional field<p>you can specify a direct URL and we will sort it out to the necessary fields. Note that this method is the most difficult for our API to process and also requires you to specify the exact language and location in the URL. In most cases, we wouldn’t recommend using this method.<p>example:<p><code class=\"long-string\">https://www.google.co.uk/search?q=%20rank%20tracker%20api&amp;hl=en&amp;gl=GB&amp;uule=w+CAIQIFISCXXeIa8LoNhHEZkq1d1aOpZS</code></p>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "properties": {
        +      "browser_screen_height": {
        +        "description": "<p><em>browser screen height</em><p>optional field<p>you can set a custom browser screen height to calculate pixel rankings for a particular device;<p>by default, the parameter is set to <code>1080</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "browser_screen_resolution_ratio": {
        +        "description": "<p><em>browser screen resolution ratio</em><p>optional field<p>you can set a custom browser screen resolution ratio to calculate pixel rankings for a particular device;<p>by default, the parameter is set to <code>1</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "browser_screen_width": {
        +        "description": "<p><em>browser screen width</em><p>optional field<p>you can set a custom browser screen width to calculate pixel rankings for a particular device;<p>by default, the parameter is set to <code>1920</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
        +        "format": "int64",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "calculate_rectangles": {
        +        "description": "<p><em>calculate pixel rankings for SERP elements in advanced results</em><p>optional field<p>pixel ranking refers to the distance between the result snippet and top left corner of the screen;<p><a href=\"https://dataforseo.com/help-center/pixel-ranking-in-serp-api\">Visit Help Center to learn more&gt;&gt;</a><p>by default, the parameter is set to <code>false</code><p><strong>Note:</strong> if set to <code>true</code>, the charge per task will be multiplied by 2</p>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "depth": {
        +        "description": "<p><em>parsing depth</em><p>optional field<p>number of results in SERP<p>default value: <code>10</code><p>max value: <code>200</code></p><br><strong>Your account will be billed per each SERP containing up to 10 results;</strong><p>Setting depth above 10 may result in additional charges if the search engine returns more than 10 results;<p>If the specified depth is higher than the number of results in the response, the difference will be refunded to your account balance automatically<p>The cost can be calculated on the <a title=\"Pricing\" href=\"https://dataforseo.com/pricing/serp/google-news-serp-api\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page.",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "keyword": {
        +        "description": "<p><em>keyword</em><p><strong>required field</strong><p>you can specify <strong>up to 700 characters</strong> in the <code>keyword</code> field<p>all %## will be decoded (plus character '+' will be decoded to a space character)<p>if you need to use the \"%\" character for your <code>keyword</code>, please specify it as \"%25\";<p>if you need to use the “+” character for your <code>keyword</code>, please specify it as “%2B”;<p>if this field contains such parameters as <em>'allinanchor:', 'allintext:', 'allintitle:', 'allinurl:', 'define:', 'filetype:', 'id:', 'inanchor:', 'info:', 'intext:', 'intitle:', 'inurl:', 'link:', 'related:', 'site:'</em>, <strong>the charge per task will be multiplied by 5</strong><p><strong>Note:</strong> queries containing the ‘cache:’ parameter are not supported and will return a validation error</p><br><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a></p>",
        +        "type": "string"
        +      },
        +      "language_code": {
        +        "description": "<p><em>search engine language code</em><p><strong>required field if you don't specify</strong> <code>language_name</code><p><strong>if you use this field, you don't need to specify <code>language_name</code></strong><p>you can receive the list of available languages of the search engine with their <code>language_code</code>&nbsp;by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages</code><em><p></em>example:<em><p></em><code class=\"long-string\">en</code></p>",
        +        "type": "string"
        +      },
        +      "language_name": {
        +        "description": "<p><em>full name of search engine language</em><p><strong>required field if you don't specify</strong> <code>language_code</code><p><strong>if you use this field, you don't need to specify <code>language_code</code></strong><p>you can receive the list of available languages of the search engine with their <code>language_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages</code><p>example:<p><code class=\"long-string\">English</code></p>",
        +        "type": "string"
        +      },
        +      "location_code": {
        +        "description": "<p><em>search engine location code</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations</code><p>example:<p><code class=\"long-string\">2840</code></p>",
        +        "type": "integer"
        +      },
        +      "location_coordinate": {
        +        "description": "<p><em>GPS coordinates of a location</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_code</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_code</code></strong><p><code>location_coordinate</code> parameter should be specified in the <em>\"latitude,longitude,radius\"</em> format<p>the maximum number of decimal digits for <em>\"latitude\"</em> and <em>\"longitude\"</em>: 7<p>the minimum value for <em>\"radius\"</em>: 199.9 (mm)<p>the maximum value for <em>\"radius\"</em>: 199999 (mm)<p>example:<p><code class=\"long-string\">53.476225,-2.243572,200</code></p>",
        +        "type": "string"
        +      },
        +      "location_name": {
        +        "description": "<p><em>full name of search engine location</em><p><strong>required field if you don't specify</strong> <code>location_code</code> or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_code</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations</code><p>example:<p><code class=\"long-string\">London,England,United Kingdom</code></p>",
        +        "type": "string"
        +      },
        +      "max_crawl_pages": {
        +        "description": "<p><em>page crawl limit</em><p>optional field<p>number of search results pages to crawl<p>max value: <code>100</code><p><strong>Note:</strong> the <code>max_crawl_pages</code> and <code>depth</code> parameters complement each other;<p>learn more at <a href=\"https://dataforseo.com/help-center/what-is-max-crawl-pages-and-how-does-it-work\" rel=\"noopener noreferrer\" target=\"_blank\">our help center</a></p>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "os": {
        +        "description": "<p><em>device operating system</em><p>optional field<p><strong>note that this API provides results for desktop only</strong><p>choose from the following values: <code>windows</code>, <code>macos</code><p>default value: <code>windows</code></p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "se_domain": {
        +        "description": "<p><em>search engine domain</em><p>optional field<p>we choose the relevant search engine domain automatically according to the location and language you specify<p>however, you can set a custom search engine domain in this field<p>example:<p><code><em>google.co.uk</em></code>, <code><em>google.com.au</em></code>, <code><em>google.de</em></code>, etc.</p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "search_param": {
        +        "description": "<p><em>additional parameters of the search query</em><p>optional field<p><a href=\"https://dataforseo.com/help-center/google-search-engine-parameters-and-how-to-use-them\">Get the list of available parameters and additional details here.</a></p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "url": {
        +        "description": "<p><em>direct URL of the search query</em><p>optional field<p>you can specify a direct URL and we will sort it out to the necessary fields. Note that this method is the most difficult for our API to process and also requires you to specify the exact language and location in the URL. In most cases, we wouldn’t recommend using this method.<p>example:<p><code class=\"long-string\">https://www.google.co.uk/search?q=%20rank%20tracker%20api&amp;hl=en&amp;gl=GB&amp;uule=w+CAIQIFISCXXeIa8LoNhHEZkq1d1aOpZS</code></p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_serp_google_organic_live1 field changed
      • changedInput schema / properties / body / items / oneOf
        Previous value: -[
        -  {
        -    "example": [
        -      {
        -        "calculate_rectangles": true,
        -        "keyword": "albert einstein",
        -        "language_code": "en",
        -        "location_code": 2840
        -      }
        -    ],
        -    "properties": {
        -      "browser_screen_height": {
        -        "description": "browser screen heightoptional fieldyou can set a custom browser screen height to calculate pixel rankings for a particular device;can be specified within the following range: 240-9999;by default, the parameter is set to:1080 for desktop;640 for mobile on android;812 for mobile on iOS;Note: to use this parameter, set calculate_rectangles to true",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "browser_screen_resolution_ratio": {
        -        "description": "browser screen resolution ratiooptional fieldyou can set a custom browser screen resolution ratio to calculate pixel rankings for a particular device;can be specified within the following range: 0.5-3;by default, the parameter is set to:1 for desktop;3 for mobile on android;3 for mobile on iOS;Note: to use this parameter, set calculate_rectangles to true",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "browser_screen_width": {
        -        "description": "browser screen widthoptional fieldyou can set a custom browser screen width to calculate pixel rankings for a particular device;can be specified within the following range: 240-9999;by default, the parameter is set to:1920 for desktop;360 for mobile on android;375 for mobile on iOS;Note: to use this parameter, set calculate_rectangles to true",
        -        "format": "int64",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "calculate_rectangles": {
        -        "description": "calcualte pixel rankings for SERP elements in advanced resultsoptional fieldpixel ranking refers to the distance between the result snippet and top left corner of the screen;Visit Help Center to learn more>>by default, the parameter is set to false;\n\nFor current API pricing, see the published x-aisa-pricing metadata. Where supported, obtain a quote for your exact request.",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "depth": {
        -        "description": "parsing depthoptional fieldnumber of results in SERPdefault value: 10max value: 200Your account will be billed per each SERP containing up to 10 results;Setting depth above 10 may result in additional charges if the search engine returns more than 10 results;The cost can be calculated on the Pricing page.",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "device": {
        -        "description": "device typeoptional fieldreturn results for a specific device typecan take the values:desktop, mobiledefault value: desktop",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "find_targets_in": {
        -        "description": "SERP element types to check for targetsoptional fieldto enable this parameter, stop_crawl_on_match must also be enabledspecifies which SERP element types should be checked for target matchesif not specified, all first-level elements with url and domain fields are checked for targetspossible values: organic, paid, local_pack, featured_snippet, events, google_flights, images, jobs, knowledge_graph, local_service, map, scholarly_articles, third_party_reviews, twitterNote: cannot contain the same element types as ignore_targets_inexample:\"find_targets_in\": [\"organic\", \"featured_snippet\"]learn more about this parameter on our Help Center",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "group_organic_results": {
        -        "description": "display related resultsoptional fieldif set to true, the related_result element in the response will be provided as a snippet of its parent organic result;if set to false, the related_result element will be provided as a separate organic result;default value: true",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "ignore_targets_in": {
        -        "description": "SERP element types to exclude from target searchoptional fieldto enable this parameter, stop_crawl_on_match must also be enabledspecifies which SERP element types should be excluded when searching for target matchespossible values: organic, paid, local_pack, featured_snippet, events, google_flights, images, jobs, knowledge_graph, local_service, map, scholarly_articles, third_party_reviews, twitterNote: cannot contain the same element types as find_targets_inexample:\"ignore_targets_in\": [\"paid\", \"images\"]learn more about this parameter on our Help Center",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "keyword": {
        -        "description": "keywordrequired fieldyou can specify up to 700 characters in the keyword fieldall %## will be decoded (plus character ‘+’ will be decoded to a space character)if you need to use the “%” character for your keyword, please specify it as “%25”;if you need to use the “+” character for your keyword, please specify it as “%2B”;if this field contains such parameters as ‘allinanchor:’, ‘allintext:’, ‘allintitle:’, ‘allinurl:’, ‘cache:’, ‘define:’, ‘definition:’, ‘filetype:’, ‘id:’, ‘inanchor:’, ‘info:’, ‘intext:’, ‘intitle:’, ‘inurl:’, ‘link:’, ‘site:’, the charge per task will be multiplied by 5learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        -        "type": "string"
        -      },
        -      "language_code": {
        -        "description": "search engine language codeoptional field if you specify language_nameif you use this field, you don't need to specify language_nameyou can receive the list of available languages of the search engine with their language_code by making a separate request to the https://api.dataforseo.com/v3/serp/google/languagesexample:en",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "language_name": {
        -        "description": "full name of search engine languageoptional field if you specify language_codeif you use this field, you don't need to specify language_codeyou can receive the list of available languages of the search engine with their language_name by making a separate request to the https://api.dataforseo.com/v3/serp/google/languagesexample:English",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "load_async_ai_overview": {
        -        "description": "load asynchronous ai overviewoptional fieldset to true to obtain ai_overview items is SERPs even if they are loaded asynchronously;if set to false, you will only obtain ai_overview items from cache;default value: falseif the element is absent or contains \"asynchronous_ai_overview\": false, all extra charges will be returned to your account balance\n\nFor current API pricing, see the published x-aisa-pricing metadata. Where supported, obtain a quote for your exact request.",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "location_code": {
        -        "description": "search engine location coderequired field if you don't specify location_name or location_coordinateif you use this field, you don't need to specify location_name or location_coordinateyou can receive the list of available locations of the search engines with their location_code by making a separate request to the https://api.dataforseo.com/v3/serp/google/locationsexample:2840",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "location_coordinate": {
        -        "description": "GPS coordinates of a locationoptional field if you specify location_name or location_codeif you use this field, you don't need to specify location_name or location_codelocation_coordinate parameter should be specified in the \"latitude,longitude,radius\" formatthe maximum number of decimal digits for \"latitude\" and \"longitude\": 7the minimum value for \"radius\": 199 (mm)the maximum value for \"radius\": 199999 (mm)example:53.476225,-2.243572,200",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "location_name": {
        -        "description": "full name of search engine locationrequired field if you don't specify location_code or location_coordinateif you use this field, you don't need to specify location_code or location_coordinateyou can receive the list of available locations of the search engine with their location_name by making a separate request to the https://api.dataforseo.com/v3/serp/google/locationsexample:London,England,United Kingdom",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "match_type": {
        -        "description": "target match typerequired field if stop_crawl_on_match is specifiedtype of match for the match_valuepossible values:domain – specific domain or subdomainwith_subdomains – main domain and subdomainswildcard –  wildcard pattern",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "match_value": {
        -        "description": "target domain, subdomain, or wildcard valuerequired field if stop_crawl_on_match is specifiedspecify a target domain, subdomain, or wildcard value;Note: domain or subdomain must be specified without a request protocol;example: \"match_value\": \"dataforseo.com\",\"match_value\": \"/blog/post-*\"",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "max_crawl_pages": {
        -        "description": "page crawl limitoptional fieldnumber of search results pages to crawlmax value: 100Note: you will be charged for each page crawled (10 organic results per page);learn more about pricing on our Pricing page;Note#2: the max_crawl_pages and depth parameters complement each other;learn more at our help center",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "os": {
        -        "description": "device operating systemoptional fieldif you specify desktop in the device field, choose from the following values: windows, macosdefault value: windowsif you specify mobile in the device field, choose from the following values: android, iosdefault value: android",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "people_also_ask_click_depth": {
        -        "description": "clicks on the corresponding elementoptional fieldspecify the click depth on the people_also_ask element to get additional people_also_ask_element items;if the element is absent or we perform fewer clicks than you specified, all extra charges will be returned to your account balancepossible values: from 1 to 4\n\nFor current API pricing, see the published x-aisa-pricing metadata. Where supported, obtain a quote for your exact request.",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "remove_from_url": {
        -        "description": "remove specific parameters from URLsoptional fieldusing this field, you can specify up to 10 parameters to remove from URLs in the resultexample:\"remove_from_url\": [\"srsltid\"]Note: if the target field is specified, the specified URL parameters will be removed before the search",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "se_domain": {
        -        "description": "search engine domainoptional fieldwe choose the relevant search engine domain automatically according to the location and language you specifyhowever, you can set a custom search engine domain in this fieldexample:google.co.uk, google.com.au, google.de, etc.",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "search_param": {
        -        "description": "additional parameters of the search queryoptional fieldget the list of available parameters and additional details hereNote: the following search engine parameters are not supported and will be automatically unset if specified: lr, cr, as_qdr, as_sitesearch, as_occt, as_filetype.",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "stop_crawl_on_match": {
        -        "description": "array of targets to stop crawling\noptional field\nif specified, the response will contain SERP results up to and including the specified match_value;\nyou can specify up to 10 target values in this array\nexample:\n\"stop_crawl_on_match\":[{\"match_value\":\"dataforseo.com\",\"match_type\":\"with_subdomains\"}]\nlearn more about this parameter on our Help Center - https://dataforseo.com/help-center/using-the-stop_crawl_on_match-parameter-in-serp-api\nYour account will be billed per each SERP crawled through the specified targets",
        -        "items": {
        -          "oneOf": [
        -            {
        -              "properties": {
        -                "match_type": {
        -                  "description": "target match type\nrequired field if stop_crawl_on_match is specified;\ntype of match for the match_value\npossible values: domain, with_subdomains, wildcard",
        -                  "type": [
        -                    "string",
        -                    "null"
        -                  ]
        -                },
        -                "match_value": {
        -                  "description": "arget domain or wildcard value\nrequired field if stop_crawl_on_match is specified;\nspecify a target domain or wildcard value;\nNote: domain name must be specified without a request protocol;\nexample: dataforseo.com",
        -                  "type": [
        -                    "string",
        -                    "null"
        -                  ]
        -                }
        -              },
        -              "type": "object"
        -            }
        -          ],
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "user-defined task identifieroptional fieldthe character limit is 255you can use this parameter to identify the task and match it with the resultyou will find the specified tag value in the data object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "target": {
        -        "description": "target domain, subdomain, or webpage to get results foroptional fielda domain or a subdomain should be specified without https:// and www.note that the results of target-specific tasks will only include SERP elements that contain a url string;you can also use a wildcard (‘*’) character to specify the search pattern in SERP and narrow down the results;examples:example.com - returns results for the website's home page with URLs, such as https://example.com, or https://www.example.com/, or https://example.com/;example.com* - returns results for the domain, including all its pages;*example.com* - returns results for the entire domain, including all its pages and subdomains;*example.com - returns results for the home page regardless of the subdomain, such as https://en.example.com;example.com/example-page - returns results for the exact URL;example.com/example-page* - returns results for all domain's URLs that start with the specified string",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "target_search_mode": {
        -        "description": "target matching modeoptional fieldto enable this parameter, stop_crawl_on_match must also be enableddefines how the crawl should stop when multiple targets are specified in stop_crawl_on_matchpossible values: all, anyall – the crawl stops only when all specified targets are foundany – the crawl stops when any single target is founddefault value: anylearn more about this parameter on our Help Center",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "url": {
        -        "description": "direct URL of the search queryoptional fieldyou can specify a direct URL and we will sort it out to the necessary fields. Note that this method is the most difficult for our API to process and also requires you to specify the exact language and location in the URL. In most cases, we wouldn’t recommend using this method.example:https://www.google.co.uk/search?q=%20rank%20tracker%20api&hl=en&gl=GB&uule=w+CAIQIFISCXXeIa8LoNhHEZkq1d1aOpZSNote: the following search engine parameters are not supported and will be automatically unset if specified in the URL: lr, cr, as_qdr, as_sitesearch, as_occt, as_filetype.",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "properties": {
        +      "browser_screen_height": {
        +        "description": "browser screen heightoptional fieldyou can set a custom browser screen height to calculate pixel rankings for a particular device;can be specified within the following range: 240-9999;by default, the parameter is set to:1080 for desktop;640 for mobile on android;812 for mobile on iOS;Note: to use this parameter, set calculate_rectangles to true",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "browser_screen_resolution_ratio": {
        +        "description": "browser screen resolution ratiooptional fieldyou can set a custom browser screen resolution ratio to calculate pixel rankings for a particular device;can be specified within the following range: 0.5-3;by default, the parameter is set to:1 for desktop;3 for mobile on android;3 for mobile on iOS;Note: to use this parameter, set calculate_rectangles to true",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "browser_screen_width": {
        +        "description": "browser screen widthoptional fieldyou can set a custom browser screen width to calculate pixel rankings for a particular device;can be specified within the following range: 240-9999;by default, the parameter is set to:1920 for desktop;360 for mobile on android;375 for mobile on iOS;Note: to use this parameter, set calculate_rectangles to true",
        +        "format": "int64",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "calculate_rectangles": {
        +        "description": "calcualte pixel rankings for SERP elements in advanced resultsoptional fieldpixel ranking refers to the distance between the result snippet and top left corner of the screen;Visit Help Center to learn more>>by default, the parameter is set to false;Note: provider usage may increase for using this parameter\n\nFor current API pricing, see the published x-aisa-pricing metadata. Where supported, obtain a quote for your exact request.",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "depth": {
        +        "description": "parsing depthoptional fieldnumber of results in SERPdefault value: 10max value: 200Your account will be billed per each SERP containing up to 10 results;Setting depth above 10 may result in additional charges if the search engine returns more than 10 results;The cost can be calculated on the Pricing page.",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "device": {
        +        "description": "device typeoptional fieldreturn results for a specific device typecan take the values:desktop, mobiledefault value: desktop",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "find_targets_in": {
        +        "description": "SERP element types to check for targetsoptional fieldto enable this parameter, stop_crawl_on_match must also be enabledspecifies which SERP element types should be checked for target matchesif not specified, all first-level elements with url and domain fields are checked for targetspossible values: organic, paid, local_pack, featured_snippet, events, google_flights, images, jobs, knowledge_graph, local_service, map, scholarly_articles, third_party_reviews, twitterNote: cannot contain the same element types as ignore_targets_inexample:\"find_targets_in\": [\"organic\", \"featured_snippet\"]learn more about this parameter on our Help Center",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "group_organic_results": {
        +        "description": "display related resultsoptional fieldif set to true, the related_result element in the response will be provided as a snippet of its parent organic result;if set to false, the related_result element will be provided as a separate organic result;default value: true",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "ignore_targets_in": {
        +        "description": "SERP element types to exclude from target searchoptional fieldto enable this parameter, stop_crawl_on_match must also be enabledspecifies which SERP element types should be excluded when searching for target matchespossible values: organic, paid, local_pack, featured_snippet, events, google_flights, images, jobs, knowledge_graph, local_service, map, scholarly_articles, third_party_reviews, twitterNote: cannot contain the same element types as find_targets_inexample:\"ignore_targets_in\": [\"paid\", \"images\"]learn more about this parameter on our Help Center",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "keyword": {
        +        "description": "keywordrequired fieldyou can specify up to 700 characters in the keyword fieldall %## will be decoded (plus character ‘+’ will be decoded to a space character)if you need to use the “%” character for your keyword, please specify it as “%25”;if you need to use the “+” character for your keyword, please specify it as “%2B”;if this field contains such parameters as ‘allinanchor:’, ‘allintext:’, ‘allintitle:’, ‘allinurl:’, ‘cache:’, ‘define:’, ‘definition:’, ‘filetype:’, ‘id:’, ‘inanchor:’, ‘info:’, ‘intext:’, ‘intitle:’, ‘inurl:’, ‘link:’, ‘site:’, the charge per task will be multiplied by 5learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        +        "type": "string"
        +      },
        +      "language_code": {
        +        "description": "search engine language codeoptional field if you specify language_nameif you use this field, you don't need to specify language_nameyou can receive the list of available languages of the search engine with their language_code by making a separate request to the https://api.dataforseo.com/v3/serp/google/languagesexample:en",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "full name of search engine languageoptional field if you specify language_codeif you use this field, you don't need to specify language_codeyou can receive the list of available languages of the search engine with their language_name by making a separate request to the https://api.dataforseo.com/v3/serp/google/languagesexample:English",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "load_async_ai_overview": {
        +        "description": "load asynchronous ai overviewoptional fieldset to true to obtain ai_overview items is SERPs even if they are loaded asynchronously;if set to false, you will only obtain ai_overview items from cache;default value: falseNote: provider usage may increase for using this parameter;if the element is absent or contains \"asynchronous_ai_overview\": false, all extra charges will be returned to your account balance\n\nFor current API pricing, see the published x-aisa-pricing metadata. Where supported, obtain a quote for your exact request.",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "location_code": {
        +        "description": "search engine location coderequired field if you don't specify location_name or location_coordinateif you use this field, you don't need to specify location_name or location_coordinateyou can receive the list of available locations of the search engines with their location_code by making a separate request to the https://api.dataforseo.com/v3/serp/google/locationsexample:2840",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_coordinate": {
        +        "description": "GPS coordinates of a locationoptional field if you specify location_name or location_codeif you use this field, you don't need to specify location_name or location_codelocation_coordinate parameter should be specified in the \"latitude,longitude,radius\" formatthe maximum number of decimal digits for \"latitude\" and \"longitude\": 7the minimum value for \"radius\": 199 (mm)the maximum value for \"radius\": 199999 (mm)example:53.476225,-2.243572,200",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "location_name": {
        +        "description": "full name of search engine locationrequired field if you don't specify location_code or location_coordinateif you use this field, you don't need to specify location_code or location_coordinateyou can receive the list of available locations of the search engine with their location_name by making a separate request to the https://api.dataforseo.com/v3/serp/google/locationsexample:London,England,United Kingdom",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "match_type": {
        +        "description": "target match typerequired field if stop_crawl_on_match is specifiedtype of match for the match_valuepossible values:domain – specific domain or subdomainwith_subdomains – main domain and subdomainswildcard –  wildcard pattern",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "match_value": {
        +        "description": "target domain, subdomain, or wildcard valuerequired field if stop_crawl_on_match is specifiedspecify a target domain, subdomain, or wildcard value;Note: domain or subdomain must be specified without a request protocol;example: \"match_value\": \"dataforseo.com\",\"match_value\": \"/blog/post-*\"",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "max_crawl_pages": {
        +        "description": "page crawl limitoptional fieldnumber of search results pages to crawlmax value: 100Note: you will be charged for each page crawled (10 organic results per page);learn more about pricing on our Pricing page;Note#2: the max_crawl_pages and depth parameters complement each other;learn more at our help center",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "os": {
        +        "description": "device operating systemoptional fieldif you specify desktop in the device field, choose from the following values: windows, macosdefault value: windowsif you specify mobile in the device field, choose from the following values: android, iosdefault value: android",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "people_also_ask_click_depth": {
        +        "description": "clicks on the corresponding elementoptional fieldspecify the click depth on the people_also_ask element to get additional people_also_ask_element items;if the element is absent or we perform fewer clicks than you specified, all extra charges will be returned to your account balancepossible values: from 1 to 4\n\nFor current API pricing, see the published x-aisa-pricing metadata. Where supported, obtain a quote for your exact request.",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "remove_from_url": {
        +        "description": "remove specific parameters from URLsoptional fieldusing this field, you can specify up to 10 parameters to remove from URLs in the resultexample:\"remove_from_url\": [\"srsltid\"]Note: if the target field is specified, the specified URL parameters will be removed before the search",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "se_domain": {
        +        "description": "search engine domainoptional fieldwe choose the relevant search engine domain automatically according to the location and language you specifyhowever, you can set a custom search engine domain in this fieldexample:google.co.uk, google.com.au, google.de, etc.",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "search_param": {
        +        "description": "additional parameters of the search queryoptional fieldget the list of available parameters and additional details hereNote: the following search engine parameters are not supported and will be automatically unset if specified: lr, cr, as_qdr, as_sitesearch, as_occt, as_filetype.",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "stop_crawl_on_match": {
        +        "description": "array of targets to stop crawling\noptional field\nif specified, the response will contain SERP results up to and including the specified match_value;\nyou can specify up to 10 target values in this array\nexample:\n\"stop_crawl_on_match\":[{\"match_value\":\"dataforseo.com\",\"match_type\":\"with_subdomains\"}]\nlearn more about this parameter on our Help Center - https://dataforseo.com/help-center/using-the-stop_crawl_on_match-parameter-in-serp-api\nYour account will be billed per each SERP crawled through the specified targets",
        +        "items": {
        +          "oneOf": [
        +            {
        +              "properties": {
        +                "match_type": {
        +                  "description": "target match type\nrequired field if stop_crawl_on_match is specified;\ntype of match for the match_value\npossible values: domain, with_subdomains, wildcard",
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                },
        +                "match_value": {
        +                  "description": "arget domain or wildcard value\nrequired field if stop_crawl_on_match is specified;\nspecify a target domain or wildcard value;\nNote: domain name must be specified without a request protocol;\nexample: dataforseo.com",
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                }
        +              },
        +              "type": "object"
        +            }
        +          ],
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "user-defined task identifieroptional fieldthe character limit is 255you can use this parameter to identify the task and match it with the resultyou will find the specified tag value in the data object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "target": {
        +        "description": "target domain, subdomain, or webpage to get results foroptional fielda domain or a subdomain should be specified without https:// and www.note that the results of target-specific tasks will only include SERP elements that contain a url string;you can also use a wildcard (‘*’) character to specify the search pattern in SERP and narrow down the results;examples:example.com - returns results for the website's home page with URLs, such as https://example.com, or https://www.example.com/, or https://example.com/;example.com* - returns results for the domain, including all its pages;*example.com* - returns results for the entire domain, including all its pages and subdomains;*example.com - returns results for the home page regardless of the subdomain, such as https://en.example.com;example.com/example-page - returns results for the exact URL;example.com/example-page* - returns results for all domain's URLs that start with the specified string",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "target_search_mode": {
        +        "description": "target matching modeoptional fieldto enable this parameter, stop_crawl_on_match must also be enableddefines how the crawl should stop when multiple targets are specified in stop_crawl_on_matchpossible values: all, anyall – the crawl stops only when all specified targets are foundany – the crawl stops when any single target is founddefault value: anylearn more about this parameter on our Help Center",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "url": {
        +        "description": "direct URL of the search queryoptional fieldyou can specify a direct URL and we will sort it out to the necessary fields. Note that this method is the most difficult for our API to process and also requires you to specify the exact language and location in the URL. In most cases, we wouldn’t recommend using this method.example:https://www.google.co.uk/search?q=%20rank%20tracker%20api&hl=en&gl=GB&uule=w+CAIQIFISCXXeIa8LoNhHEZkq1d1aOpZSNote: the following search engine parameters are not supported and will be automatically unset if specified in the URL: lr, cr, as_qdr, as_sitesearch, as_occt, as_filetype.",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_serp_youtube_organic_live1 field changed
      • changedInput schema / properties / body / items / oneOf
        Previous value: -[
        -  {
        -    "example": [
        -      {
        -        "keyword": "audi",
        -        "language_code": "en",
        -        "location_code": 2840
        -      }
        -    ],
        -    "properties": {
        -      "block_depth": {
        -        "description": "parsing depth\noptional field\nnumber of blocks of results in SERP\ndefault value: 20\nmax value: 200\nNote: your account will be billed per each SERP containing up to 20 results;\nthus, setting a block depth above 20 may result in additional charges if the search engine returns more than 20 results;\nif the specified block depth is higher than the number of results in the response, the difference will be refunded automatically to your account balance",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "device": {
        -        "description": "device type\noptional field\nreturn results for a specific device type\navailable values: desktop, mobile",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "keyword": {
        -        "description": "keyword\nrequired field\nyou can specify up to 700 characters in the keyword field\nall %## will be decoded (plus character ‘+’ will be decoded to a space character)\nif you need to use the “%” character for your keyword, please specify it as “%25”;\nif you need to use the “+” character for your keyword, please specify it as “%2B”;\nlearn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        -        "type": "string"
        -      },
        -      "language_code": {
        -        "description": "search engine language code\nrequired field if you don't specify language_name\nif you use this field, you don't need to specify language_name\nyou can receive the list of available languages of the search engine with their language_code by making a separate request to the https://api.dataforseo.com/v3/serp/youtube/languages\nexample:\nen",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "language_name": {
        -        "description": "full name of search engine language\nrequired field if you don't specify language_code\nif you use this field, you don't need to specify language_code\nyou can receive the list of available languages of the search engine with their language_name by making a separate request to the https://api.dataforseo.com/v3/serp/youtube/languages\nexample:\nEnglish",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "location_code": {
        -        "description": "search engine location code\nrequired field if you don't specify location_name \nif you use this field, you don't need to specify location_name\nyou can receive the list of available locations of the search engines with their location_code by making a separate request to the https://api.dataforseo.com/v3/serp/youtube/locations\nexample:\n2840",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "location_name": {
        -        "description": "full name of search engine location\nrequired field if you don't specify location_code\nif you use this field, you don't need to specify location_code\nyou can receive the list of available locations of the search engine with their location_name by making a separate request to the https://api.dataforseo.com/v3/serp/youtube/locations\nexample:\nUnited States",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "os": {
        -        "description": "device operating system\noptional field\nif you specify desktop in the device field, choose from the following values: windows, macos\ndefault value: windows\nif you specify mobile in the device field, choose from the following values: android, ios\ndefault value: android",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "search_param": {
        -        "description": "additional parameters of the search query\noptional field\nexample:\nsp=EgIQAg%253D%253D",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "user-defined task identifier\noptional field\nthe character limit is 255\nyou can use this parameter to identify the task and match it with the result\nyou will find the specified tag value in the data object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "properties": {
        +      "block_depth": {
        +        "description": "parsing depth\noptional field\nnumber of blocks of results in SERP\ndefault value: 20\nmax value: 200\nNote: your account will be billed per each SERP containing up to 20 results;\nthus, setting a block depth above 20 may result in additional charges if the search engine returns more than 20 results;\nif the specified block depth is higher than the number of results in the response, the difference will be refunded automatically to your account balance",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "device": {
        +        "description": "device type\noptional field\nreturn results for a specific device type\navailable values: desktop, mobile",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "keyword": {
        +        "description": "keyword\nrequired field\nyou can specify up to 700 characters in the keyword field\nall %## will be decoded (plus character ‘+’ will be decoded to a space character)\nif you need to use the “%” character for your keyword, please specify it as “%25”;\nif you need to use the “+” character for your keyword, please specify it as “%2B”;\nlearn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        +        "type": "string"
        +      },
        +      "language_code": {
        +        "description": "search engine language code\nrequired field if you don't specify language_name\nif you use this field, you don't need to specify language_name\nyou can receive the list of available languages of the search engine with their language_code by making a separate request to the https://api.dataforseo.com/v3/serp/youtube/languages\nexample:\nen",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "full name of search engine language\nrequired field if you don't specify language_code\nif you use this field, you don't need to specify language_code\nyou can receive the list of available languages of the search engine with their language_name by making a separate request to the https://api.dataforseo.com/v3/serp/youtube/languages\nexample:\nEnglish",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "location_code": {
        +        "description": "search engine location code\nrequired field if you don't specify location_name \nif you use this field, you don't need to specify location_name\nyou can receive the list of available locations of the search engines with their location_code by making a separate request to the https://api.dataforseo.com/v3/serp/youtube/locations\nexample:\n2840",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_name": {
        +        "description": "full name of search engine location\nrequired field if you don't specify location_code\nif you use this field, you don't need to specify location_code\nyou can receive the list of available locations of the search engine with their location_name by making a separate request to the https://api.dataforseo.com/v3/serp/youtube/locations\nexample:\nUnited States",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "os": {
        +        "description": "device operating system\noptional field\nif you specify desktop in the device field, choose from the following values: windows, macos\ndefault value: windows\nif you specify mobile in the device field, choose from the following values: android, ios\ndefault value: android",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "search_param": {
        +        "description": "additional parameters of the search query\noptional field\nexample:\nsp=EgIQAg%253D%253D",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "user-defined task identifier\noptional field\nthe character limit is 255\nyou can use this parameter to identify the task and match it with the result\nyou will find the specified tag value in the data object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
  2. 49 tool updates
    • Changedpost_dataforseo_ai_chat_gpt_llm_responses_live2 fields changed
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "max_output_tokens": 200,
        -        "message_chain": [
        -          {
        -            "message": "Hello, what’s up?",
        -            "role": "user"
        -          },
        -          {
        -            "message": "Hello! I’m doing well, thank you. How can I assist you today? Are there any specific topics or projects you’d like to discuss in our meeting?",
        -            "role": "ai"
        -          }
        -        ],
        -        "model_name": "gpt-4.1-mini",
        -        "system_message": "communicate as if we are in a business meeting",
        -        "temperature": 0.3,
        -        "top_p": 0.5,
        -        "user_prompt": "provide information on how relevant the amusement park business is in France now",
        -        "web_search": true,
        -        "web_search_city": "Paris",
        -        "web_search_country_iso_code": "FR"
        -      }
        -    ],
        -    "properties": {
        -      "force_web_search": {
        -        "description": "<em>force AI agent to use web search</em><br>optional field<br>to enable this parameter, <code>web_search</code> must also be enabled;<br>when enabled, the AI model is forced to access and cite current web information;<br>default value: <code>false</code>;<br><strong>Note:</strong> even if the parameter is set to <code>true</code>, there is no guarantee web sources will be cited in the response <br><strong>Note #2:</strong> not supported in reasoning models",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "max_output_tokens": {
        -        "description": "<em>maximum number of tokens in the AI response</em><br>optional field<br>minimum value for reasoning models (e.g., <code>reasoning</code> is <code>true</code> in the <a href=\"/v3/ai_optimization/chat_gpt/llm_responses/models/\" target=\"_blank\">Models endpoint</a>): <code>1024</code>;<br>minimum value for non-reasoning models: <code>16</code>;<br>maximum value: <code>4096</code>;<br>default value: <code>2048</code><br><strong>Note:</strong> if <code>web_search</code> is set to <code>true</code> or the reasoning model is specified in the request, the output token count may exceed the specified <code>max_output_tokens</code> limit",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "message_chain": {
        -        "description": "conversation history\noptional field\narray of message objects representing previous conversation turns;\neach object must contain:\nrole string with either user or ai role;\nmessage string with message content (max 500 characters);\nyou can specify maximum of 10 message objects in the array;\nNote: for Perplexity models, messages must strictly alternate between user and AI roles (user → ai);\nexample:\n\"message_chain\": [{\"role\":\"user\",\"message\":\"Hello, what’s up?\"},{\"role\":\"ai\",\"message\":\"Hello! I’m doing well, thank you. How can I assist you today?\"}]",
        -        "items": {
        -          "anyOf": [
        -            {
        -              "properties": {
        -                "message": {
        -                  "description": "message text",
        -                  "type": [
        -                    "string",
        -                    "null"
        -                  ]
        -                },
        -                "role": {
        -                  "description": "role of the user from whom the message originates",
        -                  "type": [
        -                    "string",
        -                    "null"
        -                  ]
        -                }
        -              },
        -              "type": "object"
        -            }
        -          ],
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "model_name": {
        -        "description": "<em>name of the AI model</em><br><strong>required field</strong><br><code>model_name</code >consists of the actual model name and version name;<br>if the basic model name is specified, its latest version will be set by default;<br>for example, if <code>gpt-4.1</code> is specified, the <code>gpt-4.1-2025-04-14</code> will be set as <code>model_name</code> automatically;<br>you can receive the list of available LLM models by making a separate request to the <code>https://api.dataforseo.com/v3/ai_optimization/chat_gpt/llm_responses/models</code>",
        -        "type": "string"
        -      },
        -      "system_message": {
        -        "description": "<em>instructions for the AI behaviour</em><br>optional field<br>defines the AI's role, tone, or specific behavior <br>you can specify <strong>up to 500 characters</strong> in the <code>system_message</code> field",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "temperature": {
        -        "description": "<em>randomness of the AI response</em><br>optional field<br>higher values make output more diverse; <br>lower values make output more focused;<br>minimum value: <code>0</code><br>maximum value: <code>2</code><br>default value: <code>0.94</code><br><strong>Note:</strong> not supported in reasoning models",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "top_p": {
        -        "description": "<em>diversity of the AI response</em><br>optional field <br>controls diversity of the response by limiting token selection;<br>minimum value: <code>0</code><br>maximum value: <code>1</code> <br>default value: <code>0.92</code><p><strong>Note:</strong>  <code>top_p</code> cannot be used together with <code>temperature</code> in the same request",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "user_prompt": {
        -        "description": "<em>prompt for the AI model</em><br><strong>required field</strong><br>the question or task you want to send to the AI model;<br>you can specify <strong>up to 500 characters</strong> in the <code>user_prompt</code> field",
        -        "type": "string"
        -      },
        -      "web_search": {
        -        "description": "<em>enable web search</em><br>optional field<br>when enabled, the AI model can access and cite current web information;<br>default value: <code>false</code>;<br><strong>Note:</strong> refer to the <a href=\"https://docs.dataforseo.com/v3/ai_optimization/chat_gpt/llm_responses/models/\">Models endpoint</a> for a list of models that support <code>web_search</code>;",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "web_search_city": {
        -        "description": "<em>city name of the location</em><br>optional field<br><strong>Note:</strong> not supported in <code>o3-mini</code>, <code>o1-pro</code>, <code>o1</code> models",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "web_search_country_iso_code": {
        -        "description": "<em>ISO country code of the location</em><br>optional field<br>to enable this parameter, <code>web_search</code> must also be enabled;<br>when enabled, the AI model will search the web from the country you specify;<br><strong>Note:</strong> not supported in <code>o3-mini</code>, <code>o1-pro</code>, <code>o1</code> models",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / oneOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "max_output_tokens": 200,
        +        "message_chain": [
        +          {
        +            "message": "Hello, what’s up?",
        +            "role": "user"
        +          },
        +          {
        +            "message": "Hello! I’m doing well, thank you. How can I assist you today? Are there any specific topics or projects you’d like to discuss in our meeting?",
        +            "role": "ai"
        +          }
        +        ],
        +        "model_name": "gpt-4.1-mini",
        +        "system_message": "communicate as if we are in a business meeting",
        +        "temperature": 0.3,
        +        "top_p": 0.5,
        +        "user_prompt": "provide information on how relevant the amusement park business is in France now",
        +        "web_search": true,
        +        "web_search_city": "Paris",
        +        "web_search_country_iso_code": "FR"
        +      }
        +    ],
        +    "properties": {
        +      "force_web_search": {
        +        "description": "<em>force AI agent to use web search</em><br>optional field<br>to enable this parameter, <code>web_search</code> must also be enabled;<br>when enabled, the AI model is forced to access and cite current web information;<br>default value: <code>false</code>;<br><strong>Note:</strong> even if the parameter is set to <code>true</code>, there is no guarantee web sources will be cited in the response <br><strong>Note #2:</strong> not supported in reasoning models",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "max_output_tokens": {
        +        "description": "<em>maximum number of tokens in the AI response</em><br>optional field<br>minimum value for reasoning models (e.g., <code>reasoning</code> is <code>true</code> in the <a href=\"/v3/ai_optimization/chat_gpt/llm_responses/models/\" target=\"_blank\">Models endpoint</a>): <code>1024</code>;<br>minimum value for non-reasoning models: <code>16</code>;<br>maximum value: <code>4096</code>;<br>default value: <code>2048</code><br><strong>Note:</strong> if <code>web_search</code> is set to <code>true</code> or the reasoning model is specified in the request, the output token count may exceed the specified <code>max_output_tokens</code> limit",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "message_chain": {
        +        "description": "conversation history\noptional field\narray of message objects representing previous conversation turns;\neach object must contain:\nrole string with either user or ai role;\nmessage string with message content (max 500 characters);\nyou can specify maximum of 10 message objects in the array;\nNote: for Perplexity models, messages must strictly alternate between user and AI roles (user → ai);\nexample:\n\"message_chain\": [{\"role\":\"user\",\"message\":\"Hello, what’s up?\"},{\"role\":\"ai\",\"message\":\"Hello! I’m doing well, thank you. How can I assist you today?\"}]",
        +        "items": {
        +          "oneOf": [
        +            {
        +              "properties": {
        +                "message": {
        +                  "description": "message text",
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                },
        +                "role": {
        +                  "description": "role of the user from whom the message originates",
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                }
        +              },
        +              "type": "object"
        +            }
        +          ],
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "model_name": {
        +        "description": "<em>name of the AI model</em><br><strong>required field</strong><br><code>model_name</code >consists of the actual model name and version name;<br>if the basic model name is specified, its latest version will be set by default;<br>for example, if <code>gpt-4.1</code> is specified, the <code>gpt-4.1-2025-04-14</code> will be set as <code>model_name</code> automatically;<br>you can receive the list of available LLM models by making a separate request to the <code>https://api.dataforseo.com/v3/ai_optimization/chat_gpt/llm_responses/models</code>",
        +        "type": "string"
        +      },
        +      "system_message": {
        +        "description": "<em>instructions for the AI behaviour</em><br>optional field<br>defines the AI's role, tone, or specific behavior <br>you can specify <strong>up to 500 characters</strong> in the <code>system_message</code> field",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "temperature": {
        +        "description": "<em>randomness of the AI response</em><br>optional field<br>higher values make output more diverse; <br>lower values make output more focused;<br>minimum value: <code>0</code><br>maximum value: <code>2</code><br>default value: <code>0.94</code><br><strong>Note:</strong> not supported in reasoning models",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "top_p": {
        +        "description": "<em>diversity of the AI response</em><br>optional field <br>controls diversity of the response by limiting token selection;<br>minimum value: <code>0</code><br>maximum value: <code>1</code> <br>default value: <code>0.92</code><p><strong>Note:</strong>  <code>top_p</code> cannot be used together with <code>temperature</code> in the same request",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "user_prompt": {
        +        "description": "<em>prompt for the AI model</em><br><strong>required field</strong><br>the question or task you want to send to the AI model;<br>you can specify <strong>up to 500 characters</strong> in the <code>user_prompt</code> field",
        +        "type": "string"
        +      },
        +      "web_search": {
        +        "description": "<em>enable web search</em><br>optional field<br>when enabled, the AI model can access and cite current web information;<br>default value: <code>false</code>;<br><strong>Note:</strong> refer to the <a href=\"https://docs.dataforseo.com/v3/ai_optimization/chat_gpt/llm_responses/models/\">Models endpoint</a> for a list of models that support <code>web_search</code>;",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "web_search_city": {
        +        "description": "<em>city name of the location</em><br>optional field<br><strong>Note:</strong> not supported in <code>o3-mini</code>, <code>o1-pro</code>, <code>o1</code> models",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "web_search_country_iso_code": {
        +        "description": "<em>ISO country code of the location</em><br>optional field<br>to enable this parameter, <code>web_search</code> must also be enabled;<br>when enabled, the AI model will search the web from the country you specify;<br><strong>Note:</strong> not supported in <code>o3-mini</code>, <code>o1-pro</code>, <code>o1</code> models",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_ai_claude_llm_responses_live2 fields changed
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "max_output_tokens": 200,
        -        "message_chain": [
        -          {
        -            "message": "Hello, what’s up?",
        -            "role": "user"
        -          },
        -          {
        -            "message": "Hello! I’m doing well, thank you. How can I assist you today? Are there any specific topics or projects you’d like to discuss in our meeting?",
        -            "role": "ai"
        -          }
        -        ],
        -        "model_name": "claude-opus-5",
        -        "system_message": "communicate as if we are in a business meeting",
        -        "temperature": 0.3,
        -        "user_prompt": "provide information on how relevant the amusement park business is in France now",
        -        "web_search": true,
        -        "web_search_country_iso_code": "FR"
        -      }
        -    ],
        -    "properties": {
        -      "force_web_search": {
        -        "description": "<em>force AI agent to use web search</em><br>optional field<br>to enable this parameter, <code>web_search</code> must also be enabled;<br>when enabled, the AI model is forced to access and cite current web information;<br>default value: <code>false</code>;<br><strong>Note:</strong> even if the parameter is set to <code>true</code>, there is no guarantee web sources will be cited in the response",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "max_output_tokens": {
        -        "description": "<em>maximum number of tokens in the AI response</em><br>optional field<br>minimum value: <code>1</code>;<br>maximum value: <code>4096</code>;<br>default value: <code>2048</code>;<br><strong>Note:</strong> if <code>web_search</code> is set to <code>true</code> or the reasoning model is specified in the request, the output token count may exceed the specified <code>max_output_tokens</code> limit<br><strong>Note #2:</strong> if <code>use_reasoning</code> is set to <code>true</code>, the minimum value for <code>max_output_tokens</code> is <code>1025</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "message_chain": {
        -        "description": "conversation history\noptional field\narray of message objects representing previous conversation turns;\neach object must contain:\nrole string with either user or ai role;\nmessage string with message content (max 500 characters);\nyou can specify maximum of 10 message objects in the array;\nNote: for Perplexity models, messages must strictly alternate between user and AI roles (user → ai);\nexample:\n\"message_chain\": [{\"role\":\"user\",\"message\":\"Hello, what’s up?\"},{\"role\":\"ai\",\"message\":\"Hello! I’m doing well, thank you. How can I assist you today?\"}]",
        -        "items": {
        -          "anyOf": [
        -            {
        -              "properties": {
        -                "message": {
        -                  "description": "message text",
        -                  "type": [
        -                    "string",
        -                    "null"
        -                  ]
        -                },
        -                "role": {
        -                  "description": "role of the user from whom the message originates",
        -                  "type": [
        -                    "string",
        -                    "null"
        -                  ]
        -                }
        -              },
        -              "type": "object"
        -            }
        -          ],
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "model_name": {
        -        "description": "<em>name of the AI model</em><br><strong>required field</strong><br><code>model_name</code >consists of the actual model name and version name;<br>if the basic model name is specified, its latest version will be set by default;<br>for example, if <code>claude-opus-4-0</code> is specified, the <code>claude-opus-4-20250514</code> will be set as <code>model_name</code> automatically;<br>you can receive the list of available LLM models by making a separate request to the <code>https://api.dataforseo.com/v3/ai_optimization/claude/llm_responses/models</code>",
        -        "type": "string"
        -      },
        -      "system_message": {
        -        "description": "<em>instructions for the AI behaviour</em><br>optional field<br>defines the AI's role, tone, or specific behavior;<br>you can specify <strong>up to 500 characters</strong> in the <code>system_message</code> field",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "temperature": {
        -        "description": "<em>randomness of the AI response</em><br>optional field<br>higher values make output more diverse; <br>lower values make output more focused;<br>minimum value: <code>0</code><br>maximum value: <code>1</code><br>default value: <code>0.7</code><p><strong>Note:</strong> <code>temperature</code> cannot be used together with <code>top_p</code> in the same request",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "top_p": {
        -        "description": "<em>diversity of the AI response</em><br>optional field <br>controls diversity of the response by limiting token selection;<br>minimum value: <code>0</code><br>maximum value: <code>1</code> <br>default value: <code>null</code><p><strong>Note:</strong> <code>top_p</code> cannot be used together with <code>temperature</code> in the same request",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "use_reasoning": {
        -        "description": "<em>enable reasoning for the AI model</em><br>optional field<br>when enabled, the model will perform reasoning before generating a response<br>refer to the <a href=\"https://docs.dataforseo.com/v3/ai_optimization/claude/llm_responses/models/\" target=\"_blank\">Models endpoint</a> for a list of models that support <code>reasoning</code><br>default value: <code>false</code><br><strong>Note:</strong> if set to <code>true</code>, the minimum value for <code>max_output_tokens</code> is <code>1025</code><br><strong>Note #2:</strong> if set to <code>true</code>, <code>force_web_search</code> must be set to <code>false</code><br><strong>Note #3:</strong> if set to <code>true</code>, the <code>temperature</code> and <code>top_p</code> cannot be used",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "user_prompt": {
        -        "description": "<em>prompt for the AI model</em><br><strong>required field</strong><br>the question or task you want to send to the AI model;<br>you can specify <strong>up to 500 characters</strong> in the <code>user_prompt</code> field",
        -        "type": "string"
        -      },
        -      "web_search": {
        -        "description": "<em>enable web search for current information</em><br>optional field<br>when enabled, the AI model can access and cite current web information;<br><strong>Note:</strong> refer to the <a href=\"https://docs.dataforseo.com/v3/ai_optimization/claude/llm_responses/models/\">Models endpoint</a> for a list of models that support <code>web_search</code>; <br>default value: <code>false</code>;<br>The cost of the parameter can be calculated on the <a title=\"Anthropic API Pricing\" href=\"https://docs.anthropic.com/en/docs/about-claude/pricing\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "web_search_city": {
        -        "description": "<em>city name of the location used for searching the web</em><br>optional field<br>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "web_search_country_iso_code": {
        -        "description": "<em>ISO country code of the location used for searching the web</em><br>optional field<br>possible values: <code>'AR','AT','AU','BE','BR','CA','CH','CL','CN','DE','DK','ES','FI','FR','GB','HK','ID','IN','IT','JP','KR','MX','MY','NL','NO','NZ','PH','PL','PT','RU','SA','SE','TR','TW','US','ZA'</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / oneOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "max_output_tokens": 200,
        +        "message_chain": [
        +          {
        +            "message": "Hello, what’s up?",
        +            "role": "user"
        +          },
        +          {
        +            "message": "Hello! I’m doing well, thank you. How can I assist you today? Are there any specific topics or projects you’d like to discuss in our meeting?",
        +            "role": "ai"
        +          }
        +        ],
        +        "model_name": "claude-opus-5",
        +        "system_message": "communicate as if we are in a business meeting",
        +        "temperature": 0.3,
        +        "user_prompt": "provide information on how relevant the amusement park business is in France now",
        +        "web_search": true,
        +        "web_search_country_iso_code": "FR"
        +      }
        +    ],
        +    "properties": {
        +      "force_web_search": {
        +        "description": "<em>force AI agent to use web search</em><br>optional field<br>to enable this parameter, <code>web_search</code> must also be enabled;<br>when enabled, the AI model is forced to access and cite current web information;<br>default value: <code>false</code>;<br><strong>Note:</strong> even if the parameter is set to <code>true</code>, there is no guarantee web sources will be cited in the response",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "max_output_tokens": {
        +        "description": "<em>maximum number of tokens in the AI response</em><br>optional field<br>minimum value: <code>1</code>;<br>maximum value: <code>4096</code>;<br>default value: <code>2048</code>;<br><strong>Note:</strong> if <code>web_search</code> is set to <code>true</code> or the reasoning model is specified in the request, the output token count may exceed the specified <code>max_output_tokens</code> limit<br><strong>Note #2:</strong> if <code>use_reasoning</code> is set to <code>true</code>, the minimum value for <code>max_output_tokens</code> is <code>1025</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "message_chain": {
        +        "description": "conversation history\noptional field\narray of message objects representing previous conversation turns;\neach object must contain:\nrole string with either user or ai role;\nmessage string with message content (max 500 characters);\nyou can specify maximum of 10 message objects in the array;\nNote: for Perplexity models, messages must strictly alternate between user and AI roles (user → ai);\nexample:\n\"message_chain\": [{\"role\":\"user\",\"message\":\"Hello, what’s up?\"},{\"role\":\"ai\",\"message\":\"Hello! I’m doing well, thank you. How can I assist you today?\"}]",
        +        "items": {
        +          "oneOf": [
        +            {
        +              "properties": {
        +                "message": {
        +                  "description": "message text",
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                },
        +                "role": {
        +                  "description": "role of the user from whom the message originates",
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                }
        +              },
        +              "type": "object"
        +            }
        +          ],
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "model_name": {
        +        "description": "<em>name of the AI model</em><br><strong>required field</strong><br><code>model_name</code >consists of the actual model name and version name;<br>if the basic model name is specified, its latest version will be set by default;<br>for example, if <code>claude-opus-4-0</code> is specified, the <code>claude-opus-4-20250514</code> will be set as <code>model_name</code> automatically;<br>you can receive the list of available LLM models by making a separate request to the <code>https://api.dataforseo.com/v3/ai_optimization/claude/llm_responses/models</code>",
        +        "type": "string"
        +      },
        +      "system_message": {
        +        "description": "<em>instructions for the AI behaviour</em><br>optional field<br>defines the AI's role, tone, or specific behavior;<br>you can specify <strong>up to 500 characters</strong> in the <code>system_message</code> field",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "temperature": {
        +        "description": "<em>randomness of the AI response</em><br>optional field<br>higher values make output more diverse; <br>lower values make output more focused;<br>minimum value: <code>0</code><br>maximum value: <code>1</code><br>default value: <code>0.7</code><p><strong>Note:</strong> <code>temperature</code> cannot be used together with <code>top_p</code> in the same request",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "top_p": {
        +        "description": "<em>diversity of the AI response</em><br>optional field <br>controls diversity of the response by limiting token selection;<br>minimum value: <code>0</code><br>maximum value: <code>1</code> <br>default value: <code>null</code><p><strong>Note:</strong> <code>top_p</code> cannot be used together with <code>temperature</code> in the same request",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "use_reasoning": {
        +        "description": "<em>enable reasoning for the AI model</em><br>optional field<br>when enabled, the model will perform reasoning before generating a response<br>refer to the <a href=\"https://docs.dataforseo.com/v3/ai_optimization/claude/llm_responses/models/\" target=\"_blank\">Models endpoint</a> for a list of models that support <code>reasoning</code><br>default value: <code>false</code><br><strong>Note:</strong> if set to <code>true</code>, the minimum value for <code>max_output_tokens</code> is <code>1025</code><br><strong>Note #2:</strong> if set to <code>true</code>, <code>force_web_search</code> must be set to <code>false</code><br><strong>Note #3:</strong> if set to <code>true</code>, the <code>temperature</code> and <code>top_p</code> cannot be used",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "user_prompt": {
        +        "description": "<em>prompt for the AI model</em><br><strong>required field</strong><br>the question or task you want to send to the AI model;<br>you can specify <strong>up to 500 characters</strong> in the <code>user_prompt</code> field",
        +        "type": "string"
        +      },
        +      "web_search": {
        +        "description": "<em>enable web search for current information</em><br>optional field<br>when enabled, the AI model can access and cite current web information;<br><strong>Note:</strong> refer to the <a href=\"https://docs.dataforseo.com/v3/ai_optimization/claude/llm_responses/models/\">Models endpoint</a> for a list of models that support <code>web_search</code>; <br>default value: <code>false</code>;<br>The cost of the parameter can be calculated on the <a title=\"Anthropic API Pricing\" href=\"https://docs.anthropic.com/en/docs/about-claude/pricing\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "web_search_city": {
        +        "description": "<em>city name of the location used for searching the web</em><br>optional field<br>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "web_search_country_iso_code": {
        +        "description": "<em>ISO country code of the location used for searching the web</em><br>optional field<br>possible values: <code>'AR','AT','AU','BE','BR','CA','CH','CL','CN','DE','DK','ES','FI','FR','GB','HK','ID','IN','IT','JP','KR','MX','MY','NL','NO','NZ','PH','PL','PT','RU','SA','SE','TR','TW','US','ZA'</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_ai_gemini_llm_responses_live2 fields changed
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "max_output_tokens": 200,
        -        "message_chain": [
        -          {
        -            "message": "Hello, what’s up?",
        -            "role": "user"
        -          },
        -          {
        -            "message": "Hello! I’m doing well, thank you. How can I assist you today? Are there any specific topics or projects you’d like to discuss in our meeting?",
        -            "role": "ai"
        -          }
        -        ],
        -        "model_name": "gemini-2.5-flash",
        -        "system_message": "communicate as if we are in a business meeting",
        -        "temperature": 0.3,
        -        "top_p": 0.5,
        -        "user_prompt": "provide information on how relevant the amusement park business is in France now",
        -        "web_search": true
        -      }
        -    ],
        -    "properties": {
        -      "max_output_tokens": {
        -        "description": "<em>maximum number of tokens in the AI response</em><br>optional field<br>minimum value: <code>1</code><br>maximum value: <code>4096</code>;<br>default value: <code>2048</code>;<br><strong>Note:</strong> if <code>web_search</code> is set to <code>true</code> or the reasoning model is specified in the request, the output token count may exceed the specified <code>max_output_tokens</code> limit<br><strong>Note #2:</strong> if <code>use_reasoning</code> is set to <code>true</code>, the minimum value for <code>max_output_tokens</code> is <code>1024</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "message_chain": {
        -        "description": "conversation history\noptional field\narray of message objects representing previous conversation turns;\neach object must contain:\nrole string with either user or ai role;\nmessage string with message content (max 500 characters);\nyou can specify maximum of 10 message objects in the array;\nNote: for Perplexity models, messages must strictly alternate between user and AI roles (user → ai);\nexample:\n\"message_chain\": [{\"role\":\"user\",\"message\":\"Hello, what’s up?\"},{\"role\":\"ai\",\"message\":\"Hello! I’m doing well, thank you. How can I assist you today?\"}]",
        -        "items": {
        -          "anyOf": [
        -            {
        -              "properties": {
        -                "message": {
        -                  "description": "message text",
        -                  "type": [
        -                    "string",
        -                    "null"
        -                  ]
        -                },
        -                "role": {
        -                  "description": "role of the user from whom the message originates",
        -                  "type": [
        -                    "string",
        -                    "null"
        -                  ]
        -                }
        -              },
        -              "type": "object"
        -            }
        -          ],
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "model_name": {
        -        "description": "<em>name of the AI model</em><br><strong>required field</strong><br><code>model_name</code >consists of the actual model name and version name;<br>if the basic model name is specified, its latest version will be set by default;<br>for example, if <code>gemini-1.5-pro</code> is specified, the <code>gemini-1.5-pro-002</code> will be set as <code>model_name</code> automatically;<br>you can receive the list of available LLM models by making a separate request to the <code>https://api.dataforseo.com/v3/ai_optimization/gemini/llm_responses/models</code>",
        -        "type": "string"
        -      },
        -      "system_message": {
        -        "description": "<em>instructions for the AI behavior</em><br>optional field<br>defines the AI's role, tone, or specific behavior <br>you can specify <strong>up to 500 characters</strong> in the <code>system_message</code> field",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "temperature": {
        -        "description": "<em>randomness of the AI response</em><br>optional field<br>higher values make output more diverse <br>lower values make output more focused<br>minimum value: <code>0</code><br>maximum value: <code>2</code><br>default value: <code>1.3</code>",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "top_p": {
        -        "description": "<em>diversity of the AI response</em><br>optional field <br>controls diversity of the response by limiting token selection<br>minimum value: <code>0</code><br>maximum value: <code>1</code> <br>default value: <code>0.9</code>",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "use_reasoning": {
        -        "description": "<em>enable reasoning for the AI model</em><br>optional field<br>when enabled, the model will perform reasoning before generating a response<br>refer to the <a href=\"https://docs.dataforseo.com/v3/ai_optimization/gemini/llm_responses/models/\" target=\"_blank\">Models endpoint</a> for a list of models that support <code>reasoning</code><br>default value: <code>false</code><br><strong>Note:</strong> if set to <code>true</code>, the minimum value for <code>max_output_tokens</code> is <code>1024</code><br><strong>Note #2:</strong> for Gemini Pro models, the <code>use_reasoning</code> will automatically be set to <code>true</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "user_prompt": {
        -        "description": "<em>prompt for the AI model</em><br><strong>required field</strong><br>the question or task you want to send to the AI model;<br>you can specify <strong>up to 500 characters</strong> in the <code>user_prompt</code> field",
        -        "type": "string"
        -      },
        -      "web_search": {
        -        "description": "<em>enable web search for current information</em><br>optional field<br>when enabled, the AI model can access and cite current web information;<br><strong>Note:</strong> refer to the <a href=\"https://docs.dataforseo.com/v3/ai_optimization/gemini/llm_responses/models/\">Models endpoint</a> for a list of models that support <code>web_search</code>; <br>default value: <code>false</code>;<br>The cost of the parameter can be calculated on the <a title=\"Gemini API Pricing\" href=\"https://ai.google.dev/gemini-api/docs/pricing\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / oneOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "max_output_tokens": 200,
        +        "message_chain": [
        +          {
        +            "message": "Hello, what’s up?",
        +            "role": "user"
        +          },
        +          {
        +            "message": "Hello! I’m doing well, thank you. How can I assist you today? Are there any specific topics or projects you’d like to discuss in our meeting?",
        +            "role": "ai"
        +          }
        +        ],
        +        "model_name": "gemini-2.5-flash",
        +        "system_message": "communicate as if we are in a business meeting",
        +        "temperature": 0.3,
        +        "top_p": 0.5,
        +        "user_prompt": "provide information on how relevant the amusement park business is in France now",
        +        "web_search": true
        +      }
        +    ],
        +    "properties": {
        +      "max_output_tokens": {
        +        "description": "<em>maximum number of tokens in the AI response</em><br>optional field<br>minimum value: <code>1</code><br>maximum value: <code>4096</code>;<br>default value: <code>2048</code>;<br><strong>Note:</strong> if <code>web_search</code> is set to <code>true</code> or the reasoning model is specified in the request, the output token count may exceed the specified <code>max_output_tokens</code> limit<br><strong>Note #2:</strong> if <code>use_reasoning</code> is set to <code>true</code>, the minimum value for <code>max_output_tokens</code> is <code>1024</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "message_chain": {
        +        "description": "conversation history\noptional field\narray of message objects representing previous conversation turns;\neach object must contain:\nrole string with either user or ai role;\nmessage string with message content (max 500 characters);\nyou can specify maximum of 10 message objects in the array;\nNote: for Perplexity models, messages must strictly alternate between user and AI roles (user → ai);\nexample:\n\"message_chain\": [{\"role\":\"user\",\"message\":\"Hello, what’s up?\"},{\"role\":\"ai\",\"message\":\"Hello! I’m doing well, thank you. How can I assist you today?\"}]",
        +        "items": {
        +          "oneOf": [
        +            {
        +              "properties": {
        +                "message": {
        +                  "description": "message text",
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                },
        +                "role": {
        +                  "description": "role of the user from whom the message originates",
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                }
        +              },
        +              "type": "object"
        +            }
        +          ],
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "model_name": {
        +        "description": "<em>name of the AI model</em><br><strong>required field</strong><br><code>model_name</code >consists of the actual model name and version name;<br>if the basic model name is specified, its latest version will be set by default;<br>for example, if <code>gemini-1.5-pro</code> is specified, the <code>gemini-1.5-pro-002</code> will be set as <code>model_name</code> automatically;<br>you can receive the list of available LLM models by making a separate request to the <code>https://api.dataforseo.com/v3/ai_optimization/gemini/llm_responses/models</code>",
        +        "type": "string"
        +      },
        +      "system_message": {
        +        "description": "<em>instructions for the AI behavior</em><br>optional field<br>defines the AI's role, tone, or specific behavior <br>you can specify <strong>up to 500 characters</strong> in the <code>system_message</code> field",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "temperature": {
        +        "description": "<em>randomness of the AI response</em><br>optional field<br>higher values make output more diverse <br>lower values make output more focused<br>minimum value: <code>0</code><br>maximum value: <code>2</code><br>default value: <code>1.3</code>",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "top_p": {
        +        "description": "<em>diversity of the AI response</em><br>optional field <br>controls diversity of the response by limiting token selection<br>minimum value: <code>0</code><br>maximum value: <code>1</code> <br>default value: <code>0.9</code>",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "use_reasoning": {
        +        "description": "<em>enable reasoning for the AI model</em><br>optional field<br>when enabled, the model will perform reasoning before generating a response<br>refer to the <a href=\"https://docs.dataforseo.com/v3/ai_optimization/gemini/llm_responses/models/\" target=\"_blank\">Models endpoint</a> for a list of models that support <code>reasoning</code><br>default value: <code>false</code><br><strong>Note:</strong> if set to <code>true</code>, the minimum value for <code>max_output_tokens</code> is <code>1024</code><br><strong>Note #2:</strong> for Gemini Pro models, the <code>use_reasoning</code> will automatically be set to <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "user_prompt": {
        +        "description": "<em>prompt for the AI model</em><br><strong>required field</strong><br>the question or task you want to send to the AI model;<br>you can specify <strong>up to 500 characters</strong> in the <code>user_prompt</code> field",
        +        "type": "string"
        +      },
        +      "web_search": {
        +        "description": "<em>enable web search for current information</em><br>optional field<br>when enabled, the AI model can access and cite current web information;<br><strong>Note:</strong> refer to the <a href=\"https://docs.dataforseo.com/v3/ai_optimization/gemini/llm_responses/models/\">Models endpoint</a> for a list of models that support <code>web_search</code>; <br>default value: <code>false</code>;<br>The cost of the parameter can be calculated on the <a title=\"Gemini API Pricing\" href=\"https://ai.google.dev/gemini-api/docs/pricing\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_ai_keyword_volume_live2 fields changed
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "keywords": [
        -          "iphone",
        -          "seo"
        -        ],
        -        "language_name": "English",
        -        "location_code": 2840
        -      }
        -    ],
        -    "properties": {
        -      "keywords": {
        -        "description": "<em>keywords</em><br><strong>required field</strong><br>UTF-8 encoding<br>The maximum number of keywords you can specify: 1000;<br>The maximum number of characters in a single keyword: 250;<br>The keywords will be converted to lowercase format;<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "language_code": {
        -        "description": "<em>language code</em><br><strong>required field if you don't specify</strong> <code>language_name</code><br><strong>if you use this field, you don't need to specify</strong> <code>language_name</code><br>you can receive the list of available languages with their <code>language_code</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/ai_optimization/ai_keyword_data/locations_and_languages</code><br>example:<br><code class=\"long-string\">en</code>",
        -        "type": "string"
        -      },
        -      "language_name": {
        -        "description": "<em>full name of the language</em><br><strong>required field if you don't specify</strong> <code>language_code</code><br><strong>if you use this field, you don't need to specify</strong> <code>language_code</code><br>you can receive the list of available languages with their <code>language_name</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/ai_optimization/ai_keyword_data/locations_and_languages</code><br>example:<br><code class=\"long-string\">English</code>",
        -        "type": "string"
        -      },
        -      "location_code": {
        -        "description": "<em>unique location identifier</em><br><strong>required field if you don't specify</strong> <code>location_name</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/ai_optimization/ai_keyword_data/locations_and_languages</code><br>example:<br><code class=\"long-string\">2840</code>",
        -        "type": "integer"
        -      },
        -      "location_name": {
        -        "description": "<em>full name of the location</em><br><strong>required field if you don't specify</strong> <code>location_code</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/ai_optimization/ai_keyword_data/locations_and_languages</code><br>example:<br><code class=\"long-string\">United Kingdom</code>",
        -        "type": "string"
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / oneOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "keywords": [
        +          "iphone",
        +          "seo"
        +        ],
        +        "language_name": "English",
        +        "location_code": 2840
        +      }
        +    ],
        +    "properties": {
        +      "keywords": {
        +        "description": "<em>keywords</em><br><strong>required field</strong><br>UTF-8 encoding<br>The maximum number of keywords you can specify: 1000;<br>The maximum number of characters in a single keyword: 250;<br>The keywords will be converted to lowercase format;<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "language_code": {
        +        "description": "<em>language code</em><br><strong>required field if you don't specify</strong> <code>language_name</code><br><strong>if you use this field, you don't need to specify</strong> <code>language_name</code><br>you can receive the list of available languages with their <code>language_code</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/ai_optimization/ai_keyword_data/locations_and_languages</code><br>example:<br><code class=\"long-string\">en</code>",
        +        "type": "string"
        +      },
        +      "language_name": {
        +        "description": "<em>full name of the language</em><br><strong>required field if you don't specify</strong> <code>language_code</code><br><strong>if you use this field, you don't need to specify</strong> <code>language_code</code><br>you can receive the list of available languages with their <code>language_name</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/ai_optimization/ai_keyword_data/locations_and_languages</code><br>example:<br><code class=\"long-string\">English</code>",
        +        "type": "string"
        +      },
        +      "location_code": {
        +        "description": "<em>unique location identifier</em><br><strong>required field if you don't specify</strong> <code>location_name</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/ai_optimization/ai_keyword_data/locations_and_languages</code><br>example:<br><code class=\"long-string\">2840</code>",
        +        "type": "integer"
        +      },
        +      "location_name": {
        +        "description": "<em>full name of the location</em><br><strong>required field if you don't specify</strong> <code>location_code</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/ai_optimization/ai_keyword_data/locations_and_languages</code><br>example:<br><code class=\"long-string\">United Kingdom</code>",
        +        "type": "string"
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_ai_llm_mentions_aggregated_metrics_live2 fields changed
      • removedInput schema / properties / body / items / properties / target / items / anyOf
        Removed value: -[
        -  {
        -    "required": [
        -      "domain"
        -    ]
        -  },
        -  {
        -    "required": [
        -      "keyword"
        -    ]
        -  }
        -]
      • addedInput schema / properties / body / items / properties / target / items / oneOf
        Added value: +[
        +  {
        +    "required": [
        +      "domain"
        +    ]
        +  },
        +  {
        +    "required": [
        +      "keyword"
        +    ]
        +  }
        +]
    • Changedpost_dataforseo_ai_llm_mentions_search_live2 fields changed
      • removedInput schema / properties / body / items / properties / target / items / anyOf
        Removed value: -[
        -  {
        -    "required": [
        -      "domain"
        -    ]
        -  },
        -  {
        -    "required": [
        -      "keyword"
        -    ]
        -  }
        -]
      • addedInput schema / properties / body / items / properties / target / items / oneOf
        Added value: +[
        +  {
        +    "required": [
        +      "domain"
        +    ]
        +  },
        +  {
        +    "required": [
        +      "keyword"
        +    ]
        +  }
        +]
    • Changedpost_dataforseo_ai_llm_mentions_top_domains_live2 fields changed
      • removedInput schema / properties / body / items / properties / target / items / anyOf
        Removed value: -[
        -  {
        -    "required": [
        -      "domain"
        -    ]
        -  },
        -  {
        -    "required": [
        -      "keyword"
        -    ]
        -  }
        -]
      • addedInput schema / properties / body / items / properties / target / items / oneOf
        Added value: +[
        +  {
        +    "required": [
        +      "domain"
        +    ]
        +  },
        +  {
        +    "required": [
        +      "keyword"
        +    ]
        +  }
        +]
    • Changedpost_dataforseo_ai_perplexity_llm_responses_live2 fields changed
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "max_output_tokens": 200,
        -        "message_chain": [
        -          {
        -            "message": "Hello, what’s up?",
        -            "role": "user"
        -          },
        -          {
        -            "message": "Hello! I’m doing well, thank you. How can I assist you today? Are there any specific topics or projects you’d like to discuss in our meeting?",
        -            "role": "ai"
        -          }
        -        ],
        -        "model_name": "sonar",
        -        "system_message": "communicate as if we are in a business meeting",
        -        "temperature": 0.3,
        -        "top_p": 0.5,
        -        "user_prompt": "provide information on how relevant the amusement park business is in France now",
        -        "web_search_country_iso_code": "FR"
        -      }
        -    ],
        -    "properties": {
        -      "max_output_tokens": {
        -        "description": "<em>maximum number of tokens in the AI response</em><br>optional field<br>minimum value: <code>1</code><br>maximum value: <code>4096</code>;<br>default value: <code>2048</code>;<br><strong>Note:</strong> if the reasoning model is specified in the request, the output token count may exceed the specified <code>max_output_tokens</code> limit",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "message_chain": {
        -        "description": "conversation history\noptional field\narray of message objects representing previous conversation turns;\neach object must contain:\nrole string with either user or ai role;\nmessage string with message content (max 500 characters);\nyou can specify maximum of 10 message objects in the array;\nNote: for Perplexity models, messages must strictly alternate between user and AI roles (user → ai);\nexample:\n\"message_chain\": [{\"role\":\"user\",\"message\":\"Hello, what’s up?\"},{\"role\":\"ai\",\"message\":\"Hello! I’m doing well, thank you. How can I assist you today?\"}]",
        -        "items": {
        -          "anyOf": [
        -            {
        -              "properties": {
        -                "message": {
        -                  "description": "message text",
        -                  "type": [
        -                    "string",
        -                    "null"
        -                  ]
        -                },
        -                "role": {
        -                  "description": "role of the user from whom the message originates",
        -                  "type": [
        -                    "string",
        -                    "null"
        -                  ]
        -                }
        -              },
        -              "type": "object"
        -            }
        -          ],
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "model_name": {
        -        "description": "<em>name of the AI model</em><br><strong>required field</strong><br><code>model_name</code >consists of the actual model name and version name;<br>if the basic model name is specified, its latest version will be set by default;<br>you can receive the list of available LLM models by making a separate request to the following endpoint: <code>https://api.dataforseo.com/v3/ai_optimization/perplexity/llm_responses/models</code>",
        -        "type": "string"
        -      },
        -      "system_message": {
        -        "description": "<em>instructions for the AI behavior</em><br>optional field<br>defines the AI's role, tone, or specific behavior <br>you can specify <strong>up to 500 characters</strong> in the <code>system_message</code> field",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "temperature": {
        -        "description": "<em>randomness of the AI response</em><br>optional field<br>higher values make output more diverse <br>lower values make output more focused<br>minimum value: <code>0</code><br>maximum value: <code>1.9</code><br>default value: <code>0.77</code>",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "top_p": {
        -        "description": "<em>diversity of the AI response</em><br>optional field <br>controls diversity of the response by limiting token selection<br>minimum value: <code>0</code><br>maximum value: <code>1</code> <br>default value: <code>0.9</code>",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "user_prompt": {
        -        "description": "<em>prompt for the AI model</em><br><strong>required field</strong><br>the question or task you want to send to the AI model;<br>you can specify <strong>up to 500 characters</strong> in the <code>user_prompt</code> field",
        -        "type": "string"
        -      },
        -      "web_search_country_iso_code": {
        -        "description": "<em>country code for web search localization</em><br>optional field<br>specify the country  ISO code to get localized web search results<br><strong>Note:</strong> available only for Perplexity Sonar models<br>example: <code>US</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / oneOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "max_output_tokens": 200,
        +        "message_chain": [
        +          {
        +            "message": "Hello, what’s up?",
        +            "role": "user"
        +          },
        +          {
        +            "message": "Hello! I’m doing well, thank you. How can I assist you today? Are there any specific topics or projects you’d like to discuss in our meeting?",
        +            "role": "ai"
        +          }
        +        ],
        +        "model_name": "sonar",
        +        "system_message": "communicate as if we are in a business meeting",
        +        "temperature": 0.3,
        +        "top_p": 0.5,
        +        "user_prompt": "provide information on how relevant the amusement park business is in France now",
        +        "web_search_country_iso_code": "FR"
        +      }
        +    ],
        +    "properties": {
        +      "max_output_tokens": {
        +        "description": "<em>maximum number of tokens in the AI response</em><br>optional field<br>minimum value: <code>1</code><br>maximum value: <code>4096</code>;<br>default value: <code>2048</code>;<br><strong>Note:</strong> if the reasoning model is specified in the request, the output token count may exceed the specified <code>max_output_tokens</code> limit",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "message_chain": {
        +        "description": "conversation history\noptional field\narray of message objects representing previous conversation turns;\neach object must contain:\nrole string with either user or ai role;\nmessage string with message content (max 500 characters);\nyou can specify maximum of 10 message objects in the array;\nNote: for Perplexity models, messages must strictly alternate between user and AI roles (user → ai);\nexample:\n\"message_chain\": [{\"role\":\"user\",\"message\":\"Hello, what’s up?\"},{\"role\":\"ai\",\"message\":\"Hello! I’m doing well, thank you. How can I assist you today?\"}]",
        +        "items": {
        +          "oneOf": [
        +            {
        +              "properties": {
        +                "message": {
        +                  "description": "message text",
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                },
        +                "role": {
        +                  "description": "role of the user from whom the message originates",
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                }
        +              },
        +              "type": "object"
        +            }
        +          ],
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "model_name": {
        +        "description": "<em>name of the AI model</em><br><strong>required field</strong><br><code>model_name</code >consists of the actual model name and version name;<br>if the basic model name is specified, its latest version will be set by default;<br>you can receive the list of available LLM models by making a separate request to the following endpoint: <code>https://api.dataforseo.com/v3/ai_optimization/perplexity/llm_responses/models</code>",
        +        "type": "string"
        +      },
        +      "system_message": {
        +        "description": "<em>instructions for the AI behavior</em><br>optional field<br>defines the AI's role, tone, or specific behavior <br>you can specify <strong>up to 500 characters</strong> in the <code>system_message</code> field",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "temperature": {
        +        "description": "<em>randomness of the AI response</em><br>optional field<br>higher values make output more diverse <br>lower values make output more focused<br>minimum value: <code>0</code><br>maximum value: <code>1.9</code><br>default value: <code>0.77</code>",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "top_p": {
        +        "description": "<em>diversity of the AI response</em><br>optional field <br>controls diversity of the response by limiting token selection<br>minimum value: <code>0</code><br>maximum value: <code>1</code> <br>default value: <code>0.9</code>",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "user_prompt": {
        +        "description": "<em>prompt for the AI model</em><br><strong>required field</strong><br>the question or task you want to send to the AI model;<br>you can specify <strong>up to 500 characters</strong> in the <code>user_prompt</code> field",
        +        "type": "string"
        +      },
        +      "web_search_country_iso_code": {
        +        "description": "<em>country code for web search localization</em><br>optional field<br>specify the country  ISO code to get localized web search results<br><strong>Note:</strong> available only for Perplexity Sonar models<br>example: <code>US</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_backlinks_anchors_live2 fields changed
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "filters": [
        -          "anchor",
        -          "like",
        -          "%news%"
        -        ],
        -        "limit": 4,
        -        "order_by": [
        -          "backlinks,desc"
        -        ],
        -        "target": "forbes.com"
        -      }
        -    ],
        -    "properties": {
        -      "backlinks_filters": {
        -        "description": "<em>filter the backlinks of your <code>target</code></em><br>optional field<br>you can use this field to filter the initial backlinks that will be included in the dataset for aggregated metrics for your <code>target</code><br>you can filter the backlinks by all fields available in the response of <a href=\"/v3/backlinks/backlinks/live/\">this endpoint</a><br>using this parameter, you can include only dofollow backlinks in the response and create a flexible backlinks dataset to calculate the metrics for<br>example:<br><code>\"backlinks_filters\": [[\"dofollow\", \"=\", true]]</code>",
        -        "items": {
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "backlinks_status_type": {
        -        "description": "<em>set what backlinks to return and count</em><br>optional field<br>you can use this field to choose what backlinks will be returned and used for aggregated metrics for your <code>target</code>;<br>possible values: <br><code>all</code> - all backlinks will be returned and counted;<br><code>live</code> - backlinks found during the last check will be returned and counted;<br><code>lost</code> - lost backlinks will be returned and counted;<p>default value: <code>live</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "exclude_internal_backlinks": {
        -        "description": "<em>indicates whether the backlinks from subdomains of the <code>target</code> are excluded</em><br>optional field<br>if set to <code>false</code>, the backlinks from subdomains of the <code>target</code> will be ommited and you won't receive the same domain in the response;<br>default value: <code>true</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "filters": {
        -        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>, <code>not_like</code>, <code>ilike</code>, <code>not_ilike</code>, <code>match</code>, <code>not_match</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters<br>example:<br><code>[\"referring_links_types.anchors\",\"&gt;\",\"1\"]</code><p><code>[[\"broken_pages\",\"&gt;\",\"2\"],<br>\"and\",<br>[\"backlinks\",\"&gt;\",\"10\"]]</code><p><code>[[\"first_seen\",\">\",\"2017-10-23 11:31:45 +00:00\"],<br>\"and\",<br>[[\"anchor\",\"like\",\"%seo%\"],\"or\",[\"referring_domains\",\"&gt;\",\"10\"]]]</code><p>The full list of possible filters is available <a href=\"/v3/backlinks/filters/?bash\">here.</a>",
        -        "items": {
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "include_indirect_links": {
        -        "description": "<em>indicates if indirect links to the <code>target</code> will be included in the results</em><br>optional field<br>if set to <code>true</code>, the results will include data on indirect links pointing to a page that either redirects to the target, or points to a canonical page<br>if set to <code>false</code>, indirect links will be ignored<br>default value: <code>true</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "include_subdomains": {
        -        "description": "<em>indicates if the subdomains of the <code>target</code> will be included in the search</em><br>optional field<br>if set to <code>false</code>, the subdomains will be ignored<br>default value: <code>true</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "internal_list_limit": {
        -        "description": "<em>maximum number of elements within internal arrays</em><br>optional field<br>you can use this field to limit the number of elements within the following arrays:<br><code>referring_links_tld</code><br><code>referring_links_types</code><br><code>referring_links_attributes</code><br><code>referring_links_platform_types</code><br><code>referring_links_semantic_locations</code><p>default value: <code>10</code><br>maximum value: <code>1000</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "limit": {
        -        "description": "<em>the maximum number of returned anchors</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "offset": {
        -        "description": "<em>offset in the results array of returned anchors</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten anchors in the results array will be omitted and the data will be provided for the successive anchors",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "order_by": {
        -        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to set up a sorting type<br>example:<br><code>[\"backlinks,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"backlinks,desc\",\"rank,asc\"]</code>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "rank_scale": {
        -        "description": "<em>defines the scale used for calculating and displaying the <code>rank</code>, <code>domain_from_rank</code>, and <code>page_from_rank</code> values</em><br>optional field<p>you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale<p>possible values:<br><code>one_hundred</code> — rank values are displayed on a 0–100 scale<br><code>one_thousand</code> — rank values are displayed on a 0–1000 scale<p>default value: <code>one_thousand</code><p>learn more about how this parameter works and how ranking metrics are calculated in <a href=\"https://dataforseo.com/help-center/what_is_rank_in_backlinks_api#rank_scale\">this Help Center article</a>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "target": {
        -        "description": "<em>domain, subdomain or webpage to get anchors for</em><br><strong>required field</strong><br>a domain or a subdomain should be specified without <code>https://</code> and <code>www.</code><br>a page should be specified with absolute URL (including <code>http://</code> or <code>https://</code>)",
        -        "type": "string"
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / oneOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "filters": [
        +          "anchor",
        +          "like",
        +          "%news%"
        +        ],
        +        "limit": 4,
        +        "order_by": [
        +          "backlinks,desc"
        +        ],
        +        "target": "forbes.com"
        +      }
        +    ],
        +    "properties": {
        +      "backlinks_filters": {
        +        "description": "<em>filter the backlinks of your <code>target</code></em><br>optional field<br>you can use this field to filter the initial backlinks that will be included in the dataset for aggregated metrics for your <code>target</code><br>you can filter the backlinks by all fields available in the response of <a href=\"/v3/backlinks/backlinks/live/\">this endpoint</a><br>using this parameter, you can include only dofollow backlinks in the response and create a flexible backlinks dataset to calculate the metrics for<br>example:<br><code>\"backlinks_filters\": [[\"dofollow\", \"=\", true]]</code>",
        +        "items": {
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "backlinks_status_type": {
        +        "description": "<em>set what backlinks to return and count</em><br>optional field<br>you can use this field to choose what backlinks will be returned and used for aggregated metrics for your <code>target</code>;<br>possible values: <br><code>all</code> - all backlinks will be returned and counted;<br><code>live</code> - backlinks found during the last check will be returned and counted;<br><code>lost</code> - lost backlinks will be returned and counted;<p>default value: <code>live</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "exclude_internal_backlinks": {
        +        "description": "<em>indicates whether the backlinks from subdomains of the <code>target</code> are excluded</em><br>optional field<br>if set to <code>false</code>, the backlinks from subdomains of the <code>target</code> will be ommited and you won't receive the same domain in the response;<br>default value: <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "filters": {
        +        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>, <code>not_like</code>, <code>ilike</code>, <code>not_ilike</code>, <code>match</code>, <code>not_match</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters<br>example:<br><code>[\"referring_links_types.anchors\",\"&gt;\",\"1\"]</code><p><code>[[\"broken_pages\",\"&gt;\",\"2\"],<br>\"and\",<br>[\"backlinks\",\"&gt;\",\"10\"]]</code><p><code>[[\"first_seen\",\">\",\"2017-10-23 11:31:45 +00:00\"],<br>\"and\",<br>[[\"anchor\",\"like\",\"%seo%\"],\"or\",[\"referring_domains\",\"&gt;\",\"10\"]]]</code><p>The full list of possible filters is available <a href=\"/v3/backlinks/filters/?bash\">here.</a>",
        +        "items": {
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "include_indirect_links": {
        +        "description": "<em>indicates if indirect links to the <code>target</code> will be included in the results</em><br>optional field<br>if set to <code>true</code>, the results will include data on indirect links pointing to a page that either redirects to the target, or points to a canonical page<br>if set to <code>false</code>, indirect links will be ignored<br>default value: <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_subdomains": {
        +        "description": "<em>indicates if the subdomains of the <code>target</code> will be included in the search</em><br>optional field<br>if set to <code>false</code>, the subdomains will be ignored<br>default value: <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "internal_list_limit": {
        +        "description": "<em>maximum number of elements within internal arrays</em><br>optional field<br>you can use this field to limit the number of elements within the following arrays:<br><code>referring_links_tld</code><br><code>referring_links_types</code><br><code>referring_links_attributes</code><br><code>referring_links_platform_types</code><br><code>referring_links_semantic_locations</code><p>default value: <code>10</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "limit": {
        +        "description": "<em>the maximum number of returned anchors</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "offset": {
        +        "description": "<em>offset in the results array of returned anchors</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten anchors in the results array will be omitted and the data will be provided for the successive anchors",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "order_by": {
        +        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to set up a sorting type<br>example:<br><code>[\"backlinks,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"backlinks,desc\",\"rank,asc\"]</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "rank_scale": {
        +        "description": "<em>defines the scale used for calculating and displaying the <code>rank</code>, <code>domain_from_rank</code>, and <code>page_from_rank</code> values</em><br>optional field<p>you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale<p>possible values:<br><code>one_hundred</code> — rank values are displayed on a 0–100 scale<br><code>one_thousand</code> — rank values are displayed on a 0–1000 scale<p>default value: <code>one_thousand</code><p>learn more about how this parameter works and how ranking metrics are calculated in <a href=\"https://dataforseo.com/help-center/what_is_rank_in_backlinks_api#rank_scale\">this Help Center article</a>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "target": {
        +        "description": "<em>domain, subdomain or webpage to get anchors for</em><br><strong>required field</strong><br>a domain or a subdomain should be specified without <code>https://</code> and <code>www.</code><br>a page should be specified with absolute URL (including <code>http://</code> or <code>https://</code>)",
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_backlinks_backlinks_live2 fields changed
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "filters": [
        -          "dofollow",
        -          "=",
        -          true
        -        ],
        -        "limit": 5,
        -        "mode": "as_is",
        -        "target": "forbes.com"
        -      }
        -    ],
        -    "properties": {
        -      "backlinks_status_type": {
        -        "description": "<em>set what backlinks to return and count</em><br>optional field<br>you can use this field to choose what backlinks will be returned and used for aggregated metrics for your <code>target</code>;<br>possible values: <br><code>all</code> - all backlinks will be returned and counted;<br><code>live</code> - backlinks found during the last check will be returned and counted;<br><code>lost</code> - lost backlinks will be returned and counted;<p>default value: <code>live</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "custom_mode": {
        -        "additionalProperties": {
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "description": "<em>detailed results grouping type</em><br>optional field<br>use this object to get a specific number of backlinks per <code>field</code><br>if you use <code>custom_mode</code>, then <code>mode</code> will be ignored<br>example:<br><code>\"custom_mode\": {\"field\": \"domain\", \"value\": 100}</code>",
        -        "type": [
        -          "object",
        -          "null"
        -        ]
        -      },
        -      "exclude_internal_backlinks": {
        -        "description": "<em>indicates if internal backlinks from subdomains to the <code>target</code> will be excluded from the results</em><br>optional field<br>if set to <code>true</code>, the results will not include data on internal backlinks from subdomains of the same domain as <code>target</code><br>if set to <code>false</code>, internal links will be included in the results<br>default value: <code>true</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "filters": {
        -        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>, <code>not_like</code>, <code>ilike</code>, <code>not_ilike</code>, <code>regex</code>, <code>not_regex</code>, <code>match</code>, <code>not_match</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters<br>example:<br><code>[\"rank\",\"&gt;\",\"80\"]</code><p><code>[[\"page_from_rank\",\"&gt;\",\"55\"],<br>\"and\",<br>[\"dofollow\",\"=\",true]]</code><p><code>[[\"first_seen\",\">\",\"2017-10-23 11:31:45 +00:00\"],<br>\"and\",<br>[[\"anchor\",\"like\",\"%seo%\"],\"or\",[\"text_pre\",\"like\",\"%seo%\"]]]</code><p>The full list of possible filters is available <a href=\"/v3/backlinks/filters/?bash\" rel=\"noopener noreferrer\" target=\"_blank\">here.</a>",
        -        "items": {
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "include_subdomains": {
        -        "description": "<em>indicates if the subdomains of the <code>target</code> will be included in the search</em><br>optional field<br>if set to <code>false</code>, the subdomains will be ignored<br>default value: <code>true</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "limit": {
        -        "description": "<em>the maximum number of returned backlinks</em><br>optional field<p>default value: <code>100</code><br>maximum value: <code>1000</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "mode": {
        -        "description": "<em>results grouping type</em><br>optional field<br>possible grouping types:<br><code>as_is</code> - returns all backlinks<br><code>one_per_domain</code> - returns one backlink per domain<br><code>one_per_anchor</code> - returns one backlink per anchor<p>default value: <code>as_is</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "offset": {
        -        "description": "<em>offset in the results array of the returned backlinks</em><br>optional field<p>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten backlinks in the results array will be omitted and the data will be provided for the successive backlinks;<br><strong>Note:</strong> the maximum value is <code>20,000</code>, use the <code>search_after_token</code> if you would like to offset more results",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "order_by": {
        -        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to set up a sorting type<br>example:<br><code>[\"rank,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"domain_from_rank,desc\",\"page_from_rank,asc\"]</code>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "rank_scale": {
        -        "description": "<em>defines the scale used for calculating and displaying the <code>rank</code>, <code>domain_from_rank</code>, and <code>page_from_rank</code> values</em><br>optional field<p>you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale<p>possible values:<br><code>one_hundred</code> — rank values are displayed on a 0–100 scale<br><code>one_thousand</code> — rank values are displayed on a 0–1000 scale<p>default value: <code>one_thousand</code><p>learn more about how this parameter works and how ranking metrics are calculated in <a href=\"https://dataforseo.com/help-center/what_is_rank_in_backlinks_api#rank_scale\">this Help Center article</a>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "search_after_token": {
        -        "description": "<em>token for subsequent requests</em><br>optional field<br>provided in the identical filed of the response to each request;<br>use this parameter to avoid timeouts while trying to obtain over <code>20,000</code> results in a single request;<br>by specifying the unique <code>search_after_token</code> value from the response array, you will get the subsequent results of the initial task;<br><code>search_after_token</code> values are unique for each subsequent task ;<br><strong>Note:</strong> if the <code>search_after_token</code> is specified in the request, all other parameters should be identical to the previous request",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "target": {
        -        "description": "<em>domain, subdomain or webpage to get backlinks for</em><br><strong>required field</strong><br>a domain or a subdomain should be specified without <code>https://</code> and <code>www.</code><br>a page should be specified with absolute URL (including <code>http://</code> or <code>https://</code>)",
        -        "type": "string"
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / oneOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "filters": [
        +          "dofollow",
        +          "=",
        +          true
        +        ],
        +        "limit": 5,
        +        "mode": "as_is",
        +        "target": "forbes.com"
        +      }
        +    ],
        +    "properties": {
        +      "backlinks_status_type": {
        +        "description": "<em>set what backlinks to return and count</em><br>optional field<br>you can use this field to choose what backlinks will be returned and used for aggregated metrics for your <code>target</code>;<br>possible values: <br><code>all</code> - all backlinks will be returned and counted;<br><code>live</code> - backlinks found during the last check will be returned and counted;<br><code>lost</code> - lost backlinks will be returned and counted;<p>default value: <code>live</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "custom_mode": {
        +        "additionalProperties": {
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "description": "<em>detailed results grouping type</em><br>optional field<br>use this object to get a specific number of backlinks per <code>field</code><br>if you use <code>custom_mode</code>, then <code>mode</code> will be ignored<br>example:<br><code>\"custom_mode\": {\"field\": \"domain\", \"value\": 100}</code>",
        +        "type": [
        +          "object",
        +          "null"
        +        ]
        +      },
        +      "exclude_internal_backlinks": {
        +        "description": "<em>indicates if internal backlinks from subdomains to the <code>target</code> will be excluded from the results</em><br>optional field<br>if set to <code>true</code>, the results will not include data on internal backlinks from subdomains of the same domain as <code>target</code><br>if set to <code>false</code>, internal links will be included in the results<br>default value: <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "filters": {
        +        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>, <code>not_like</code>, <code>ilike</code>, <code>not_ilike</code>, <code>regex</code>, <code>not_regex</code>, <code>match</code>, <code>not_match</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters<br>example:<br><code>[\"rank\",\"&gt;\",\"80\"]</code><p><code>[[\"page_from_rank\",\"&gt;\",\"55\"],<br>\"and\",<br>[\"dofollow\",\"=\",true]]</code><p><code>[[\"first_seen\",\">\",\"2017-10-23 11:31:45 +00:00\"],<br>\"and\",<br>[[\"anchor\",\"like\",\"%seo%\"],\"or\",[\"text_pre\",\"like\",\"%seo%\"]]]</code><p>The full list of possible filters is available <a href=\"/v3/backlinks/filters/?bash\" rel=\"noopener noreferrer\" target=\"_blank\">here.</a>",
        +        "items": {
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "include_subdomains": {
        +        "description": "<em>indicates if the subdomains of the <code>target</code> will be included in the search</em><br>optional field<br>if set to <code>false</code>, the subdomains will be ignored<br>default value: <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "limit": {
        +        "description": "<em>the maximum number of returned backlinks</em><br>optional field<p>default value: <code>100</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "mode": {
        +        "description": "<em>results grouping type</em><br>optional field<br>possible grouping types:<br><code>as_is</code> - returns all backlinks<br><code>one_per_domain</code> - returns one backlink per domain<br><code>one_per_anchor</code> - returns one backlink per anchor<p>default value: <code>as_is</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "offset": {
        +        "description": "<em>offset in the results array of the returned backlinks</em><br>optional field<p>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten backlinks in the results array will be omitted and the data will be provided for the successive backlinks;<br><strong>Note:</strong> the maximum value is <code>20,000</code>, use the <code>search_after_token</code> if you would like to offset more results",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "order_by": {
        +        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to set up a sorting type<br>example:<br><code>[\"rank,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"domain_from_rank,desc\",\"page_from_rank,asc\"]</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "rank_scale": {
        +        "description": "<em>defines the scale used for calculating and displaying the <code>rank</code>, <code>domain_from_rank</code>, and <code>page_from_rank</code> values</em><br>optional field<p>you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale<p>possible values:<br><code>one_hundred</code> — rank values are displayed on a 0–100 scale<br><code>one_thousand</code> — rank values are displayed on a 0–1000 scale<p>default value: <code>one_thousand</code><p>learn more about how this parameter works and how ranking metrics are calculated in <a href=\"https://dataforseo.com/help-center/what_is_rank_in_backlinks_api#rank_scale\">this Help Center article</a>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "search_after_token": {
        +        "description": "<em>token for subsequent requests</em><br>optional field<br>provided in the identical filed of the response to each request;<br>use this parameter to avoid timeouts while trying to obtain over <code>20,000</code> results in a single request;<br>by specifying the unique <code>search_after_token</code> value from the response array, you will get the subsequent results of the initial task;<br><code>search_after_token</code> values are unique for each subsequent task ;<br><strong>Note:</strong> if the <code>search_after_token</code> is specified in the request, all other parameters should be identical to the previous request",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "target": {
        +        "description": "<em>domain, subdomain or webpage to get backlinks for</em><br><strong>required field</strong><br>a domain or a subdomain should be specified without <code>https://</code> and <code>www.</code><br>a page should be specified with absolute URL (including <code>http://</code> or <code>https://</code>)",
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_backlinks_competitors_live2 fields changed
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "filters": [
        -          "rank",
        -          ">",
        -          100
        -        ],
        -        "limit": 5,
        -        "order_by": [
        -          "rank,desc"
        -        ],
        -        "target": "dataforseo.com"
        -      }
        -    ],
        -    "properties": {
        -      "exclude_internal_backlinks": {
        -        "description": "<em>indicates if internal backlinks from subdomains to the <code>target</code> will be excluded from the results</em><br>optional field<br>if set to <code>true</code>, the results will not include data on internal backlinks from subdomains of the same domain as <code>target</code><br>if set to <code>false</code>, internal links will be included in the results<br>default value: <code>true</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "exclude_large_domains": {
        -        "description": "<em>indicates whether large domain will appear in results</em><br>optional field<br>if set to <code>true</code>, the results from the large domain (google.com, amazon.com, etc.) will be omitted;<br>default value: <code>true</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "filters": {
        -        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>, <code>not_like</code>, <code>ilike</code>, <code>not_ilike</code>, <code>match</code>, <code>not_match</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters<br>example:<br><code>[\"rank\",\"&gt;\",\"100\"]</code><p><code>[[\"target\",\"like\",\"%forbes%\"],<br>\"and\",<br>[[\"rank\",\"&gt;\",\"100\"],\"or\",[\"intersections\",\"&gt;\",\"5\"]]]</code><p>The full list of possible filters is available <a href=\"/v3/backlinks/filters/?bash\" rel=\"noopener noreferrer\" target=\"_blank\">here.</a>",
        -        "items": {
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "limit": {
        -        "description": "<em>the maximum number of returned domains</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "main_domain": {
        -        "description": "<em>indicates if only main domain of the <code>target</code> will be included in the search</em><br>optional field<br>if set to <code>true</code>, only the main domain will be included in search;<br>default value: <code>true</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "offset": {
        -        "description": "<em>offset in the results array of returned domains</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten domains in the results array will be omitted and the data will be provided for the successive pages",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "order_by": {
        -        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to set up a sorting type<br>example:<br><code>[\"rank,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"intersections,desc\",\"rank,asc\"]</code>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "rank_scale": {
        -        "description": "<em>defines the scale used for calculating and displaying the <code>rank</code>, <code>domain_from_rank</code>, and <code>page_from_rank</code> values</em><br>optional field<p>you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale<p>possible values:<br><code>one_hundred</code> — rank values are displayed on a 0–100 scale<br><code>one_thousand</code> — rank values are displayed on a 0–1000 scale<p>default value: <code>one_thousand</code><p>learn more about how this parameter works and how ranking metrics are calculated in <a href=\"https://dataforseo.com/help-center/what_is_rank_in_backlinks_api#rank_scale\">this Help Center article</a>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "target": {
        -        "description": "<em>domain, subdomain or webpage to get competitor domains for</em><br><strong>required field</strong><br>a domain or a subdomain should be specified without <code>https://</code> and <code>www.</code><br>a page should be specified with absolute URL (including <code>http://</code> or <code>https://</code>)",
        -        "type": "string"
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / oneOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "filters": [
        +          "rank",
        +          ">",
        +          100
        +        ],
        +        "limit": 5,
        +        "order_by": [
        +          "rank,desc"
        +        ],
        +        "target": "dataforseo.com"
        +      }
        +    ],
        +    "properties": {
        +      "exclude_internal_backlinks": {
        +        "description": "<em>indicates if internal backlinks from subdomains to the <code>target</code> will be excluded from the results</em><br>optional field<br>if set to <code>true</code>, the results will not include data on internal backlinks from subdomains of the same domain as <code>target</code><br>if set to <code>false</code>, internal links will be included in the results<br>default value: <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "exclude_large_domains": {
        +        "description": "<em>indicates whether large domain will appear in results</em><br>optional field<br>if set to <code>true</code>, the results from the large domain (google.com, amazon.com, etc.) will be omitted;<br>default value: <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "filters": {
        +        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>, <code>not_like</code>, <code>ilike</code>, <code>not_ilike</code>, <code>match</code>, <code>not_match</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters<br>example:<br><code>[\"rank\",\"&gt;\",\"100\"]</code><p><code>[[\"target\",\"like\",\"%forbes%\"],<br>\"and\",<br>[[\"rank\",\"&gt;\",\"100\"],\"or\",[\"intersections\",\"&gt;\",\"5\"]]]</code><p>The full list of possible filters is available <a href=\"/v3/backlinks/filters/?bash\" rel=\"noopener noreferrer\" target=\"_blank\">here.</a>",
        +        "items": {
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "limit": {
        +        "description": "<em>the maximum number of returned domains</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "main_domain": {
        +        "description": "<em>indicates if only main domain of the <code>target</code> will be included in the search</em><br>optional field<br>if set to <code>true</code>, only the main domain will be included in search;<br>default value: <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "offset": {
        +        "description": "<em>offset in the results array of returned domains</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten domains in the results array will be omitted and the data will be provided for the successive pages",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "order_by": {
        +        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to set up a sorting type<br>example:<br><code>[\"rank,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"intersections,desc\",\"rank,asc\"]</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "rank_scale": {
        +        "description": "<em>defines the scale used for calculating and displaying the <code>rank</code>, <code>domain_from_rank</code>, and <code>page_from_rank</code> values</em><br>optional field<p>you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale<p>possible values:<br><code>one_hundred</code> — rank values are displayed on a 0–100 scale<br><code>one_thousand</code> — rank values are displayed on a 0–1000 scale<p>default value: <code>one_thousand</code><p>learn more about how this parameter works and how ranking metrics are calculated in <a href=\"https://dataforseo.com/help-center/what_is_rank_in_backlinks_api#rank_scale\">this Help Center article</a>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "target": {
        +        "description": "<em>domain, subdomain or webpage to get competitor domains for</em><br><strong>required field</strong><br>a domain or a subdomain should be specified without <code>https://</code> and <code>www.</code><br>a page should be specified with absolute URL (including <code>http://</code> or <code>https://</code>)",
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_backlinks_history_live2 fields changed
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "date_from": "2020-01-01",
        -        "date_to": "2021-01-01",
        -        "target": "cnn.com"
        -      }
        -    ],
        -    "properties": {
        -      "date_from": {
        -        "description": "<em>starting date of the time range</em><br>optional field<br>minimum value <code>2019-01-01</code><br>if you don't specify this field, the minimum value will be used by default<br>date format: <code>\"yyyy-mm-dd\"</code><br>example:<br><code>\"2019-01-15\"</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "date_to": {
        -        "description": "<em>ending date of the time range</em><br>optional field<br>if you don't specify this field, the today's date will be used by default<br>date format: <code>\"yyyy-mm-dd\"</code><br>example:<br><code>\"2019-01-15\"</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "rank_scale": {
        -        "description": "<em>defines the scale used for calculating and displaying the <code>rank</code>, <code>domain_from_rank</code>, and <code>page_from_rank</code> values</em><br>optional field<p>you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale<p>possible values:<br><code>one_hundred</code> — rank values are displayed on a 0–100 scale<br><code>one_thousand</code> — rank values are displayed on a 0–1000 scale<p>default value: <code>one_thousand</code><p>learn more about how this parameter works and how ranking metrics are calculated in <a href=\"https://dataforseo.com/help-center/what_is_rank_in_backlinks_api#rank_scale\">this Help Center article</a>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "target": {
        -        "description": "<em>domain</em><br><strong>required field</strong><br>a domain should be specified without <code>https://</code> and <code>www.</code>",
        -        "type": "string"
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / oneOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "date_from": "2020-01-01",
        +        "date_to": "2021-01-01",
        +        "target": "cnn.com"
        +      }
        +    ],
        +    "properties": {
        +      "date_from": {
        +        "description": "<em>starting date of the time range</em><br>optional field<br>minimum value <code>2019-01-01</code><br>if you don't specify this field, the minimum value will be used by default<br>date format: <code>\"yyyy-mm-dd\"</code><br>example:<br><code>\"2019-01-15\"</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "date_to": {
        +        "description": "<em>ending date of the time range</em><br>optional field<br>if you don't specify this field, the today's date will be used by default<br>date format: <code>\"yyyy-mm-dd\"</code><br>example:<br><code>\"2019-01-15\"</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "rank_scale": {
        +        "description": "<em>defines the scale used for calculating and displaying the <code>rank</code>, <code>domain_from_rank</code>, and <code>page_from_rank</code> values</em><br>optional field<p>you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale<p>possible values:<br><code>one_hundred</code> — rank values are displayed on a 0–100 scale<br><code>one_thousand</code> — rank values are displayed on a 0–1000 scale<p>default value: <code>one_thousand</code><p>learn more about how this parameter works and how ranking metrics are calculated in <a href=\"https://dataforseo.com/help-center/what_is_rank_in_backlinks_api#rank_scale\">this Help Center article</a>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "target": {
        +        "description": "<em>domain</em><br><strong>required field</strong><br>a domain should be specified without <code>https://</code> and <code>www.</code>",
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_backlinks_referring_domains_live2 fields changed
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "backlinks_filters": [
        -          "dofollow",
        -          "=",
        -          true
        -        ],
        -        "exclude_internal_backlinks": true,
        -        "filters": [
        -          "backlinks",
        -          ">",
        -          100
        -        ],
        -        "limit": 5,
        -        "order_by": [
        -          "rank,desc"
        -        ],
        -        "target": "backlinko.com"
        -      }
        -    ],
        -    "properties": {
        -      "backlinks_filters": {
        -        "description": "<em>filter the backlinks of your <code>target</code></em><br>optional field<br>you can use this field to filter the initial backlinks that will be included in the dataset for aggregated metrics for your <code>target</code><br>you can filter the backlinks by all fields available in the response of <a href=\"/v3/backlinks/backlinks/live\">this endpoint</a><br>using this parameter, you can include only dofollow backlinks in the response and create a flexible backlinks dataset to calculate the metrics for<br>example:<br><code>\"backlinks_filters\": [\"dofollow\", \"=\", true]</code>",
        -        "items": {
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "backlinks_status_type": {
        -        "description": "<em>set what backlinks to return and count</em><br>optional field<br>you can use this field to choose what backlinks will be returned and used for aggregated metrics for your <code>target</code>;<br>possible values: <br><code>all</code> - all backlinks will be returned and counted;<br><code>live</code> - backlinks found during the last check will be returned and counted;<br><code>lost</code> - lost backlinks will be returned and counted;<p>default value: <code>live</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "exclude_internal_backlinks": {
        -        "description": "<em>indicates whether the backlinks from subdomains of the <code>target</code> are excluded</em><br>optional field<br>if set to <code>false</code>, the backlinks from subdomains of the <code>target</code> will be ommited and you won't receive the same domain in the response;<br>default value: <code>true</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "filters": {
        -        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>, <code>not_like</code>, <code>match</code>, <code>not_match</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters<br>example:<br><code>[\"referring_pages\",\"&gt;\",\"1\"]</code><p><code>[[\"referring_pages\",\"&gt;\",\"2\"],<br>\"and\",<br>[\"backlinks\",\"&gt;\",\"10\"]]</code><p><code>[[\"first_seen\",\">\",\"2017-10-23 11:31:45 +00:00\"],<br>\"and\",<br>[[\"domain\",\"like\",\"%dataforseo.com%\"],\"or\",[\"referring_domains\",\"&gt;\",\"10\"]]]</code><p>The full list of possible filters is available <a href=\"/v3/backlinks/filters/?bash\" rel=\"noopener noreferrer\" target=\"_blank\">here.</a>",
        -        "items": {
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "include_indirect_links": {
        -        "description": "<em>indicates if indirect links to the <code>target</code> will be included in the results</em><br>optional field<br>if set to <code>true</code>, the results will include data on indirect links pointing to a page that either redirects to the target, or points to a canonical page<br>if set to <code>false</code>, indirect links will be ignored<br>default value: <code>true</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "include_subdomains": {
        -        "description": "<em>indicates if the subdomains of the <code>target</code> will be included in the search</em><br>optional field<br>if set to <code>false</code>, the subdomains will be ignored<br>default value: <code>true</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "internal_list_limit": {
        -        "description": "<em>maximum number of elements within internal arrays</em><br>optional field<br>you can use this field to limit the number of elements within the following arrays:<br><code>referring_links_tld</code><br><code>referring_links_types</code><br><code>referring_links_attributes</code><br><code>referring_links_platform_types</code><br><code>referring_links_semantic_locations</code><p>default value: <code>10</code><br>maximum value: <code>1000</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "limit": {
        -        "description": "<em>the maximum number of returned domains</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "offset": {
        -        "description": "<em>offset in the results array of returned domains</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten domains in the results array will be omitted and the data will be provided for the successive pages",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "order_by": {
        -        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to set up a sorting type<br>example:<br><code>[\"backlinks,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"backlinks,desc\",\"rank,asc\"]</code>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "rank_scale": {
        -        "description": "<em>defines the scale used for calculating and displaying the <code>rank</code>, <code>domain_from_rank</code>, and <code>page_from_rank</code> values</em><br>optional field<p>you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale<p>possible values:<br><code>one_hundred</code> — rank values are displayed on a 0–100 scale<br><code>one_thousand</code> — rank values are displayed on a 0–1000 scale<p>default value: <code>one_thousand</code><p>learn more about how this parameter works and how ranking metrics are calculated in <a href=\"https://dataforseo.com/help-center/what_is_rank_in_backlinks_api#rank_scale\">this Help Center article</a>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "target": {
        -        "description": "<em>domain, subdomain or webpage to get referring domains for</em><br><strong>required field</strong><br>a domain or a subdomain should be specified without <code>https://</code> and <code>www.</code><br>a page should be specified with absolute URL (including <code>http://</code> or <code>https://</code>)",
        -        "type": "string"
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / oneOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "backlinks_filters": [
        +          "dofollow",
        +          "=",
        +          true
        +        ],
        +        "exclude_internal_backlinks": true,
        +        "filters": [
        +          "backlinks",
        +          ">",
        +          100
        +        ],
        +        "limit": 5,
        +        "order_by": [
        +          "rank,desc"
        +        ],
        +        "target": "backlinko.com"
        +      }
        +    ],
        +    "properties": {
        +      "backlinks_filters": {
        +        "description": "<em>filter the backlinks of your <code>target</code></em><br>optional field<br>you can use this field to filter the initial backlinks that will be included in the dataset for aggregated metrics for your <code>target</code><br>you can filter the backlinks by all fields available in the response of <a href=\"/v3/backlinks/backlinks/live\">this endpoint</a><br>using this parameter, you can include only dofollow backlinks in the response and create a flexible backlinks dataset to calculate the metrics for<br>example:<br><code>\"backlinks_filters\": [\"dofollow\", \"=\", true]</code>",
        +        "items": {
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "backlinks_status_type": {
        +        "description": "<em>set what backlinks to return and count</em><br>optional field<br>you can use this field to choose what backlinks will be returned and used for aggregated metrics for your <code>target</code>;<br>possible values: <br><code>all</code> - all backlinks will be returned and counted;<br><code>live</code> - backlinks found during the last check will be returned and counted;<br><code>lost</code> - lost backlinks will be returned and counted;<p>default value: <code>live</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "exclude_internal_backlinks": {
        +        "description": "<em>indicates whether the backlinks from subdomains of the <code>target</code> are excluded</em><br>optional field<br>if set to <code>false</code>, the backlinks from subdomains of the <code>target</code> will be ommited and you won't receive the same domain in the response;<br>default value: <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "filters": {
        +        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>, <code>not_like</code>, <code>match</code>, <code>not_match</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters<br>example:<br><code>[\"referring_pages\",\"&gt;\",\"1\"]</code><p><code>[[\"referring_pages\",\"&gt;\",\"2\"],<br>\"and\",<br>[\"backlinks\",\"&gt;\",\"10\"]]</code><p><code>[[\"first_seen\",\">\",\"2017-10-23 11:31:45 +00:00\"],<br>\"and\",<br>[[\"domain\",\"like\",\"%dataforseo.com%\"],\"or\",[\"referring_domains\",\"&gt;\",\"10\"]]]</code><p>The full list of possible filters is available <a href=\"/v3/backlinks/filters/?bash\" rel=\"noopener noreferrer\" target=\"_blank\">here.</a>",
        +        "items": {
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "include_indirect_links": {
        +        "description": "<em>indicates if indirect links to the <code>target</code> will be included in the results</em><br>optional field<br>if set to <code>true</code>, the results will include data on indirect links pointing to a page that either redirects to the target, or points to a canonical page<br>if set to <code>false</code>, indirect links will be ignored<br>default value: <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_subdomains": {
        +        "description": "<em>indicates if the subdomains of the <code>target</code> will be included in the search</em><br>optional field<br>if set to <code>false</code>, the subdomains will be ignored<br>default value: <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "internal_list_limit": {
        +        "description": "<em>maximum number of elements within internal arrays</em><br>optional field<br>you can use this field to limit the number of elements within the following arrays:<br><code>referring_links_tld</code><br><code>referring_links_types</code><br><code>referring_links_attributes</code><br><code>referring_links_platform_types</code><br><code>referring_links_semantic_locations</code><p>default value: <code>10</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "limit": {
        +        "description": "<em>the maximum number of returned domains</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "offset": {
        +        "description": "<em>offset in the results array of returned domains</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten domains in the results array will be omitted and the data will be provided for the successive pages",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "order_by": {
        +        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to set up a sorting type<br>example:<br><code>[\"backlinks,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"backlinks,desc\",\"rank,asc\"]</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "rank_scale": {
        +        "description": "<em>defines the scale used for calculating and displaying the <code>rank</code>, <code>domain_from_rank</code>, and <code>page_from_rank</code> values</em><br>optional field<p>you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale<p>possible values:<br><code>one_hundred</code> — rank values are displayed on a 0–100 scale<br><code>one_thousand</code> — rank values are displayed on a 0–1000 scale<p>default value: <code>one_thousand</code><p>learn more about how this parameter works and how ranking metrics are calculated in <a href=\"https://dataforseo.com/help-center/what_is_rank_in_backlinks_api#rank_scale\">this Help Center article</a>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "target": {
        +        "description": "<em>domain, subdomain or webpage to get referring domains for</em><br><strong>required field</strong><br>a domain or a subdomain should be specified without <code>https://</code> and <code>www.</code><br>a page should be specified with absolute URL (including <code>http://</code> or <code>https://</code>)",
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_backlinks_summary_live2 fields changed
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "backlinks_filters": [
        -          "dofollow",
        -          "=",
        -          true
        -        ],
        -        "backlinks_status_type": "all",
        -        "include_subdomains": true,
        -        "internal_list_limit": 10,
        -        "target": "explodingtopics.com"
        -      }
        -    ],
        -    "properties": {
        -      "backlinks_filters": {
        -        "description": "<em>filter the backlinks of your <code>target</code></em><br>optional field<br>you can use this field to filter the initial backlinks that will be included in the dataset for aggregated metrics for your <code>target</code><br>you can filter the backlinks by all fields available in the response of <a href=\"/v3/backlinks/backlinks/live\">this endpoint</a><br>using this parameter, you can include only dofollow backlinks in the response and create a flexible backlinks dataset to calculate the metrics for<br>example:<br><code>\"backlinks_filters\": [\"dofollow\", \"=\", true]</code>",
        -        "items": {
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "backlinks_status_type": {
        -        "description": "<em>set what backlinks to return and count</em><br>optional field<br>you can use this field to choose what backlinks will be returned and used for aggregated metrics for your <code>target</code>;<br>possible values: <br><code>all</code> - all backlinks will be returned and counted;<br><code>live</code> - backlinks found during the last check will be returned and counted;<br><code>lost</code> - lost backlinks will be returned and counted;<p>default value: <code>live</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "exclude_internal_backlinks": {
        -        "description": "<em>indicates if internal backlinks from subdomains to the <code>target</code> will be excluded from the results</em><br>optional field<br>if set to <code>true</code>, the results will not include data on internal backlinks from subdomains of the same domain as <code>target</code><br>if set to <code>false</code>, internal links will be included in the results<br>default value: <code>true</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "include_indirect_links": {
        -        "description": "<em>indicates if indirect links to the <code>target</code> will be included in the results</em><br>optional field<br>if set to <code>true</code>, the results will include data on indirect links pointing to a page that either redirects to the target, or points to a canonical page<br>if set to <code>false</code>, indirect links will be ignored<br>default value: <code>true</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "include_subdomains": {
        -        "description": "<em>indicates if the subdomains of the <code>target</code> will be included in the search</em><br>optional field<br>if set to <code>false</code>, the subdomains will be ignored<br>default value: <code>true</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "internal_list_limit": {
        -        "description": "<em>maximum number of elements within internal arrays</em><br>optional field<br>you can use this field to limit the number of elements within the following arrays:<br><code>referring_links_tld</code><br><code>referring_links_types</code><br><code>referring_links_attributes</code><br><code>referring_links_platform_types</code><br><code>referring_links_semantic_locations</code><p>default value: <code>10</code><br>maximum value: <code>1000</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "rank_scale": {
        -        "description": "<em>defines the scale used for calculating and displaying the <code>rank</code>, <code>domain_from_rank</code>, and <code>page_from_rank</code> values</em><br>optional field<p>you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale<p>possible values:<br><code>one_hundred</code> — rank values are displayed on a 0–100 scale<br><code>one_thousand</code> — rank values are displayed on a 0–1000 scale<p>default value: <code>one_thousand</code><p>learn more about how this parameter works and how ranking metrics are calculated in <a href=\"https://dataforseo.com/help-center/what_is_rank_in_backlinks_api#rank_scale\">this Help Center article</a>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "target": {
        -        "description": "<em>domain, subdomain or webpage to get data for</em><br><strong>required field</strong><br>a domain or a subdomain should be specified without <code>https://</code> and <code>www.</code><br>a page should be specified with absolute URL (including <code>http://</code> or <code>https://</code>)",
        -        "type": "string"
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / oneOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "backlinks_filters": [
        +          "dofollow",
        +          "=",
        +          true
        +        ],
        +        "backlinks_status_type": "all",
        +        "include_subdomains": true,
        +        "internal_list_limit": 10,
        +        "target": "explodingtopics.com"
        +      }
        +    ],
        +    "properties": {
        +      "backlinks_filters": {
        +        "description": "<em>filter the backlinks of your <code>target</code></em><br>optional field<br>you can use this field to filter the initial backlinks that will be included in the dataset for aggregated metrics for your <code>target</code><br>you can filter the backlinks by all fields available in the response of <a href=\"/v3/backlinks/backlinks/live\">this endpoint</a><br>using this parameter, you can include only dofollow backlinks in the response and create a flexible backlinks dataset to calculate the metrics for<br>example:<br><code>\"backlinks_filters\": [\"dofollow\", \"=\", true]</code>",
        +        "items": {
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "backlinks_status_type": {
        +        "description": "<em>set what backlinks to return and count</em><br>optional field<br>you can use this field to choose what backlinks will be returned and used for aggregated metrics for your <code>target</code>;<br>possible values: <br><code>all</code> - all backlinks will be returned and counted;<br><code>live</code> - backlinks found during the last check will be returned and counted;<br><code>lost</code> - lost backlinks will be returned and counted;<p>default value: <code>live</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "exclude_internal_backlinks": {
        +        "description": "<em>indicates if internal backlinks from subdomains to the <code>target</code> will be excluded from the results</em><br>optional field<br>if set to <code>true</code>, the results will not include data on internal backlinks from subdomains of the same domain as <code>target</code><br>if set to <code>false</code>, internal links will be included in the results<br>default value: <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_indirect_links": {
        +        "description": "<em>indicates if indirect links to the <code>target</code> will be included in the results</em><br>optional field<br>if set to <code>true</code>, the results will include data on indirect links pointing to a page that either redirects to the target, or points to a canonical page<br>if set to <code>false</code>, indirect links will be ignored<br>default value: <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_subdomains": {
        +        "description": "<em>indicates if the subdomains of the <code>target</code> will be included in the search</em><br>optional field<br>if set to <code>false</code>, the subdomains will be ignored<br>default value: <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "internal_list_limit": {
        +        "description": "<em>maximum number of elements within internal arrays</em><br>optional field<br>you can use this field to limit the number of elements within the following arrays:<br><code>referring_links_tld</code><br><code>referring_links_types</code><br><code>referring_links_attributes</code><br><code>referring_links_platform_types</code><br><code>referring_links_semantic_locations</code><p>default value: <code>10</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "rank_scale": {
        +        "description": "<em>defines the scale used for calculating and displaying the <code>rank</code>, <code>domain_from_rank</code>, and <code>page_from_rank</code> values</em><br>optional field<p>you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale<p>possible values:<br><code>one_hundred</code> — rank values are displayed on a 0–100 scale<br><code>one_thousand</code> — rank values are displayed on a 0–1000 scale<p>default value: <code>one_thousand</code><p>learn more about how this parameter works and how ranking metrics are calculated in <a href=\"https://dataforseo.com/help-center/what_is_rank_in_backlinks_api#rank_scale\">this Help Center article</a>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "target": {
        +        "description": "<em>domain, subdomain or webpage to get data for</em><br><strong>required field</strong><br>a domain or a subdomain should be specified without <code>https://</code> and <code>www.</code><br>a page should be specified with absolute URL (including <code>http://</code> or <code>https://</code>)",
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_content_search_live2 fields changed
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "filters": [
        -          "main_domain",
        -          "=",
        -          "reviewfinder.ca"
        -        ],
        -        "keyword": "logitech",
        -        "keyword_fields": {
        -          "snippet": "logitech"
        -        },
        -        "limit": 10,
        -        "order_by": [
        -          "content_info.sentiment_connotations.anger,desc"
        -        ],
        -        "page_type": [
        -          "ecommerce",
        -          "news",
        -          "blogs",
        -          "message-boards",
        -          "organization"
        -        ],
        -        "search_mode": "as_is"
        -      }
        -    ],
        -    "properties": {
        -      "filters": {
        -        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>,<code>not_like</code>, <code>match</code>, <code>not_match</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters<br>example:<br><code>[\"country\",\"=\", \"US\"]</code><p><code>[[\"domain_rank\",\"&gt;\",800],\"and\",[\"content_info.connotation_types.negative\",\"&gt;\",0.9]]</code><p><code>[[\"domain_rank\",\"&gt;\",800],<br>\"and\",<br>[[\"page_types\",\"has\",\"ecommerce\"],<br>\"or\",<p>[\"content_info.text_category\",\"has\",10994]]]</code><br>for more information about filters, please refer to <a href=\"/v3/content_analysis/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Content Analysis API - Filters</a>",
        -        "items": {
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "keyword": {
        -        "description": "<em>target keyword</em><br><strong>required field</strong><br>UTF-8 encoding<br>the keywords will be converted to a lowercase format;<br><strong>Note</strong>: to match an exact phrase instead of a stand-alone keyword, use double quotes and backslashes; <br>example: <br>`\"keyword\": \"\\\"tesla palo alto\\\"\"`<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        -        "type": "string"
        -      },
        -      "keyword_fields": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "null"
        -          ]
        -        },
        -        "description": "<em>target keyword fields and target keywords</em><br>optional field<br>use this parameter to filter the dataset by keywords that certain fields should contain;<br>fields you can specify: <code>title</code>, <code>main_title</code>, <code>previous_title</code>, <code>snippet</code><br>you can indicate several fields;<br><strong>Note</strong>: to match an exact phrase instead of a stand-alone keyword, use double quotes and backslashes; <br>example:<br>`\"keyword_fields\": {<br>\"snippet\": \"\\\"logitech mouse\\\"\",<br>\"main_title\": \"sale\"<br>}\"`",
        -        "type": [
        -          "object",
        -          "null"
        -        ]
        -      },
        -      "limit": {
        -        "description": "<em>the maximum number of returned citations</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "offset": {
        -        "description": "<em>offset in the results array of returned citations</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten citations in the results array will be omitted and the data will be provided for the successive citations<br><strong>Note:</strong> we recommend using this parameter only when retrieving up to 10,000 results<br>for retrieving over 10,000 results, use the <code>offset_token</code> instead.",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "offset_token": {
        -        "description": "<em>offset token for subsequent requests</em><br>optional field<br>provided in the identical field of the response to each request;<br>use this parameter to avoid timeouts while trying to obtain over 10,000 results in a single request;<br>by specifying the unique <code>offset_token</code> value from the response array, you will get the subsequent results of the initial task;<br><code>offset_token</code> values are unique for each subsequent task <br><strong>Note:</strong> if the <code>offset_token</code> is specified in the request, all other parameters except <code>limit</code> will not be taken into account when processing a task<br>learn more about this parameter on our <a href=\"https://dataforseo.com/help-center/what-is-the-difference-between-the-offset-and-offset_token-parameters#offset_token\" target=\"_blank\">Help Center</a>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "order_by": {
        -        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to set up a sorting type<br>example:<br><code>[\"content_info.sentiment_connotations.anger,desc\"]</code><br>default rule:<br><code>[\"content_info.sentiment_connotations.anger,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"content_info.sentiment_connotations.anger,desc\",\"keyword_data.keyword_info.cpc,desc\"]</code>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "page_type": {
        -        "description": "<em>target page types</em><br>optional field<br>use this parameter to filter the dataset by page types<br>possible values: <br><code>\"ecommerce\"</code>, <code>\"news\"</code>, <code>\"blogs\"</code>, <code>\"message-boards\"</code>, <code>\"organization\"</code>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "rank_scale": {
        -        "description": "<em>defines the scale used for calculating and displaying the <code>domain_rank</code>, and <code>url_rank</code> values</em><br>optional field<p>you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale<p>possible values:<br><code>one_hundred</code> — rank values are displayed on a 0–100 scale<br><code>one_thousand</code> — rank values are displayed on a 0–1000 scale<p>default value: <code>one_thousand</code><p>learn more about how this parameter works in <a href=\"https://dataforseo.com/help-center/using-the-rank_scale-parameter-in-content-analysis-api\">this Help Center article</a>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "search_mode": {
        -        "description": "<em>results grouping type</em><br>optional field<br>possible grouping types:<br><code>as_is</code> - returns all citations for the target <code>keyword</code><br><code>one_per_domain</code> - returns one citation of the <code>keyword</code> per domain<br>default value: <code>as_is</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / oneOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "filters": [
        +          "main_domain",
        +          "=",
        +          "reviewfinder.ca"
        +        ],
        +        "keyword": "logitech",
        +        "keyword_fields": {
        +          "snippet": "logitech"
        +        },
        +        "limit": 10,
        +        "order_by": [
        +          "content_info.sentiment_connotations.anger,desc"
        +        ],
        +        "page_type": [
        +          "ecommerce",
        +          "news",
        +          "blogs",
        +          "message-boards",
        +          "organization"
        +        ],
        +        "search_mode": "as_is"
        +      }
        +    ],
        +    "properties": {
        +      "filters": {
        +        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>,<code>not_like</code>, <code>match</code>, <code>not_match</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters<br>example:<br><code>[\"country\",\"=\", \"US\"]</code><p><code>[[\"domain_rank\",\"&gt;\",800],\"and\",[\"content_info.connotation_types.negative\",\"&gt;\",0.9]]</code><p><code>[[\"domain_rank\",\"&gt;\",800],<br>\"and\",<br>[[\"page_types\",\"has\",\"ecommerce\"],<br>\"or\",<p>[\"content_info.text_category\",\"has\",10994]]]</code><br>for more information about filters, please refer to <a href=\"/v3/content_analysis/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Content Analysis API - Filters</a>",
        +        "items": {
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "keyword": {
        +        "description": "<em>target keyword</em><br><strong>required field</strong><br>UTF-8 encoding<br>the keywords will be converted to a lowercase format;<br><strong>Note</strong>: to match an exact phrase instead of a stand-alone keyword, use double quotes and backslashes; <br>example: <br>`\"keyword\": \"\\\"tesla palo alto\\\"\"`<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        +        "type": "string"
        +      },
        +      "keyword_fields": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "description": "<em>target keyword fields and target keywords</em><br>optional field<br>use this parameter to filter the dataset by keywords that certain fields should contain;<br>fields you can specify: <code>title</code>, <code>main_title</code>, <code>previous_title</code>, <code>snippet</code><br>you can indicate several fields;<br><strong>Note</strong>: to match an exact phrase instead of a stand-alone keyword, use double quotes and backslashes; <br>example:<br>`\"keyword_fields\": {<br>\"snippet\": \"\\\"logitech mouse\\\"\",<br>\"main_title\": \"sale\"<br>}\"`",
        +        "type": [
        +          "object",
        +          "null"
        +        ]
        +      },
        +      "limit": {
        +        "description": "<em>the maximum number of returned citations</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "offset": {
        +        "description": "<em>offset in the results array of returned citations</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten citations in the results array will be omitted and the data will be provided for the successive citations<br><strong>Note:</strong> we recommend using this parameter only when retrieving up to 10,000 results<br>for retrieving over 10,000 results, use the <code>offset_token</code> instead.",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "offset_token": {
        +        "description": "<em>offset token for subsequent requests</em><br>optional field<br>provided in the identical field of the response to each request;<br>use this parameter to avoid timeouts while trying to obtain over 10,000 results in a single request;<br>by specifying the unique <code>offset_token</code> value from the response array, you will get the subsequent results of the initial task;<br><code>offset_token</code> values are unique for each subsequent task <br><strong>Note:</strong> if the <code>offset_token</code> is specified in the request, all other parameters except <code>limit</code> will not be taken into account when processing a task<br>learn more about this parameter on our <a href=\"https://dataforseo.com/help-center/what-is-the-difference-between-the-offset-and-offset_token-parameters#offset_token\" target=\"_blank\">Help Center</a>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "order_by": {
        +        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to set up a sorting type<br>example:<br><code>[\"content_info.sentiment_connotations.anger,desc\"]</code><br>default rule:<br><code>[\"content_info.sentiment_connotations.anger,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"content_info.sentiment_connotations.anger,desc\",\"keyword_data.keyword_info.cpc,desc\"]</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "page_type": {
        +        "description": "<em>target page types</em><br>optional field<br>use this parameter to filter the dataset by page types<br>possible values: <br><code>\"ecommerce\"</code>, <code>\"news\"</code>, <code>\"blogs\"</code>, <code>\"message-boards\"</code>, <code>\"organization\"</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "rank_scale": {
        +        "description": "<em>defines the scale used for calculating and displaying the <code>domain_rank</code>, and <code>url_rank</code> values</em><br>optional field<p>you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale<p>possible values:<br><code>one_hundred</code> — rank values are displayed on a 0–100 scale<br><code>one_thousand</code> — rank values are displayed on a 0–1000 scale<p>default value: <code>one_thousand</code><p>learn more about how this parameter works in <a href=\"https://dataforseo.com/help-center/using-the-rank_scale-parameter-in-content-analysis-api\">this Help Center article</a>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "search_mode": {
        +        "description": "<em>results grouping type</em><br>optional field<br>possible grouping types:<br><code>as_is</code> - returns all citations for the target <code>keyword</code><br><code>one_per_domain</code> - returns one citation of the <code>keyword</code> per domain<br>default value: <code>as_is</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_content_sentiment_analysis_live2 fields changed
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "internal_list_limit": 1,
        -        "keyword": "logitech"
        -      }
        -    ],
        -    "properties": {
        -      "initial_dataset_filters": {
        -        "description": "initial dataset filtering parameters\noptional field\ninitial filtering parameters that apply to fields in the Search endpoint\nyou can add several filters at once (8 filters maximum)\nyou should set a logical operator and, or between the conditions\nthe following operators are supported:\nregex, not_regex, <, <=, >, >=, =, <>, in, not_in, like,not_like, has, has_not, match, not_match\nyou can use the % operator with like and not_like to match any string of zero or more characters\nexample:\n[\"domain\",\"<>\", \"logitech.com\"]\n[[\"domain\",\"<>\",\"logitech.com\"],\"and\",[\"content_info.connotation_types.negative\",\">\",1000]]\n[[\"domain\",\"<>\",\"logitech.com\"]],\n\"and\",\n[[\"content_info.connotation_types.negative\",\">\",1000],\n\"or\",\n[\"content_info.text_category\",\"has\",10994]]]\nfor more information about filters, please refer to Content Analysis API – Filters\nlearn more about the initial dataset filters in this help center article.",
        -        "items": {
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "internal_list_limit": {
        -        "description": "maximum number of elements within internal arrays\noptional field\nyou can use this field to limit the number of elements within the following arrays:\ntop_domains\ntext_categories\npage_categories\ncountries\nlanguages\ndefault value: 1\nmaximum value: 20",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "keyword": {
        -        "description": "target keyword\nrequired field\nUTF-8 encoding\nthe keywords will be converted to a lowercase format;\nNote: to match an exact phrase instead of a stand-alone keyword, use double quotes and backslashes;\nexample:\n\"keyword\": \"\\\"tesla palo alto\\\"\"\nlearn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        -        "type": "string"
        -      },
        -      "keyword_fields": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "null"
        -          ]
        -        },
        -        "description": "target keyword fields and target keywords\noptional field\nuse this parameter to filter the dataset by keywords that certain fields should contain;\nfields you can specify: title, main_title, previous_title, snippet\nyou can indicate several fields;\nNote: to match an exact phrase instead of a stand-alone keyword, use double quotes and backslashes;\nexample:\n\"keyword_fields\": {\n    \"snippet\": \"\\\"logitech mouse\\\"\",\n    \"main_title\": \"sale\"\n}",
        -        "type": [
        -          "object",
        -          "null"
        -        ]
        -      },
        -      "page_type": {
        -        "description": "target page types\noptional field\nuse this parameter to filter the dataset by page types\npossible values:\n\"ecommerce\", \"news\", \"blogs\", \"message-boards\", \"organization\"",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "positive_connotation_threshold": {
        -        "description": "positive connotation threshold\noptional field\nspecified as the probability index threshold for positive sentiment related to the citation content\nif you specify this field, connotation_types object in the response will only contain data on citations with positive sentiment probability more than or equal to the specified value\npossible values: from 0 to 1\ndefault value: 0.4",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "rank_scale": {
        -        "description": "defines the scale used for calculating and displaying the rank values\noptional field\nyou can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale\npossible values:\none_hundred — rank values are displayed on a 0–100 scale\none_thousand — rank values are displayed on a 0–1000 scale\ndefault value: one_thousand\nlearn more about how this parameter works in this Help Center article",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "sentiments_connotation_threshold": {
        -        "description": "sentiment connotation threshold\noptional field\nspecified as the probability index threshold for sentiment connotations related to the citation content\nif you specify this field, sentiment_connotations object in the response will only contain data on citations where the probability per each sentiment is more than or equal to the specified value\npossible values: from 0 to 1\ndefault value: 0.4",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "user-defined task identifier\noptional field\nthe character limit is 255\nyou can use this parameter to identify the task and match it with the result\nyou will find the specified tag value in the data object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / oneOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "internal_list_limit": 1,
        +        "keyword": "logitech"
        +      }
        +    ],
        +    "properties": {
        +      "initial_dataset_filters": {
        +        "description": "initial dataset filtering parameters\noptional field\ninitial filtering parameters that apply to fields in the Search endpoint\nyou can add several filters at once (8 filters maximum)\nyou should set a logical operator and, or between the conditions\nthe following operators are supported:\nregex, not_regex, <, <=, >, >=, =, <>, in, not_in, like,not_like, has, has_not, match, not_match\nyou can use the % operator with like and not_like to match any string of zero or more characters\nexample:\n[\"domain\",\"<>\", \"logitech.com\"]\n[[\"domain\",\"<>\",\"logitech.com\"],\"and\",[\"content_info.connotation_types.negative\",\">\",1000]]\n[[\"domain\",\"<>\",\"logitech.com\"]],\n\"and\",\n[[\"content_info.connotation_types.negative\",\">\",1000],\n\"or\",\n[\"content_info.text_category\",\"has\",10994]]]\nfor more information about filters, please refer to Content Analysis API – Filters\nlearn more about the initial dataset filters in this help center article.",
        +        "items": {
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "internal_list_limit": {
        +        "description": "maximum number of elements within internal arrays\noptional field\nyou can use this field to limit the number of elements within the following arrays:\ntop_domains\ntext_categories\npage_categories\ncountries\nlanguages\ndefault value: 1\nmaximum value: 20",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "keyword": {
        +        "description": "target keyword\nrequired field\nUTF-8 encoding\nthe keywords will be converted to a lowercase format;\nNote: to match an exact phrase instead of a stand-alone keyword, use double quotes and backslashes;\nexample:\n\"keyword\": \"\\\"tesla palo alto\\\"\"\nlearn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        +        "type": "string"
        +      },
        +      "keyword_fields": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "description": "target keyword fields and target keywords\noptional field\nuse this parameter to filter the dataset by keywords that certain fields should contain;\nfields you can specify: title, main_title, previous_title, snippet\nyou can indicate several fields;\nNote: to match an exact phrase instead of a stand-alone keyword, use double quotes and backslashes;\nexample:\n\"keyword_fields\": {\n    \"snippet\": \"\\\"logitech mouse\\\"\",\n    \"main_title\": \"sale\"\n}",
        +        "type": [
        +          "object",
        +          "null"
        +        ]
        +      },
        +      "page_type": {
        +        "description": "target page types\noptional field\nuse this parameter to filter the dataset by page types\npossible values:\n\"ecommerce\", \"news\", \"blogs\", \"message-boards\", \"organization\"",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "positive_connotation_threshold": {
        +        "description": "positive connotation threshold\noptional field\nspecified as the probability index threshold for positive sentiment related to the citation content\nif you specify this field, connotation_types object in the response will only contain data on citations with positive sentiment probability more than or equal to the specified value\npossible values: from 0 to 1\ndefault value: 0.4",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "rank_scale": {
        +        "description": "defines the scale used for calculating and displaying the rank values\noptional field\nyou can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale\npossible values:\none_hundred — rank values are displayed on a 0–100 scale\none_thousand — rank values are displayed on a 0–1000 scale\ndefault value: one_thousand\nlearn more about how this parameter works in this Help Center article",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "sentiments_connotation_threshold": {
        +        "description": "sentiment connotation threshold\noptional field\nspecified as the probability index threshold for sentiment connotations related to the citation content\nif you specify this field, sentiment_connotations object in the response will only contain data on citations where the probability per each sentiment is more than or equal to the specified value\npossible values: from 0 to 1\ndefault value: 0.4",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "user-defined task identifier\noptional field\nthe character limit is 255\nyou can use this parameter to identify the task and match it with the result\nyou will find the specified tag value in the data object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_content_summary_live2 fields changed
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "internal_list_limit": 8,
        -        "keyword": "logitech",
        -        "page_type": [
        -          "ecommerce",
        -          "news",
        -          "blogs",
        -          "message-boards",
        -          "organization"
        -        ],
        -        "positive_connotation_threshold": 0.5
        -      }
        -    ],
        -    "properties": {
        -      "initial_dataset_filters": {
        -        "description": "<em>initial dataset filtering parameters</em><br>optional field<br>initial filtering parameters that apply to fields in the <a href=\"/v3/content_analysis/search/live/?bash\" target=\"_blank\">Search endpoint</a><br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>,<code>not_like</code>, <code>has</code>, <code>has_not</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters<br>example:<br><code>[\"domain\",\"&lt;&gt;\", \"logitech.com\"]</code><p><code>[[\"domain\",\"&lt;&gt;\",\"logitech.com\"],\"and\",[\"content_info.connotation_types.negative\",\"&gt;\",1000]]</code><p><code>[[\"domain\",\"&lt;&gt\",\"logitech.com\"]],<br>\"and\",<br>[[\"content_info.connotation_types.negative\",\"&gt;\",1000],<br>\"or\",<p>[\"content_info.text_category\",\"has\",10994]]]</code><br>for more information about filters, please refer to <a href=\"/v3/content_analysis/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Content Analysis API - Filters</a><br>learn more about the initial dataset filters in <a href=\"https://dataforseo.com/help-center/what-are-the-initial-dataset-filters-and-how-do-they-work\" rel=\"noopener noreferrer\" target=\"_blank\">this help center article.</a>",
        -        "items": {
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "internal_list_limit": {
        -        "description": "<em>maximum number of elements within internal arrays</em><br>optional field<br>you can use this field to limit the number of elements within the following arrays:<br><code>top_domains</code><br><code>text_categories</code><br><code>page_categories</code><br><code>countries</code><br><code>languages</code><br>default value: <code>1</code><br>maximum value: <code>20</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "keyword": {
        -        "description": "<em>target keyword</em><br><strong>required field</strong><br>UTF-8 encoding<br>the keywords will be converted to a lowercase format;<br><strong>Note</strong>: to match an exact phrase instead of a stand-alone keyword, use double quotes and backslashes; <br>example: <br><code>\"keyword\": \"\\\"tesla palo alto\\\"\"</code><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        -        "type": "string"
        -      },
        -      "keyword_fields": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "null"
        -          ]
        -        },
        -        "description": "<em>target keyword fields and target keywords</em><br>optional field<br>use this parameter to filter the dataset by keywords that certain fields should contain;<br>fields you can specify: <code>title</code>, <code>main_title</code>, <code>previous_title</code>, <code>snippet</code><br>you can indicate several fields;<br><strong>Note</strong>: to match an exact phrase instead of a stand-alone keyword, use double quotes and backslashes; <br>example:<br><code>\"keyword_fields\": {<br>\"snippet\": \"\\\"logitech mouse\\\"\",<br>\"main_title\": \"sale\"<br>}</code>",
        -        "type": [
        -          "object",
        -          "null"
        -        ]
        -      },
        -      "page_type": {
        -        "description": "<em>target page types</em><br>optional field<br>use this parameter to filter the dataset by page types<br>possible values: <br><code>\"ecommerce\"</code>, <code>\"news\"</code>, <code>\"blogs\"</code>, <code>\"message-boards\"</code>, <code>\"organization\"</code>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "positive_connotation_threshold": {
        -        "description": "<em>positive connotation threshold</em><br>optional field<br>specified as the probability index threshold for positive sentiment related to the citation content<br>if you specify this field, <code>connotation_types</code> object in the response will only contain data on citations with <code>positive</code> sentiment probability more than or equal to the specified value<br>possible values: from <code>0</code> to <code>1</code><br>default value: <code>0.4</code>",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "rank_scale": {
        -        "description": "<em>defines the scale used for calculating and displaying the <code>rank</code> values</em><br>optional field<p>you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale<p>possible values:<br><code>one_hundred</code> — rank values are displayed on a 0–100 scale<br><code>one_thousand</code> — rank values are displayed on a 0–1000 scale<p>default value: <code>one_thousand</code><p>learn more about how this parameter works in <a href=\"https://dataforseo.com/help-center/using-the-rank_scale-parameter-in-content-analysis-api\">this Help Center article</a>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "sentiments_connotation_threshold": {
        -        "description": "<em>sentiment connotation threshold</em><br>optional field<br>specified as the probability index threshold for sentiment connotations related to the citation content<br>if you specify this field, <code>sentiment_connotations</code> object in the response will only contain data on citations where the <br>probability per each sentiment is more than or equal to the specified value<br>possible values: from <code>0</code> to <code>1</code><br>default value: <code>0.4</code>",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / oneOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "internal_list_limit": 8,
        +        "keyword": "logitech",
        +        "page_type": [
        +          "ecommerce",
        +          "news",
        +          "blogs",
        +          "message-boards",
        +          "organization"
        +        ],
        +        "positive_connotation_threshold": 0.5
        +      }
        +    ],
        +    "properties": {
        +      "initial_dataset_filters": {
        +        "description": "<em>initial dataset filtering parameters</em><br>optional field<br>initial filtering parameters that apply to fields in the <a href=\"/v3/content_analysis/search/live/?bash\" target=\"_blank\">Search endpoint</a><br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>,<code>not_like</code>, <code>has</code>, <code>has_not</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters<br>example:<br><code>[\"domain\",\"&lt;&gt;\", \"logitech.com\"]</code><p><code>[[\"domain\",\"&lt;&gt;\",\"logitech.com\"],\"and\",[\"content_info.connotation_types.negative\",\"&gt;\",1000]]</code><p><code>[[\"domain\",\"&lt;&gt\",\"logitech.com\"]],<br>\"and\",<br>[[\"content_info.connotation_types.negative\",\"&gt;\",1000],<br>\"or\",<p>[\"content_info.text_category\",\"has\",10994]]]</code><br>for more information about filters, please refer to <a href=\"/v3/content_analysis/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Content Analysis API - Filters</a><br>learn more about the initial dataset filters in <a href=\"https://dataforseo.com/help-center/what-are-the-initial-dataset-filters-and-how-do-they-work\" rel=\"noopener noreferrer\" target=\"_blank\">this help center article.</a>",
        +        "items": {
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "internal_list_limit": {
        +        "description": "<em>maximum number of elements within internal arrays</em><br>optional field<br>you can use this field to limit the number of elements within the following arrays:<br><code>top_domains</code><br><code>text_categories</code><br><code>page_categories</code><br><code>countries</code><br><code>languages</code><br>default value: <code>1</code><br>maximum value: <code>20</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "keyword": {
        +        "description": "<em>target keyword</em><br><strong>required field</strong><br>UTF-8 encoding<br>the keywords will be converted to a lowercase format;<br><strong>Note</strong>: to match an exact phrase instead of a stand-alone keyword, use double quotes and backslashes; <br>example: <br><code>\"keyword\": \"\\\"tesla palo alto\\\"\"</code><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        +        "type": "string"
        +      },
        +      "keyword_fields": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "description": "<em>target keyword fields and target keywords</em><br>optional field<br>use this parameter to filter the dataset by keywords that certain fields should contain;<br>fields you can specify: <code>title</code>, <code>main_title</code>, <code>previous_title</code>, <code>snippet</code><br>you can indicate several fields;<br><strong>Note</strong>: to match an exact phrase instead of a stand-alone keyword, use double quotes and backslashes; <br>example:<br><code>\"keyword_fields\": {<br>\"snippet\": \"\\\"logitech mouse\\\"\",<br>\"main_title\": \"sale\"<br>}</code>",
        +        "type": [
        +          "object",
        +          "null"
        +        ]
        +      },
        +      "page_type": {
        +        "description": "<em>target page types</em><br>optional field<br>use this parameter to filter the dataset by page types<br>possible values: <br><code>\"ecommerce\"</code>, <code>\"news\"</code>, <code>\"blogs\"</code>, <code>\"message-boards\"</code>, <code>\"organization\"</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "positive_connotation_threshold": {
        +        "description": "<em>positive connotation threshold</em><br>optional field<br>specified as the probability index threshold for positive sentiment related to the citation content<br>if you specify this field, <code>connotation_types</code> object in the response will only contain data on citations with <code>positive</code> sentiment probability more than or equal to the specified value<br>possible values: from <code>0</code> to <code>1</code><br>default value: <code>0.4</code>",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "rank_scale": {
        +        "description": "<em>defines the scale used for calculating and displaying the <code>rank</code> values</em><br>optional field<p>you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale<p>possible values:<br><code>one_hundred</code> — rank values are displayed on a 0–100 scale<br><code>one_thousand</code> — rank values are displayed on a 0–1000 scale<p>default value: <code>one_thousand</code><p>learn more about how this parameter works in <a href=\"https://dataforseo.com/help-center/using-the-rank_scale-parameter-in-content-analysis-api\">this Help Center article</a>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "sentiments_connotation_threshold": {
        +        "description": "<em>sentiment connotation threshold</em><br>optional field<br>specified as the probability index threshold for sentiment connotations related to the citation content<br>if you specify this field, <code>sentiment_connotations</code> object in the response will only contain data on citations where the <br>probability per each sentiment is more than or equal to the specified value<br>possible values: from <code>0</code> to <code>1</code><br>default value: <code>0.4</code>",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_domains_tech_for_domain_live2 fields changed
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "target": "dataforseo.com"
        -      }
        -    ],
        -    "properties": {
        -      "target": {
        -        "description": "<em>target domain</em><br><strong>required field</strong><br>domain name of the website to analyze<br><strong>Note:</strong> results will be returned for the specified domain only",
        -        "type": "string"
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / oneOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "target": "dataforseo.com"
        +      }
        +    ],
        +    "properties": {
        +      "target": {
        +        "description": "<em>target domain</em><br><strong>required field</strong><br>domain name of the website to analyze<br><strong>Note:</strong> results will be returned for the specified domain only",
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_domains_whois_overview_live2 fields changed
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "filters": [
        -          [
        -            "epp_status_codes",
        -            "in",
        -            [
        -              "client_transfer_prohibited",
        -              "client_update_prohibited"
        -            ]
        -          ]
        -        ],
        -        "limit": 2
        -      }
        -    ],
        -    "properties": {
        -      "filters": {
        -        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>, <code>not_like</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters",
        -        "items": {
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "limit": {
        -        "description": "<em>the maximum number of returned domains</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "offset": {
        -        "description": "<em>offset in the results array of returned items</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten <code>items</code> in the results array will be omitted and the data will be provided for the successive items;<br><strong>Note:</strong> we recommend using this parameter only when retrieving up to 10,000 results for retrieving over 10,000 results, use the <code>offset_token</code> instead",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "offset_token": {
        -        "description": "<em>token for subsequent requests</em><br>optional field<br>provided in the identical filed of the response to each request;<br>use this parameter to avoid timeouts while trying to obtain over 100,000 results in a single request;<br>by specifying the unique <code>offset_token</code> value from the response array, you will get the subsequent results of the initial task;<br><code>offset_token</code> values are unique for each subsequent task<br><strong>Note:</strong> if the <code>offset_token</code> is specified in the request, all other parameters should be identical to the previous request<br>learn more about this parameter on our <a href=\"https://dataforseo.com/help-center/what-is-the-difference-between-the-offset-and-offset_token-parameters#offset_token\" target=\"_blank\">Help Center</a>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "order_by": {
        -        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>the comma is used as a separator<br>example:<br><code>[\"metrics.organic.pos_1,desc\"]</code><br>default rule:<br><code>[\"metrics.organic.count,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"expiration_datetime,asc\",\"metrics.organic.etv,desc\",\"metrics.organic.pos_1,desc\"]</code>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / oneOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "filters": [
        +          [
        +            "epp_status_codes",
        +            "in",
        +            [
        +              "client_transfer_prohibited",
        +              "client_update_prohibited"
        +            ]
        +          ]
        +        ],
        +        "limit": 2
        +      }
        +    ],
        +    "properties": {
        +      "filters": {
        +        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>, <code>not_like</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters",
        +        "items": {
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "limit": {
        +        "description": "<em>the maximum number of returned domains</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "offset": {
        +        "description": "<em>offset in the results array of returned items</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten <code>items</code> in the results array will be omitted and the data will be provided for the successive items;<br><strong>Note:</strong> we recommend using this parameter only when retrieving up to 10,000 results for retrieving over 10,000 results, use the <code>offset_token</code> instead",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "offset_token": {
        +        "description": "<em>token for subsequent requests</em><br>optional field<br>provided in the identical filed of the response to each request;<br>use this parameter to avoid timeouts while trying to obtain over 100,000 results in a single request;<br>by specifying the unique <code>offset_token</code> value from the response array, you will get the subsequent results of the initial task;<br><code>offset_token</code> values are unique for each subsequent task<br><strong>Note:</strong> if the <code>offset_token</code> is specified in the request, all other parameters should be identical to the previous request<br>learn more about this parameter on our <a href=\"https://dataforseo.com/help-center/what-is-the-difference-between-the-offset-and-offset_token-parameters#offset_token\" target=\"_blank\">Help Center</a>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "order_by": {
        +        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>the comma is used as a separator<br>example:<br><code>[\"metrics.organic.pos_1,desc\"]</code><br>default rule:<br><code>[\"metrics.organic.count,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"expiration_datetime,asc\",\"metrics.organic.etv,desc\",\"metrics.organic.pos_1,desc\"]</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_keywords_gads_kw_for_keywords_live2 fields changed
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "keywords": [
        -          "phone",
        -          "cellphone"
        -        ],
        -        "location_code": 2840
        -      }
        -    ],
        -    "properties": {
        -      "date_from": {
        -        "description": "<em>starting date of the time range</em><br>optional field<br>date format: <code>\"yyyy-mm-dd\"</code><br>minimal value: 4 years from the current date<br>by default, data is returned for the past 12 months;<br><strong>Note</strong>: the indicated date cannot be greater than that specified in <code>date_to</code> and/or yesterday's date;if <a href=\"/v3/keywords_data/google_ads/status/\" target=\"_blank\" rel=\"noopener noreferrer\">Status endpoint</a> returns <code>false</code> in the <code>actual_data</code> field, <code>date_from</code> can be set to the month before last and prior;<br>if <a href=\"/v3/keywords_data/google_ads/status/\" target=\"_blank\" rel=\"noopener noreferrer\">Status endpoint</a> returns <code>true</code> in the <code>actual_data</code> field, <code>date_from</code> can be set to the last month and prior",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "date_to": {
        -        "description": "<em>ending date of the time range</em><br>optional field<br><strong>Note:</strong> the indicated date cannot be greater than yesterday's date;<br>if you don't specify this field, yesterday's date will be used by default<br>date format: <code>\"yyyy-mm-dd\"</code><br>example:<br><code>\"2022-11-30\"</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "include_adult_keywords": {
        -        "description": "<em>include keywords associated with adult content</em><br>optional field<br>if set to <code>true</code>, adult keywords will be included in the response<br>default value: <code>false</code><br><strong>note</strong> that the API may return no data for such keywords due to <a href=\"https://support.google.com/adspolicy/answer/6008942?hl=en\" target=\"_blank\" rel=\"noopener noreferrer\">Google Ads restrictions</a>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "keywords": {
        -        "description": "<em>keywords</em><br><strong>required field</strong><br>The maximum number of keywords you can specify: 20<br>The maximum number of characters for each keyword: 80<br>the keywords you specify will be converted to a lowercase format<br><strong>Note:</strong> Google Ads may return no data for certain groups of keywords<br><a href=\"https://dataforseo.com/help-center/no-search-volume-data-for-some-keywords\" target=\"_blank\" rel=\"noopener noreferrer\">visit our Help Center to learn more</a><br><strong>Also note</strong> that Google Ads doesn't allow using certain symbols and characters (e.g., UTF symbols, emojis), so you can't use them when setting a task;<br>to learn more about which symbols and characters can be used, please refer to <a href=\"https://dataforseo.com/help-center/using-symbols-in-keywords-when-setting-a-google-ads-task\" target=\"_blank\" rel=\"noopener noreferrer\">this article</a><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "language_code": {
        -        "description": "<em>search engine language code</em><br>optional field<br>you can receive the list of available languages of the search engine with their <code>language_code</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/google_ads/languages</code><br>example:<br><code class=\"long-string\">en</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "language_name": {
        -        "description": "<em>full name of search engine language</em><br>optional field<br>you can receive the list of available languages of the search engine with their <code>language_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/google_ads/languages</code><br>example:<br><code class=\"long-string\">English</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "location_code": {
        -        "description": "<em>search engine location code</em><br>optional field<br>if you do not indicate the location, you will receive worldwide results, i.e., for all available locations;<br><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_coordinate</code></strong>;<br>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/google_ads/locations</code><br>example:<br><code class=\"long-string\">2840</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "location_coordinate": {
        -        "description": "<em>GPS coordinates of a location</em><br>optional field<br>if you do not indicate the location, you will receive worldwide results, i.e., for all available locations;<br><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_code</code></strong>;<br><code>location_coordinate</code> parameter should be specified in the <em>\"latitude,longitude\"</em> format;<br><strong>the data will be provided for the country the specified coordinates belong to</strong>;<br>example:<br><code class=\"long-string\">52.6178549,-155.352142</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "location_name": {
        -        "description": "<em>full name of search engine location</em><br>optional field<br>if you do not indicate the location, you will receive worldwide results, i.e., for all available locations;<br><strong>if you use this field, you don't need to specify <code>location_code</code> or <code>location_coordinate</code></strong><br>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/google_ads/locations</code><br>example:<br><code class=\"long-string\">London,England,United Kingdom</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "search_partners": {
        -        "description": "<em>include Google search partners</em><br>optional field<br>if you specify <code class=\"prettyprint\">true</code>, the results will be delivered for owned, operated, and syndicated networks across <a href=\"https://support.google.com/google-ads/answer/1722047?hl=en\" target=\"_blank\" rel=\"noopener noreferrer\">Google and partner sites</a> that host Google search;<br>default value: <code>false</code> - results are returned for Google search sites",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "sort_by": {
        -        "description": "<em>results sorting parameters</em><br>optional field<br>Use these parameters to sort the results by <code>relevance</code>, <code>search_volume</code>, <code>competition_index</code>, <code>low_top_of_page_bid</code>, or <code>high_top_of_page_bid</code> in descending order<br>default value: <code>relevance</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / oneOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "keywords": [
        +          "phone",
        +          "cellphone"
        +        ],
        +        "location_code": 2840
        +      }
        +    ],
        +    "properties": {
        +      "date_from": {
        +        "description": "<em>starting date of the time range</em><br>optional field<br>date format: <code>\"yyyy-mm-dd\"</code><br>minimal value: 4 years from the current date<br>by default, data is returned for the past 12 months;<br><strong>Note</strong>: the indicated date cannot be greater than that specified in <code>date_to</code> and/or yesterday's date;if <a href=\"/v3/keywords_data/google_ads/status/\" target=\"_blank\" rel=\"noopener noreferrer\">Status endpoint</a> returns <code>false</code> in the <code>actual_data</code> field, <code>date_from</code> can be set to the month before last and prior;<br>if <a href=\"/v3/keywords_data/google_ads/status/\" target=\"_blank\" rel=\"noopener noreferrer\">Status endpoint</a> returns <code>true</code> in the <code>actual_data</code> field, <code>date_from</code> can be set to the last month and prior",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "date_to": {
        +        "description": "<em>ending date of the time range</em><br>optional field<br><strong>Note:</strong> the indicated date cannot be greater than yesterday's date;<br>if you don't specify this field, yesterday's date will be used by default<br>date format: <code>\"yyyy-mm-dd\"</code><br>example:<br><code>\"2022-11-30\"</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "include_adult_keywords": {
        +        "description": "<em>include keywords associated with adult content</em><br>optional field<br>if set to <code>true</code>, adult keywords will be included in the response<br>default value: <code>false</code><br><strong>note</strong> that the API may return no data for such keywords due to <a href=\"https://support.google.com/adspolicy/answer/6008942?hl=en\" target=\"_blank\" rel=\"noopener noreferrer\">Google Ads restrictions</a>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "keywords": {
        +        "description": "<em>keywords</em><br><strong>required field</strong><br>The maximum number of keywords you can specify: 20<br>The maximum number of characters for each keyword: 80<br>the keywords you specify will be converted to a lowercase format<br><strong>Note:</strong> Google Ads may return no data for certain groups of keywords<br><a href=\"https://dataforseo.com/help-center/no-search-volume-data-for-some-keywords\" target=\"_blank\" rel=\"noopener noreferrer\">visit our Help Center to learn more</a><br><strong>Also note</strong> that Google Ads doesn't allow using certain symbols and characters (e.g., UTF symbols, emojis), so you can't use them when setting a task;<br>to learn more about which symbols and characters can be used, please refer to <a href=\"https://dataforseo.com/help-center/using-symbols-in-keywords-when-setting-a-google-ads-task\" target=\"_blank\" rel=\"noopener noreferrer\">this article</a><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "language_code": {
        +        "description": "<em>search engine language code</em><br>optional field<br>you can receive the list of available languages of the search engine with their <code>language_code</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/google_ads/languages</code><br>example:<br><code class=\"long-string\">en</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "<em>full name of search engine language</em><br>optional field<br>you can receive the list of available languages of the search engine with their <code>language_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/google_ads/languages</code><br>example:<br><code class=\"long-string\">English</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "location_code": {
        +        "description": "<em>search engine location code</em><br>optional field<br>if you do not indicate the location, you will receive worldwide results, i.e., for all available locations;<br><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_coordinate</code></strong>;<br>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/google_ads/locations</code><br>example:<br><code class=\"long-string\">2840</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_coordinate": {
        +        "description": "<em>GPS coordinates of a location</em><br>optional field<br>if you do not indicate the location, you will receive worldwide results, i.e., for all available locations;<br><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_code</code></strong>;<br><code>location_coordinate</code> parameter should be specified in the <em>\"latitude,longitude\"</em> format;<br><strong>the data will be provided for the country the specified coordinates belong to</strong>;<br>example:<br><code class=\"long-string\">52.6178549,-155.352142</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "location_name": {
        +        "description": "<em>full name of search engine location</em><br>optional field<br>if you do not indicate the location, you will receive worldwide results, i.e., for all available locations;<br><strong>if you use this field, you don't need to specify <code>location_code</code> or <code>location_coordinate</code></strong><br>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/google_ads/locations</code><br>example:<br><code class=\"long-string\">London,England,United Kingdom</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "search_partners": {
        +        "description": "<em>include Google search partners</em><br>optional field<br>if you specify <code class=\"prettyprint\">true</code>, the results will be delivered for owned, operated, and syndicated networks across <a href=\"https://support.google.com/google-ads/answer/1722047?hl=en\" target=\"_blank\" rel=\"noopener noreferrer\">Google and partner sites</a> that host Google search;<br>default value: <code>false</code> - results are returned for Google search sites",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "sort_by": {
        +        "description": "<em>results sorting parameters</em><br>optional field<br>Use these parameters to sort the results by <code>relevance</code>, <code>search_volume</code>, <code>competition_index</code>, <code>low_top_of_page_bid</code>, or <code>high_top_of_page_bid</code> in descending order<br>default value: <code>relevance</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_keywords_gads_search_volume_live2 fields changed
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "date_from": "2021-08-01",
        -        "keywords": [
        -          "buy laptop",
        -          "cheap laptops for sale",
        -          "purchase laptop"
        -        ],
        -        "location_code": 2840,
        -        "search_partners": true
        -      }
        -    ],
        -    "properties": {
        -      "date_from": {
        -        "description": "<em>starting date of the time range</em><br>optional field<br>date format: <code>\"yyyy-mm-dd\"</code><br>minimal value: 4 years from the current date<br>by default, data is returned for the past 12 months;<br><strong>Note</strong>: the indicated date cannot be greater than that specified in <code>date_to</code> and/or yesterday's date;if <a href=\"/v3/keywords_data/google_ads/status/\" target=\"_blank\" rel=\"noopener noreferrer\">Status endpoint</a> returns <code>false</code> in the <code>actual_data</code> field, <code>date_from</code> can be set to the month before last and prior;<br>if <a href=\"/v3/keywords_data/google_ads/status/\" target=\"_blank\" rel=\"noopener noreferrer\">Status endpoint</a> returns <code>true</code> in the <code>actual_data</code> field, <code>date_from</code> can be set to the last month and prior",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "date_to": {
        -        "description": "<em>ending date of the time range</em><br>optional field<br><strong>Note:</strong> the indicated date cannot be greater than the past month, Google Ads does not return data on the current month;<br>if you don't specify this field, yesterday's date will be used by default<br>date format: <code>\"yyyy-mm-dd\"</code><br>example:<br><code>\"2022-11-30\"</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "include_adult_keywords": {
        -        "description": "<em>include keywords associated with adult content<br></em>optional field<br>if set to_<code>true</code>, adult keywords will be included in the response<br>default value:_<code>false</code><br><strong>note</strong>_that the API may return no data for such keywords due to_<a href=\"https://support.google.com/adspolicy/answer/6008942?hl=en\" target=\"_blank\" rel=\"noopener noreferrer\">Google Ads restrictions</a>n",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "keywords": {
        -        "description": "<em>keywords</em><br><strong>required field</strong><br>The maximum number of keywords you can specify: 1000<br>The maximum number of characters for each keyword: 80<br>The maximum number of words for each keyword phrase: 10<br>the keywords you specify will be converted to a lowercase format<br><strong>Note #1:</strong> <a href=\"https://dataforseo.com/help-center/no-search-volume-data-for-some-keywords\" target=\"_blank\" rel=\"noopener noreferrer\">Google Ads may return no data for certain groups of keywords</a>;<br><strong>Note #2:</strong> <a href=\"https://dataforseo.com/help-center/sv-broad-exact-phrase-match\" target=\"_blank\" rel=\"noopener noreferrer\">Google Ads provides combined search volume values for groups of similar keywords</a><br>to obtain search volume for similar keywords, we recommend submitting such keywords in separate requests;<br><strong>Note #3:</strong> Google Ads doesn't allow using certain symbols and characters (e.g., UTF symbols, emojis), so you can't use them when setting a task;<br>to learn more about which symbols and characters can be used, please refer to <a href=\"https://dataforseo.com/help-center/using-symbols-in-keywords-when-setting-a-google-ads-task\" target=\"_blank\" rel=\"noopener noreferrer\">this article</a><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "language_code": {
        -        "description": "<em>search engine language code</em><br>optional field<br>you can receive the list of available languages of the search engine with their <code>language_code</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/google_ads/languages</code><br>example:<br><code class=\"long-string\">en</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "language_name": {
        -        "description": "<em>full name of search engine language</em><br>optional field<br>you can receive the list of available languages of the search engine with their <code>language_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/google_ads/languages</code><br>example:<br><code class=\"long-string\">English</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "location_code": {
        -        "description": "<em>search engine location code</em><br>optional field<br>if you do not indicate the location, you will receive worldwide results, i.e., for all available locations;<br><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_coordinate</code></strong>;<br>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/google_ads/locations</code><br>example:<br><code class=\"long-string\">2840</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "location_coordinate": {
        -        "description": "<em>GPS coordinates of a location</em><br>optional field<br>if you do not indicate the location, you will receive worldwide results, i.e., for all available locations;<br><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_code</code></strong>;<br><code>location_coordinate</code> parameter should be specified in the <em>\"latitude,longitude\"</em> format;<br><strong>the data will be provided for the country the specified coordinates belong to</strong>;<br>example:<br><code class=\"long-string\">52.6178549,-155.352142</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "location_name": {
        -        "description": "<em>full name of search engine location</em><br>optional field<br>if you do not indicate the location, you will receive worldwide results, i.e., for all available locations;<br><strong>if you use this field, you don't need to specify <code>location_code</code> or <code>location_coordinate</code></strong><br>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/google_ads/locations</code><br>example:<br><code class=\"long-string\">London,England,United Kingdom</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "search_partners": {
        -        "description": "<em>include Google search partners</em><br>optional field<br>if you specify <code class=\"prettyprint\">true</code>, the results will be delivered for owned, operated, and syndicated networks across <a href=\"https://support.google.com/google-ads/answer/1722047?hl=en\" target=\"_blank\" rel=\"noopener noreferrer\">Google and partner sites</a> that host Google search;<br>default value: <code>false</code> - results are returned for Google search sites",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "sort_by": {
        -        "description": "<em>results sorting parameters</em><br>optional field<br>use these parameters to sort the results by <code>relevance</code>, <code>search_volume</code>, <code>competition_index</code>, <code>low_top_of_page_bid</code>, or <code>high_top_of_page_bid</code> in the descending order<br>default value: <code>relevance</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> array of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / oneOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "date_from": "2021-08-01",
        +        "keywords": [
        +          "buy laptop",
        +          "cheap laptops for sale",
        +          "purchase laptop"
        +        ],
        +        "location_code": 2840,
        +        "search_partners": true
        +      }
        +    ],
        +    "properties": {
        +      "date_from": {
        +        "description": "<em>starting date of the time range</em><br>optional field<br>date format: <code>\"yyyy-mm-dd\"</code><br>minimal value: 4 years from the current date<br>by default, data is returned for the past 12 months;<br><strong>Note</strong>: the indicated date cannot be greater than that specified in <code>date_to</code> and/or yesterday's date;if <a href=\"/v3/keywords_data/google_ads/status/\" target=\"_blank\" rel=\"noopener noreferrer\">Status endpoint</a> returns <code>false</code> in the <code>actual_data</code> field, <code>date_from</code> can be set to the month before last and prior;<br>if <a href=\"/v3/keywords_data/google_ads/status/\" target=\"_blank\" rel=\"noopener noreferrer\">Status endpoint</a> returns <code>true</code> in the <code>actual_data</code> field, <code>date_from</code> can be set to the last month and prior",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "date_to": {
        +        "description": "<em>ending date of the time range</em><br>optional field<br><strong>Note:</strong> the indicated date cannot be greater than the past month, Google Ads does not return data on the current month;<br>if you don't specify this field, yesterday's date will be used by default<br>date format: <code>\"yyyy-mm-dd\"</code><br>example:<br><code>\"2022-11-30\"</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "include_adult_keywords": {
        +        "description": "<em>include keywords associated with adult content<br></em>optional field<br>if set to_<code>true</code>, adult keywords will be included in the response<br>default value:_<code>false</code><br><strong>note</strong>_that the API may return no data for such keywords due to_<a href=\"https://support.google.com/adspolicy/answer/6008942?hl=en\" target=\"_blank\" rel=\"noopener noreferrer\">Google Ads restrictions</a>n",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "keywords": {
        +        "description": "<em>keywords</em><br><strong>required field</strong><br>The maximum number of keywords you can specify: 1000<br>The maximum number of characters for each keyword: 80<br>The maximum number of words for each keyword phrase: 10<br>the keywords you specify will be converted to a lowercase format<br><strong>Note #1:</strong> <a href=\"https://dataforseo.com/help-center/no-search-volume-data-for-some-keywords\" target=\"_blank\" rel=\"noopener noreferrer\">Google Ads may return no data for certain groups of keywords</a>;<br><strong>Note #2:</strong> <a href=\"https://dataforseo.com/help-center/sv-broad-exact-phrase-match\" target=\"_blank\" rel=\"noopener noreferrer\">Google Ads provides combined search volume values for groups of similar keywords</a><br>to obtain search volume for similar keywords, we recommend submitting such keywords in separate requests;<br><strong>Note #3:</strong> Google Ads doesn't allow using certain symbols and characters (e.g., UTF symbols, emojis), so you can't use them when setting a task;<br>to learn more about which symbols and characters can be used, please refer to <a href=\"https://dataforseo.com/help-center/using-symbols-in-keywords-when-setting-a-google-ads-task\" target=\"_blank\" rel=\"noopener noreferrer\">this article</a><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "language_code": {
        +        "description": "<em>search engine language code</em><br>optional field<br>you can receive the list of available languages of the search engine with their <code>language_code</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/google_ads/languages</code><br>example:<br><code class=\"long-string\">en</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "<em>full name of search engine language</em><br>optional field<br>you can receive the list of available languages of the search engine with their <code>language_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/google_ads/languages</code><br>example:<br><code class=\"long-string\">English</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "location_code": {
        +        "description": "<em>search engine location code</em><br>optional field<br>if you do not indicate the location, you will receive worldwide results, i.e., for all available locations;<br><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_coordinate</code></strong>;<br>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/google_ads/locations</code><br>example:<br><code class=\"long-string\">2840</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_coordinate": {
        +        "description": "<em>GPS coordinates of a location</em><br>optional field<br>if you do not indicate the location, you will receive worldwide results, i.e., for all available locations;<br><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_code</code></strong>;<br><code>location_coordinate</code> parameter should be specified in the <em>\"latitude,longitude\"</em> format;<br><strong>the data will be provided for the country the specified coordinates belong to</strong>;<br>example:<br><code class=\"long-string\">52.6178549,-155.352142</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "location_name": {
        +        "description": "<em>full name of search engine location</em><br>optional field<br>if you do not indicate the location, you will receive worldwide results, i.e., for all available locations;<br><strong>if you use this field, you don't need to specify <code>location_code</code> or <code>location_coordinate</code></strong><br>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/google_ads/locations</code><br>example:<br><code class=\"long-string\">London,England,United Kingdom</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "search_partners": {
        +        "description": "<em>include Google search partners</em><br>optional field<br>if you specify <code class=\"prettyprint\">true</code>, the results will be delivered for owned, operated, and syndicated networks across <a href=\"https://support.google.com/google-ads/answer/1722047?hl=en\" target=\"_blank\" rel=\"noopener noreferrer\">Google and partner sites</a> that host Google search;<br>default value: <code>false</code> - results are returned for Google search sites",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "sort_by": {
        +        "description": "<em>results sorting parameters</em><br>optional field<br>use these parameters to sort the results by <code>relevance</code>, <code>search_volume</code>, <code>competition_index</code>, <code>low_top_of_page_bid</code>, or <code>high_top_of_page_bid</code> in the descending order<br>default value: <code>relevance</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> array of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_keywords_trends_explore_live2 fields changed
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "keywords": [
        -          "iphone 14",
        -          "samsung s23"
        -        ],
        -        "location_code": 2840
        -      }
        -    ],
        -    "properties": {
        -      "date_from": {
        -        "description": "<em>starting date of the time range</em><br>optional field<br>if you don't specify this field, the current day and month of the preceding year will be used by default<br>minimal value for the <code>web</code> type: <code>2004-01-01</code><br>minimal value for other types: <code>2008-01-01</code><br>date format: <code>\"yyyy-mm-dd\"</code><br>example:<br><code>\"2019-01-15\"</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "date_to": {
        -        "description": "<em>ending date of the time range</em><br>optional field<br>if you don't specify this field, the today's date will be used by default<br>date format: <code>\"yyyy-mm-dd\"</code><br>example:<br><code>\"2019-01-15\"</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "keywords": {
        -        "description": "<em>keywords</em><br><strong>required field</strong><br>the maximum number of keywords you can specify: 5<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "location_code": {
        -        "description": "<em>search engine location code</em><br>optional field<br>if you don't use this field, you will recieve global results<br><strong>if you use this field, you don't need to specify <code>location_name</code></strong><br>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/dataforseo_trends/locations</code><br><strong>note that the data will be provided for the country the specified <code>location_code</code> belongs to;</strong><br>example:<br><code class=\"long-string\">2840</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "location_name": {
        -        "description": "<em>full name of search engine location</em><br>optional field<br>if you don't use this field, you will recieve global results<br><strong>if you use this field, you don't need to specify <code>location_code</code></strong><br>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/dataforseo_trends/locations</code><br><strong>note that the data will be provided for the country the specified <code>location_name</code> belongs to;</strong><br>example:<br><code class=\"long-string\">United Kingdom</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "time_range": {
        -        "description": "<em>preset time ranges</em><br>optional field<br>if you specify <code>date_from</code> or <code>date_to</code> parameters, this field will be ignored when setting a task<br><em>possible values for all <code>type</code> parameters:</em><br><code>past_4_hours</code>, <code>past_day</code>, <code>past_7_days</code>, <code>past_30_days</code>, <code>past_90_days</code>, <code>past_12_months</code>, <code>past_5_years</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "type": {
        -        "description": "type of element",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / oneOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "keywords": [
        +          "iphone 14",
        +          "samsung s23"
        +        ],
        +        "location_code": 2840
        +      }
        +    ],
        +    "properties": {
        +      "date_from": {
        +        "description": "<em>starting date of the time range</em><br>optional field<br>if you don't specify this field, the current day and month of the preceding year will be used by default<br>minimal value for the <code>web</code> type: <code>2004-01-01</code><br>minimal value for other types: <code>2008-01-01</code><br>date format: <code>\"yyyy-mm-dd\"</code><br>example:<br><code>\"2019-01-15\"</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "date_to": {
        +        "description": "<em>ending date of the time range</em><br>optional field<br>if you don't specify this field, the today's date will be used by default<br>date format: <code>\"yyyy-mm-dd\"</code><br>example:<br><code>\"2019-01-15\"</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "keywords": {
        +        "description": "<em>keywords</em><br><strong>required field</strong><br>the maximum number of keywords you can specify: 5<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "location_code": {
        +        "description": "<em>search engine location code</em><br>optional field<br>if you don't use this field, you will recieve global results<br><strong>if you use this field, you don't need to specify <code>location_name</code></strong><br>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/dataforseo_trends/locations</code><br><strong>note that the data will be provided for the country the specified <code>location_code</code> belongs to;</strong><br>example:<br><code class=\"long-string\">2840</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_name": {
        +        "description": "<em>full name of search engine location</em><br>optional field<br>if you don't use this field, you will recieve global results<br><strong>if you use this field, you don't need to specify <code>location_code</code></strong><br>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/dataforseo_trends/locations</code><br><strong>note that the data will be provided for the country the specified <code>location_name</code> belongs to;</strong><br>example:<br><code class=\"long-string\">United Kingdom</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "time_range": {
        +        "description": "<em>preset time ranges</em><br>optional field<br>if you specify <code>date_from</code> or <code>date_to</code> parameters, this field will be ignored when setting a task<br><em>possible values for all <code>type</code> parameters:</em><br><code>past_4_hours</code>, <code>past_day</code>, <code>past_7_days</code>, <code>past_30_days</code>, <code>past_90_days</code>, <code>past_12_months</code>, <code>past_5_years</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "type": {
        +        "description": "type of element",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_labs_google_bulk_keyword_difficulty_live2 fields changed
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "keywords": [
        -          "dentist new york",
        -          "pizza brooklyn",
        -          "car dealer los angeles"
        -        ],
        -        "language_code": "en",
        -        "location_code": 2840
        -      }
        -    ],
        -    "properties": {
        -      "keywords": {
        -        "description": "<em>target keywords</em><br><strong>required field</strong><br>UTF-8 encoding<br>maximum number of keywords you can specify in this array: 1000<br>the keywords will be converted to lowercase format<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "language_code": {
        -        "description": "<em>language code</em><br><strong>required field if don't specify <code>language_name</code></strong><br>you can receive the list of available languages with their <code>language_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">en</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "language_name": {
        -        "description": "<em>full name of the language</em><br><strong>required field if don't specify <code>language_code</code></strong><br>you can receive the list of available languages with their <code>language_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">English</code>",
        -        "type": "string"
        -      },
        -      "location_code": {
        -        "description": "<em>location code</em><br><strong>required field if don't specify <code>location_name</code></strong><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">2840</code>",
        -        "type": "integer"
        -      },
        -      "location_name": {
        -        "description": "<em>full name of the location</em><br><strong>required field if don't specify <code>location_code</code></strong><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">United Kingdom</code>",
        -        "type": "string"
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / oneOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "keywords": [
        +          "dentist new york",
        +          "pizza brooklyn",
        +          "car dealer los angeles"
        +        ],
        +        "language_code": "en",
        +        "location_code": 2840
        +      }
        +    ],
        +    "properties": {
        +      "keywords": {
        +        "description": "<em>target keywords</em><br><strong>required field</strong><br>UTF-8 encoding<br>maximum number of keywords you can specify in this array: 1000<br>the keywords will be converted to lowercase format<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "language_code": {
        +        "description": "<em>language code</em><br><strong>required field if don't specify <code>language_name</code></strong><br>you can receive the list of available languages with their <code>language_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">en</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "<em>full name of the language</em><br><strong>required field if don't specify <code>language_code</code></strong><br>you can receive the list of available languages with their <code>language_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">English</code>",
        +        "type": "string"
        +      },
        +      "location_code": {
        +        "description": "<em>location code</em><br><strong>required field if don't specify <code>location_name</code></strong><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">2840</code>",
        +        "type": "integer"
        +      },
        +      "location_name": {
        +        "description": "<em>full name of the location</em><br><strong>required field if don't specify <code>location_code</code></strong><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">United Kingdom</code>",
        +        "type": "string"
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_labs_google_bulk_traffic_estimation_live2 fields changed
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "item_types": [
        -          "organic",
        -          "paid"
        -        ],
        -        "language_code": "en",
        -        "location_code": 2840,
        -        "targets": [
        -          "dataforseo.com",
        -          "cnn.com",
        -          "forbes.com"
        -        ]
        -      }
        -    ],
        -    "properties": {
        -      "ignore_synonyms": {
        -        "description": "<em>ignore highly similar keywords</em><br>optional field<br>if set to_<code class=\"prettyprint\">true</code>, only core keywords will be returned, all highly similar keywords will be excluded;  <br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "item_types": {
        -        "description": "<em>display results by item type</em><br>optional field<br>indicates the type of search results included in the response<p><strong>Note:</strong> if the <code>item_types</code> array contains item types that are different from <code>organic</code>, the results will be ordered by the first item type in the array<p>possible values: <br><code>[\"organic\", \"paid\", \"featured_snippet\", \"local_pack\"]</code><br>default value: <br><code>[\"organic\", \"paid\"]</code>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "language_code": {
        -        "description": "<em>language code</em><br>if you use this field, you don’t need to specify <code>language_name</code><br>you can receive the list of available languages with their <code>language_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available languages<br>example:<br><code class=\"long-string\">en</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "language_name": {
        -        "description": "<em>full name of the language</em><br>if you use this field, you don’t need to specify <code>language_code</code><br>you can receive the list of available languages with their <code>language_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available languages<br>example:<br><code class=\"long-string\">English</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "location_code": {
        -        "description": "<em>location code</em><br>if you use this field, you don't have to specify <code>location_name</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">2840</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "location_name": {
        -        "description": "<em>full name of the location</em><br>if you use this field, you don't have to specify <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">United Kingdom</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "targets": {
        -        "description": "<em>target domains, subdomains, and webpages</em><br><strong>required field</strong><br>you can specify domains, subdomains, and webpages in this field;<br>domains and subdomains should be specified without <code>https://</code> and <code>www.</code>;<br>pages should be specified with absolute URL, including <code>https://</code> and <code>www.</code>;<br>you can set up to 1000 domains, subdomains or webpages",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / oneOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "item_types": [
        +          "organic",
        +          "paid"
        +        ],
        +        "language_code": "en",
        +        "location_code": 2840,
        +        "targets": [
        +          "dataforseo.com",
        +          "cnn.com",
        +          "forbes.com"
        +        ]
        +      }
        +    ],
        +    "properties": {
        +      "ignore_synonyms": {
        +        "description": "<em>ignore highly similar keywords</em><br>optional field<br>if set to_<code class=\"prettyprint\">true</code>, only core keywords will be returned, all highly similar keywords will be excluded;  <br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "item_types": {
        +        "description": "<em>display results by item type</em><br>optional field<br>indicates the type of search results included in the response<p><strong>Note:</strong> if the <code>item_types</code> array contains item types that are different from <code>organic</code>, the results will be ordered by the first item type in the array<p>possible values: <br><code>[\"organic\", \"paid\", \"featured_snippet\", \"local_pack\"]</code><br>default value: <br><code>[\"organic\", \"paid\"]</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "language_code": {
        +        "description": "<em>language code</em><br>if you use this field, you don’t need to specify <code>language_name</code><br>you can receive the list of available languages with their <code>language_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available languages<br>example:<br><code class=\"long-string\">en</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "<em>full name of the language</em><br>if you use this field, you don’t need to specify <code>language_code</code><br>you can receive the list of available languages with their <code>language_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available languages<br>example:<br><code class=\"long-string\">English</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "location_code": {
        +        "description": "<em>location code</em><br>if you use this field, you don't have to specify <code>location_name</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">2840</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_name": {
        +        "description": "<em>full name of the location</em><br>if you use this field, you don't have to specify <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">United Kingdom</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "targets": {
        +        "description": "<em>target domains, subdomains, and webpages</em><br><strong>required field</strong><br>you can specify domains, subdomains, and webpages in this field;<br>domains and subdomains should be specified without <code>https://</code> and <code>www.</code>;<br>pages should be specified with absolute URL, including <code>https://</code> and <code>www.</code>;<br>you can set up to 1000 domains, subdomains or webpages",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_labs_google_domain_rank_overview_live2 fields changed
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "language_name": "English",
        -        "location_code": 2840,
        -        "target": "dataforseo.com"
        -      }
        -    ],
        -    "properties": {
        -      "ignore_synonyms": {
        -        "description": "<em>ignore highly similar keywords</em><br>optional field<br>if set to_<code class=\"prettyprint\">true</code>, all highly similar keywords will be excluded from the ranking and traffic calculations, the results will be based on data for main keywords from groups of synonyms<br>default value: <code>false</code>n",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "language_code": {
        -        "description": "<em>language code</em><br>optional field<br>if you use this field, you don't need to specify <code>language_name</code><br>you can receive the list of available languages with their <code>language_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available languages<br>example:<br><code class=\"long-string\">en</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "language_name": {
        -        "description": "<em>full name of the language</em><br>optional field<br>if you use this field, you don't need to specify <code>language_code</code><br>you can receive the list of available languages with their <code>language_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available languages<br>example:<br><code class=\"long-string\">English</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "limit": {
        -        "description": "<em>the maximum number of returned results for domain</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "location_code": {
        -        "description": "<em>location code</em><br>optional field<br>if you use this field, you don't need to specify <code>location_name</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">2840</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "location_name": {
        -        "description": "<em>full name of the location</em><br>optional field<br>if you use this field, you don't need to specify <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">United Kingdom</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "offset": {
        -        "description": "<em>offset in the results array of returned items</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten <code>items</code> in the results array will be omitted and the data will be provided for the successive items",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "target": {
        -        "description": "<em>domain</em><br><strong>required field</strong><br>the domain name of the target website<br>the domain should be specified without <code>https://</code> and <code>www.</code>",
        -        "type": "string"
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / oneOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "language_name": "English",
        +        "location_code": 2840,
        +        "target": "dataforseo.com"
        +      }
        +    ],
        +    "properties": {
        +      "ignore_synonyms": {
        +        "description": "<em>ignore highly similar keywords</em><br>optional field<br>if set to_<code class=\"prettyprint\">true</code>, all highly similar keywords will be excluded from the ranking and traffic calculations, the results will be based on data for main keywords from groups of synonyms<br>default value: <code>false</code>n",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "language_code": {
        +        "description": "<em>language code</em><br>optional field<br>if you use this field, you don't need to specify <code>language_name</code><br>you can receive the list of available languages with their <code>language_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available languages<br>example:<br><code class=\"long-string\">en</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "<em>full name of the language</em><br>optional field<br>if you use this field, you don't need to specify <code>language_code</code><br>you can receive the list of available languages with their <code>language_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available languages<br>example:<br><code class=\"long-string\">English</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "limit": {
        +        "description": "<em>the maximum number of returned results for domain</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_code": {
        +        "description": "<em>location code</em><br>optional field<br>if you use this field, you don't need to specify <code>location_name</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">2840</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_name": {
        +        "description": "<em>full name of the location</em><br>optional field<br>if you use this field, you don't need to specify <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">United Kingdom</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "offset": {
        +        "description": "<em>offset in the results array of returned items</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten <code>items</code> in the results array will be omitted and the data will be provided for the successive items",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "target": {
        +        "description": "<em>domain</em><br><strong>required field</strong><br>the domain name of the target website<br>the domain should be specified without <code>https://</code> and <code>www.</code>",
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_labs_google_historical_keyword_data_live2 fields changed
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "keywords": [
        -          "iphone"
        -        ],
        -        "language_code": "en",
        -        "location_code": 2840
        -      }
        -    ],
        -    "properties": {
        -      "keywords": {
        -        "description": "<em>keywords</em><br><strong>required field</strong><br>The maximum number of keywords you can specify: 700<br>The maximum number of characters for each keyword: 80<br>The maximum number of words for each keyword phrase: 10<br>the specified keywords will be converted to lowercase format, data will be provided in a separate array<p><strong>note</strong> that if some of the keywords specified in this array are omitted in the results you receive, then our database doesn't contain such keywords and cannot return data on them<br>you will not be charged for the keywords omitted in the results<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "language_code": {
        -        "description": "<em>language code</em><br><strong>required field if you don't specify</strong> <code>language_name</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available locations with their <code>language_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">en</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "language_name": {
        -        "description": "<em>full name of the language</em><br><strong>required field if you don't specify</strong> <code>language_code</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available locations with their <code>language_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">English</code>",
        -        "type": "string"
        -      },
        -      "location_code": {
        -        "description": "<em>location code</em><br><strong>required field if you don't specify</strong> <code>location_name</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">2840</code>",
        -        "type": "integer"
        -      },
        -      "location_name": {
        -        "description": "<em>full name of the location</em><br><strong>required field if you don't specify</strong> <code>location_code</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">United Kingdom</code>",
        -        "type": "string"
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / oneOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "keywords": [
        +          "iphone"
        +        ],
        +        "language_code": "en",
        +        "location_code": 2840
        +      }
        +    ],
        +    "properties": {
        +      "keywords": {
        +        "description": "<em>keywords</em><br><strong>required field</strong><br>The maximum number of keywords you can specify: 700<br>The maximum number of characters for each keyword: 80<br>The maximum number of words for each keyword phrase: 10<br>the specified keywords will be converted to lowercase format, data will be provided in a separate array<p><strong>note</strong> that if some of the keywords specified in this array are omitted in the results you receive, then our database doesn't contain such keywords and cannot return data on them<br>you will not be charged for the keywords omitted in the results<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "language_code": {
        +        "description": "<em>language code</em><br><strong>required field if you don't specify</strong> <code>language_name</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available locations with their <code>language_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">en</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "<em>full name of the language</em><br><strong>required field if you don't specify</strong> <code>language_code</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available locations with their <code>language_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">English</code>",
        +        "type": "string"
        +      },
        +      "location_code": {
        +        "description": "<em>location code</em><br><strong>required field if you don't specify</strong> <code>location_name</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">2840</code>",
        +        "type": "integer"
        +      },
        +      "location_name": {
        +        "description": "<em>full name of the location</em><br><strong>required field if you don't specify</strong> <code>location_code</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">United Kingdom</code>",
        +        "type": "string"
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_labs_google_historical_rank_live2 fields changed
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "date_from": "2021-01-01",
        -        "date_to": "2021-03-29",
        -        "language_code": "en",
        -        "location_code": 2840,
        -        "target": "dataforseo.com"
        -      }
        -    ],
        -    "properties": {
        -      "correlate": {
        -        "description": "<em>correlate data with previously obtained datasets</em><br>optional field<br>default value: <code>true</code><br>if you use this parameter, our system will correlate data you obtain now with previously obtained datasets<br>this parameter is intended to mitigate any inconsistencies that may result from changes to our database<br>we recommend always setting <code>correlate</code> to <code>true</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "date_from": {
        -        "description": "<em>starting date of the time range</em><br>optional field<br>if you don't specify this field, the data will be provided for the previous 6 months<br>minimal possible value: <code>2020-10-01</code><br>date format: <code>\"yyyy-mm-dd\"</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "date_to": {
        -        "description": "<em>ending date of the time range</em><br>optional field<br>if you don't specify this field, the today's date will be used by default<br>date format: <code>\"yyyy-mm-dd\"</code><br>example:<br><code>\"2021-04-01\"</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "ignore_synonyms": {
        -        "description": "<em>ignore highly similar keywords</em><br>optional field<br>if set to <code class=\"prettyprint\">true</code>, only data based on core keywords will be returned, data for all highly similar keywords will be excluded;  <br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "include_clickstream_data": {
        -        "description": "<em>include or exclude data from clickstream-based metrics in the result</em><br>optional field<br>if the parameter is set to <code>true</code>, you will receive <code>clickstream_etv</code>, <code>clickstream_gender_distribution</code>, and <code>clickstream_age_distribution</code> fields with clickstream data in the response;<br>default value: <code>false</code>;<p><strong>Note:</strong> historical clickstream data is available from 2024/05 (May, 2024);<br><strong>with this parameter enabled, you will be charged double the price for the request;</strong><br>learn more about how clickstream-based metrics are calculated in this <a href=\"https://dataforseo.com/help-center/what-are-clickstream-based-metrics-and-how-do-we-calculate-them\" rel=\"noopener noreferrer\" target=\"_blank\">help center article</a>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "language_code": {
        -        "description": "<em>language code</em><br><strong>required field if you don't specify</strong> <code>language_name</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available locations with their <code>language_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">en</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "language_name": {
        -        "description": "<em>full name of the language</em><br><strong>required field if you don't specify</strong> <code>language_code</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available locations with their <code>language_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">English</code>",
        -        "type": "string"
        -      },
        -      "location_code": {
        -        "description": "<em>location code</em><br><strong>required field if you don't specify</strong> <code>location_name</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">2840</code>",
        -        "type": "integer"
        -      },
        -      "location_name": {
        -        "description": "<em>full name of the location</em><br><strong>required field if you don't specify</strong> <code>location_code</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">United Kingdom</code>",
        -        "type": "string"
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "target": {
        -        "description": "<em>domain</em><br><strong>required field</strong><br>the domain name of the target website<br>the domain should be specified without <code>https://</code> and <code>www.</code>",
        -        "type": "string"
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / oneOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "date_from": "2021-01-01",
        +        "date_to": "2021-03-29",
        +        "language_code": "en",
        +        "location_code": 2840,
        +        "target": "dataforseo.com"
        +      }
        +    ],
        +    "properties": {
        +      "correlate": {
        +        "description": "<em>correlate data with previously obtained datasets</em><br>optional field<br>default value: <code>true</code><br>if you use this parameter, our system will correlate data you obtain now with previously obtained datasets<br>this parameter is intended to mitigate any inconsistencies that may result from changes to our database<br>we recommend always setting <code>correlate</code> to <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "date_from": {
        +        "description": "<em>starting date of the time range</em><br>optional field<br>if you don't specify this field, the data will be provided for the previous 6 months<br>minimal possible value: <code>2020-10-01</code><br>date format: <code>\"yyyy-mm-dd\"</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "date_to": {
        +        "description": "<em>ending date of the time range</em><br>optional field<br>if you don't specify this field, the today's date will be used by default<br>date format: <code>\"yyyy-mm-dd\"</code><br>example:<br><code>\"2021-04-01\"</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "ignore_synonyms": {
        +        "description": "<em>ignore highly similar keywords</em><br>optional field<br>if set to <code class=\"prettyprint\">true</code>, only data based on core keywords will be returned, data for all highly similar keywords will be excluded;  <br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_clickstream_data": {
        +        "description": "<em>include or exclude data from clickstream-based metrics in the result</em><br>optional field<br>if the parameter is set to <code>true</code>, you will receive <code>clickstream_etv</code>, <code>clickstream_gender_distribution</code>, and <code>clickstream_age_distribution</code> fields with clickstream data in the response;<br>default value: <code>false</code>;<p><strong>Note:</strong> historical clickstream data is available from 2024/05 (May, 2024);<br><strong>with this parameter enabled, you will be charged double the price for the request;</strong><br>learn more about how clickstream-based metrics are calculated in this <a href=\"https://dataforseo.com/help-center/what-are-clickstream-based-metrics-and-how-do-we-calculate-them\" rel=\"noopener noreferrer\" target=\"_blank\">help center article</a>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "language_code": {
        +        "description": "<em>language code</em><br><strong>required field if you don't specify</strong> <code>language_name</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available locations with their <code>language_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">en</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "<em>full name of the language</em><br><strong>required field if you don't specify</strong> <code>language_code</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available locations with their <code>language_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">English</code>",
        +        "type": "string"
        +      },
        +      "location_code": {
        +        "description": "<em>location code</em><br><strong>required field if you don't specify</strong> <code>location_name</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">2840</code>",
        +        "type": "integer"
        +      },
        +      "location_name": {
        +        "description": "<em>full name of the location</em><br><strong>required field if you don't specify</strong> <code>location_code</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">United Kingdom</code>",
        +        "type": "string"
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "target": {
        +        "description": "<em>domain</em><br><strong>required field</strong><br>the domain name of the target website<br>the domain should be specified without <code>https://</code> and <code>www.</code>",
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_labs_google_keyword_ideas_live2 fields changed
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "include_serp_info": true,
        -        "keywords": [
        -          "phone",
        -          "watch"
        -        ],
        -        "language_code": "en",
        -        "limit": 3,
        -        "location_code": 2840
        -      }
        -    ],
        -    "properties": {
        -      "closely_variants": {
        -        "description": "<em>search mode</em><br>optional field<br>if set to_<code class=\"prettyprint\">true</code> the results will be based on the phrase-match search algorithm<br>if set to <code class=\"prettyprint\">false</code> the results will be based on the broad-match search algorithm<br>default value: <code>false</code>n",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "filters": {
        -        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>match</code>, <code>not_match</code>, <code>ilike</code>, <code>not_ilike</code>, <code>like</code>, <code>not_like</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code>,as well as <code>ilike</code>, <code>not_ilike</code> to match any string of zero or more characters<br><strong>note that you can not filter the results by <code>relevance</code></strong><br>example:<br><code>[\"keyword_info.search_volume\",\"&gt;\",0]</code><p><code>[[\"keyword_info.search_volume\",\"in\",[0,1000]],<br>\"and\",<br>[\"keyword_info.competition_level\",\"=\",\"LOW\"]]</code><p><code>[[\"keyword_info.search_volume\",\"&gt;\",100],<br>\"and\",<br>[[\"keyword_info.cpc\",\"&lt;\",0.5],<br>\"or\",<p>[\"keyword_info.high_top_of_page_bid\",\"&lt;=\",0.5]]]</code><br>for more information about filters, please refer to <a href=\"/v3/dataforseo_labs/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Dataforseo Labs - Filters</a> or this <a href=\"https://dataforseo.com/help-center/how-to-use-filters-in-dataforseo-labs-api\" rel=\"noopener noreferrer\" target=\"_blank\">help center guide</a>",
        -        "items": {
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "ignore_synonyms": {
        -        "description": "<em>ignore highly similar keywords</em><br>optional field<br>if set to_<code class=\"prettyprint\">true</code> only core keywords will be returned, all highly similar keywords will be excluded;  <br>default value: <code>false</code>n",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "include_clickstream_data": {
        -        "description": "<em>include or exclude data from clickstream-based metrics in the result</em><br>optional field<br>if the parameter is set to <code>true</code>, you will receive <code>clickstream_keyword_info</code>, <code>keyword_info_normalized_with_clickstream</code>, and <code>keyword_info_normalized_with_bing</code> fields in the response<br>default value: <code>false</code><br>with this parameter enabled, you will be charged double the price for the request<p>learn more about how clickstream-based metrics are calculated in this <a href=\"https://dataforseo.com/help-center/what-are-clickstream-based-metrics-and-how-do-we-calculate-them\" rel=\"noopener noreferrer\" target=\"_blank\">help center article</a>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "include_serp_info": {
        -        "description": "<em>include data from SERP for each keyword</em><br>optional field<br>if set to <code>true</code>, we will return a <code>serp_info</code> array containing SERP data (number of search results, relevant URL, and SERP features) for every keyword in the response<br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "keywords": {
        -        "description": "<em>keywords</em><br><strong>required field</strong><br>UTF-8 encoding<br>The maximum number of keywords you can specify: 200.<br>The keywords will be converted to lowercase format<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "language_code": {
        -        "description": "<em>language code</em><br>optional field<br>if you use this field, you don't need to specify <code>language_name</code><br>you can receive the list of available languages with their <code>language_code</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">en</code><br><strong>Note:</strong> if omitted, results default to the language with the most keyword records in the specified location;<br>refer to the <code>available_languages.keywords</code> field of the <a href=\"https://docs.dataforseo.com/v3/dataforseo_labs/locations_and_languages\" target=\"_blank\">Locations and Languages endpoint</a> to determine the default language",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "language_name": {
        -        "description": "<em>full name of the language</em><br>optional field<br>if you use this field, you don't need to specify <code>language_code</code><br>you can receive the list of available languages with their <code>language_name</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">English</code><br><strong>Note:</strong> if omitted, results default to the language with the most keyword records in the specified location;<br>refer to the <code>available_languages.keywords</code> field of the <a href=\"https://docs.dataforseo.com/v3/dataforseo_labs/locations_and_languages\" target=\"_blank\">Locations and Languages endpoint</a> to determine the default language",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "limit": {
        -        "description": "<em>the maximum number of keywords in the results array</em><br>optional field<br>default value: <code>700</code><br>maximum value: <code>1000</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "location_code": {
        -        "description": "<em>unique location identifier</em><br><strong>required field if you don't specify</strong> <code>location_name</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">2840</code>",
        -        "type": "integer"
        -      },
        -      "location_name": {
        -        "description": "<em>full name of the location</em><br><strong>required field if you don't specify</strong> <code>location_code</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">United Kingdom</code>",
        -        "type": "string"
        -      },
        -      "offset": {
        -        "description": "<em>offset in the results array of returned keywords</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten keywords in the results array will be omitted and the data will be provided for the successive keywords<br><strong>Note:</strong> we recommend using this parameter only when retrieving up to 10,000 results<br>for retrieving over 10,000 results, use the <code>offset_token</code> instead.",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "offset_token": {
        -        "description": "<em>offset token for subsequent requests</em><br>optional field<br>provided in the identical filed of the response to each request;<br>use this parameter to avoid timeouts while trying to obtain over 10,000 results in a single request;<br>by specifying the unique <code>offset_token</code> value from the response array, you will get the subsequent results of the initial task;<br><code>offset_token</code> values are unique for each subsequent task <br><strong>Note:</strong> if the <code>offset_token</code> is specified in the request, all other parameters except <code>limit</code> will not be taken into account when processing a task.<br>learn more about this parameter on our <a href=\"https://dataforseo.com/help-center/what-is-the-difference-between-the-offset-and-offset_token-parameters#offset_token\" target=\"_blank\">Help Center</a>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "order_by": {
        -        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to set up a sorting parameter<p>default rule:<br><code>[\"relevance,desc\"]</code><br>relevance is used as the default sorting rule to provide you with the closest keyword ideas. We recommend using this sorting rule to get highly-relevant search terms. <strong>Note</strong> that <code>relevance</code> is only our internal system identifier, so <strong>it can not be used as a filter</strong>, and you will not find this field in the <code>result</code> array. The relevance score is based on a similar principle as used in <a href=\"/v3/keywords_data/google/keywords_for_keywords/live/?php\">the Keywords For Keywords</a> endpoint.<p><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"relevance,desc\",\"keyword_info.search_volume,desc\"]</code>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / oneOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "include_serp_info": true,
        +        "keywords": [
        +          "phone",
        +          "watch"
        +        ],
        +        "language_code": "en",
        +        "limit": 3,
        +        "location_code": 2840
        +      }
        +    ],
        +    "properties": {
        +      "closely_variants": {
        +        "description": "<em>search mode</em><br>optional field<br>if set to_<code class=\"prettyprint\">true</code> the results will be based on the phrase-match search algorithm<br>if set to <code class=\"prettyprint\">false</code> the results will be based on the broad-match search algorithm<br>default value: <code>false</code>n",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "filters": {
        +        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>match</code>, <code>not_match</code>, <code>ilike</code>, <code>not_ilike</code>, <code>like</code>, <code>not_like</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code>,as well as <code>ilike</code>, <code>not_ilike</code> to match any string of zero or more characters<br><strong>note that you can not filter the results by <code>relevance</code></strong><br>example:<br><code>[\"keyword_info.search_volume\",\"&gt;\",0]</code><p><code>[[\"keyword_info.search_volume\",\"in\",[0,1000]],<br>\"and\",<br>[\"keyword_info.competition_level\",\"=\",\"LOW\"]]</code><p><code>[[\"keyword_info.search_volume\",\"&gt;\",100],<br>\"and\",<br>[[\"keyword_info.cpc\",\"&lt;\",0.5],<br>\"or\",<p>[\"keyword_info.high_top_of_page_bid\",\"&lt;=\",0.5]]]</code><br>for more information about filters, please refer to <a href=\"/v3/dataforseo_labs/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Dataforseo Labs - Filters</a> or this <a href=\"https://dataforseo.com/help-center/how-to-use-filters-in-dataforseo-labs-api\" rel=\"noopener noreferrer\" target=\"_blank\">help center guide</a>",
        +        "items": {
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "ignore_synonyms": {
        +        "description": "<em>ignore highly similar keywords</em><br>optional field<br>if set to_<code class=\"prettyprint\">true</code> only core keywords will be returned, all highly similar keywords will be excluded;  <br>default value: <code>false</code>n",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_clickstream_data": {
        +        "description": "<em>include or exclude data from clickstream-based metrics in the result</em><br>optional field<br>if the parameter is set to <code>true</code>, you will receive <code>clickstream_keyword_info</code>, <code>keyword_info_normalized_with_clickstream</code>, and <code>keyword_info_normalized_with_bing</code> fields in the response<br>default value: <code>false</code><br>with this parameter enabled, you will be charged double the price for the request<p>learn more about how clickstream-based metrics are calculated in this <a href=\"https://dataforseo.com/help-center/what-are-clickstream-based-metrics-and-how-do-we-calculate-them\" rel=\"noopener noreferrer\" target=\"_blank\">help center article</a>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_serp_info": {
        +        "description": "<em>include data from SERP for each keyword</em><br>optional field<br>if set to <code>true</code>, we will return a <code>serp_info</code> array containing SERP data (number of search results, relevant URL, and SERP features) for every keyword in the response<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "keywords": {
        +        "description": "<em>keywords</em><br><strong>required field</strong><br>UTF-8 encoding<br>The maximum number of keywords you can specify: 200.<br>The keywords will be converted to lowercase format<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "language_code": {
        +        "description": "<em>language code</em><br>optional field<br>if you use this field, you don't need to specify <code>language_name</code><br>you can receive the list of available languages with their <code>language_code</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">en</code><br><strong>Note:</strong> if omitted, results default to the language with the most keyword records in the specified location;<br>refer to the <code>available_languages.keywords</code> field of the <a href=\"https://docs.dataforseo.com/v3/dataforseo_labs/locations_and_languages\" target=\"_blank\">Locations and Languages endpoint</a> to determine the default language",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "<em>full name of the language</em><br>optional field<br>if you use this field, you don't need to specify <code>language_code</code><br>you can receive the list of available languages with their <code>language_name</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">English</code><br><strong>Note:</strong> if omitted, results default to the language with the most keyword records in the specified location;<br>refer to the <code>available_languages.keywords</code> field of the <a href=\"https://docs.dataforseo.com/v3/dataforseo_labs/locations_and_languages\" target=\"_blank\">Locations and Languages endpoint</a> to determine the default language",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "limit": {
        +        "description": "<em>the maximum number of keywords in the results array</em><br>optional field<br>default value: <code>700</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_code": {
        +        "description": "<em>unique location identifier</em><br><strong>required field if you don't specify</strong> <code>location_name</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">2840</code>",
        +        "type": "integer"
        +      },
        +      "location_name": {
        +        "description": "<em>full name of the location</em><br><strong>required field if you don't specify</strong> <code>location_code</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">United Kingdom</code>",
        +        "type": "string"
        +      },
        +      "offset": {
        +        "description": "<em>offset in the results array of returned keywords</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten keywords in the results array will be omitted and the data will be provided for the successive keywords<br><strong>Note:</strong> we recommend using this parameter only when retrieving up to 10,000 results<br>for retrieving over 10,000 results, use the <code>offset_token</code> instead.",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "offset_token": {
        +        "description": "<em>offset token for subsequent requests</em><br>optional field<br>provided in the identical filed of the response to each request;<br>use this parameter to avoid timeouts while trying to obtain over 10,000 results in a single request;<br>by specifying the unique <code>offset_token</code> value from the response array, you will get the subsequent results of the initial task;<br><code>offset_token</code> values are unique for each subsequent task <br><strong>Note:</strong> if the <code>offset_token</code> is specified in the request, all other parameters except <code>limit</code> will not be taken into account when processing a task.<br>learn more about this parameter on our <a href=\"https://dataforseo.com/help-center/what-is-the-difference-between-the-offset-and-offset_token-parameters#offset_token\" target=\"_blank\">Help Center</a>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "order_by": {
        +        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to set up a sorting parameter<p>default rule:<br><code>[\"relevance,desc\"]</code><br>relevance is used as the default sorting rule to provide you with the closest keyword ideas. We recommend using this sorting rule to get highly-relevant search terms. <strong>Note</strong> that <code>relevance</code> is only our internal system identifier, so <strong>it can not be used as a filter</strong>, and you will not find this field in the <code>result</code> array. The relevance score is based on a similar principle as used in <a href=\"/v3/keywords_data/google/keywords_for_keywords/live/?php\">the Keywords For Keywords</a> endpoint.<p><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"relevance,desc\",\"keyword_info.search_volume,desc\"]</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_labs_google_keyword_overview_live2 fields changed
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "include_clickstream_data": true,
        -        "include_serp_info": true,
        -        "keywords": [
        -          "iphone"
        -        ],
        -        "language_code": "en",
        -        "location_code": 2840
        -      }
        -    ],
        -    "properties": {
        -      "include_clickstream_data": {
        -        "description": "<em>include or exclude data from clickstream-based metrics in the result</em><br>optional field<br>if the parameter is set to <code>true</code>, you will receive <code>clickstream_keyword_info</code>, <code>keyword_info_normalized_with_clickstream</code>, and <code>keyword_info_normalized_with_bing</code> fields in the response<br>default value: <code>false</code><br>with this parameter enabled, you will be charged double the price for the request<p>learn more about how clickstream-based metrics are calculated in this <a href=\"https://dataforseo.com/help-center/what-are-clickstream-based-metrics-and-how-do-we-calculate-them\" rel=\"noopener noreferrer\" target=\"_blank\">help center article</a>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "include_serp_info": {
        -        "description": "<em>include data from SERP for each keyword</em><br>optional field<br>if set to <code>true</code>, we will return a <code>serp_info</code> array containing SERP data (number of search results, relevant URL, and SERP features) for every keyword in the response<br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "keywords": {
        -        "description": "<em>keywords</em><br><strong>required field</strong><br>The maximum number of keywords you can specify: 700<br>The maximum number of characters for each keyword: 80<br>The maximum number of words for each keyword phrase: 10<br>the specified keywords will be converted to lowercase format, data will be provided in a separate array<p><strong>note</strong> that if some of the keywords specified in this array are omitted in the results you receive, then our database doesn't contain such keywords and cannot return data on them<br>you will not be charged for the keywords omitted in the results<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "language_code": {
        -        "description": "<em>language code</em><br><strong>required field if you don't specify</strong> <code>language_name</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available locations with their <code>language_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">en</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "language_name": {
        -        "description": "<em>full name of the language</em><br><strong>required field if you don't specify</strong> <code>language_code</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available locations with their <code>language_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">English</code>",
        -        "type": "string"
        -      },
        -      "location_code": {
        -        "description": "<em>location code</em><br><strong>required field if you don't specify</strong> <code>location_name</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">2840</code>",
        -        "type": "integer"
        -      },
        -      "location_name": {
        -        "description": "<em>full name of the location</em><br><strong>required field if you don't specify</strong> <code>location_code</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">United Kingdom</code>",
        -        "type": "string"
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / oneOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "include_clickstream_data": true,
        +        "include_serp_info": true,
        +        "keywords": [
        +          "iphone"
        +        ],
        +        "language_code": "en",
        +        "location_code": 2840
        +      }
        +    ],
        +    "properties": {
        +      "include_clickstream_data": {
        +        "description": "<em>include or exclude data from clickstream-based metrics in the result</em><br>optional field<br>if the parameter is set to <code>true</code>, you will receive <code>clickstream_keyword_info</code>, <code>keyword_info_normalized_with_clickstream</code>, and <code>keyword_info_normalized_with_bing</code> fields in the response<br>default value: <code>false</code><br>with this parameter enabled, you will be charged double the price for the request<p>learn more about how clickstream-based metrics are calculated in this <a href=\"https://dataforseo.com/help-center/what-are-clickstream-based-metrics-and-how-do-we-calculate-them\" rel=\"noopener noreferrer\" target=\"_blank\">help center article</a>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_serp_info": {
        +        "description": "<em>include data from SERP for each keyword</em><br>optional field<br>if set to <code>true</code>, we will return a <code>serp_info</code> array containing SERP data (number of search results, relevant URL, and SERP features) for every keyword in the response<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "keywords": {
        +        "description": "<em>keywords</em><br><strong>required field</strong><br>The maximum number of keywords you can specify: 700<br>The maximum number of characters for each keyword: 80<br>The maximum number of words for each keyword phrase: 10<br>the specified keywords will be converted to lowercase format, data will be provided in a separate array<p><strong>note</strong> that if some of the keywords specified in this array are omitted in the results you receive, then our database doesn't contain such keywords and cannot return data on them<br>you will not be charged for the keywords omitted in the results<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "language_code": {
        +        "description": "<em>language code</em><br><strong>required field if you don't specify</strong> <code>language_name</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available locations with their <code>language_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">en</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "<em>full name of the language</em><br><strong>required field if you don't specify</strong> <code>language_code</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available locations with their <code>language_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">English</code>",
        +        "type": "string"
        +      },
        +      "location_code": {
        +        "description": "<em>location code</em><br><strong>required field if you don't specify</strong> <code>location_name</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">2840</code>",
        +        "type": "integer"
        +      },
        +      "location_name": {
        +        "description": "<em>full name of the location</em><br><strong>required field if you don't specify</strong> <code>location_code</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">United Kingdom</code>",
        +        "type": "string"
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_labs_google_keyword_suggestions_live2 fields changed
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "include_seed_keyword": true,
        -        "include_serp_info": true,
        -        "keyword": "phone",
        -        "language_code": "en",
        -        "limit": 1,
        -        "location_code": 2840
        -      }
        -    ],
        -    "properties": {
        -      "exact_match": {
        -        "description": "<em>search for the exact phrase</em><br>optional field<br>if set to <code>true</code>, the returned keywords will include the exact keyword phrase you specified, with potentially other words before or after that phrase<br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "filters": {
        -        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>match</code>, <code>not_match</code>, <code>ilike</code>, <code>not_ilike</code>, <code>like</code>, <code>not_like</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code>, as well as <code>ilike</code> and <code>not_ilike</code> to match any string of zero or more characters<br>example:<br><code>[\"keyword_info.search_volume\",\"&gt;\",0]</code><br><code>[[\"keyword_info.search_volume\",\"in\",[0,1000]],<br>\"and\",<br>[\"keyword_info.competition_level\",\"=\",\"LOW\"]]</code><code>[[\"keyword_info.search_volume\",\"&gt;\",100],<br>\"and\",<br>[[\"keyword_info.cpc\",\"&lt;\",0.5],<br>\"or\",<br>[\"keyword_info.high_top_of_page_bid\",\"&lt;=\",0.5]]]</code><br>for more information about filters, please refer to <a href=\"/v3/dataforseo_labs/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Dataforseo Labs - Filters</a> or this <a href=\"https://dataforseo.com/help-center/how-to-use-filters-in-dataforseo-labs-api\" target=\"_blank\" rel=\"noopener noreferrer\">help center guide</a>",
        -        "items": {
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "ignore_synonyms": {
        -        "description": "<em>ignore highly similar keywords</em><br>optional field<br>if set to <code class=\"prettyprint\">true</code> only core keywords will be returned, all highly similar keywords will be excluded;<br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "include_clickstream_data": {
        -        "description": "<em>include or exclude data from clickstream-based metrics in the result</em><br>optional field<br>if the parameter is set to <code>true</code>, you will receive <code>clickstream_keyword_info</code>, <code>keyword_info_normalized_with_clickstream</code>, and <code>keyword_info_normalized_with_bing</code> fields in the response<br>default value: <code>false</code><br>with this parameter enabled, you will be charged double the price for the request<p>learn more about how clickstream-based metrics are calculated in this <a href=\"https://dataforseo.com/help-center/what-are-clickstream-based-metrics-and-how-do-we-calculate-them\" rel=\"noopener noreferrer\" target=\"_blank\">help center article</a>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "include_seed_keyword": {
        -        "description": "<em>include data for the seed keyword</em><br>optional field<br>if set to <code>true</code>, data for the seed keyword specified in the <code>keyword</code> field will be provided in the <code>seed_keyword_data</code> array of the response<br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "include_serp_info": {
        -        "description": "<em>include data from SERP for each keyword</em><br>optional field<br>if set to <code>true</code>, we will return a <code>serp_info</code> array containing SERP data (number of search results, relevant URL, and SERP features) for every keyword in the response<br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "keyword": {
        -        "description": "<em>keyword</em><br><strong>required field</strong><br>UTF-8 encoding<br>the keywords will be converted to lowercase format;<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        -        "type": "string"
        -      },
        -      "language_code": {
        -        "description": "<em>language code</em><br>optional field<br>if you use this field, you don't need to specify <code>language_name</code><br>you can receive the list of available languages with their <code>language_code</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">en</code><br><strong>Note:</strong> if omitted, results default to the language with the most keyword records in the specified location;<br>refer to the <code>available_languages.keywords</code> field of the <a href=\"https://docs.dataforseo.com/v3/dataforseo_labs/locations_and_languages\" target=\"_blank\">Locations and Languages endpoint</a> to determine the default language",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "language_name": {
        -        "description": "<em>full name of the language</em><br>optional field<br>if you use this field, you don't need to specify <code>language_code</code><br>you can receive the list of available languages with their <code>language_name</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">English</code><br><strong>Note:</strong> if omitted, results default to the language with the most keyword records in the specified location;<br>refer to the <code>available_languages.keywords</code> field of the <a href=\"https://docs.dataforseo.com/v3/dataforseo_labs/locations_and_languages\" target=\"_blank\">Locations and Languages endpoint</a> to determine the default language",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "limit": {
        -        "description": "<em>the maximum number of returned keywords</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "location_code": {
        -        "description": "<em>location code</em><br>optional field<br>if you use this field, you don't need to specify <code>location_name</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">2840</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "location_name": {
        -        "description": "<em>full name of the location</em><br>optional field<br>if you use this field, you don't need to specify <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">United Kingdom</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "offset": {
        -        "description": "<em>offset in the results array of returned keywords</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten keywords in the results array will be omitted and the data will be provided for the successive keywords<br><strong>Note:</strong> we recommend using this parameter only when retrieving up to 10,000 results<br>for retrieving over 10,000 results, use the <code>offset_token</code> instead.",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "offset_token": {
        -        "description": "<em>offset token for subsequent requests</em><br>optional field<br>provided in the identical filed of the response to each request;<br>use this parameter to avoid timeouts while trying to obtain over 10,000 results in a single request;<br>by specifying the unique <code>offset_token</code> value from the response array, you will get the subsequent results of the initial task;<br><code>offset_token</code> values are unique for each subsequent task<br><strong>Note:</strong> if the <code>offset_token</code> is specified in the request, all other parameters except <code>limit</code> will not be taken into account when processing a task.<br>learn more about this parameter on our <a href=\"https://dataforseo.com/help-center/what-is-the-difference-between-the-offset-and-offset_token-parameters#offset_token\" target=\"_blank\">Help Center</a>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "order_by": {
        -        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>a comma is used as a separator<br>example:<br><code>[\"keyword_info.competition,desc\"]</code><br>default rule:<br><code>[\"keyword_info.search_volume,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"keyword_info.search_volume,desc\",\"keyword_info.cpc,desc\"]</code>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / oneOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "include_seed_keyword": true,
        +        "include_serp_info": true,
        +        "keyword": "phone",
        +        "language_code": "en",
        +        "limit": 1,
        +        "location_code": 2840
        +      }
        +    ],
        +    "properties": {
        +      "exact_match": {
        +        "description": "<em>search for the exact phrase</em><br>optional field<br>if set to <code>true</code>, the returned keywords will include the exact keyword phrase you specified, with potentially other words before or after that phrase<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "filters": {
        +        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>match</code>, <code>not_match</code>, <code>ilike</code>, <code>not_ilike</code>, <code>like</code>, <code>not_like</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code>, as well as <code>ilike</code> and <code>not_ilike</code> to match any string of zero or more characters<br>example:<br><code>[\"keyword_info.search_volume\",\"&gt;\",0]</code><br><code>[[\"keyword_info.search_volume\",\"in\",[0,1000]],<br>\"and\",<br>[\"keyword_info.competition_level\",\"=\",\"LOW\"]]</code><code>[[\"keyword_info.search_volume\",\"&gt;\",100],<br>\"and\",<br>[[\"keyword_info.cpc\",\"&lt;\",0.5],<br>\"or\",<br>[\"keyword_info.high_top_of_page_bid\",\"&lt;=\",0.5]]]</code><br>for more information about filters, please refer to <a href=\"/v3/dataforseo_labs/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Dataforseo Labs - Filters</a> or this <a href=\"https://dataforseo.com/help-center/how-to-use-filters-in-dataforseo-labs-api\" target=\"_blank\" rel=\"noopener noreferrer\">help center guide</a>",
        +        "items": {
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "ignore_synonyms": {
        +        "description": "<em>ignore highly similar keywords</em><br>optional field<br>if set to <code class=\"prettyprint\">true</code> only core keywords will be returned, all highly similar keywords will be excluded;<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_clickstream_data": {
        +        "description": "<em>include or exclude data from clickstream-based metrics in the result</em><br>optional field<br>if the parameter is set to <code>true</code>, you will receive <code>clickstream_keyword_info</code>, <code>keyword_info_normalized_with_clickstream</code>, and <code>keyword_info_normalized_with_bing</code> fields in the response<br>default value: <code>false</code><br>with this parameter enabled, you will be charged double the price for the request<p>learn more about how clickstream-based metrics are calculated in this <a href=\"https://dataforseo.com/help-center/what-are-clickstream-based-metrics-and-how-do-we-calculate-them\" rel=\"noopener noreferrer\" target=\"_blank\">help center article</a>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_seed_keyword": {
        +        "description": "<em>include data for the seed keyword</em><br>optional field<br>if set to <code>true</code>, data for the seed keyword specified in the <code>keyword</code> field will be provided in the <code>seed_keyword_data</code> array of the response<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_serp_info": {
        +        "description": "<em>include data from SERP for each keyword</em><br>optional field<br>if set to <code>true</code>, we will return a <code>serp_info</code> array containing SERP data (number of search results, relevant URL, and SERP features) for every keyword in the response<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "keyword": {
        +        "description": "<em>keyword</em><br><strong>required field</strong><br>UTF-8 encoding<br>the keywords will be converted to lowercase format;<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        +        "type": "string"
        +      },
        +      "language_code": {
        +        "description": "<em>language code</em><br>optional field<br>if you use this field, you don't need to specify <code>language_name</code><br>you can receive the list of available languages with their <code>language_code</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">en</code><br><strong>Note:</strong> if omitted, results default to the language with the most keyword records in the specified location;<br>refer to the <code>available_languages.keywords</code> field of the <a href=\"https://docs.dataforseo.com/v3/dataforseo_labs/locations_and_languages\" target=\"_blank\">Locations and Languages endpoint</a> to determine the default language",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "<em>full name of the language</em><br>optional field<br>if you use this field, you don't need to specify <code>language_code</code><br>you can receive the list of available languages with their <code>language_name</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">English</code><br><strong>Note:</strong> if omitted, results default to the language with the most keyword records in the specified location;<br>refer to the <code>available_languages.keywords</code> field of the <a href=\"https://docs.dataforseo.com/v3/dataforseo_labs/locations_and_languages\" target=\"_blank\">Locations and Languages endpoint</a> to determine the default language",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "limit": {
        +        "description": "<em>the maximum number of returned keywords</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_code": {
        +        "description": "<em>location code</em><br>optional field<br>if you use this field, you don't need to specify <code>location_name</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">2840</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_name": {
        +        "description": "<em>full name of the location</em><br>optional field<br>if you use this field, you don't need to specify <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">United Kingdom</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "offset": {
        +        "description": "<em>offset in the results array of returned keywords</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten keywords in the results array will be omitted and the data will be provided for the successive keywords<br><strong>Note:</strong> we recommend using this parameter only when retrieving up to 10,000 results<br>for retrieving over 10,000 results, use the <code>offset_token</code> instead.",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "offset_token": {
        +        "description": "<em>offset token for subsequent requests</em><br>optional field<br>provided in the identical filed of the response to each request;<br>use this parameter to avoid timeouts while trying to obtain over 10,000 results in a single request;<br>by specifying the unique <code>offset_token</code> value from the response array, you will get the subsequent results of the initial task;<br><code>offset_token</code> values are unique for each subsequent task<br><strong>Note:</strong> if the <code>offset_token</code> is specified in the request, all other parameters except <code>limit</code> will not be taken into account when processing a task.<br>learn more about this parameter on our <a href=\"https://dataforseo.com/help-center/what-is-the-difference-between-the-offset-and-offset_token-parameters#offset_token\" target=\"_blank\">Help Center</a>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "order_by": {
        +        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>a comma is used as a separator<br>example:<br><code>[\"keyword_info.competition,desc\"]</code><br>default rule:<br><code>[\"keyword_info.search_volume,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"keyword_info.search_volume,desc\",\"keyword_info.cpc,desc\"]</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_labs_google_related_keywords_live2 fields changed
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "keyword": "phone",
        -        "language_name": "English",
        -        "limit": 3,
        -        "location_code": 2840
        -      }
        -    ],
        -    "properties": {
        -      "depth": {
        -        "description": "<em>keyword search depth</em><br>optional field<br>default value: <code>1</code><p>number of the returned results depends on the value you set in this field<br>you can specify a level from 0 to 4<br>estimated number of keywords for each level (maximum):<br>0 - the keyword set in the <code>keyword</code> field<br>1 – 8 keywords<br>2 – 72 keywords<br>3 – 584 keywords<br>4 – 4680 keywords",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "filters": {
        -        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>match</code>, <code>not_match</code>, <code>ilike</code>, <code>not_ilike</code>, <code>like</code>,<code>not_like</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code>, as well as <code>ilike</code> and <code>not_ilike</code> to match any string of zero or more characters<br>example:<br><code>[\"keyword_data.keyword_info.search_volume\",\"&gt;\",0]</code><p><code>[[\"keyword_info.search_volume\",\"in\",[0,1000]],<br>\"and\",<br>[\"keyword_data.keyword_info.competition_level\",\"=\",\"LOW\"]]</code><p><code>[[\"keyword_data.keyword_info.search_volume\",\"&gt;\",100],<br>\"and\",<br>[[\"keyword_data.keyword_info.cpc\",\"&lt;\",0.5],<br>\"or\",<p>[\"keyword_info.high_top_of_page_bid\",\"&lt;=\",0.5]]]</code><br>for more information about filters, please refer to <a href=\"/v3/dataforseo_labs/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Dataforseo Labs - Filters</a> or this <a href=\"https://dataforseo.com/help-center/how-to-use-filters-in-dataforseo-labs-api\" rel=\"noopener noreferrer\" target=\"_blank\">help center guide</a>",
        -        "items": {
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "ignore_synonyms": {
        -        "description": "",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "include_clickstream_data": {
        -        "description": "",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "include_seed_keyword": {
        -        "description": "<em>include data for the seed keyword</em><br>optional field<br>if set to <code>true</code>, data for the seed keyword specified in the <code>keyword</code> field will be provided in the <code>seed_keyword_data</code> array of the response<br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "include_serp_info": {
        -        "description": "<em>include data from SERP for each keyword</em><br>optional field<br>if set to <code>true</code>, we will return a <code>serp_info</code> array containing SERP data (number of search results, relevant URL, and SERP features) for every keyword in the response<br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "keyword": {
        -        "description": "<em>keyword</em><br><strong>required field</strong><br>UTF-8 encoding<br>the keywords will be converted to lowercase format<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        -        "type": "string"
        -      },
        -      "language_code": {
        -        "description": "<em>language code</em><br><strong>required field if you don't specify</strong> <code>language_name</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available locations with their <code>language_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">en</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "language_name": {
        -        "description": "<em>full name of the language</em><br><strong>required field if you don't specify</strong> <code>language_code</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available locations with their <code>language_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">English</code>",
        -        "type": "string"
        -      },
        -      "limit": {
        -        "description": "<em>the maximum number of returned keywords</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "location_code": {
        -        "description": "<em>location code</em><br><strong>required field if you don't specify</strong> <code>location_name</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">2840</code>",
        -        "type": "integer"
        -      },
        -      "location_name": {
        -        "description": "<em>full name of the location</em><br><strong>required field if you don't specify</strong> <code>location_code</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">United Kingdom</code>",
        -        "type": "string"
        -      },
        -      "offset": {
        -        "description": "<em>offset in the results array of returned keywords</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten keywords in the results array will be omitted and the data will be provided for the successive keywords",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "order_by": {
        -        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to set up a sorting type<br>example:<br><code>[\"keyword_data.keyword_info.competition,desc\"]</code><br>default rule:<br><code>[\"keyword_data.keyword_info.search_volume,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"keyword_data.keyword_info.search_volume,desc\",\"keyword_data.keyword_info.cpc,desc\"]</code>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "replace_with_core_keyword": {
        -        "description": "<em>return data for core keyword</em><br>optional field<br>if <code>true</code>, <code>serp_info</code> and <code>related_keywords</code> will be returned for the main keyword in the group that the specified <code>keyword</code> belongs to;<br>if <code>false</code>, <code>serp_info</code> and <code>related_keywords</code> will be returned for the specified <code>keyword</code> (if available);<br>refer to <a href=\"https://dataforseo.com/help-center/replace_with_core_keyword\" rel=\"noopener noreferrer\" target=\"_blank\">this help center article</a> for more details;<br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / oneOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "keyword": "phone",
        +        "language_name": "English",
        +        "limit": 3,
        +        "location_code": 2840
        +      }
        +    ],
        +    "properties": {
        +      "depth": {
        +        "description": "<em>keyword search depth</em><br>optional field<br>default value: <code>1</code><p>number of the returned results depends on the value you set in this field<br>you can specify a level from 0 to 4<br>estimated number of keywords for each level (maximum):<br>0 - the keyword set in the <code>keyword</code> field<br>1 – 8 keywords<br>2 – 72 keywords<br>3 – 584 keywords<br>4 – 4680 keywords",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "filters": {
        +        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>match</code>, <code>not_match</code>, <code>ilike</code>, <code>not_ilike</code>, <code>like</code>,<code>not_like</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code>, as well as <code>ilike</code> and <code>not_ilike</code> to match any string of zero or more characters<br>example:<br><code>[\"keyword_data.keyword_info.search_volume\",\"&gt;\",0]</code><p><code>[[\"keyword_info.search_volume\",\"in\",[0,1000]],<br>\"and\",<br>[\"keyword_data.keyword_info.competition_level\",\"=\",\"LOW\"]]</code><p><code>[[\"keyword_data.keyword_info.search_volume\",\"&gt;\",100],<br>\"and\",<br>[[\"keyword_data.keyword_info.cpc\",\"&lt;\",0.5],<br>\"or\",<p>[\"keyword_info.high_top_of_page_bid\",\"&lt;=\",0.5]]]</code><br>for more information about filters, please refer to <a href=\"/v3/dataforseo_labs/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Dataforseo Labs - Filters</a> or this <a href=\"https://dataforseo.com/help-center/how-to-use-filters-in-dataforseo-labs-api\" rel=\"noopener noreferrer\" target=\"_blank\">help center guide</a>",
        +        "items": {
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "ignore_synonyms": {
        +        "description": "",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_clickstream_data": {
        +        "description": "",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_seed_keyword": {
        +        "description": "<em>include data for the seed keyword</em><br>optional field<br>if set to <code>true</code>, data for the seed keyword specified in the <code>keyword</code> field will be provided in the <code>seed_keyword_data</code> array of the response<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_serp_info": {
        +        "description": "<em>include data from SERP for each keyword</em><br>optional field<br>if set to <code>true</code>, we will return a <code>serp_info</code> array containing SERP data (number of search results, relevant URL, and SERP features) for every keyword in the response<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "keyword": {
        +        "description": "<em>keyword</em><br><strong>required field</strong><br>UTF-8 encoding<br>the keywords will be converted to lowercase format<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        +        "type": "string"
        +      },
        +      "language_code": {
        +        "description": "<em>language code</em><br><strong>required field if you don't specify</strong> <code>language_name</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available locations with their <code>language_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">en</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "<em>full name of the language</em><br><strong>required field if you don't specify</strong> <code>language_code</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available locations with their <code>language_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">English</code>",
        +        "type": "string"
        +      },
        +      "limit": {
        +        "description": "<em>the maximum number of returned keywords</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_code": {
        +        "description": "<em>location code</em><br><strong>required field if you don't specify</strong> <code>location_name</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">2840</code>",
        +        "type": "integer"
        +      },
        +      "location_name": {
        +        "description": "<em>full name of the location</em><br><strong>required field if you don't specify</strong> <code>location_code</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">United Kingdom</code>",
        +        "type": "string"
        +      },
        +      "offset": {
        +        "description": "<em>offset in the results array of returned keywords</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten keywords in the results array will be omitted and the data will be provided for the successive keywords",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "order_by": {
        +        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to set up a sorting type<br>example:<br><code>[\"keyword_data.keyword_info.competition,desc\"]</code><br>default rule:<br><code>[\"keyword_data.keyword_info.search_volume,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"keyword_data.keyword_info.search_volume,desc\",\"keyword_data.keyword_info.cpc,desc\"]</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "replace_with_core_keyword": {
        +        "description": "<em>return data for core keyword</em><br>optional field<br>if <code>true</code>, <code>serp_info</code> and <code>related_keywords</code> will be returned for the main keyword in the group that the specified <code>keyword</code> belongs to;<br>if <code>false</code>, <code>serp_info</code> and <code>related_keywords</code> will be returned for the specified <code>keyword</code> (if available);<br>refer to <a href=\"https://dataforseo.com/help-center/replace_with_core_keyword\" rel=\"noopener noreferrer\" target=\"_blank\">this help center article</a> for more details;<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_labs_google_relevant_pages_live2 fields changed
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "filters": [
        -          [
        -            "metrics.organic.pos_1",
        -            "<>",
        -            0
        -          ],
        -          "or",
        -          [
        -            "metrics.organic.pos_2_3",
        -            "<>",
        -            0
        -          ]
        -        ],
        -        "language_name": "English",
        -        "limit": 3,
        -        "location_code": 2840,
        -        "target": "amazon.com"
        -      }
        -    ],
        -    "properties": {
        -      "filters": {
        -        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code><p>example:<br><code>[\"metrics.paid.count\",\"&gt;\",0]</code><p><code>[[\"metrics.organic.count\",\"&gt;\",50],\"and\",[\"metrics.organic.pos_1\",\"&lt;&gt;\",0]]</code><p><code>[[\"\"metrics.organic.count\",\"&gt;\",50\"],<br>\"and\",<br>[[\"metrics.organic.pos_1\",\"&lt;&gt;\",0],\"or\",[\"metrics.organic.pos_2_3\",\"&lt;&gt;\",0]]]</code><br>for more information about filters, please refer to <a href=\"/v3/dataforseo_labs/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Dataforseo Labs - Filters</a> or this <a href=\"https://dataforseo.com/help-center/how-to-use-filters-in-dataforseo-labs-api\" rel=\"noopener noreferrer\" target=\"_blank\">help center guide</a>",
        -        "items": {
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "historical_serp_mode": {
        -        "description": "<em>data collection mode</em><br>optional field<br>you can use this field to filter the results;<br>possible types of filtering:<br><code>live</code> — return metrics for SERPs in which the specified <code>target</code> currently has ranking results;<br><code>lost</code> — return metrics for SERPs in which the specified <code>target</code> had previously had ranking results, but didn't have them during the last check;<br><code>all</code> — return metrics for both types of SERPs.<br>default value: <code>live</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "ignore_synonyms": {
        -        "description": "<em>ignore highly similar keywords</em><br>optional field<br>if set to <code class=\"prettyprint\">true</code>, only core keywords will be returned, all highly similar keywords will be excluded;  <br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "include_clickstream_data": {
        -        "description": "<em>include or exclude data from clickstream-based metrics in the result</em><br>optional field<br>if the parameter is set to <code>true</code>, you will receive <code>clickstream_etv</code>, <code>clickstream_gender_distribution</code>, and <code>clickstream_age_distribution</code> fields with clickstream data in the response<br>default value: <code>false</code><br>with this parameter enabled, you will be charged double the price for the request<p>learn more about how clickstream-based metrics are calculated in this <a href=\"https://dataforseo.com/help-center/what-are-clickstream-based-metrics-and-how-do-we-calculate-them\" rel=\"noopener noreferrer\" target=\"_blank\">help center article</a>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "item_types": {
        -        "description": "<em>display results by item type</em><br>optional field<br>indicates the type of search results included in the response<p><strong>Note:</strong> if the <code>item_types</code> array contains item types that are different from <code>organic</code>, the results will be ordered by the first item type in the array; you will not be able to sort and filter results by the types of search results not included in the response;<p>possible values: <br><code>[\"organic\", \"paid\", \"featured_snippet\", \"local_pack\"]</code><br>default value: <br><code>[\"organic\", \"paid\"]</code>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "language_code": {
        -        "description": "<em>language code</em><br>optional field<br>if you use this field, you don't need to specify <code>language_name</code><br>you can receive the list of available languages with their <code>language_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available languages<br>example:<br><code class=\"long-string\">en</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "language_name": {
        -        "description": "<em>full name of the language</em><br>optional field<br>if you use this field, you don't need to specify <code>language_code</code><br>you can receive the list of available languages with their <code>language_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available languages<br>example:<br><code class=\"long-string\">English</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "limit": {
        -        "description": "<em>the maximum number of returned pages</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "location_code": {
        -        "description": "<em>location code</em><br>optional field<br>if you use this field, you don't need to specify <code>location_name</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">2840</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "location_name": {
        -        "description": "<em>full name of the location</em><br>optional field<br>if you use this field, you don't need to specify <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">United Kingdom</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "offset": {
        -        "description": "<em>offset in the results array of returned pages</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten pages in the results array will be omitted and the data will be provided for the successive pages",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "order_by": {
        -        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to specify a sorting type<br>example:<br><code>[\"metrics.paid.etv,asc\"]</code><br><strong>Note:</strong> you can set no more than three sorting rules in a single request<br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"metrics.organic.etv,desc\",\"metrics.paid.count,asc\"]</code><p>default rule:<br><code>[\"metrics.organic.count,desc\"]</code><br><strong>Note:</strong> if the <code>item_types</code> array contains item types that are different from <code>organic</code>, the results will be ordered by the first item type in the array",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "target": {
        -        "description": "<em>domain</em><br><strong>required field</strong><br>the domain name of the target website<br>the domain should be specified without <code>https://</code> and <code>www.</code>",
        -        "type": "string"
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / oneOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "filters": [
        +          [
        +            "metrics.organic.pos_1",
        +            "<>",
        +            0
        +          ],
        +          "or",
        +          [
        +            "metrics.organic.pos_2_3",
        +            "<>",
        +            0
        +          ]
        +        ],
        +        "language_name": "English",
        +        "limit": 3,
        +        "location_code": 2840,
        +        "target": "amazon.com"
        +      }
        +    ],
        +    "properties": {
        +      "filters": {
        +        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code><p>example:<br><code>[\"metrics.paid.count\",\"&gt;\",0]</code><p><code>[[\"metrics.organic.count\",\"&gt;\",50],\"and\",[\"metrics.organic.pos_1\",\"&lt;&gt;\",0]]</code><p><code>[[\"\"metrics.organic.count\",\"&gt;\",50\"],<br>\"and\",<br>[[\"metrics.organic.pos_1\",\"&lt;&gt;\",0],\"or\",[\"metrics.organic.pos_2_3\",\"&lt;&gt;\",0]]]</code><br>for more information about filters, please refer to <a href=\"/v3/dataforseo_labs/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Dataforseo Labs - Filters</a> or this <a href=\"https://dataforseo.com/help-center/how-to-use-filters-in-dataforseo-labs-api\" rel=\"noopener noreferrer\" target=\"_blank\">help center guide</a>",
        +        "items": {
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "historical_serp_mode": {
        +        "description": "<em>data collection mode</em><br>optional field<br>you can use this field to filter the results;<br>possible types of filtering:<br><code>live</code> — return metrics for SERPs in which the specified <code>target</code> currently has ranking results;<br><code>lost</code> — return metrics for SERPs in which the specified <code>target</code> had previously had ranking results, but didn't have them during the last check;<br><code>all</code> — return metrics for both types of SERPs.<br>default value: <code>live</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "ignore_synonyms": {
        +        "description": "<em>ignore highly similar keywords</em><br>optional field<br>if set to <code class=\"prettyprint\">true</code>, only core keywords will be returned, all highly similar keywords will be excluded;  <br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_clickstream_data": {
        +        "description": "<em>include or exclude data from clickstream-based metrics in the result</em><br>optional field<br>if the parameter is set to <code>true</code>, you will receive <code>clickstream_etv</code>, <code>clickstream_gender_distribution</code>, and <code>clickstream_age_distribution</code> fields with clickstream data in the response<br>default value: <code>false</code><br>with this parameter enabled, you will be charged double the price for the request<p>learn more about how clickstream-based metrics are calculated in this <a href=\"https://dataforseo.com/help-center/what-are-clickstream-based-metrics-and-how-do-we-calculate-them\" rel=\"noopener noreferrer\" target=\"_blank\">help center article</a>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "item_types": {
        +        "description": "<em>display results by item type</em><br>optional field<br>indicates the type of search results included in the response<p><strong>Note:</strong> if the <code>item_types</code> array contains item types that are different from <code>organic</code>, the results will be ordered by the first item type in the array; you will not be able to sort and filter results by the types of search results not included in the response;<p>possible values: <br><code>[\"organic\", \"paid\", \"featured_snippet\", \"local_pack\"]</code><br>default value: <br><code>[\"organic\", \"paid\"]</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "language_code": {
        +        "description": "<em>language code</em><br>optional field<br>if you use this field, you don't need to specify <code>language_name</code><br>you can receive the list of available languages with their <code>language_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available languages<br>example:<br><code class=\"long-string\">en</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "<em>full name of the language</em><br>optional field<br>if you use this field, you don't need to specify <code>language_code</code><br>you can receive the list of available languages with their <code>language_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available languages<br>example:<br><code class=\"long-string\">English</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "limit": {
        +        "description": "<em>the maximum number of returned pages</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_code": {
        +        "description": "<em>location code</em><br>optional field<br>if you use this field, you don't need to specify <code>location_name</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">2840</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_name": {
        +        "description": "<em>full name of the location</em><br>optional field<br>if you use this field, you don't need to specify <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">United Kingdom</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "offset": {
        +        "description": "<em>offset in the results array of returned pages</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten pages in the results array will be omitted and the data will be provided for the successive pages",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "order_by": {
        +        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to specify a sorting type<br>example:<br><code>[\"metrics.paid.etv,asc\"]</code><br><strong>Note:</strong> you can set no more than three sorting rules in a single request<br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"metrics.organic.etv,desc\",\"metrics.paid.count,asc\"]</code><p>default rule:<br><code>[\"metrics.organic.count,desc\"]</code><br><strong>Note:</strong> if the <code>item_types</code> array contains item types that are different from <code>organic</code>, the results will be ordered by the first item type in the array",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "target": {
        +        "description": "<em>domain</em><br><strong>required field</strong><br>the domain name of the target website<br>the domain should be specified without <code>https://</code> and <code>www.</code>",
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_labs_google_search_intent_live2 fields changed
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "keywords": [
        -          "login page",
        -          "audi a7",
        -          "elon musk",
        -          "milk store new york"
        -        ]
        -      }
        -    ],
        -    "properties": {
        -      "keywords": {
        -        "description": "<em>target keywords</em><br><strong>required field</strong><br>UTF-8 encoding<br>maximum number of keywords you can specify in this array: 1000;<br>the keywords will be converted to lowercase format<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / oneOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "keywords": [
        +          "login page",
        +          "audi a7",
        +          "elon musk",
        +          "milk store new york"
        +        ]
        +      }
        +    ],
        +    "properties": {
        +      "keywords": {
        +        "description": "<em>target keywords</em><br><strong>required field</strong><br>UTF-8 encoding<br>maximum number of keywords you can specify in this array: 1000;<br>the keywords will be converted to lowercase format<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_labs_google_serp_competitors_live2 fields changed
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "item_types": [
        -          "organic"
        -        ],
        -        "keywords": [
        -          "phone"
        -        ],
        -        "language_name": "English",
        -        "limit": 5,
        -        "location_code": 2840
        -      }
        -    ],
        -    "properties": {
        -      "filters": {
        -        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>match</code>, <code>not_match</code>, <code>ilike</code>, <code>not_ilike</code>, <code>like</code>, <code>not_like</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code>, as well as <code>ilike</code> and <code>not_ilike</code> to match any string of zero or more characters<br>example:<br><code>[\"median_position\",\"in\",[1,10]]</code><p><code>[[\"median_position\",\"in\",[1,10]],\"and\",[\"domain\",\"not_like\",\"%wikipedia.org%\"]]</code><p><code>[[\"domain\",\"not_like\",\"%wikipedia.org%\"],<br>\"and\",<br>[[\"relevant_serp_items\",\"&gt;\",0],\"or\",[\"median_position\",\"in\",[1,10]]]]</code><br>for more information about filters, please refer to <a href=\"/v3/dataforseo_labs/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Dataforseo Labs - Filters</a> or this <a href=\"https://dataforseo.com/help-center/how-to-use-filters-in-dataforseo-labs-api\" rel=\"noopener noreferrer\" target=\"_blank\">help center guide</a>",
        -        "items": {
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "include_subdomains": {
        -        "description": "<em>indicates if the subdomains will be included in the search</em><br>optional field<br>if set to <code>false</code>, the subdomains will be ignored<br>default value: <code>true</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "item_types": {
        -        "description": "<em>search results type</em><br>indicates type of search results included in the response<br>optional field<p>possible values: <br><code>[\"organic\", \"paid\", \"featured_snippet\", \"local_pack\"]</code><br>default value: <br><code>[\"organic\", \"paid\"]</code>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "keywords": {
        -        "description": "<em>keywords array</em><br><strong>required field</strong><br>the results will be based on the keywords you specify in this array<br>UTF-8 encoding;<br>the keywords will be converted to lowercase format;<br><strong>you can specify the maximum of 200 keywords</strong><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "language_code": {
        -        "description": "<em>unique language identifier</em><br><strong>required field if you don't specify</strong> <code>language_name</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available languages with their <code>language_code</code> parameters by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">en</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "language_name": {
        -        "description": "<em>full name of the language</em><br><strong>required field if you don't specify</strong> <code>language_code</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available languages with their <code>language_name</code> parameters by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">English</code>",
        -        "type": "string"
        -      },
        -      "limit": {
        -        "description": "<em>the maximum number of returned domains</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "location_code": {
        -        "description": "<em>unique location identifier</em><br><strong>required field if you don't specify</strong> <code>location_name</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_code</code> parameters by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">2840</code>",
        -        "type": "integer"
        -      },
        -      "location_name": {
        -        "description": "<em>full name of the location</em><br><strong>required field if you don't specify</strong> <code>location_code</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with <code>location_name</code> parameters by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">United Kingdom</code>",
        -        "type": "string"
        -      },
        -      "offset": {
        -        "description": "<em>offset in the results array of returned domains</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten domains in the results array will be omitted and the data will be provided for the successive domains",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "order_by": {
        -        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>the comma is used as a separator<br>example:<br><code>[\"avg_position,asc\"]</code><br>default rule:<br><code>[\"rating,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"avg_position,asc\",\"etv,desc\"]</code>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / oneOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "item_types": [
        +          "organic"
        +        ],
        +        "keywords": [
        +          "phone"
        +        ],
        +        "language_name": "English",
        +        "limit": 5,
        +        "location_code": 2840
        +      }
        +    ],
        +    "properties": {
        +      "filters": {
        +        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>match</code>, <code>not_match</code>, <code>ilike</code>, <code>not_ilike</code>, <code>like</code>, <code>not_like</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code>, as well as <code>ilike</code> and <code>not_ilike</code> to match any string of zero or more characters<br>example:<br><code>[\"median_position\",\"in\",[1,10]]</code><p><code>[[\"median_position\",\"in\",[1,10]],\"and\",[\"domain\",\"not_like\",\"%wikipedia.org%\"]]</code><p><code>[[\"domain\",\"not_like\",\"%wikipedia.org%\"],<br>\"and\",<br>[[\"relevant_serp_items\",\"&gt;\",0],\"or\",[\"median_position\",\"in\",[1,10]]]]</code><br>for more information about filters, please refer to <a href=\"/v3/dataforseo_labs/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Dataforseo Labs - Filters</a> or this <a href=\"https://dataforseo.com/help-center/how-to-use-filters-in-dataforseo-labs-api\" rel=\"noopener noreferrer\" target=\"_blank\">help center guide</a>",
        +        "items": {
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "include_subdomains": {
        +        "description": "<em>indicates if the subdomains will be included in the search</em><br>optional field<br>if set to <code>false</code>, the subdomains will be ignored<br>default value: <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "item_types": {
        +        "description": "<em>search results type</em><br>indicates type of search results included in the response<br>optional field<p>possible values: <br><code>[\"organic\", \"paid\", \"featured_snippet\", \"local_pack\"]</code><br>default value: <br><code>[\"organic\", \"paid\"]</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "keywords": {
        +        "description": "<em>keywords array</em><br><strong>required field</strong><br>the results will be based on the keywords you specify in this array<br>UTF-8 encoding;<br>the keywords will be converted to lowercase format;<br><strong>you can specify the maximum of 200 keywords</strong><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "language_code": {
        +        "description": "<em>unique language identifier</em><br><strong>required field if you don't specify</strong> <code>language_name</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available languages with their <code>language_code</code> parameters by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">en</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "<em>full name of the language</em><br><strong>required field if you don't specify</strong> <code>language_code</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available languages with their <code>language_name</code> parameters by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">English</code>",
        +        "type": "string"
        +      },
        +      "limit": {
        +        "description": "<em>the maximum number of returned domains</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_code": {
        +        "description": "<em>unique location identifier</em><br><strong>required field if you don't specify</strong> <code>location_name</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_code</code> parameters by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">2840</code>",
        +        "type": "integer"
        +      },
        +      "location_name": {
        +        "description": "<em>full name of the location</em><br><strong>required field if you don't specify</strong> <code>location_code</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with <code>location_name</code> parameters by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">United Kingdom</code>",
        +        "type": "string"
        +      },
        +      "offset": {
        +        "description": "<em>offset in the results array of returned domains</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten domains in the results array will be omitted and the data will be provided for the successive domains",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "order_by": {
        +        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>the comma is used as a separator<br>example:<br><code>[\"avg_position,asc\"]</code><br>default rule:<br><code>[\"rating,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"avg_position,asc\",\"etv,desc\"]</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_labs_google_subdomains_live2 fields changed
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "filters": [
        -          [
        -            "metrics.organic.pos_1",
        -            "<>",
        -            0
        -          ],
        -          "or",
        -          [
        -            "metrics.organic.pos_2_3",
        -            "<>",
        -            0
        -          ]
        -        ],
        -        "language_name": "English",
        -        "location_code": 2840,
        -        "target": "dataforseo.com"
        -      }
        -    ],
        -    "properties": {
        -      "filters": {
        -        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code><br>example:<br><code>[\"metrics.paid.count\",\"&gt;\",0]</code><p><code>[[\"metrics.paid.count\",\"&gt;\",0],\"and\",[\"metrics.paid.etv\",\"&gt;\",\"50\"]]</code><p><code>[[\"metrics.organic.count\",\"&gt;\",\"10\"],<br>\"and\",<br>[[\"metrics.organic.pos_1\",\"&lt;&gt;\",0],\"or\",[\"metrics.organic.pos_2_3\",\"&lt;&gt;\",0]]]</code><br>for more information about filters, please refer to <a href=\"/v3/dataforseo_labs/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Dataforseo Labs - Filters</a> or this <a href=\"https://dataforseo.com/help-center/how-to-use-filters-in-dataforseo-labs-api\" rel=\"noopener noreferrer\" target=\"_blank\">help center guide</a>",
        -        "items": {
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "historical_serp_mode": {
        -        "description": "<em>data collection mode</em><br>optional field<br>you can use this field to filter the results;<br>possible types of filtering:<br><code>live</code> — return metrics for SERPs in which the specified <code>target</code> currently has ranking results;<br><code>lost</code> — return metrics for SERPs in which the specified <code>target</code> had previously had ranking results, but didn't have them during the last check;<br><code>all</code> — return metrics for both types of SERPs.<br>default value: <code>live</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "ignore_synonyms": {
        -        "description": "<em>ignore highly similar keywords</em><br>optional field<br>if set to <code class=\"prettyprint\">true</code>, only core keywords will be returned, all highly similar keywords will be excluded;  <br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "include_clickstream_data": {
        -        "description": "<em>include or exclude data from clickstream-based metrics in the result</em><br>optional field<br>if the parameter is set to <code>true</code>, you will receive <code>clickstream_etv</code>, <code>clickstream_gender_distribution</code>, and <code>clickstream_age_distribution</code> fields with clickstream data in the response<br>default value: <code>false</code><br>with this parameter enabled, you will be charged double the price for the request<p>learn more about how clickstream-based metrics are calculated in this <a href=\"https://dataforseo.com/help-center/what-are-clickstream-based-metrics-and-how-do-we-calculate-them\" rel=\"noopener noreferrer\" target=\"_blank\">help center article</a>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "item_types": {
        -        "description": "<em>display results by item type</em><br>optional field<br>indicates the type of search results included in the response<p><strong>Note:</strong> if the <code>item_types</code> array contains item types that are different from <code>organic</code>, the results will be ordered by the first item type in the array; you will not be able to sort and filter results by the types of search results not included in the response;<p>possible values: <br><code>[\"organic\", \"paid\", \"featured_snippet\", \"local_pack\"]</code><br>default value: <br><code>[\"organic\", \"paid\"]</code>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "language_code": {
        -        "description": "<em>language code</em><br>optional field<br>if you use this field, you don't need to specify <code>language_name</code><br>you can receive the list of available languages with their <code>language_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available languages<br>example:<br><code class=\"long-string\">en</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "language_name": {
        -        "description": "<em>full name of the language</em><br>optional field<br>if you use this field, you don't need to specify <code>language_code</code><br>you can receive the list of available languages with their <code>language_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available languages<br>example:<br><code class=\"long-string\">English</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "limit": {
        -        "description": "<em>the maximum number of returned keywords</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "location_code": {
        -        "description": "<em>location code</em><br>optional field<br>if you use this field, you don't need to specify <code>location_name</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">2840</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "location_name": {
        -        "description": "<em>full name of the location</em><br>optional field<br>if you use this field, you don't need to specify <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">United Kingdom</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "offset": {
        -        "description": "<em>offset in the results array of returned keywords</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten keywords in the results array will be omitted and the data will be provided for the successive keywords",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "order_by": {
        -        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to specify a sorting type<br>example:<br><code>[\"metrics.paid.etv,asc\"]</code><br><strong>Note:</strong> you can set no more than three sorting rules in a single request<br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"metrics.organic.etv,desc\",\"metrics.paid.count,asc\"]</code><p>default rule:<br><code>[\"metrics.organic.count,desc\"]</code><br><strong>Note:</strong> if the <code>item_types</code> array contains item types that are different from <code>organic</code>, the results will be ordered by the first item type in the array",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "target": {
        -        "description": "<em>domain</em><br><strong>required field</strong><br>the domain name of the target website<br>the domain should be specified without <code>https://</code> and <code>www.</code>",
        -        "type": "string"
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / oneOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "filters": [
        +          [
        +            "metrics.organic.pos_1",
        +            "<>",
        +            0
        +          ],
        +          "or",
        +          [
        +            "metrics.organic.pos_2_3",
        +            "<>",
        +            0
        +          ]
        +        ],
        +        "language_name": "English",
        +        "location_code": 2840,
        +        "target": "dataforseo.com"
        +      }
        +    ],
        +    "properties": {
        +      "filters": {
        +        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code><br>example:<br><code>[\"metrics.paid.count\",\"&gt;\",0]</code><p><code>[[\"metrics.paid.count\",\"&gt;\",0],\"and\",[\"metrics.paid.etv\",\"&gt;\",\"50\"]]</code><p><code>[[\"metrics.organic.count\",\"&gt;\",\"10\"],<br>\"and\",<br>[[\"metrics.organic.pos_1\",\"&lt;&gt;\",0],\"or\",[\"metrics.organic.pos_2_3\",\"&lt;&gt;\",0]]]</code><br>for more information about filters, please refer to <a href=\"/v3/dataforseo_labs/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Dataforseo Labs - Filters</a> or this <a href=\"https://dataforseo.com/help-center/how-to-use-filters-in-dataforseo-labs-api\" rel=\"noopener noreferrer\" target=\"_blank\">help center guide</a>",
        +        "items": {
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "historical_serp_mode": {
        +        "description": "<em>data collection mode</em><br>optional field<br>you can use this field to filter the results;<br>possible types of filtering:<br><code>live</code> — return metrics for SERPs in which the specified <code>target</code> currently has ranking results;<br><code>lost</code> — return metrics for SERPs in which the specified <code>target</code> had previously had ranking results, but didn't have them during the last check;<br><code>all</code> — return metrics for both types of SERPs.<br>default value: <code>live</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "ignore_synonyms": {
        +        "description": "<em>ignore highly similar keywords</em><br>optional field<br>if set to <code class=\"prettyprint\">true</code>, only core keywords will be returned, all highly similar keywords will be excluded;  <br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_clickstream_data": {
        +        "description": "<em>include or exclude data from clickstream-based metrics in the result</em><br>optional field<br>if the parameter is set to <code>true</code>, you will receive <code>clickstream_etv</code>, <code>clickstream_gender_distribution</code>, and <code>clickstream_age_distribution</code> fields with clickstream data in the response<br>default value: <code>false</code><br>with this parameter enabled, you will be charged double the price for the request<p>learn more about how clickstream-based metrics are calculated in this <a href=\"https://dataforseo.com/help-center/what-are-clickstream-based-metrics-and-how-do-we-calculate-them\" rel=\"noopener noreferrer\" target=\"_blank\">help center article</a>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "item_types": {
        +        "description": "<em>display results by item type</em><br>optional field<br>indicates the type of search results included in the response<p><strong>Note:</strong> if the <code>item_types</code> array contains item types that are different from <code>organic</code>, the results will be ordered by the first item type in the array; you will not be able to sort and filter results by the types of search results not included in the response;<p>possible values: <br><code>[\"organic\", \"paid\", \"featured_snippet\", \"local_pack\"]</code><br>default value: <br><code>[\"organic\", \"paid\"]</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "language_code": {
        +        "description": "<em>language code</em><br>optional field<br>if you use this field, you don't need to specify <code>language_name</code><br>you can receive the list of available languages with their <code>language_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available languages<br>example:<br><code class=\"long-string\">en</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "<em>full name of the language</em><br>optional field<br>if you use this field, you don't need to specify <code>language_code</code><br>you can receive the list of available languages with their <code>language_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available languages<br>example:<br><code class=\"long-string\">English</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "limit": {
        +        "description": "<em>the maximum number of returned keywords</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_code": {
        +        "description": "<em>location code</em><br>optional field<br>if you use this field, you don't need to specify <code>location_name</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">2840</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_name": {
        +        "description": "<em>full name of the location</em><br>optional field<br>if you use this field, you don't need to specify <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">United Kingdom</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "offset": {
        +        "description": "<em>offset in the results array of returned keywords</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten keywords in the results array will be omitted and the data will be provided for the successive keywords",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "order_by": {
        +        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to specify a sorting type<br>example:<br><code>[\"metrics.paid.etv,asc\"]</code><br><strong>Note:</strong> you can set no more than three sorting rules in a single request<br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"metrics.organic.etv,desc\",\"metrics.paid.count,asc\"]</code><p>default rule:<br><code>[\"metrics.organic.count,desc\"]</code><br><strong>Note:</strong> if the <code>item_types</code> array contains item types that are different from <code>organic</code>, the results will be ordered by the first item type in the array",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "target": {
        +        "description": "<em>domain</em><br><strong>required field</strong><br>the domain name of the target website<br>the domain should be specified without <code>https://</code> and <code>www.</code>",
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_on_page_duplicate_content2 fields changed
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "id": "07281559-0695-0216-0000-c269be8b7592",
        -        "url": "https://www.etsy.com/"
        -      }
        -    ],
        -    "properties": {
        -      "id": {
        -        "description": "<em>ID of the task</em><br><strong>required field</strong><br>you can get this ID in the response of the <a href=\"https://docs.dataforseo.com/v3/on_page/task_post/\">Task POST</a> endpoint<br>example:<br>\"07131248-1535-0216-1000-17384017ad04\"",
        -        "type": "string"
        -      },
        -      "limit": {
        -        "description": "<em>the maximum number of returned pages</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "offset": {
        -        "description": "<em>offset in the results array of returned pages</em><br>optional field<br>default value: <code>0</code><br>maximum value: <code>2000000</code><br>if you specify the <code>10</code> value, the first ten pages in the results array will be omitted and the data will be provided for the successive pages",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "similarity": {
        -        "description": "<em>content similarity score</em><br>by default, the content is considered duplicate if the value is greater than or equals <code>6</code><br>you can specify any similarity score in the 0-to-10 range",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "url": {
        -        "description": "<em>page URL</em><br><strong>required field</strong><br>specify the initial page you want to receive duplicate content for",
        -        "type": "string"
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / oneOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "id": "07281559-0695-0216-0000-c269be8b7592",
        +        "url": "https://www.etsy.com/"
        +      }
        +    ],
        +    "properties": {
        +      "id": {
        +        "description": "<em>ID of the task</em><br><strong>required field</strong><br>you can get this ID in the response of the <a href=\"https://docs.dataforseo.com/v3/on_page/task_post/\">Task POST</a> endpoint<br>example:<br>\"07131248-1535-0216-1000-17384017ad04\"",
        +        "type": "string"
        +      },
        +      "limit": {
        +        "description": "<em>the maximum number of returned pages</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "offset": {
        +        "description": "<em>offset in the results array of returned pages</em><br>optional field<br>default value: <code>0</code><br>maximum value: <code>2000000</code><br>if you specify the <code>10</code> value, the first ten pages in the results array will be omitted and the data will be provided for the successive pages",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "similarity": {
        +        "description": "<em>content similarity score</em><br>by default, the content is considered duplicate if the value is greater than or equals <code>6</code><br>you can specify any similarity score in the 0-to-10 range",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "url": {
        +        "description": "<em>page URL</em><br><strong>required field</strong><br>specify the initial page you want to receive duplicate content for",
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_on_page_lighthouse_live_json2 fields changed
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "for_mobile": true,
        -        "tag": "some_string_123",
        -        "url": "https://dataforseo.com"
        -      }
        -    ],
        -    "properties": {
        -      "audits": {
        -        "description": "<em>Lighthouse audits</em><br>optional field<br>audits are individual tests Lighthouse runs for each specific feature/optimization/metric to produce a numeric score (<a href=\"https://github.com/GoogleChrome/lighthouse/blob/master/docs/architecture.md#components--terminology\" rel=\"noopener noreferrer\" target=\"_blank\">see official definition</a>);  <p><strong>if you ignore this field, we will return data for all audits</strong>;<br>use this field to get data for specific audits you indicate here;<p><strong>Note:</strong> that some audits do not belong to a specific category and are stand-alone page quality measurements;<p>in general, there can be several use cases:<p>1. if you ignore <code>categories</code>, you can use this field to get data for the specified audits only<br>for example, if you ignore <code>\"categories\"</code> and specify <code>\"audits\": [\"metrics/cumulative-layout-shift\",\"metrics/largest-contentful-paint\",\"metrics/total-blocking-time\"]</code>, you will get data only for these audits<p>2. if you specify a category, you can use this field to additionally receive audits that do not belong to the category(-ies) you specified<br>for example, if you specify <code>\"categories\": [\"seo\"]</code> and <code>\"audits\": [\"metrics/cumulative-layout-shift\",\"metrics/largest-contentful-paint\",\"metrics/total-blocking-time\"]</code>, you will get only these audits under \"performance\" and all audits under \"seo\"<p>you can get <a href=\"/v3/on_page/lighthouse/audits/\">the full list of possible audits here</a>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "browser_cpu_throttling_multiplier": {
        -        "description": "<em>browser CPU throttling multiplier</em><br><strong>required if <code>browser_network_throttling_method</code> is set to <code>devtools</code>;</strong><br>set the CPU throttling multiplier to simulate device performance conditions during the Lighthouse audit;<br>can be specified within the following range: <code>1–4</code>;<br><strong>Note:</strong> this parameter is applied only when <code>browser_network_throttling_method</code> is set to <code>devtools</code>;",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "browser_network_throttling": {
        -        "description": "<em>browser network throttling</em><br><strong>required if <code>browser_network_throttling_method</code> is set to <code>devtools</code>;</strong><br>set the network throttling profile to simulate connection speed conditions during the Lighthouse audit;<br>possible values: <code>no_throttling</code>, <code>fast_4g</code>, <code>slow_4g</code>, <code>regular_3g</code>, <code>pc</code>;<br><strong>Note:</strong> this parameter is applied only when <code>browser_network_throttling_method</code> is set to <code>devtools</code>;",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "browser_network_throttling_method": {
        -        "description": "<em>browser network throttling method</em><br>optional field<br>defines the method used to apply throttling during the Lighthouse audit;<br>possible vaules:<br><code>simulate</code> - calculates estimated performance metrics without applying explicit throttling;<br><code>devtools</code> -  applies the throttling settings specified in <code>browser_network_throttling</code> and <code>browser_cpu_throttling_multiplier</code>;<br><code>provided</code> - uses the network conditions of the crawling environment;",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "browser_screen_height": {
        -        "description": "<em>browser screen height</em><br>optional field<br>set the screen height of the browser used for the Lighthouse audit to emulate a specific device;<br>can be specified within the following range: <code>240–9999</code>;",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "browser_screen_scale_factor": {
        -        "description": "<em>browser screen scale factor</em><br>optional field<br>set the device pixel ratio of the browser used for the Lighthouse audit;<br>can be specified within the following range: <code>0.5–3</code>;",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "browser_screen_width": {
        -        "description": "<em>browser screen width</em><br>optional field<br>set the screen width of the browser used for the Lighthouse audit to emulate a specific device;<br>can be specified within the following range: <code>240–9999</code>;",
        -        "format": "int64",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "categories": {
        -        "description": "<em>categories of Lighthouse audits</em><br>optional field<br>each category is a collection of audits and audit groups that applies weighting and scoring to the section (<a href=\"https://github.com/GoogleChrome/lighthouse/blob/master/docs/architecture.md#auditreport-terminology\" rel=\"noopener noreferrer\" target=\"_blank\">see official definition</a>)<p><strong>if you ignore this field, we will return data for all categories unless you specify <code>audits</code></strong><br>use this field to get data for specific categories you indicate here<p>possible values:<br><code>seo</code>, <code>performance</code>, <code>best_practices</code>, <code>accessibility</code>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "custom_user_agent": {
        -        "description": "<em>custom user agent</em><br>optional field<br>specify the custom user agent used by the browser when running the Lighthouse audit;<br>can be specified with up to 254 characters;",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "for_mobile": {
        -        "description": "<em>applies mobile emulation</em><br>optional field<br>if set to <code>true</code>, Lighthouse will use mobile device and screen emulation to test the page against mobile environment<br>if set to <code>false</code>, the results will be provided for desktop<br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "language_code": {
        -        "description": "<em>lighthouse language code</em><br>optional field<br>you can receive the list of available languages of the search engine with their <code>language_code</code> by making a separate request to <code>https://api.dataforseo.com/v3/on_page/lighthouse/languages</code><br>default value:<br><code class=\"long-string\">en</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "language_name": {
        -        "description": "<em>lighthouse language name</em><br>optional field<br>you can receive the list of available languages of the search engine with their <code>language_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/on_page/lighthouse/languages</code><br>default value:<br><code class=\"long-string\">English</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "url": {
        -        "description": "<em>target URL</em><br><strong>required field</strong><br>target page should be specified with its absolute URL (including http:// or https://)<br>example:<br><code>https://dataforseo.com/</code>",
        -        "type": "string"
        -      },
        -      "version": {
        -        "description": "<em>lighthouse version</em><br>optional field<br>you can obtain the results specific to a certain Lighthouse version by specifying its number<br>the list of available versions is available through the <a href=\"/v3/on_page/lighthouse/versions/\" rel=\"noopener noreferrer\" target=\"_blank\">Lighthouse Versions endpoint</a>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / oneOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "for_mobile": true,
        +        "tag": "some_string_123",
        +        "url": "https://dataforseo.com"
        +      }
        +    ],
        +    "properties": {
        +      "audits": {
        +        "description": "<em>Lighthouse audits</em><br>optional field<br>audits are individual tests Lighthouse runs for each specific feature/optimization/metric to produce a numeric score (<a href=\"https://github.com/GoogleChrome/lighthouse/blob/master/docs/architecture.md#components--terminology\" rel=\"noopener noreferrer\" target=\"_blank\">see official definition</a>);  <p><strong>if you ignore this field, we will return data for all audits</strong>;<br>use this field to get data for specific audits you indicate here;<p><strong>Note:</strong> that some audits do not belong to a specific category and are stand-alone page quality measurements;<p>in general, there can be several use cases:<p>1. if you ignore <code>categories</code>, you can use this field to get data for the specified audits only<br>for example, if you ignore <code>\"categories\"</code> and specify <code>\"audits\": [\"metrics/cumulative-layout-shift\",\"metrics/largest-contentful-paint\",\"metrics/total-blocking-time\"]</code>, you will get data only for these audits<p>2. if you specify a category, you can use this field to additionally receive audits that do not belong to the category(-ies) you specified<br>for example, if you specify <code>\"categories\": [\"seo\"]</code> and <code>\"audits\": [\"metrics/cumulative-layout-shift\",\"metrics/largest-contentful-paint\",\"metrics/total-blocking-time\"]</code>, you will get only these audits under \"performance\" and all audits under \"seo\"<p>you can get <a href=\"/v3/on_page/lighthouse/audits/\">the full list of possible audits here</a>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "browser_cpu_throttling_multiplier": {
        +        "description": "<em>browser CPU throttling multiplier</em><br><strong>required if <code>browser_network_throttling_method</code> is set to <code>devtools</code>;</strong><br>set the CPU throttling multiplier to simulate device performance conditions during the Lighthouse audit;<br>can be specified within the following range: <code>1–4</code>;<br><strong>Note:</strong> this parameter is applied only when <code>browser_network_throttling_method</code> is set to <code>devtools</code>;",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "browser_network_throttling": {
        +        "description": "<em>browser network throttling</em><br><strong>required if <code>browser_network_throttling_method</code> is set to <code>devtools</code>;</strong><br>set the network throttling profile to simulate connection speed conditions during the Lighthouse audit;<br>possible values: <code>no_throttling</code>, <code>fast_4g</code>, <code>slow_4g</code>, <code>regular_3g</code>, <code>pc</code>;<br><strong>Note:</strong> this parameter is applied only when <code>browser_network_throttling_method</code> is set to <code>devtools</code>;",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "browser_network_throttling_method": {
        +        "description": "<em>browser network throttling method</em><br>optional field<br>defines the method used to apply throttling during the Lighthouse audit;<br>possible vaules:<br><code>simulate</code> - calculates estimated performance metrics without applying explicit throttling;<br><code>devtools</code> -  applies the throttling settings specified in <code>browser_network_throttling</code> and <code>browser_cpu_throttling_multiplier</code>;<br><code>provided</code> - uses the network conditions of the crawling environment;",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "browser_screen_height": {
        +        "description": "<em>browser screen height</em><br>optional field<br>set the screen height of the browser used for the Lighthouse audit to emulate a specific device;<br>can be specified within the following range: <code>240–9999</code>;",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "browser_screen_scale_factor": {
        +        "description": "<em>browser screen scale factor</em><br>optional field<br>set the device pixel ratio of the browser used for the Lighthouse audit;<br>can be specified within the following range: <code>0.5–3</code>;",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "browser_screen_width": {
        +        "description": "<em>browser screen width</em><br>optional field<br>set the screen width of the browser used for the Lighthouse audit to emulate a specific device;<br>can be specified within the following range: <code>240–9999</code>;",
        +        "format": "int64",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "categories": {
        +        "description": "<em>categories of Lighthouse audits</em><br>optional field<br>each category is a collection of audits and audit groups that applies weighting and scoring to the section (<a href=\"https://github.com/GoogleChrome/lighthouse/blob/master/docs/architecture.md#auditreport-terminology\" rel=\"noopener noreferrer\" target=\"_blank\">see official definition</a>)<p><strong>if you ignore this field, we will return data for all categories unless you specify <code>audits</code></strong><br>use this field to get data for specific categories you indicate here<p>possible values:<br><code>seo</code>, <code>performance</code>, <code>best_practices</code>, <code>accessibility</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "custom_user_agent": {
        +        "description": "<em>custom user agent</em><br>optional field<br>specify the custom user agent used by the browser when running the Lighthouse audit;<br>can be specified with up to 254 characters;",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "for_mobile": {
        +        "description": "<em>applies mobile emulation</em><br>optional field<br>if set to <code>true</code>, Lighthouse will use mobile device and screen emulation to test the page against mobile environment<br>if set to <code>false</code>, the results will be provided for desktop<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "language_code": {
        +        "description": "<em>lighthouse language code</em><br>optional field<br>you can receive the list of available languages of the search engine with their <code>language_code</code> by making a separate request to <code>https://api.dataforseo.com/v3/on_page/lighthouse/languages</code><br>default value:<br><code class=\"long-string\">en</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "<em>lighthouse language name</em><br>optional field<br>you can receive the list of available languages of the search engine with their <code>language_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/on_page/lighthouse/languages</code><br>default value:<br><code class=\"long-string\">English</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "url": {
        +        "description": "<em>target URL</em><br><strong>required field</strong><br>target page should be specified with its absolute URL (including http:// or https://)<br>example:<br><code>https://dataforseo.com/</code>",
        +        "type": "string"
        +      },
        +      "version": {
        +        "description": "<em>lighthouse version</em><br>optional field<br>you can obtain the results specific to a certain Lighthouse version by specifying its number<br>the list of available versions is available through the <a href=\"/v3/on_page/lighthouse/versions/\" rel=\"noopener noreferrer\" target=\"_blank\">Lighthouse Versions endpoint</a>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_on_page_links2 fields changed
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "filters": [
        -          [
        -            "dofollow",
        -            "=",
        -            true
        -          ],
        -          "and",
        -          [
        -            "direction",
        -            "=",
        -            "external"
        -          ]
        -        ],
        -        "id": "07281559-0695-0216-0000-c269be8b7592",
        -        "limit": 10,
        -        "page_from": "/apis/google-trends-api"
        -      }
        -    ],
        -    "properties": {
        -      "filters": {
        -        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>, <code>not_like</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters<br>example:<br><code>[\"direction\",\"=\",\"external\"]</code><p><code>[[\"domain_to\",\"&lt;&gt;\",\"example.com\"],<br>\"and\",<br>[\"link_from\",\"not_like\",\"%example.com/blog%\"]]</code><p><code>[[\"direction\",\"=\",\"external\"],<br>\"and\",<br>[[\"link_from\",\"like\",\"%example.com/blog%\"],\"or\",[\"link_from\",\"like\",\"%example.com/help%\"]]]</code><p>The full list of possible filters is available <a href=\"/v3/on_page/filters_and_thresholds/?bash\" rel=\"noopener noreferrer\" target=\"_blank\">by this link.</a>",
        -        "items": {
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "id": {
        -        "description": "<em>ID of the task</em><br><strong>required field</strong><br>you can get this ID in the response of the <a href=\"https://docs.dataforseo.com/v3/on_page/task_post/\">Task POST</a> endpoint<br>example:<br>\"07131248-1535-0216-1000-17384017ad04\"",
        -        "type": "string"
        -      },
        -      "limit": {
        -        "description": "<em>the maximum number of returned links</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "offset": {
        -        "description": "<em>offset in the results array of returned links</em><br>optional field<br>default value: <code>0</code><br>maximum value: <code>2000000</code><br>if you specify the <code>10</code> value, the first ten links in the results array will be omitted and the data will be provided for the successive links",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "page_from": {
        -        "description": "<em>relative page URL</em><br>optional field<br>if you use this field, the API response will contain only links from the specified page<br>note that in this field you can specify relative URLs only",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "page_to": {
        -        "description": "<em>relative page URL</em><br>optional field<br>if you use this field, the API response will contain only internal links pointing to the specified page<br>note that in this field you can specify relative URLs only",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "search_after_token": {
        -        "description": "<em>token for subsequent requests</em><br>optional field<br>provided in the identical filed of the response to each request;<br>use this parameter to avoid timeouts while trying to obtain over <code>20,000</code> results in a single request;<br>by specifying the unique <code>search_after_token</code> value from the response array, you will get the subsequent results of the initial task;<br><code>search_after_token</code> values are unique for each subsequent task ;<br><strong>Note:</strong> if the <code>search_after_token</code> is specified in the request, all other parameters should be identical to the previous request",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / oneOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "filters": [
        +          [
        +            "dofollow",
        +            "=",
        +            true
        +          ],
        +          "and",
        +          [
        +            "direction",
        +            "=",
        +            "external"
        +          ]
        +        ],
        +        "id": "07281559-0695-0216-0000-c269be8b7592",
        +        "limit": 10,
        +        "page_from": "/apis/google-trends-api"
        +      }
        +    ],
        +    "properties": {
        +      "filters": {
        +        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>, <code>not_like</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters<br>example:<br><code>[\"direction\",\"=\",\"external\"]</code><p><code>[[\"domain_to\",\"&lt;&gt;\",\"example.com\"],<br>\"and\",<br>[\"link_from\",\"not_like\",\"%example.com/blog%\"]]</code><p><code>[[\"direction\",\"=\",\"external\"],<br>\"and\",<br>[[\"link_from\",\"like\",\"%example.com/blog%\"],\"or\",[\"link_from\",\"like\",\"%example.com/help%\"]]]</code><p>The full list of possible filters is available <a href=\"/v3/on_page/filters_and_thresholds/?bash\" rel=\"noopener noreferrer\" target=\"_blank\">by this link.</a>",
        +        "items": {
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "id": {
        +        "description": "<em>ID of the task</em><br><strong>required field</strong><br>you can get this ID in the response of the <a href=\"https://docs.dataforseo.com/v3/on_page/task_post/\">Task POST</a> endpoint<br>example:<br>\"07131248-1535-0216-1000-17384017ad04\"",
        +        "type": "string"
        +      },
        +      "limit": {
        +        "description": "<em>the maximum number of returned links</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "offset": {
        +        "description": "<em>offset in the results array of returned links</em><br>optional field<br>default value: <code>0</code><br>maximum value: <code>2000000</code><br>if you specify the <code>10</code> value, the first ten links in the results array will be omitted and the data will be provided for the successive links",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "page_from": {
        +        "description": "<em>relative page URL</em><br>optional field<br>if you use this field, the API response will contain only links from the specified page<br>note that in this field you can specify relative URLs only",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "page_to": {
        +        "description": "<em>relative page URL</em><br>optional field<br>if you use this field, the API response will contain only internal links pointing to the specified page<br>note that in this field you can specify relative URLs only",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "search_after_token": {
        +        "description": "<em>token for subsequent requests</em><br>optional field<br>provided in the identical filed of the response to each request;<br>use this parameter to avoid timeouts while trying to obtain over <code>20,000</code> results in a single request;<br>by specifying the unique <code>search_after_token</code> value from the response array, you will get the subsequent results of the initial task;<br><code>search_after_token</code> values are unique for each subsequent task ;<br><strong>Note:</strong> if the <code>search_after_token</code> is specified in the request, all other parameters should be identical to the previous request",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_on_page_non_indexable2 fields changed
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "filters": [
        -          [
        -            "reason",
        -            "=",
        -            "robots_txt"
        -          ],
        -          "and",
        -          [
        -            "url",
        -            "like",
        -            "%go%"
        -          ]
        -        ],
        -        "id": "07281559-0695-0216-0000-c269be8b7592",
        -        "limit": 10
        -      }
        -    ],
        -    "properties": {
        -      "filters": {
        -        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>, <code>not_like</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters<br>example:<br><code>[[\"reason\",\"&lt;&gt;\",\"robots_txt\"],<br>\"and\",<br>[\"url\",\"not_like\",\"%/wp-admin/%\"]]</code><p><code>[[\"url\",\"not_like\",\"%/wp-admin/%\"],<br>\"and\",<br>[[\"reason\",\"&lt;&gt;\",\"meta_tag\"],\"or\",[\"reason\",\"&lt;&gt;\",\"http_header\"]]]</code><p>The full list of possible filters is available <a href=\"/v3/on_page/filters_and_thresholds/?bash\" target=\"_blank\" rel=\"noopener noreferrer\">by this link.</a>",
        -        "items": {
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "id": {
        -        "description": "<em>ID of the task</em><br><strong>required field</strong><br>you can get this ID in the response of the <a href=\"/v3/on_page/task_post/\">Task POST</a> endpoint<br>example:<br>\"07131248-1535-0216-1000-17384017ad04\"",
        -        "type": "string"
        -      },
        -      "limit": {
        -        "description": "<em>the maximum number of returned pages</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "offset": {
        -        "description": "<em>offset in the results array of returned pages</em><br>optional field<br>default value: <code>0</code><br>maximum value: <code>2000000</code><br>if you specify the <code>10</code> value, the first ten pages in the results array will be omitted and the data will be provided for the successive pages",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / oneOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "filters": [
        +          [
        +            "reason",
        +            "=",
        +            "robots_txt"
        +          ],
        +          "and",
        +          [
        +            "url",
        +            "like",
        +            "%go%"
        +          ]
        +        ],
        +        "id": "07281559-0695-0216-0000-c269be8b7592",
        +        "limit": 10
        +      }
        +    ],
        +    "properties": {
        +      "filters": {
        +        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>, <code>not_like</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters<br>example:<br><code>[[\"reason\",\"&lt;&gt;\",\"robots_txt\"],<br>\"and\",<br>[\"url\",\"not_like\",\"%/wp-admin/%\"]]</code><p><code>[[\"url\",\"not_like\",\"%/wp-admin/%\"],<br>\"and\",<br>[[\"reason\",\"&lt;&gt;\",\"meta_tag\"],\"or\",[\"reason\",\"&lt;&gt;\",\"http_header\"]]]</code><p>The full list of possible filters is available <a href=\"/v3/on_page/filters_and_thresholds/?bash\" target=\"_blank\" rel=\"noopener noreferrer\">by this link.</a>",
        +        "items": {
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "id": {
        +        "description": "<em>ID of the task</em><br><strong>required field</strong><br>you can get this ID in the response of the <a href=\"/v3/on_page/task_post/\">Task POST</a> endpoint<br>example:<br>\"07131248-1535-0216-1000-17384017ad04\"",
        +        "type": "string"
        +      },
        +      "limit": {
        +        "description": "<em>the maximum number of returned pages</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "offset": {
        +        "description": "<em>offset in the results array of returned pages</em><br>optional field<br>default value: <code>0</code><br>maximum value: <code>2000000</code><br>if you specify the <code>10</code> value, the first ten pages in the results array will be omitted and the data will be provided for the successive pages",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_on_page_submit2 fields changed
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "custom_js": "meta = {}; meta.url = document.URL; meta;",
        -        "enable_javascript": true,
        -        "load_resources": true,
        -        "max_crawl_pages": 10,
        -        "pingback_url": "https://your-server.com/pingscript?id=$id&tag=$tag",
        -        "tag": "some_string_123",
        -        "target": "dataforseo.com"
        -      }
        -    ],
        -    "properties": {
        -      "accept_language": {
        -        "description": "<em>language header for accessing the website</em><br>optional field<br>all locale formats are supported (xx, xx-XX, xxx-XX, etc.)<br><strong>Note:</strong> if you do not specify this parameter, some websites may deny access; in this case, pages will be returned with the <code>\"type\":\"broken</code> in the response array",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "allow_subdomains": {
        -        "description": "<em>include pages on subdomains</em><br>optional field<br>set to <code>true</code> if you want to crawl all subdomains of a target website<br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "allowed_subdomains": {
        -        "description": "<em>subdomains to crawl</em><br>optional field<br>specify subdomains that you want to crawl<br>example: <code>[\"blog.site.com\", \"my.site.com\", \"shop.site.com\"]</code><br><strong>Note:</strong> to use this parameter, the <code>allow_subdomains</code> parameter should be set to <code>false</code>;<br>otherwise, the content of <code>allowed_subdomains</code> field will be ignored and the results will be returned for all subdomains",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "browser_preset": {
        -        "description": "<em>preset for browser screen parameters</em><br>optional field<br>if you use this field, you don't need to indicate <code>browser_screen_width</code>, <code>browser_screen_height</code>, <code>browser_screen_scale_factor</code>possible values:<br><code>desktop</code>, <code>mobile</code>, <code>tablet</code><code>desktop</code> preset will apply the following values:<code>browser_screen_width: 1920</code><br><code>browser_screen_height: 1080</code><br><code>browser_screen_scale_factor: 1</code><code>mobile</code> preset will apply the following values:<code>browser_screen_width: 390</code><br><code>browser_screen_height: 844</code><br><code>browser_screen_scale_factor: 3</code><code>tablet</code> preset will apply the following values:<code>browser_screen_width: 1024</code><br><code>browser_screen_height: 1366</code><br><code>browser_screen_scale_factor: 2</code><br><strong>Note:</strong> to use this parameter, set <code>enable_javascript</code> or <code>enable_browser_rendering</code> to <code>true</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "browser_screen_height": {
        -        "description": "<em>browser screen height</em><br>optional field<br>you can set a custom browser screen height to perform an audit for a particular device;<br>if you use this field, you don't need to indicate <code>browser_preset</code> as it will be ignored;<br><strong>Note:</strong> to use this parameter, set <code>enable_javascript</code> or <code>enable_browser_rendering</code> to <code>true</code>minimum value, in pixels: <code>240</code><br>maximum value, in pixels: <code>9999</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "browser_screen_scale_factor": {
        -        "description": "<em>browser screen scale factor</em><br>optional field<br>you can set a custom browser screen resolution ratio to perform audit for a particular device;<br>if you use this field, you don't need to indicate <code>browser_preset</code> as it will be ignored;<br><strong>Note:</strong> to use this parameter, set <code>enable_javascript</code> or <code>enable_browser_rendering</code> to <code>true</code>minimum value: <code>0.5</code><br>maximum value: <code>3</code>",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "browser_screen_width": {
        -        "description": "<em>browser screen width</em><br>optional field<br>you can set a custom browser screen width to perform audit for a particular device;<br>if you use this field, you don't need to indicate <code>browser_preset</code> as it will be ignored;<br><strong>Note:</strong> to use this parameter, set <code>enable_javascript</code> or <code>enable_browser_rendering</code> to <code>true</code>minimum value, in pixels: <code>240</code><br>maximum value, in pixels: <code>9999</code>",
        -        "format": "int64",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "calculate_keyword_density": {
        -        "description": "<em>calculate keyword density for the target domain</em><br>optional field<br>set to <code>true</code> if you want to calculate keyword density for website pages<br>default value: <code>false</code><br><strong>Note:</strong> if you use this parameter, additional charges will apply; learn more about the cost of tasks with this parameter <a href=\"https://dataforseo.com/help-center/cost-of-onpage-api-parameters\" target=\"_blank\" rel=\"noopener noreferrer\">in our help article</a><br>once the crawl is completed, you can obtain keyword density values with <a href=\"/v3/on_page/keyword_density?bash\" target=\"_blank\" rel=\"noopener noreferrer\">the Keyword Density endpoint</a>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "check_spell": {
        -        "description": "<em>check spelling</em><br>optional field<br>set to <code>true</code> to check spelling on a website using <a href=\"http://hunspell.github.io/\" target=\"_blank\" rel=\"noopener noreferrer\">Hunspell</a> library<br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "check_spell_exceptions": {
        -        "description": "<em>words excluded from spell check</em><br>optional field<br>specify the words that you want to exclude from spell check<br>maximum word length: 100 characters<br>maximum amount of words: 1000<br>example: <code>\"SERP\", \"minifiers\", \"JavaScript\"</code>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "check_spell_language": {
        -        "description": "<em>language of the spell check</em><br>optional field<br>supported languages: 'hy', 'eu', 'bg', 'ca', 'hr', 'cs', 'da', 'nl', 'en', 'eo', 'et', 'fo', 'fa', 'fr', 'fy', 'gl', 'ka', 'de', 'el', 'he', 'hu', 'is', 'ia', 'ga', 'it', 'rw', 'la', 'lv', 'lt', 'mk', 'mn', 'ne', 'nb', 'nn', 'pl', 'pt', 'ro', 'gd', 'sr', 'sk', 'sl', 'es', 'sv', 'tr', 'tk', 'uk', 'vi'<br><strong>Note:</strong> if no language is specified, it will be set automatically based on page content",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "checks_threshold": {
        -        "additionalProperties": {
        -          "format": "int64",
        -          "type": [
        -            "integer",
        -            "null"
        -          ]
        -        },
        -        "description": "<em>custom threshold values for checks</em><br>optional field<br>you can specify custom threshold values for the parameters included in the <code>checks</code> object of OnPage API responses;<br><strong>Note:</strong> only integer threshold values can be modified;<br>for example, the <code>high_loading_time</code> and <code>large_page_size</code> parameters are set to 3 seconds and 1 megabyte respectively by default;<br>if you want to change these thresholds to 1 second and 1000 kbytes, use the following snippet:<br>`\"checks_threshold\": {<br>\"high_loading_time\": 1,<br>\"large_page_size\": 1000<br>}`<br>available customizable parameters with default values:<br>`\"title_too_short\", default value: 30, type: \"int\"<br>\"title_too_long\", default value: 65, type: \"int\"<br>\"small_page_size\", default value: 1024, type: \"int\"<br>\"large_page_size\", default value: 1048576 (1024 * 1024), type: \"int\"<br>\"low_character_count\", default value: 1024, type: \"int\"<br>\"high_character_count\", default value: 256000 (250 * 1024), type: \"int\"<br>\"low_content_rate\", default value: 0.1, type: \"float\"<br>\"high_content_rate\", default value: 0.9, type: \"float\"<br>\"high_loading_time\", default value: 3000, type: \"int\"<br>\"high_waiting_time\", default value: 1500, type: \"int\"<br>\"low_readability_rate\", default value: 15.0, type: \"float\"<br>\"irrelevant_description\", default value: 0.2, type: \"float\"<br>\"irrelevant_title\", default value: 0.3, type: \"float\"<br>\"irrelevant_meta_keywords\", default value: 0.6, type: \"float\"`",
        -        "type": [
        -          "object",
        -          "null"
        -        ]
        -      },
        -      "crawl_delay": {
        -        "description": "<em>delay between hits, ms</em><br>optional field<br>the custom delay between crawler hits to the server<br>default value: <code>2000</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "crawl_sitemap_only": {
        -        "description": "<em>crawl only pages indicated in the sitemap</em><br>optional field<br>set to <code>true</code> if you want to crawl only the pages indicated in the sitemap<br>if you set this parameter to <code>true</code> and do not specify <code>custom_sitemap</code>, we will crawl the default sitemap<br>default value: <code>false</code><br><strong>Note:</strong> if you want to use this parameter, <code>respect_sitemap</code> should be <code>true</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "custom_js": {
        -        "description": "<em>custom javascript</em><br>optional field<br><strong>Note</strong> that the execution time for the script you enter here should be 700 ms maximum, for example, you can use the following JS snippet to check if the website contains Google Tag Manager as a <code>scr</code> attribute:<br><code>let meta = { haveGoogleAnalytics: false, haveTagManager: false };rnfor (var i = 0; i &lt; document.scripts.length; i++) {rn let src = document.scripts[i].getAttribute(\"src\");rn if (src != undefined) {rn if (src.indexOf(\"analytics.js\") &gt;= 0)rn      meta.haveGoogleAnalytics = true;rntif (src.indexOf(\"gtm.js\") &gt;= 0)rn      meta.haveTagManager = true;rn  }rn}rnmeta;</code>the returned value depends on what you specified in this field. For instance, if you specify the following script:<br>`meta = {}; meta.url = document.URL; meta.test = 'test'; meta;`<br>as a response you will receive the following data:<br>`\"custom_js_response\": {<br>\"url\": \"https://dataforseo.com/\",<br>\"test\": \"test\"<br>}`<br><strong>Note:</strong> the length of the script you enter must be no more than 2000 characters",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "custom_robots_txt": {
        -        "description": "<em>custom robots.txt settings</em><br>optional field<br>example: <code>Disallow: /directory1/</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "custom_sitemap": {
        -        "description": "<em>custom sitemap url</em><br>optional field<br>the URL of the page where the alternative sitemap is located<br><strong>Note:</strong> if you want to use this parameter, <code>respect_sitemap</code> should be <code>true</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "custom_user_agent": {
        -        "description": "<em>custom user agent</em><br>optional field<br>custom user agent for crawling a website<br>example: <code>Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36<br></code><br>default value: <code>Mozilla/5.0 (compatible; RSiteAuditor)</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "disable_cookie_popup": {
        -        "description": "<em>disable the cookie popup</em><br>optional field<br>set to <code>true</code> if you want to disable the popup requesting cookie consent from the user;<br>default value:<br><code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "disable_page_checks": {
        -        "description": "<em>prevent certain page checks from running</em><br>optional field<br>specify certain <code>checks</code> to prevent them from running and impacting the <code>onpage_score</code>example:<br><code>\"disable_page_checks\": [\"is_5xx_code\", \"is_4xx_code\"]</code>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "disable_sitewide_checks": {
        -        "description": "<em>prevent certain sitewide checks from running</em><br>optional field<br>specify the following <code>checks</code> to prevent them from running on the <code>target</code> website:<br><code>\"test_page_not_found\"</code><br><code>\"test_canonicalization\"</code><br><code>\"test_https_redirect\"</code><br><code>\"test_directory_browsing\"</code>example:<br><code>\"disable_sitewide_checks\": [\"test_directory_browsing\", \"test_page_not_found\"]</code>learn more on <a href=\"https://dataforseo.com/help-center/how-to-disable-sitewide-checks-in-onpage-api\" target=\"_blank\" rel=\"noopener noreferrer\">our help center</a>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "disallowed_subdomains": {
        -        "description": "<em>subdomains not to crawl</em><br>optional field<br>specify subdomains that you don't want to crawl<br>example: <code>[\"status.site.com\", \"docs.site.com\"]</code><br><strong>Note:</strong> to use this parameter, the <code>allow_subdomains</code> parameter should be set to <code>true</code>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "enable_browser_rendering": {
        -        "description": "<em>emulate browser rendering to measure Core Web Vitals</em><br>optional field<br>by using this parameter you will be able to emulate a browser when loading a web page;<br><code>enable_browser_rendering</code> loads styles, images, fonts, animations, videos, and other resources on a page;<br>default value: <code>false</code><br>set to <code>true</code> to obtain Core Web Vitals (FID, CLS, LCP) metrics in the response;<br><strong>if you use this field, <code>enable_javascript</code>, and <code>load_resources</code> parameters must be set to <code>true</code></strong><br><strong>Note:</strong> if you use this parameter, additional charges will apply; learn more about the cost of tasks with this parameter <a href=\"https://dataforseo.com/help-center/cost-of-onpage-api-parameters\" target=\"_blank\" rel=\"noopener noreferrer\">in our help article</a>; the cost can be calculated on the <a href=\"https://dataforseo.com/pricing/on-page/onpage-api\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing Page</a>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "enable_content_parsing": {
        -        "description": "<em>parse content on crawled pages</em><br>optional field<br>set to <code>true</code> to use the <a href=\"/v3/on_page/content_parsing/live/\" target=\"_blank\" rel=\"noopener noreferrer\">OnPage Content Parsing endpoint</a><br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "enable_javascript": {
        -        "description": "<em>load javascript on a page</em><br>optional field<br>set to <code>true</code> if you want to load the scripts available on a page<br>default value: <code>false</code><br><strong>Note:</strong> if you use this parameter, additional charges will apply; learn more about the cost of tasks with this parameter <a href=\"https://dataforseo.com/help-center/cost-of-onpage-api-parameters\" target=\"_blank\" rel=\"noopener noreferrer\">in our help article</a>; the cost can be calculated on the <a href=\"https://dataforseo.com/pricing/on-page/onpage-api\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing Page</a>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "enable_www_redirect_check": {
        -        "description": "<em>check if the domain implemented the www redirection</em><br>optional field<br>set to <code>true</code> if you want to check if the requested domain implemented the www to non-www or non-www to www redirect;<br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "enable_xhr": {
        -        "description": "<em>enable XMLHttpRequest on a page</em><br>optional field<br>set to <code>true</code> if you want our crawler to request data from a web server using the XMLHttpRequest object<br>default value: <code>false</code>;if you use this field, <code>enable_javascript</code> must be set to <code>true</code>;",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "force_sitewide_checks": {
        -        "description": "<em>enable sitewide checks when crawling a single page</em><br>optional field<br>set to <code>true</code> to get data on sitewide checks when crawling a single page;<br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "load_resources": {
        -        "description": "<em>load resources</em><br>optional field<br>set to <code>true</code> if you want to load image, stylesheets, scripts, and broken resources<br>default value: <code>false</code><br><strong>Note:</strong> if you use this parameter, additional charges will apply; learn more about the cost of tasks with this parameter <a href=\"https://dataforseo.com/help-center/cost-of-onpage-api-parameters\" target=\"_blank\" rel=\"noopener noreferrer\">in our help article</a>; the cost can be calculated on the <a href=\"https://dataforseo.com/pricing/on-page/onpage-api\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing Page</a>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "max_crawl_depth": {
        -        "description": "<em>crawl depth</em><br>optional field<br>the linking depth of the pages to crawl;<br>for example, starting page of the crawl is level 0, pages that have links from that page are level 1, etc.",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "max_crawl_pages": {
        -        "description": "<em>crawled pages limit</em><br><strong>required field</strong><br>the number of pages to crawl on the specified domain<br><strong>Note:</strong><br>if you set <code>max_crawl_pages</code> to 1 and do not specify <code>start_url</code> or set a homepage in it, the following sitewide checks will be disabled:<br><code>test_canonicalization</code>, <code>enable_www_redirect_check</code>, <code>test_hidden_server_signature</code>, <code>test_page_not_found</code>, <code>test_directory_browsing</code>, <code>test_https_redirect</code><br>to enable them anyway, set <code>force_sitewide_checks</code> to <code>true</code>if you set <code>max_crawl_pages</code> to 1 and specify <code>start_url</code> other than a homepage, all sitewide checks will be disabled;<br>to enable them anyway, set <code>force_sitewide_checks</code> to <code>true</code>",
        -        "type": "integer"
        -      },
        -      "pingback_url": {
        -        "description": "<em>notification URL of a completed task</em><br>optional field<br>when a task is completed we will notify you by GET request sent to the URL you have specified<br>you can use the ‘$id’ string as a <code>$id</code> variable and ‘$tag’ as urlencoded <code>$tag</code> variable. We will set the necessary values before sending the request.<br>example:<br><code>http://your-server.com/pingscript?id=$id</code><br><code>http://your-server.com/pingscript?id=$id&amp;tag=$tag</code><br><strong>Note:</strong> special characters in <code>pingback_url</code> will be urlencoded;<br>i.a., the <code>#</code> character will be encoded into <code>%23</code><p>learn more on our <a href=\"https://dataforseo.com/help-center/pingbacks-postbacks-with-dataforseo-api\" target=\"_blank\" rel=\"noopener noreferrer\">Help Center</a>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "priority_urls": {
        -        "description": "<em>urls to be crawled bypassing the queue</em><br>optional field<br>URLs specified in this array will be crawled in the first instance, bypassing the crawling queue;<br><strong>Note:</strong> you should specify the absolute URL;<br>you can specify up to <strong>20 URLs</strong>;<br>all URLs in the array must belong to the <code>target</code> domain;<br>subdomains will be ignored unless the <code>allow_subdomains</code> parameter is set to <code>true</code>example:<br>`\"priority_urls\": [<br>\"https://dataforseo.com/apis/serp-api\",<br>\"https://dataforseo.com/contact\"<br>]`",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "respect_sitemap": {
        -        "description": "<em>respect sitemap when crawling</em><br>optional field<br>set to <code>true</code> if you want to follow the order of pages indicated in the primary sitemap when crawling;<br>default value: <code>false</code><br><strong>Note:</strong> if set to <code>true</code>, the <code>click_depth</code> value in the API response will equal <code>0</code>;<br>the <code>max_crawl_depth</code> field of the request will be ignored, you can specify the number of pages to crawl using the <code>max_crawl_pages</code> parameter",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "return_despite_timeout": {
        -        "description": "<em>return data on pages despite the timeout error</em><br>optional field<br>if <code>true</code>, the data will be provided on pages that failed to load within 120 seconds and responded with a timeout error;<br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "robots_txt_merge_mode": {
        -        "description": "<em>merge with or override robots.txt settings</em><br>optional field<br>possible values: <code>merge</code>, <code>override</code>;<br>set to <code>override</code> if you want to ignore website crawling restrictions and other robots.txt settings<br>default value: <code>merge</code>;<br><strong>Note:</strong> if set to <code>override</code>, specify the <code>custom_robots_txt</code> parameter",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "start_url": {
        -        "description": "<em>the first url to crawl </em><br>optional field<br><strong>Note:</strong> you should specify an absolute URL<br>if you want to crawl a single page, specify its URL in this field and additionally set the <code>max_crawl_pages</code> parameter to <code>1</code><br>you can also use the <a href=\"/v3/on_page/instant_pages/?bash\" target=\"_blank\" rel=\"noopener noreferrer\">live Instant Pages endpoint</a> to get page-specific data",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "store_raw_html": {
        -        "description": "<em>store HTML of crawled pages</em><br>optional field<br>set to <code>true</code> if you want to get the HTML of the page using the <a href=\"/v3/on_page/raw_html/\" target=\"_blank\" rel=\"noopener noreferrer\">OnPage Raw HTML endpoint</a><br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "support_cookies": {
        -        "description": "<em>support cookies on crawled pages</em><br>optional field<br>set to <code>true</code> to support cookies when crawling the pages<br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "switch_pool": {
        -        "description": "<em>switch proxy pool</em><br>optional field<br>if <code>true</code>, additional proxy pools will be used to obtain the requested data;<br>the parameter can be used if a multitude of tasks is set simultaneously, resulting in occasional <code>rate-limit</code> and/or <code>site_unreachable</code> errors",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "target": {
        -        "description": "<em>target domain</em><br><strong>required field</strong><br>domain name should be specified without <code>https://</code> and <code>www.</code><br>if you specify the page URL, the results will be returned for the domain included in the URL",
        -        "type": "string"
        -      },
        -      "validate_micromarkup": {
        -        "description": "<em>enable microdata validation</em><br>optional field<br>set to <code>true</code> if you want to use the <a href=\"/v3/on_page/microdata/\" target=\"_blank\" rel=\"noopener noreferrer\">OnPage API Microdata endpoint</a><br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / oneOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "custom_js": "meta = {}; meta.url = document.URL; meta;",
        +        "enable_javascript": true,
        +        "load_resources": true,
        +        "max_crawl_pages": 10,
        +        "pingback_url": "https://your-server.com/pingscript?id=$id&tag=$tag",
        +        "tag": "some_string_123",
        +        "target": "dataforseo.com"
        +      }
        +    ],
        +    "properties": {
        +      "accept_language": {
        +        "description": "<em>language header for accessing the website</em><br>optional field<br>all locale formats are supported (xx, xx-XX, xxx-XX, etc.)<br><strong>Note:</strong> if you do not specify this parameter, some websites may deny access; in this case, pages will be returned with the <code>\"type\":\"broken</code> in the response array",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "allow_subdomains": {
        +        "description": "<em>include pages on subdomains</em><br>optional field<br>set to <code>true</code> if you want to crawl all subdomains of a target website<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "allowed_subdomains": {
        +        "description": "<em>subdomains to crawl</em><br>optional field<br>specify subdomains that you want to crawl<br>example: <code>[\"blog.site.com\", \"my.site.com\", \"shop.site.com\"]</code><br><strong>Note:</strong> to use this parameter, the <code>allow_subdomains</code> parameter should be set to <code>false</code>;<br>otherwise, the content of <code>allowed_subdomains</code> field will be ignored and the results will be returned for all subdomains",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "browser_preset": {
        +        "description": "<em>preset for browser screen parameters</em><br>optional field<br>if you use this field, you don't need to indicate <code>browser_screen_width</code>, <code>browser_screen_height</code>, <code>browser_screen_scale_factor</code>possible values:<br><code>desktop</code>, <code>mobile</code>, <code>tablet</code><code>desktop</code> preset will apply the following values:<code>browser_screen_width: 1920</code><br><code>browser_screen_height: 1080</code><br><code>browser_screen_scale_factor: 1</code><code>mobile</code> preset will apply the following values:<code>browser_screen_width: 390</code><br><code>browser_screen_height: 844</code><br><code>browser_screen_scale_factor: 3</code><code>tablet</code> preset will apply the following values:<code>browser_screen_width: 1024</code><br><code>browser_screen_height: 1366</code><br><code>browser_screen_scale_factor: 2</code><br><strong>Note:</strong> to use this parameter, set <code>enable_javascript</code> or <code>enable_browser_rendering</code> to <code>true</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "browser_screen_height": {
        +        "description": "<em>browser screen height</em><br>optional field<br>you can set a custom browser screen height to perform an audit for a particular device;<br>if you use this field, you don't need to indicate <code>browser_preset</code> as it will be ignored;<br><strong>Note:</strong> to use this parameter, set <code>enable_javascript</code> or <code>enable_browser_rendering</code> to <code>true</code>minimum value, in pixels: <code>240</code><br>maximum value, in pixels: <code>9999</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "browser_screen_scale_factor": {
        +        "description": "<em>browser screen scale factor</em><br>optional field<br>you can set a custom browser screen resolution ratio to perform audit for a particular device;<br>if you use this field, you don't need to indicate <code>browser_preset</code> as it will be ignored;<br><strong>Note:</strong> to use this parameter, set <code>enable_javascript</code> or <code>enable_browser_rendering</code> to <code>true</code>minimum value: <code>0.5</code><br>maximum value: <code>3</code>",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "browser_screen_width": {
        +        "description": "<em>browser screen width</em><br>optional field<br>you can set a custom browser screen width to perform audit for a particular device;<br>if you use this field, you don't need to indicate <code>browser_preset</code> as it will be ignored;<br><strong>Note:</strong> to use this parameter, set <code>enable_javascript</code> or <code>enable_browser_rendering</code> to <code>true</code>minimum value, in pixels: <code>240</code><br>maximum value, in pixels: <code>9999</code>",
        +        "format": "int64",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "calculate_keyword_density": {
        +        "description": "<em>calculate keyword density for the target domain</em><br>optional field<br>set to <code>true</code> if you want to calculate keyword density for website pages<br>default value: <code>false</code><br><strong>Note:</strong> if you use this parameter, additional charges will apply; learn more about the cost of tasks with this parameter <a href=\"https://dataforseo.com/help-center/cost-of-onpage-api-parameters\" target=\"_blank\" rel=\"noopener noreferrer\">in our help article</a><br>once the crawl is completed, you can obtain keyword density values with <a href=\"/v3/on_page/keyword_density?bash\" target=\"_blank\" rel=\"noopener noreferrer\">the Keyword Density endpoint</a>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "check_spell": {
        +        "description": "<em>check spelling</em><br>optional field<br>set to <code>true</code> to check spelling on a website using <a href=\"http://hunspell.github.io/\" target=\"_blank\" rel=\"noopener noreferrer\">Hunspell</a> library<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "check_spell_exceptions": {
        +        "description": "<em>words excluded from spell check</em><br>optional field<br>specify the words that you want to exclude from spell check<br>maximum word length: 100 characters<br>maximum amount of words: 1000<br>example: <code>\"SERP\", \"minifiers\", \"JavaScript\"</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "check_spell_language": {
        +        "description": "<em>language of the spell check</em><br>optional field<br>supported languages: 'hy', 'eu', 'bg', 'ca', 'hr', 'cs', 'da', 'nl', 'en', 'eo', 'et', 'fo', 'fa', 'fr', 'fy', 'gl', 'ka', 'de', 'el', 'he', 'hu', 'is', 'ia', 'ga', 'it', 'rw', 'la', 'lv', 'lt', 'mk', 'mn', 'ne', 'nb', 'nn', 'pl', 'pt', 'ro', 'gd', 'sr', 'sk', 'sl', 'es', 'sv', 'tr', 'tk', 'uk', 'vi'<br><strong>Note:</strong> if no language is specified, it will be set automatically based on page content",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "checks_threshold": {
        +        "additionalProperties": {
        +          "format": "int64",
        +          "type": [
        +            "integer",
        +            "null"
        +          ]
        +        },
        +        "description": "<em>custom threshold values for checks</em><br>optional field<br>you can specify custom threshold values for the parameters included in the <code>checks</code> object of OnPage API responses;<br><strong>Note:</strong> only integer threshold values can be modified;<br>for example, the <code>high_loading_time</code> and <code>large_page_size</code> parameters are set to 3 seconds and 1 megabyte respectively by default;<br>if you want to change these thresholds to 1 second and 1000 kbytes, use the following snippet:<br>`\"checks_threshold\": {<br>\"high_loading_time\": 1,<br>\"large_page_size\": 1000<br>}`<br>available customizable parameters with default values:<br>`\"title_too_short\", default value: 30, type: \"int\"<br>\"title_too_long\", default value: 65, type: \"int\"<br>\"small_page_size\", default value: 1024, type: \"int\"<br>\"large_page_size\", default value: 1048576 (1024 * 1024), type: \"int\"<br>\"low_character_count\", default value: 1024, type: \"int\"<br>\"high_character_count\", default value: 256000 (250 * 1024), type: \"int\"<br>\"low_content_rate\", default value: 0.1, type: \"float\"<br>\"high_content_rate\", default value: 0.9, type: \"float\"<br>\"high_loading_time\", default value: 3000, type: \"int\"<br>\"high_waiting_time\", default value: 1500, type: \"int\"<br>\"low_readability_rate\", default value: 15.0, type: \"float\"<br>\"irrelevant_description\", default value: 0.2, type: \"float\"<br>\"irrelevant_title\", default value: 0.3, type: \"float\"<br>\"irrelevant_meta_keywords\", default value: 0.6, type: \"float\"`",
        +        "type": [
        +          "object",
        +          "null"
        +        ]
        +      },
        +      "crawl_delay": {
        +        "description": "<em>delay between hits, ms</em><br>optional field<br>the custom delay between crawler hits to the server<br>default value: <code>2000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "crawl_sitemap_only": {
        +        "description": "<em>crawl only pages indicated in the sitemap</em><br>optional field<br>set to <code>true</code> if you want to crawl only the pages indicated in the sitemap<br>if you set this parameter to <code>true</code> and do not specify <code>custom_sitemap</code>, we will crawl the default sitemap<br>default value: <code>false</code><br><strong>Note:</strong> if you want to use this parameter, <code>respect_sitemap</code> should be <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "custom_js": {
        +        "description": "<em>custom javascript</em><br>optional field<br><strong>Note</strong> that the execution time for the script you enter here should be 700 ms maximum, for example, you can use the following JS snippet to check if the website contains Google Tag Manager as a <code>scr</code> attribute:<br><code>let meta = { haveGoogleAnalytics: false, haveTagManager: false };rnfor (var i = 0; i &lt; document.scripts.length; i++) {rn let src = document.scripts[i].getAttribute(\"src\");rn if (src != undefined) {rn if (src.indexOf(\"analytics.js\") &gt;= 0)rn      meta.haveGoogleAnalytics = true;rntif (src.indexOf(\"gtm.js\") &gt;= 0)rn      meta.haveTagManager = true;rn  }rn}rnmeta;</code>the returned value depends on what you specified in this field. For instance, if you specify the following script:<br>`meta = {}; meta.url = document.URL; meta.test = 'test'; meta;`<br>as a response you will receive the following data:<br>`\"custom_js_response\": {<br>\"url\": \"https://dataforseo.com/\",<br>\"test\": \"test\"<br>}`<br><strong>Note:</strong> the length of the script you enter must be no more than 2000 characters",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "custom_robots_txt": {
        +        "description": "<em>custom robots.txt settings</em><br>optional field<br>example: <code>Disallow: /directory1/</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "custom_sitemap": {
        +        "description": "<em>custom sitemap url</em><br>optional field<br>the URL of the page where the alternative sitemap is located<br><strong>Note:</strong> if you want to use this parameter, <code>respect_sitemap</code> should be <code>true</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "custom_user_agent": {
        +        "description": "<em>custom user agent</em><br>optional field<br>custom user agent for crawling a website<br>example: <code>Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36<br></code><br>default value: <code>Mozilla/5.0 (compatible; RSiteAuditor)</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "disable_cookie_popup": {
        +        "description": "<em>disable the cookie popup</em><br>optional field<br>set to <code>true</code> if you want to disable the popup requesting cookie consent from the user;<br>default value:<br><code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "disable_page_checks": {
        +        "description": "<em>prevent certain page checks from running</em><br>optional field<br>specify certain <code>checks</code> to prevent them from running and impacting the <code>onpage_score</code>example:<br><code>\"disable_page_checks\": [\"is_5xx_code\", \"is_4xx_code\"]</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "disable_sitewide_checks": {
        +        "description": "<em>prevent certain sitewide checks from running</em><br>optional field<br>specify the following <code>checks</code> to prevent them from running on the <code>target</code> website:<br><code>\"test_page_not_found\"</code><br><code>\"test_canonicalization\"</code><br><code>\"test_https_redirect\"</code><br><code>\"test_directory_browsing\"</code>example:<br><code>\"disable_sitewide_checks\": [\"test_directory_browsing\", \"test_page_not_found\"]</code>learn more on <a href=\"https://dataforseo.com/help-center/how-to-disable-sitewide-checks-in-onpage-api\" target=\"_blank\" rel=\"noopener noreferrer\">our help center</a>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "disallowed_subdomains": {
        +        "description": "<em>subdomains not to crawl</em><br>optional field<br>specify subdomains that you don't want to crawl<br>example: <code>[\"status.site.com\", \"docs.site.com\"]</code><br><strong>Note:</strong> to use this parameter, the <code>allow_subdomains</code> parameter should be set to <code>true</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "enable_browser_rendering": {
        +        "description": "<em>emulate browser rendering to measure Core Web Vitals</em><br>optional field<br>by using this parameter you will be able to emulate a browser when loading a web page;<br><code>enable_browser_rendering</code> loads styles, images, fonts, animations, videos, and other resources on a page;<br>default value: <code>false</code><br>set to <code>true</code> to obtain Core Web Vitals (FID, CLS, LCP) metrics in the response;<br><strong>if you use this field, <code>enable_javascript</code>, and <code>load_resources</code> parameters must be set to <code>true</code></strong><br><strong>Note:</strong> if you use this parameter, additional charges will apply; learn more about the cost of tasks with this parameter <a href=\"https://dataforseo.com/help-center/cost-of-onpage-api-parameters\" target=\"_blank\" rel=\"noopener noreferrer\">in our help article</a>; the cost can be calculated on the <a href=\"https://dataforseo.com/pricing/on-page/onpage-api\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing Page</a>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "enable_content_parsing": {
        +        "description": "<em>parse content on crawled pages</em><br>optional field<br>set to <code>true</code> to use the <a href=\"/v3/on_page/content_parsing/live/\" target=\"_blank\" rel=\"noopener noreferrer\">OnPage Content Parsing endpoint</a><br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "enable_javascript": {
        +        "description": "<em>load javascript on a page</em><br>optional field<br>set to <code>true</code> if you want to load the scripts available on a page<br>default value: <code>false</code><br><strong>Note:</strong> if you use this parameter, additional charges will apply; learn more about the cost of tasks with this parameter <a href=\"https://dataforseo.com/help-center/cost-of-onpage-api-parameters\" target=\"_blank\" rel=\"noopener noreferrer\">in our help article</a>; the cost can be calculated on the <a href=\"https://dataforseo.com/pricing/on-page/onpage-api\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing Page</a>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "enable_www_redirect_check": {
        +        "description": "<em>check if the domain implemented the www redirection</em><br>optional field<br>set to <code>true</code> if you want to check if the requested domain implemented the www to non-www or non-www to www redirect;<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "enable_xhr": {
        +        "description": "<em>enable XMLHttpRequest on a page</em><br>optional field<br>set to <code>true</code> if you want our crawler to request data from a web server using the XMLHttpRequest object<br>default value: <code>false</code>;if you use this field, <code>enable_javascript</code> must be set to <code>true</code>;",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "force_sitewide_checks": {
        +        "description": "<em>enable sitewide checks when crawling a single page</em><br>optional field<br>set to <code>true</code> to get data on sitewide checks when crawling a single page;<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "load_resources": {
        +        "description": "<em>load resources</em><br>optional field<br>set to <code>true</code> if you want to load image, stylesheets, scripts, and broken resources<br>default value: <code>false</code><br><strong>Note:</strong> if you use this parameter, additional charges will apply; learn more about the cost of tasks with this parameter <a href=\"https://dataforseo.com/help-center/cost-of-onpage-api-parameters\" target=\"_blank\" rel=\"noopener noreferrer\">in our help article</a>; the cost can be calculated on the <a href=\"https://dataforseo.com/pricing/on-page/onpage-api\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing Page</a>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "max_crawl_depth": {
        +        "description": "<em>crawl depth</em><br>optional field<br>the linking depth of the pages to crawl;<br>for example, starting page of the crawl is level 0, pages that have links from that page are level 1, etc.",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "max_crawl_pages": {
        +        "description": "<em>crawled pages limit</em><br><strong>required field</strong><br>the number of pages to crawl on the specified domain<br><strong>Note:</strong><br>if you set <code>max_crawl_pages</code> to 1 and do not specify <code>start_url</code> or set a homepage in it, the following sitewide checks will be disabled:<br><code>test_canonicalization</code>, <code>enable_www_redirect_check</code>, <code>test_hidden_server_signature</code>, <code>test_page_not_found</code>, <code>test_directory_browsing</code>, <code>test_https_redirect</code><br>to enable them anyway, set <code>force_sitewide_checks</code> to <code>true</code>if you set <code>max_crawl_pages</code> to 1 and specify <code>start_url</code> other than a homepage, all sitewide checks will be disabled;<br>to enable them anyway, set <code>force_sitewide_checks</code> to <code>true</code>",
        +        "type": "integer"
        +      },
        +      "pingback_url": {
        +        "description": "<em>notification URL of a completed task</em><br>optional field<br>when a task is completed we will notify you by GET request sent to the URL you have specified<br>you can use the ‘$id’ string as a <code>$id</code> variable and ‘$tag’ as urlencoded <code>$tag</code> variable. We will set the necessary values before sending the request.<br>example:<br><code>http://your-server.com/pingscript?id=$id</code><br><code>http://your-server.com/pingscript?id=$id&amp;tag=$tag</code><br><strong>Note:</strong> special characters in <code>pingback_url</code> will be urlencoded;<br>i.a., the <code>#</code> character will be encoded into <code>%23</code><p>learn more on our <a href=\"https://dataforseo.com/help-center/pingbacks-postbacks-with-dataforseo-api\" target=\"_blank\" rel=\"noopener noreferrer\">Help Center</a>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "priority_urls": {
        +        "description": "<em>urls to be crawled bypassing the queue</em><br>optional field<br>URLs specified in this array will be crawled in the first instance, bypassing the crawling queue;<br><strong>Note:</strong> you should specify the absolute URL;<br>you can specify up to <strong>20 URLs</strong>;<br>all URLs in the array must belong to the <code>target</code> domain;<br>subdomains will be ignored unless the <code>allow_subdomains</code> parameter is set to <code>true</code>example:<br>`\"priority_urls\": [<br>\"https://dataforseo.com/apis/serp-api\",<br>\"https://dataforseo.com/contact\"<br>]`",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "respect_sitemap": {
        +        "description": "<em>respect sitemap when crawling</em><br>optional field<br>set to <code>true</code> if you want to follow the order of pages indicated in the primary sitemap when crawling;<br>default value: <code>false</code><br><strong>Note:</strong> if set to <code>true</code>, the <code>click_depth</code> value in the API response will equal <code>0</code>;<br>the <code>max_crawl_depth</code> field of the request will be ignored, you can specify the number of pages to crawl using the <code>max_crawl_pages</code> parameter",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "return_despite_timeout": {
        +        "description": "<em>return data on pages despite the timeout error</em><br>optional field<br>if <code>true</code>, the data will be provided on pages that failed to load within 120 seconds and responded with a timeout error;<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "robots_txt_merge_mode": {
        +        "description": "<em>merge with or override robots.txt settings</em><br>optional field<br>possible values: <code>merge</code>, <code>override</code>;<br>set to <code>override</code> if you want to ignore website crawling restrictions and other robots.txt settings<br>default value: <code>merge</code>;<br><strong>Note:</strong> if set to <code>override</code>, specify the <code>custom_robots_txt</code> parameter",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "start_url": {
        +        "description": "<em>the first url to crawl </em><br>optional field<br><strong>Note:</strong> you should specify an absolute URL<br>if you want to crawl a single page, specify its URL in this field and additionally set the <code>max_crawl_pages</code> parameter to <code>1</code><br>you can also use the <a href=\"/v3/on_page/instant_pages/?bash\" target=\"_blank\" rel=\"noopener noreferrer\">live Instant Pages endpoint</a> to get page-specific data",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "store_raw_html": {
        +        "description": "<em>store HTML of crawled pages</em><br>optional field<br>set to <code>true</code> if you want to get the HTML of the page using the <a href=\"/v3/on_page/raw_html/\" target=\"_blank\" rel=\"noopener noreferrer\">OnPage Raw HTML endpoint</a><br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "support_cookies": {
        +        "description": "<em>support cookies on crawled pages</em><br>optional field<br>set to <code>true</code> to support cookies when crawling the pages<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "switch_pool": {
        +        "description": "<em>switch proxy pool</em><br>optional field<br>if <code>true</code>, additional proxy pools will be used to obtain the requested data;<br>the parameter can be used if a multitude of tasks is set simultaneously, resulting in occasional <code>rate-limit</code> and/or <code>site_unreachable</code> errors",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "target": {
        +        "description": "<em>target domain</em><br><strong>required field</strong><br>domain name should be specified without <code>https://</code> and <code>www.</code><br>if you specify the page URL, the results will be returned for the domain included in the URL",
        +        "type": "string"
        +      },
        +      "validate_micromarkup": {
        +        "description": "<em>enable microdata validation</em><br>optional field<br>set to <code>true</code> if you want to use the <a href=\"/v3/on_page/microdata/\" target=\"_blank\" rel=\"noopener noreferrer\">OnPage API Microdata endpoint</a><br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_serp_ai_summary2 fields changed
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "fetch_content": true,
        -        "include_links": true,
        -        "prompt": "explain what DataForSEO is",
        -        "task_id": "07031739-1535-0139-0000-9d1e639a5b7d"
        -      }
        -    ],
        -    "properties": {
        -      "fetch_content": {
        -        "description": "<em>fetch content from pages in SERPs</em><br>optional field<br>if set to <code>true</code>, the API will fetch the content from pages featured in SERP results, and the AI model will consider this content when generating the summary in the result;<br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "include_links": {
        -        "description": "<em>include source links in the summary</em><br>optional field<br>if set to <code>true</code>, the <code>summary</code> field in the API response will contain links to sources of the generated summary;<br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "prompt": {
        -        "description": "<em>AI prompt</em><br>optional field<br>additional task for AI summariser;<br>any form of text, question or information that communicates to AI what response you're looking for;<br>max number of symbols or characters you can specify: <code>2000</code>;<br><strong>note:</strong> your prompt has to be relevant to the keyword specified in the POST request to SERP API",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "support_extra": {
        -        "description": "<em>support extra SERP features</em><br>optional field<br>if set to <code>true</code>, the AI model will consider the following extra SERP features, in addition to <code>organic</code> results: <code>answer_box</code>, <code>knowledge_graph</code>, <code>featured_snippet</code>;<br>default value: <code>true</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "task_id": {
        -        "description": "<em>task identifier</em><br><strong>required field</strong><br>unique identifier of the associated task in the <a href=\"https://en.wikipedia.org/wiki/Universally_unique_identifier\">UUID</a> format<br>you will be able to use it within <strong>30 days</strong> to request the results of the task at any time",
        -        "type": "string"
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / oneOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "fetch_content": true,
        +        "include_links": true,
        +        "prompt": "explain what DataForSEO is",
        +        "task_id": "07031739-1535-0139-0000-9d1e639a5b7d"
        +      }
        +    ],
        +    "properties": {
        +      "fetch_content": {
        +        "description": "<em>fetch content from pages in SERPs</em><br>optional field<br>if set to <code>true</code>, the API will fetch the content from pages featured in SERP results, and the AI model will consider this content when generating the summary in the result;<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_links": {
        +        "description": "<em>include source links in the summary</em><br>optional field<br>if set to <code>true</code>, the <code>summary</code> field in the API response will contain links to sources of the generated summary;<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "prompt": {
        +        "description": "<em>AI prompt</em><br>optional field<br>additional task for AI summariser;<br>any form of text, question or information that communicates to AI what response you're looking for;<br>max number of symbols or characters you can specify: <code>2000</code>;<br><strong>note:</strong> your prompt has to be relevant to the keyword specified in the POST request to SERP API",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "support_extra": {
        +        "description": "<em>support extra SERP features</em><br>optional field<br>if set to <code>true</code>, the AI model will consider the following extra SERP features, in addition to <code>organic</code> results: <code>answer_box</code>, <code>knowledge_graph</code>, <code>featured_snippet</code>;<br>default value: <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "task_id": {
        +        "description": "<em>task identifier</em><br><strong>required field</strong><br>unique identifier of the associated task in the <a href=\"https://en.wikipedia.org/wiki/Universally_unique_identifier\">UUID</a> format<br>you will be able to use it within <strong>30 days</strong> to request the results of the task at any time",
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_serp_bing_organic_live2 fields changed
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "keyword": "flight ticket new york san francisco",
        -        "language_code": "en",
        -        "location_code": 2840
        -      }
        -    ],
        -    "properties": {
        -      "browser_screen_height": {
        -        "description": "<p><em>browser screen height</em><p>optional field<p>you can set a custom browser screen height to calculate pixel rankings for a particular device;<p>can be specified within the following range: <code>240-9999</code>;<p>by default, the parameter is set to:<p><code>1080</code> for <code>desktop</code>;<p><code>640</code> for <code>mobile</code> on <code>android</code>;<p><code>812</code> for <code>mobile</code> on <code>iOS</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "browser_screen_resolution_ratio": {
        -        "description": "<p><em>browser screen resolution ratio</em><p>optional field<p>you can set a custom browser screen resolution ratio to calculate pixel rankings for a particular device;<p>can be specified within the following range: <code>0.5-3</code>;<p>by default, the parameter is set to:<p><code>1</code> for <code>desktop</code>;<p><code>3</code> for <code>mobile</code> on <code>android</code>;<p><code>3</code> for <code>mobile</code> on <code>iOS</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "browser_screen_width": {
        -        "description": "<p><em>browser screen width</em><p>optional field<p>you can set a custom browser screen width to calculate pixel rankings for a particular device;<p>can be specified within the following range: <code>240-9999</code>;<p>by default, the parameter is set to:<p><code>1920</code> for <code>desktop</code>;<p><code>360</code> for <code>mobile</code> on <code>android</code>;<p><code>375</code> for <code>mobile</code> on <code>iOS</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
        -        "format": "int64",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "calculate_rectangles": {
        -        "description": "<p><em>calculate pixel rankings for SERP elements in advanced results</em><p>optional field<p>pixel ranking refers to the distance between the result snippet and top left corner of the screen;<p><a href=\"https://dataforseo.com/help-center/pixel-ranking-in-serp-api\">Visit Help Center to learn more&gt;&gt;</a><p>by default, the parameter is set to <code>false</code><p><strong></p>\n\nFor current API pricing, see the published x-aisa-pricing metadata. Where supported, obtain a quote for your exact request.",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "depth": {
        -        "description": "<p><em>parsing depth</em><p>optional field<p>number of results in SERP<p>default value: <code>10</code><p>max value: <code>200</code></p><br><strong>Your account will be billed per each SERP containing up to 10 results;</strong><p>Setting depth above 10 may result in additional charges <a href=\"https://dataforseo.com/help-center/how-many-results-scraped\" rel=\"noopener noreferrer\" target=\"_blank\">if the search engine returns more than 10 results</a>;<p>The cost can be calculated on the <a title=\"Pricing\" href=\"https://dataforseo.com/pricing/serp/bing-organic-serp-api\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page.",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "device": {
        -        "description": "<p><em>device type</em><p>optional field<p>return results for a specific device type<p>can take the values:<code>desktop</code>, <code>mobile</code><p>default value: <code>desktop</code></p>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "keyword": {
        -        "description": "<p><em>keyword</em><p><strong>required field</strong><p>you can specify <strong>up to 700 characters</strong> in the <code>keyword</code> field<p><strong>all %## will be decoded (plus character '+' will be decoded to a space character)</strong><p>if you need to use the \"%\" character for your <code>keyword</code>, please specify it as \"%25\";<p>if you need to use the “+” character for your <code>keyword</code>, please specify it as “%2B”;</p><br><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" target=\"_blank\" rel=\"noopener noreferrer\">Help Center article</a></p>",
        -        "type": "string"
        -      },
        -      "language_code": {
        -        "description": "<p><em>search engine language code</em><p><strong>required field if you don't specify</strong> <code>language_name</code><p><strong>if you use this field, you don't need to specify <code>language_name</code></strong><p>you can receive the list of available languages of the search engine with their <code>language_code</code>&nbsp;by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages</code><em><p></em>example:<em><p></em><code class=\"long-string\">en</code></p>",
        -        "type": "string"
        -      },
        -      "language_name": {
        -        "description": "<p><em>full name of search engine language</em><p><strong>required field if you don't specify</strong> <code>language_code</code><p><strong>if you use this field, you don't need to specify <code>language_code</code></strong><p>you can receive the list of available languages of the search engine with their <code>language_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages</code><p>example:<p><code class=\"long-string\">English</code></p>",
        -        "type": "string"
        -      },
        -      "location_code": {
        -        "description": "<p><em>search engine location code</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations</code><p>example:<p><code class=\"long-string\">2840</code></p>",
        -        "type": "integer"
        -      },
        -      "location_coordinate": {
        -        "description": "<p><em>GPS coordinates of a location</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_code</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_code</code></strong><p><code>location_coordinate</code> parameter should be specified in the <em>\"latitude,longitude\"</em> format<p>the maximum number of decimal digits for <em>\"latitude\"</em> and <em>\"longitude\"</em>: 7<p>example:<p><code class=\"long-string\">53.476225,-2.243572</code></p>",
        -        "type": "string"
        -      },
        -      "location_name": {
        -        "description": "<p><em>full name of search engine location</em><p><strong>required field if you don't specify</strong> <code>location_code</code> or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_code</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations</code><p>example:<p><code class=\"long-string\">London,England,United Kingdom</code></p>",
        -        "type": "string"
        -      },
        -      "match_type": {
        -        "description": "<p><em>target match type</em><p><strong>required field if <code>stop_crawl_on_match</code> is specified</strong><p>type of match for the <code>match_value</code><p>possible values:<p><code>domain</code> – specific domain or subdomain<p><code>with_subdomains</code> – main domain and subdomains<p><code>wildcard</code> –  wildcard pattern</p>",
        -        "type": "string"
        -      },
        -      "match_value": {
        -        "description": "<p><em>target domain, subdomain, or wildcard value</em><p><strong>required field if <code>stop_crawl_on_match</code> is specified</strong><p>specify a target domain, subdomain, or wildcard value;<p><strong>Note:</strong> domain or subdomain must be specified without a request protocol;<p>example: <code>\"match_value\": \"dataforseo.com\"</code>,<p><code>\"match_value\": \"/blog/post-*\"</code></p>",
        -        "type": "string"
        -      },
        -      "max_crawl_pages": {
        -        "description": "<p><em>page crawl limit</em><p>optional field<p>number of search results pages to crawl<p>default value: <code>1</code><p>max value: <code>100</code><p><strong>Note:</strong> the <code>max_crawl_pages</code> and <code>depth</code> parameters complement each other;<p>learn more at <a href=\"https://dataforseo.com/help-center/what-is-max-crawl-pages-and-how-does-it-work\" rel=\"noopener noreferrer\" target=\"_blank\">our help center</a></p>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "os": {
        -        "description": "<p><em>device operating system</em><p>optional field<p>if you specify <code>desktop</code> in the <code>device</code> field, choose from the following values: <code>windows</code>, <code>macos</code><p>default value: <code>windows</code><p>if you specify <code>mobile</code> in the <code>device</code> field, choose from the following values: <code>android</code>, <code>ios</code><p>default value: <code>android</code></p>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "search_param": {
        -        "description": "<p><em>additional parameters of the search query</em><p>optional field<p><a href=\"https://dataforseo.com/help-center/bing-search-engine-parameters-and-how-to-use-them\">get the list of available parameters and additional details here</a></p>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "stop_crawl_on_match": {
        -        "description": "array of targets to stop crawling\noptional field\nif specified, the response will contain SERP results up to and including the specified match_value;\nyou can specify up to 10 target values in this array\nexample:\n\"stop_crawl_on_match\":[{\"match_value\":\"dataforseo.com\",\"match_type\":\"with_subdomains\"}]\nlearn more about this parameter on our Help Center - https://dataforseo.com/help-center/using-the-stop_crawl_on_match-parameter-in-serp-api\nYour account will be billed per each SERP crawled through the specified targets",
        -        "items": {
        -          "anyOf": [
        -            {
        -              "properties": {
        -                "match_type": {
        -                  "description": "target match type\nrequired field if stop_crawl_on_match is specified;\ntype of match for the match_value\npossible values: domain, with_subdomains, wildcard",
        -                  "type": [
        -                    "string",
        -                    "null"
        -                  ]
        -                },
        -                "match_value": {
        -                  "description": "arget domain or wildcard value\nrequired field if stop_crawl_on_match is specified;\nspecify a target domain or wildcard value;\nNote: domain name must be specified without a request protocol;\nexample: dataforseo.com",
        -                  "type": [
        -                    "string",
        -                    "null"
        -                  ]
        -                }
        -              },
        -              "type": "object"
        -            }
        -          ],
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<p><em>user-defined task identifier</em><p>optional field<p><em>the character limit is 255</em><p>you can use this parameter to identify the task and match it with the result<p>you will find the specified <code>tag</code> value in the <code>data</code> object of the response</p>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "target": {
        -        "description": "<p><em>target domain, subdomain, or webpage to get results for</em><p>optional field<p>a domain or a subdomain should be specified without <code>https://</code> and <code>www.</code><p>note that the results of <code>target</code>-specific tasks will only include SERP elements that contain a <code>url</code> string;<p>you can also use a wildcard (‘*’) character to specify the search pattern in SERP and narrow down the results;<p>examples:<p><strong><code class=\"long-string\">example.com</code></strong>  - returns results for the website's home page with URLs, such as <code class=\"long-string\">https://example.com</code>, or <code class=\"long-string\">https://www.example.com/</code>, or <code class=\"long-string\">https://example.com/</code>;<p><strong><code class=\"long-string\">example.com*</code></strong> - returns results for the domain, including all its pages;<p><strong><code class=\"long-string\">*example.com*</code></strong> - returns results for the entire domain, including all its pages and subdomains;<p><strong><code class=\"long-string\">*example.com</code></strong>  - returns results for the home page regardless of the subdomain, such as <code class=\"long-string\">https://en.example.com</code>;<p><strong><code class=\"long-string\">example.com/example-page</code></strong>  - returns results for the exact URL;<p><strong><code class=\"long-string\">example.com/example-page*</code></strong>  - returns results for all domain's URLs that start with the specified string</p>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "url": {
        -        "description": "<p><em>direct URL of the search query</em><p>optional field<p>you can specify a direct URL and we will sort it out to the necessary fields. Note that this method is the most difficult for our API to process and also requires you to specify the exact language and location in the URL. In most cases, we wouldn’t recommend using this method.<p>example:<p><code class=\"long-string\">https://www.bing.com/search?q=rank%20checker&amp;count=50&amp;first=1&amp;setlang=en&amp;cc=US&amp;safesearch=Moderate&amp;FORM=SEPAGE</code></p>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / oneOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "keyword": "flight ticket new york san francisco",
        +        "language_code": "en",
        +        "location_code": 2840
        +      }
        +    ],
        +    "properties": {
        +      "browser_screen_height": {
        +        "description": "<p><em>browser screen height</em><p>optional field<p>you can set a custom browser screen height to calculate pixel rankings for a particular device;<p>can be specified within the following range: <code>240-9999</code>;<p>by default, the parameter is set to:<p><code>1080</code> for <code>desktop</code>;<p><code>640</code> for <code>mobile</code> on <code>android</code>;<p><code>812</code> for <code>mobile</code> on <code>iOS</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "browser_screen_resolution_ratio": {
        +        "description": "<p><em>browser screen resolution ratio</em><p>optional field<p>you can set a custom browser screen resolution ratio to calculate pixel rankings for a particular device;<p>can be specified within the following range: <code>0.5-3</code>;<p>by default, the parameter is set to:<p><code>1</code> for <code>desktop</code>;<p><code>3</code> for <code>mobile</code> on <code>android</code>;<p><code>3</code> for <code>mobile</code> on <code>iOS</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "browser_screen_width": {
        +        "description": "<p><em>browser screen width</em><p>optional field<p>you can set a custom browser screen width to calculate pixel rankings for a particular device;<p>can be specified within the following range: <code>240-9999</code>;<p>by default, the parameter is set to:<p><code>1920</code> for <code>desktop</code>;<p><code>360</code> for <code>mobile</code> on <code>android</code>;<p><code>375</code> for <code>mobile</code> on <code>iOS</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
        +        "format": "int64",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "calculate_rectangles": {
        +        "description": "<p><em>calculate pixel rankings for SERP elements in advanced results</em><p>optional field<p>pixel ranking refers to the distance between the result snippet and top left corner of the screen;<p><a href=\"https://dataforseo.com/help-center/pixel-ranking-in-serp-api\">Visit Help Center to learn more&gt;&gt;</a><p>by default, the parameter is set to <code>false</code><p><strong></p>\n\nFor current API pricing, see the published x-aisa-pricing metadata. Where supported, obtain a quote for your exact request.",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "depth": {
        +        "description": "<p><em>parsing depth</em><p>optional field<p>number of results in SERP<p>default value: <code>10</code><p>max value: <code>200</code></p><br><strong>Your account will be billed per each SERP containing up to 10 results;</strong><p>Setting depth above 10 may result in additional charges <a href=\"https://dataforseo.com/help-center/how-many-results-scraped\" rel=\"noopener noreferrer\" target=\"_blank\">if the search engine returns more than 10 results</a>;<p>The cost can be calculated on the <a title=\"Pricing\" href=\"https://dataforseo.com/pricing/serp/bing-organic-serp-api\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page.",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "device": {
        +        "description": "<p><em>device type</em><p>optional field<p>return results for a specific device type<p>can take the values:<code>desktop</code>, <code>mobile</code><p>default value: <code>desktop</code></p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "keyword": {
        +        "description": "<p><em>keyword</em><p><strong>required field</strong><p>you can specify <strong>up to 700 characters</strong> in the <code>keyword</code> field<p><strong>all %## will be decoded (plus character '+' will be decoded to a space character)</strong><p>if you need to use the \"%\" character for your <code>keyword</code>, please specify it as \"%25\";<p>if you need to use the “+” character for your <code>keyword</code>, please specify it as “%2B”;</p><br><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" target=\"_blank\" rel=\"noopener noreferrer\">Help Center article</a></p>",
        +        "type": "string"
        +      },
        +      "language_code": {
        +        "description": "<p><em>search engine language code</em><p><strong>required field if you don't specify</strong> <code>language_name</code><p><strong>if you use this field, you don't need to specify <code>language_name</code></strong><p>you can receive the list of available languages of the search engine with their <code>language_code</code>&nbsp;by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages</code><em><p></em>example:<em><p></em><code class=\"long-string\">en</code></p>",
        +        "type": "string"
        +      },
        +      "language_name": {
        +        "description": "<p><em>full name of search engine language</em><p><strong>required field if you don't specify</strong> <code>language_code</code><p><strong>if you use this field, you don't need to specify <code>language_code</code></strong><p>you can receive the list of available languages of the search engine with their <code>language_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages</code><p>example:<p><code class=\"long-string\">English</code></p>",
        +        "type": "string"
        +      },
        +      "location_code": {
        +        "description": "<p><em>search engine location code</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations</code><p>example:<p><code class=\"long-string\">2840</code></p>",
        +        "type": "integer"
        +      },
        +      "location_coordinate": {
        +        "description": "<p><em>GPS coordinates of a location</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_code</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_code</code></strong><p><code>location_coordinate</code> parameter should be specified in the <em>\"latitude,longitude\"</em> format<p>the maximum number of decimal digits for <em>\"latitude\"</em> and <em>\"longitude\"</em>: 7<p>example:<p><code class=\"long-string\">53.476225,-2.243572</code></p>",
        +        "type": "string"
        +      },
        +      "location_name": {
        +        "description": "<p><em>full name of search engine location</em><p><strong>required field if you don't specify</strong> <code>location_code</code> or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_code</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations</code><p>example:<p><code class=\"long-string\">London,England,United Kingdom</code></p>",
        +        "type": "string"
        +      },
        +      "match_type": {
        +        "description": "<p><em>target match type</em><p><strong>required field if <code>stop_crawl_on_match</code> is specified</strong><p>type of match for the <code>match_value</code><p>possible values:<p><code>domain</code> – specific domain or subdomain<p><code>with_subdomains</code> – main domain and subdomains<p><code>wildcard</code> –  wildcard pattern</p>",
        +        "type": "string"
        +      },
        +      "match_value": {
        +        "description": "<p><em>target domain, subdomain, or wildcard value</em><p><strong>required field if <code>stop_crawl_on_match</code> is specified</strong><p>specify a target domain, subdomain, or wildcard value;<p><strong>Note:</strong> domain or subdomain must be specified without a request protocol;<p>example: <code>\"match_value\": \"dataforseo.com\"</code>,<p><code>\"match_value\": \"/blog/post-*\"</code></p>",
        +        "type": "string"
        +      },
        +      "max_crawl_pages": {
        +        "description": "<p><em>page crawl limit</em><p>optional field<p>number of search results pages to crawl<p>default value: <code>1</code><p>max value: <code>100</code><p><strong>Note:</strong> the <code>max_crawl_pages</code> and <code>depth</code> parameters complement each other;<p>learn more at <a href=\"https://dataforseo.com/help-center/what-is-max-crawl-pages-and-how-does-it-work\" rel=\"noopener noreferrer\" target=\"_blank\">our help center</a></p>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "os": {
        +        "description": "<p><em>device operating system</em><p>optional field<p>if you specify <code>desktop</code> in the <code>device</code> field, choose from the following values: <code>windows</code>, <code>macos</code><p>default value: <code>windows</code><p>if you specify <code>mobile</code> in the <code>device</code> field, choose from the following values: <code>android</code>, <code>ios</code><p>default value: <code>android</code></p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "search_param": {
        +        "description": "<p><em>additional parameters of the search query</em><p>optional field<p><a href=\"https://dataforseo.com/help-center/bing-search-engine-parameters-and-how-to-use-them\">get the list of available parameters and additional details here</a></p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "stop_crawl_on_match": {
        +        "description": "array of targets to stop crawling\noptional field\nif specified, the response will contain SERP results up to and including the specified match_value;\nyou can specify up to 10 target values in this array\nexample:\n\"stop_crawl_on_match\":[{\"match_value\":\"dataforseo.com\",\"match_type\":\"with_subdomains\"}]\nlearn more about this parameter on our Help Center - https://dataforseo.com/help-center/using-the-stop_crawl_on_match-parameter-in-serp-api\nYour account will be billed per each SERP crawled through the specified targets",
        +        "items": {
        +          "oneOf": [
        +            {
        +              "properties": {
        +                "match_type": {
        +                  "description": "target match type\nrequired field if stop_crawl_on_match is specified;\ntype of match for the match_value\npossible values: domain, with_subdomains, wildcard",
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                },
        +                "match_value": {
        +                  "description": "arget domain or wildcard value\nrequired field if stop_crawl_on_match is specified;\nspecify a target domain or wildcard value;\nNote: domain name must be specified without a request protocol;\nexample: dataforseo.com",
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                }
        +              },
        +              "type": "object"
        +            }
        +          ],
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<p><em>user-defined task identifier</em><p>optional field<p><em>the character limit is 255</em><p>you can use this parameter to identify the task and match it with the result<p>you will find the specified <code>tag</code> value in the <code>data</code> object of the response</p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "target": {
        +        "description": "<p><em>target domain, subdomain, or webpage to get results for</em><p>optional field<p>a domain or a subdomain should be specified without <code>https://</code> and <code>www.</code><p>note that the results of <code>target</code>-specific tasks will only include SERP elements that contain a <code>url</code> string;<p>you can also use a wildcard (‘*’) character to specify the search pattern in SERP and narrow down the results;<p>examples:<p><strong><code class=\"long-string\">example.com</code></strong>  - returns results for the website's home page with URLs, such as <code class=\"long-string\">https://example.com</code>, or <code class=\"long-string\">https://www.example.com/</code>, or <code class=\"long-string\">https://example.com/</code>;<p><strong><code class=\"long-string\">example.com*</code></strong> - returns results for the domain, including all its pages;<p><strong><code class=\"long-string\">*example.com*</code></strong> - returns results for the entire domain, including all its pages and subdomains;<p><strong><code class=\"long-string\">*example.com</code></strong>  - returns results for the home page regardless of the subdomain, such as <code class=\"long-string\">https://en.example.com</code>;<p><strong><code class=\"long-string\">example.com/example-page</code></strong>  - returns results for the exact URL;<p><strong><code class=\"long-string\">example.com/example-page*</code></strong>  - returns results for all domain's URLs that start with the specified string</p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "url": {
        +        "description": "<p><em>direct URL of the search query</em><p>optional field<p>you can specify a direct URL and we will sort it out to the necessary fields. Note that this method is the most difficult for our API to process and also requires you to specify the exact language and location in the URL. In most cases, we wouldn’t recommend using this method.<p>example:<p><code class=\"long-string\">https://www.bing.com/search?q=rank%20checker&amp;count=50&amp;first=1&amp;setlang=en&amp;cc=US&amp;safesearch=Moderate&amp;FORM=SEPAGE</code></p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_serp_google_ai_mode_live2 fields changed
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "keyword": "what is google ai mode",
        -        "language_code": "en",
        -        "location_code": 2840
        -      }
        -    ],
        -    "properties": {
        -      "browser_screen_height": {
        -        "description": "<p><em>browser screen height</em><p>optional field<p>you can set a custom browser screen height to calculate pixel rankings for a particular device;<p>can be specified within the following range: <code>240-9999</code>;<p>by default, the parameter is set to:<p><code>1080</code> for <code>desktop</code>;<p><code>640</code> for <code>mobile</code> on <code>android</code>;<p><code>812</code> for <code>mobile</code> on <code>iOS</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "browser_screen_resolution_ratio": {
        -        "description": "<p><em>browser screen resolution ratio</em><p>optional field<p>you can set a custom browser screen resolution ratio to calculate pixel rankings for a particular device;<p>can be specified within the following range: <code>0.5-3</code>;<p>by default, the parameter is set to:<p><code>1</code> for <code>desktop</code>;<p><code>3</code> for <code>mobile</code> on <code>android</code>;<p><code>3</code> for <code>mobile</code> on <code>iOS</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "browser_screen_width": {
        -        "description": "<p><em>browser screen width</em><p>optional field<p>you can set a custom browser screen width to calculate pixel rankings for a particular device;<p>can be specified within the following range: <code>240-9999</code>;<p>by default, the parameter is set to:<p><code>1920</code> for <code>desktop</code>;<p><code>360</code> for <code>mobile</code> on <code>android</code>;<p><code>375</code> for <code>mobile</code> on <code>iOS</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
        -        "format": "int64",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "calculate_rectangles": {
        -        "description": "<p><em>calculate pixel rankings for SERP elements in advanced results</em><p>optional field<p>pixel ranking refers to the distance between the result snippet and top left corner of the screen;<p><a href=\"https://dataforseo.com/help-center/pixel-ranking-in-serp-api\">Visit Help Center to learn more&gt;&gt;</a><p>by default, the parameter is set to <code>false</code><p><strong>Note:</strong> if set to <code>true</code>, the charge per task will be multiplied by 2</p>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "device": {
        -        "description": "<p><em>device type</em><p>optional field<p>return results for a specific device type<p>can take the values:<code>desktop</code>, <code>mobile</code><p>default value: <code>desktop</code></p>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "keyword": {
        -        "description": "<p><em>keyword</em><p><strong>required field</strong><p>you can specify <strong>up to 700 characters</strong> in the <code>keyword</code> field<p>all %## will be decoded (plus character ‘+’ will be decoded to a space character)<p>if you need to use the “%” character for your <code>keyword</code>, please specify it as “%25”;<p>if you need to use the “+” character for your <code>keyword</code>, please specify it as “%2B”</p><br><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a></p>",
        -        "type": "string"
        -      },
        -      "language_code": {
        -        "description": "<p><em>search engine language code</em><p>required field if you don't specify <code>language_name</code>;<p>if you use this field, you don't need to specify <code>language_name</code>;<p>you can receive the list of available languages of the search engine with their <code>language_code</code>&nbsp;by making a separate request to the <code>https://api.dataforseo.com/v3/serp/google/ai_mode/languages</code></p>",
        -        "type": "string"
        -      },
        -      "language_name": {
        -        "description": "<p><em>full name of search engine language</em><p>required field if you don't specify <code>language_code</code>;<p>if you use this field, you don't need to specify <code>language_code</code>;<p>you can receive the list of available languages of the search engine with their <code>language_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/google/ai_mode/languages</code>;</p>",
        -        "type": "string"
        -      },
        -      "location_code": {
        -        "description": "<p><em>search engine location code</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/google/locations</code><p><strong>Note:</strong> check <a href=\"https://support.google.com/websearch/answer/16011537?hl=en&amp;co=GENIE.Platform%3DAndroid#\" target=\"_blank\"> Google Search Help</a> for the list of countries where AI Mode is currently available</p>",
        -        "type": "integer"
        -      },
        -      "location_coordinate": {
        -        "description": "<p><em>GPS coordinates of a location</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_code</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_code</code></strong><p><code>location_coordinate</code> parameter should be specified in the <em>\"latitude,longitude,zoom\"</em> format<p>if <em>\"zoom\"</em> is not specified, <em>9z</em> will be applied as a default value<p>the maximum number of decimal digits for <em>\"latitude\"</em> and <em>\"longitude\"</em>: 7<p>the minimum value for <em>\"zoom\"</em>: 4z<p>the maximum value for <em>\"zoom\"</em>: 18z<p>example:<p><code class=\"long-string\">52.6178549,-155.352142,18z</code></p>",
        -        "type": "string"
        -      },
        -      "location_name": {
        -        "description": "<p><em>full name of search engine location</em><p><strong>required field if you don't specify</strong> <code>location_code</code> or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_code</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/google/locations</code><p><strong>Note:</strong> check <a href=\"https://support.google.com/websearch/answer/16011537?hl=en&amp;co=GENIE.Platform%3DAndroid#\" target=\"_blank\"> Google Search Help</a> for the list of countries where AI Mode is currently available</p>",
        -        "type": "string"
        -      },
        -      "os": {
        -        "description": "<p><em>device operating system</em><p>optional field<p>if you specify <code>desktop</code> in the <code>device</code> field, choose from the following values: <code>windows</code>, <code>macos</code><p>default value: <code>windows</code><p>if you specify <code>mobile</code> in the <code>device</code> field, choose from the following values: <code>android</code>, <code>ios</code><p>default value: <code>android</code></p>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<p><em>user-defined task identifier</em><p>optional field<p><em>the character limit is 255</em><p>you can use this parameter to identify the task and match it with the result<p>you will find the specified <code>tag</code> value in the <code>data</code> object of the response</p>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / oneOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "keyword": "what is google ai mode",
        +        "language_code": "en",
        +        "location_code": 2840
        +      }
        +    ],
        +    "properties": {
        +      "browser_screen_height": {
        +        "description": "<p><em>browser screen height</em><p>optional field<p>you can set a custom browser screen height to calculate pixel rankings for a particular device;<p>can be specified within the following range: <code>240-9999</code>;<p>by default, the parameter is set to:<p><code>1080</code> for <code>desktop</code>;<p><code>640</code> for <code>mobile</code> on <code>android</code>;<p><code>812</code> for <code>mobile</code> on <code>iOS</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "browser_screen_resolution_ratio": {
        +        "description": "<p><em>browser screen resolution ratio</em><p>optional field<p>you can set a custom browser screen resolution ratio to calculate pixel rankings for a particular device;<p>can be specified within the following range: <code>0.5-3</code>;<p>by default, the parameter is set to:<p><code>1</code> for <code>desktop</code>;<p><code>3</code> for <code>mobile</code> on <code>android</code>;<p><code>3</code> for <code>mobile</code> on <code>iOS</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "browser_screen_width": {
        +        "description": "<p><em>browser screen width</em><p>optional field<p>you can set a custom browser screen width to calculate pixel rankings for a particular device;<p>can be specified within the following range: <code>240-9999</code>;<p>by default, the parameter is set to:<p><code>1920</code> for <code>desktop</code>;<p><code>360</code> for <code>mobile</code> on <code>android</code>;<p><code>375</code> for <code>mobile</code> on <code>iOS</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
        +        "format": "int64",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "calculate_rectangles": {
        +        "description": "<p><em>calculate pixel rankings for SERP elements in advanced results</em><p>optional field<p>pixel ranking refers to the distance between the result snippet and top left corner of the screen;<p><a href=\"https://dataforseo.com/help-center/pixel-ranking-in-serp-api\">Visit Help Center to learn more&gt;&gt;</a><p>by default, the parameter is set to <code>false</code><p><strong>Note:</strong> if set to <code>true</code>, the charge per task will be multiplied by 2</p>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "device": {
        +        "description": "<p><em>device type</em><p>optional field<p>return results for a specific device type<p>can take the values:<code>desktop</code>, <code>mobile</code><p>default value: <code>desktop</code></p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "keyword": {
        +        "description": "<p><em>keyword</em><p><strong>required field</strong><p>you can specify <strong>up to 700 characters</strong> in the <code>keyword</code> field<p>all %## will be decoded (plus character ‘+’ will be decoded to a space character)<p>if you need to use the “%” character for your <code>keyword</code>, please specify it as “%25”;<p>if you need to use the “+” character for your <code>keyword</code>, please specify it as “%2B”</p><br><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a></p>",
        +        "type": "string"
        +      },
        +      "language_code": {
        +        "description": "<p><em>search engine language code</em><p>required field if you don't specify <code>language_name</code>;<p>if you use this field, you don't need to specify <code>language_name</code>;<p>you can receive the list of available languages of the search engine with their <code>language_code</code>&nbsp;by making a separate request to the <code>https://api.dataforseo.com/v3/serp/google/ai_mode/languages</code></p>",
        +        "type": "string"
        +      },
        +      "language_name": {
        +        "description": "<p><em>full name of search engine language</em><p>required field if you don't specify <code>language_code</code>;<p>if you use this field, you don't need to specify <code>language_code</code>;<p>you can receive the list of available languages of the search engine with their <code>language_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/google/ai_mode/languages</code>;</p>",
        +        "type": "string"
        +      },
        +      "location_code": {
        +        "description": "<p><em>search engine location code</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/google/locations</code><p><strong>Note:</strong> check <a href=\"https://support.google.com/websearch/answer/16011537?hl=en&amp;co=GENIE.Platform%3DAndroid#\" target=\"_blank\"> Google Search Help</a> for the list of countries where AI Mode is currently available</p>",
        +        "type": "integer"
        +      },
        +      "location_coordinate": {
        +        "description": "<p><em>GPS coordinates of a location</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_code</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_code</code></strong><p><code>location_coordinate</code> parameter should be specified in the <em>\"latitude,longitude,zoom\"</em> format<p>if <em>\"zoom\"</em> is not specified, <em>9z</em> will be applied as a default value<p>the maximum number of decimal digits for <em>\"latitude\"</em> and <em>\"longitude\"</em>: 7<p>the minimum value for <em>\"zoom\"</em>: 4z<p>the maximum value for <em>\"zoom\"</em>: 18z<p>example:<p><code class=\"long-string\">52.6178549,-155.352142,18z</code></p>",
        +        "type": "string"
        +      },
        +      "location_name": {
        +        "description": "<p><em>full name of search engine location</em><p><strong>required field if you don't specify</strong> <code>location_code</code> or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_code</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/google/locations</code><p><strong>Note:</strong> check <a href=\"https://support.google.com/websearch/answer/16011537?hl=en&amp;co=GENIE.Platform%3DAndroid#\" target=\"_blank\"> Google Search Help</a> for the list of countries where AI Mode is currently available</p>",
        +        "type": "string"
        +      },
        +      "os": {
        +        "description": "<p><em>device operating system</em><p>optional field<p>if you specify <code>desktop</code> in the <code>device</code> field, choose from the following values: <code>windows</code>, <code>macos</code><p>default value: <code>windows</code><p>if you specify <code>mobile</code> in the <code>device</code> field, choose from the following values: <code>android</code>, <code>ios</code><p>default value: <code>android</code></p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<p><em>user-defined task identifier</em><p>optional field<p><em>the character limit is 255</em><p>you can use this parameter to identify the task and match it with the result<p>you will find the specified <code>tag</code> value in the <code>data</code> object of the response</p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_serp_google_autocomplete_live2 fields changed
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "client": "gws-wiz-serp",
        -        "keyword": "albert einstein",
        -        "language_code": "en",
        -        "location_code": 2840
        -      }
        -    ],
        -    "properties": {
        -      "client": {
        -        "description": "<p><em>search client for autocomplete</em><p>optional field<p>autocomplete results may differ depending on the search client;<p>possible values:<p><code>chrome</code> — used when google search is opened in google chrome;<p><code>chrome-omni</code> — used in the address bar in chrome;<p><code>gws-wiz</code> — used in google search home page;<p><code>gws-wiz-serp</code> — used in google search engine results page;<p><code>safari</code> — used when google search is opened in safari browser;<p><code>firefox</code> — used when google search is opened in firefox browser;<p><code>psy-ab</code> — may be used when google search is opened in google chrome browser;<p><code>toolbar</code> — returns XML;<p><code>youtube</code> — returns JSONP;<p><code>gws-wiz-local</code> — used in google local;<p><code>img</code> — used in google's image search;<p><code>products-cc</code> — used in google shopping search</p>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "cursor_pointer": {
        -        "description": "<p><em>search bar cursor pointer</em><p>optional field<p>the horizontal numerical position of the cursor pointer within the keyword in the search bar;<p>by modifying the position of the cursor pointer, you will obtain different autocomplete suggestions for the same seed keyword;<p>minimal value: <code>0</code><p>default value: the number of the last character of the specified <code>keyword</code><p>example:<p><code>|which query are s</code> - <code>\"cursor_pointer\": 0</code><p><code>which query is s|</code> - <code>\"cursor_pointer\": 16</code><p><code>which que|ry is s</code> - <code>\"cursor_pointer\": 9</code></p>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "keyword": {
        -        "description": "<p><em>keyword</em><p><strong>required field</strong><p>you can specify <strong>up to 700 characters</strong> in the <code>keyword</code> field<p>all %## will be decoded (plus character ‘+’ will be decoded to a space character)<p>if you need to use the “%” character for your <code>keyword</code>, please specify it as “%25”;<p>if you need to use the “+” character for your <code>keyword</code>, please specify it as “%2B”;</p><br><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a></p>",
        -        "type": "string"
        -      },
        -      "language_code": {
        -        "description": "<p><em>search engine language code</em><p><strong>required field if you don't specify</strong> <code>language_name</code><p><strong>if you use this field, you don't need to specify <code>language_name</code></strong>;<p>you can receive the list of available languages of the search engine with their <code>language_code</code>&nbsp;by making a separate request to the <code>https://api.dataforseo.com/v3/serp/google/languages</code><em><p></em>example:<em><p></em><code class=\"long-string\">en</code></p>",
        -        "type": "string"
        -      },
        -      "language_name": {
        -        "description": "<p><em>full name of search engine language</em><p><strong>required field if you don't specify</strong> <code>language_code</code><p><strong>if you use this field, you don't need to specify <code>language_code</code></strong>;<p>you can receive the list of available languages of the search engine with their <code>language_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/serp/google/languages</code><p>example:<p><code class=\"long-string\">English</code></p>",
        -        "type": "string"
        -      },
        -      "location_code": {
        -        "description": "<p><em>search engine location code</em><p><strong>required field if you don't specify</strong> <code>location_name</code>;<p>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to <code>https://api.dataforseo.com/v3/serp/google/locations</code><p>example:<p><code class=\"long-string\">2840</code></p>",
        -        "type": "integer"
        -      },
        -      "location_name": {
        -        "description": "<p><em>full name of search engine location</em><p><strong>required field if you don't specify</strong> <code>location_code</code><p><strong>if you use this field, you don't need to specify <code>location_code</code></strong>;<p>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/serp/google/autocomplete/locations</code><p>example:<p><code class=\"long-string\">London,England,United Kingdom</code></p>",
        -        "type": "string"
        -      },
        -      "tag": {
        -        "description": "<p><em>user-defined task identifier</em><p>optional field<p><em>the character limit is 255</em><p>you can use this parameter to identify the task and match it with the result<p>you will find the specified <code>tag</code> value in the <code>data</code> object of the response</p>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / oneOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "client": "gws-wiz-serp",
        +        "keyword": "albert einstein",
        +        "language_code": "en",
        +        "location_code": 2840
        +      }
        +    ],
        +    "properties": {
        +      "client": {
        +        "description": "<p><em>search client for autocomplete</em><p>optional field<p>autocomplete results may differ depending on the search client;<p>possible values:<p><code>chrome</code> — used when google search is opened in google chrome;<p><code>chrome-omni</code> — used in the address bar in chrome;<p><code>gws-wiz</code> — used in google search home page;<p><code>gws-wiz-serp</code> — used in google search engine results page;<p><code>safari</code> — used when google search is opened in safari browser;<p><code>firefox</code> — used when google search is opened in firefox browser;<p><code>psy-ab</code> — may be used when google search is opened in google chrome browser;<p><code>toolbar</code> — returns XML;<p><code>youtube</code> — returns JSONP;<p><code>gws-wiz-local</code> — used in google local;<p><code>img</code> — used in google's image search;<p><code>products-cc</code> — used in google shopping search</p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "cursor_pointer": {
        +        "description": "<p><em>search bar cursor pointer</em><p>optional field<p>the horizontal numerical position of the cursor pointer within the keyword in the search bar;<p>by modifying the position of the cursor pointer, you will obtain different autocomplete suggestions for the same seed keyword;<p>minimal value: <code>0</code><p>default value: the number of the last character of the specified <code>keyword</code><p>example:<p><code>|which query are s</code> - <code>\"cursor_pointer\": 0</code><p><code>which query is s|</code> - <code>\"cursor_pointer\": 16</code><p><code>which que|ry is s</code> - <code>\"cursor_pointer\": 9</code></p>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "keyword": {
        +        "description": "<p><em>keyword</em><p><strong>required field</strong><p>you can specify <strong>up to 700 characters</strong> in the <code>keyword</code> field<p>all %## will be decoded (plus character ‘+’ will be decoded to a space character)<p>if you need to use the “%” character for your <code>keyword</code>, please specify it as “%25”;<p>if you need to use the “+” character for your <code>keyword</code>, please specify it as “%2B”;</p><br><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a></p>",
        +        "type": "string"
        +      },
        +      "language_code": {
        +        "description": "<p><em>search engine language code</em><p><strong>required field if you don't specify</strong> <code>language_name</code><p><strong>if you use this field, you don't need to specify <code>language_name</code></strong>;<p>you can receive the list of available languages of the search engine with their <code>language_code</code>&nbsp;by making a separate request to the <code>https://api.dataforseo.com/v3/serp/google/languages</code><em><p></em>example:<em><p></em><code class=\"long-string\">en</code></p>",
        +        "type": "string"
        +      },
        +      "language_name": {
        +        "description": "<p><em>full name of search engine language</em><p><strong>required field if you don't specify</strong> <code>language_code</code><p><strong>if you use this field, you don't need to specify <code>language_code</code></strong>;<p>you can receive the list of available languages of the search engine with their <code>language_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/serp/google/languages</code><p>example:<p><code class=\"long-string\">English</code></p>",
        +        "type": "string"
        +      },
        +      "location_code": {
        +        "description": "<p><em>search engine location code</em><p><strong>required field if you don't specify</strong> <code>location_name</code>;<p>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to <code>https://api.dataforseo.com/v3/serp/google/locations</code><p>example:<p><code class=\"long-string\">2840</code></p>",
        +        "type": "integer"
        +      },
        +      "location_name": {
        +        "description": "<p><em>full name of search engine location</em><p><strong>required field if you don't specify</strong> <code>location_code</code><p><strong>if you use this field, you don't need to specify <code>location_code</code></strong>;<p>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/serp/google/autocomplete/locations</code><p>example:<p><code class=\"long-string\">London,England,United Kingdom</code></p>",
        +        "type": "string"
        +      },
        +      "tag": {
        +        "description": "<p><em>user-defined task identifier</em><p>optional field<p><em>the character limit is 255</em><p>you can use this parameter to identify the task and match it with the result<p>you will find the specified <code>tag</code> value in the <code>data</code> object of the response</p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_serp_google_local_finder_live2 fields changed
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "keyword": "local nail services",
        -        "language_code": "en",
        -        "location_code": 2840
        -      }
        -    ],
        -    "properties": {
        -      "depth": {
        -        "description": "<p><em>parsing depth</em><p>optional field<p>number of results in SERP<br><p>default value: <code>10</code><p>max value: <code>100</code></p><br><strong>Your account will be billed per each SERP containing up to 10 results;</strong><p>Setting depth above 10 may result in additional charges if the search engine returns more than 10 results respectively;<p>If the specified depth is higher than the number of results in the response, the difference will be refunded to your account balance automatically<p>The cost can be calculated on the <a title=\"Pricing\" href=\"https://dataforseo.com/pricing/serp/google-local-finder-serp-api\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page.",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "device": {
        -        "description": "<p><em>device type</em><p>optional field<p>return results for a specific device type<p>can take the values:<code>desktop</code>, <code>mobile</code><p>default value: <code>desktop</code></p>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "keyword": {
        -        "description": "<p><em>keyword</em><p><strong>required field</strong><p>you can specify <strong>up to 700 characters</strong> in the <code>keyword</code> field<p>all %## will be decoded (plus character ‘+’ will be decoded to a space character)<p>if you need to use the “%” character for your <code>keyword</code>, please specify it as “%25”;<p>if you need to use the “+” character for your <code>keyword</code>, please specify it as “%2B”</p><br><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a></p>",
        -        "type": "string"
        -      },
        -      "language_code": {
        -        "description": "<p><em>search engine language code</em><p><strong>required field if you don't specify</strong> <code>language_name</code><p><strong>if you use this field, you don't need to specify <code>language_name</code></strong><p>you can receive the list of available languages of the search engine with their <code>language_code</code>&nbsp;by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages</code><p>example:<code class=\"long-string\">en</code></p>",
        -        "type": "string"
        -      },
        -      "language_name": {
        -        "description": "<p><em>full name of search engine language</em><p><strong>required field if you don't specify</strong> <code>language_code</code><p><strong>if you use this field, you don't need to specify <code>language_code</code></strong><p>you can receive the list of available languages of the search engine with their <code>language_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages</code><p>example:<p><code class=\"long-string\">English</code></p>",
        -        "type": "string"
        -      },
        -      "location_code": {
        -        "description": "<p><em>search engine location code</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations</code><p>example:<p><code class=\"long-string\">2840</code></p>",
        -        "type": "integer"
        -      },
        -      "location_coordinate": {
        -        "description": "<p><em>GPS coordinates of a location</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_code</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_code</code></strong><p><code>location_coordinate</code> parameter should be specified in the <em>\"latitude,longitude,zoom\"</em> format<p>if <em>\"zoom\"</em> is not specified, <em>9z</em> will be applied as a default value<p>the maximum number of decimal digits for <em>\"latitude\"</em> and <em>\"longitude\"</em>: 7<p>the minimum value for <em>\"zoom\"</em>: 4z<p>the maximum value for <em>\"zoom\"</em>: 18z<p>example:<p><code class=\"long-string\">52.6178549,-155.352142,20z</code></p>",
        -        "type": "string"
        -      },
        -      "location_name": {
        -        "description": "<p><em>full name of search engine location</em><p><strong>required field if you don't specify</strong> <code>location_code</code> or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_code</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations</code><p>example:<p><code class=\"long-string\">London,England,United Kingdom</code></p>",
        -        "type": "string"
        -      },
        -      "os": {
        -        "description": "<p><em>device operating system</em><p>optional field<p>if you specify <code>desktop</code> in the <code>device</code> field, choose from the following values: <code>windows</code>, <code>macos</code><p>default value: <code>windows</code><p>if you specify <code>mobile</code> in the <code>device</code> field, choose from the following values: <code>android</code>, <code>ios</code><p>default value: <code>android</code></p>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "priority": {
        -        "description": "<p><em>task priority</em><p>optional field<p>can take the following values:<p>1 – normal execution priority (set by default)<p>2 – high execution priority</p><br>You will be additionally charged for the tasks with high execution priority.<p>The cost can be calculated on the <a title=\"Pricing\" href=\"https://dataforseo.com/pricing/serp/google-local-finder-serp-api\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page.",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<p><em>user-defined task identifier</em><p>optional field<p><em>the character limit is 255</em><p>you can use this parameter to identify the task and match it with the result<p>you will find the specified <code>tag</code> value in the <code>data</code> object of the response</p>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / oneOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "keyword": "local nail services",
        +        "language_code": "en",
        +        "location_code": 2840
        +      }
        +    ],
        +    "properties": {
        +      "depth": {
        +        "description": "<p><em>parsing depth</em><p>optional field<p>number of results in SERP<br><p>default value: <code>10</code><p>max value: <code>100</code></p><br><strong>Your account will be billed per each SERP containing up to 10 results;</strong><p>Setting depth above 10 may result in additional charges if the search engine returns more than 10 results respectively;<p>If the specified depth is higher than the number of results in the response, the difference will be refunded to your account balance automatically<p>The cost can be calculated on the <a title=\"Pricing\" href=\"https://dataforseo.com/pricing/serp/google-local-finder-serp-api\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page.",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "device": {
        +        "description": "<p><em>device type</em><p>optional field<p>return results for a specific device type<p>can take the values:<code>desktop</code>, <code>mobile</code><p>default value: <code>desktop</code></p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "keyword": {
        +        "description": "<p><em>keyword</em><p><strong>required field</strong><p>you can specify <strong>up to 700 characters</strong> in the <code>keyword</code> field<p>all %## will be decoded (plus character ‘+’ will be decoded to a space character)<p>if you need to use the “%” character for your <code>keyword</code>, please specify it as “%25”;<p>if you need to use the “+” character for your <code>keyword</code>, please specify it as “%2B”</p><br><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a></p>",
        +        "type": "string"
        +      },
        +      "language_code": {
        +        "description": "<p><em>search engine language code</em><p><strong>required field if you don't specify</strong> <code>language_name</code><p><strong>if you use this field, you don't need to specify <code>language_name</code></strong><p>you can receive the list of available languages of the search engine with their <code>language_code</code>&nbsp;by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages</code><p>example:<code class=\"long-string\">en</code></p>",
        +        "type": "string"
        +      },
        +      "language_name": {
        +        "description": "<p><em>full name of search engine language</em><p><strong>required field if you don't specify</strong> <code>language_code</code><p><strong>if you use this field, you don't need to specify <code>language_code</code></strong><p>you can receive the list of available languages of the search engine with their <code>language_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages</code><p>example:<p><code class=\"long-string\">English</code></p>",
        +        "type": "string"
        +      },
        +      "location_code": {
        +        "description": "<p><em>search engine location code</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations</code><p>example:<p><code class=\"long-string\">2840</code></p>",
        +        "type": "integer"
        +      },
        +      "location_coordinate": {
        +        "description": "<p><em>GPS coordinates of a location</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_code</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_code</code></strong><p><code>location_coordinate</code> parameter should be specified in the <em>\"latitude,longitude,zoom\"</em> format<p>if <em>\"zoom\"</em> is not specified, <em>9z</em> will be applied as a default value<p>the maximum number of decimal digits for <em>\"latitude\"</em> and <em>\"longitude\"</em>: 7<p>the minimum value for <em>\"zoom\"</em>: 4z<p>the maximum value for <em>\"zoom\"</em>: 18z<p>example:<p><code class=\"long-string\">52.6178549,-155.352142,20z</code></p>",
        +        "type": "string"
        +      },
        +      "location_name": {
        +        "description": "<p><em>full name of search engine location</em><p><strong>required field if you don't specify</strong> <code>location_code</code> or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_code</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations</code><p>example:<p><code class=\"long-string\">London,England,United Kingdom</code></p>",
        +        "type": "string"
        +      },
        +      "os": {
        +        "description": "<p><em>device operating system</em><p>optional field<p>if you specify <code>desktop</code> in the <code>device</code> field, choose from the following values: <code>windows</code>, <code>macos</code><p>default value: <code>windows</code><p>if you specify <code>mobile</code> in the <code>device</code> field, choose from the following values: <code>android</code>, <code>ios</code><p>default value: <code>android</code></p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "priority": {
        +        "description": "<p><em>task priority</em><p>optional field<p>can take the following values:<p>1 – normal execution priority (set by default)<p>2 – high execution priority</p><br>You will be additionally charged for the tasks with high execution priority.<p>The cost can be calculated on the <a title=\"Pricing\" href=\"https://dataforseo.com/pricing/serp/google-local-finder-serp-api\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page.",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<p><em>user-defined task identifier</em><p>optional field<p><em>the character limit is 255</em><p>you can use this parameter to identify the task and match it with the result<p>you will find the specified <code>tag</code> value in the <code>data</code> object of the response</p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_serp_google_maps_live2 fields changed
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "keyword": "albert einstein",
        -        "language_code": "en",
        -        "location_code": 2840
        -      }
        -    ],
        -    "properties": {
        -      "depth": {
        -        "description": "<p><em>parsing depth</em><p>optional field<p>number of results in SERP<p>default value: <code>100</code><p>max value: <code>700</code></p><br><strong>Your account will be billed per each SERP containing up to 100 results;</strong><p>Setting depth above 100 may result in additional charges <a href=\"https://dataforseo.com/help-center/how-many-results-scraped\" rel=\"noopener noreferrer\" target=\"_blank\">if the search engine returns more than 100 results</a>;<p>The cost can be calculated on the <a title=\"Pricing\" href=\"https://dataforseo.com/pricing/serp/google-maps-serp-api\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page.",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "device": {
        -        "description": "<p><em>device type</em><p>optional field<p>return results for a specific device type<p>can take the values:<code>desktop</code>, <code>mobile</code><p>default value: <code>desktop</code><p><strong>note:</strong> for <code>mobile</code> device, only 20 results are returned for every SERP</p>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "keyword": {
        -        "description": "<p><em>keyword</em><p><strong>required field</strong><p>you can specify <strong>up to 700 characters</strong> in the <code>keyword</code> field<p>all %## will be decoded (plus character '+' will be decoded to a space character)<p>if you need to use the \"%\" character for your <code>keyword</code>, please specify it as \"%25\";<p>if you need to use the “+” character for your <code>keyword</code>, please specify it as “%2B”;<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a></p>",
        -        "type": "string"
        -      },
        -      "language_code": {
        -        "description": "<p><em>search engine language code</em><p><strong>required field if you don't specify</strong> <code>language_name</code><p><strong>if you use this field, you don't need to specify <code>language_name</code></strong><p>you can receive the list of available languages of the search engine with their <code>language_code</code>&nbsp;by making a separate request to the <code>https://api.dataforseo.com/v3/serp/google/languages</code><em><p></em>example:<em><p></em><code class=\"long-string\">en</code></p>",
        -        "type": "string"
        -      },
        -      "language_name": {
        -        "description": "<p><em>full name of search engine language</em><p><strong>required field if you don't specify</strong> <code>language_code</code><p><strong>if you use this field, you don't need to specify <code>language_code</code></strong><p>you can receive the list of available languages  of the search engine with their <code>language_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/google/languages</code><p>example:<p><code class=\"long-string\">English</code></p>",
        -        "type": "string"
        -      },
        -      "location_code": {
        -        "description": "<p><em>search engine location code</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/google/locations</code><p>example:<p><code class=\"long-string\">2840</code></p>",
        -        "type": "integer"
        -      },
        -      "location_coordinate": {
        -        "description": "<p><em>GPS coordinates of a location</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_code</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_code</code></strong><p><code>location_coordinate</code> parameter should be specified in the <em>\"latitude,longitude,zoom\"</em> format<p>if <em>\"zoom\"</em> is not specified, <em>17z</em> will be applied as a default value<p>the maximum number of decimal digits for <em>\"latitude\"</em> and <em>\"longitude\"</em>: 7<p>the minimum value for <em>\"zoom\"</em>: 3z<p>the maximum value for <em>\"zoom\"</em>: 21z<p>example:<p><code class=\"long-string\">52.6178549,-155.352142,20z</code></p>",
        -        "type": "string"
        -      },
        -      "location_name": {
        -        "description": "<p><em>full name of search engine location</em><p><strong>required field if you don't specify</strong> <code>location_code</code> or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_code</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/google/locations</code><p>example:<p><code class=\"long-string\">London,England,United Kingdom</code></p>",
        -        "type": "string"
        -      },
        -      "max_crawl_pages": {
        -        "description": "<p><em>page crawl limit</em><p>optional field<p>number of search results pages to crawl<p>max value: <code>100</code><p><strong>Note:</strong> the <code>max_crawl_pages</code> and <code>depth</code> parameters complement each other;<p>learn more at <a href=\"https://dataforseo.com/help-center/what-is-max-crawl-pages-and-how-does-it-work\" rel=\"noopener noreferrer\" target=\"_blank\">our help center</a></p>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "os": {
        -        "description": "<p><em>device operating system</em><p>optional field<p>if you specify <code>desktop</code> in the <code>device</code> field, choose from the following values: <code>windows</code>, <code>macos</code><p>default value: <code>windows</code><p>if you specify <code>mobile</code> in the <code>device</code> field, choose from the following values: <code>android</code>, <code>ios</code><p>default value: <code>android</code></p>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "se_domain": {
        -        "description": "<p><em>search engine domain</em><p>optional field<p>we choose the relevant search engine domain automatically according to the location and language you specify<p>however, you can set a custom search engine domain in this field<p>example:<p><code><em>google.co.uk</em></code>, <code><em>google.com.au</em></code>, <code><em>google.de</em></code>, etc.</p>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "search_places": {
        -        "description": "<p><em>search places mode</em><p>optional field<p>the search places mode allows to obtain Google Maps results on a certain place (e.g., Apple Store in New York)<p>however, due to the pecularities of our data mining algorithm, this mode might interfere with some local-intent queries - and display results for a location that is different from that specified in the request;<p>to prevent this interference and obtain correct results for keywords with local intent you may set this parameter to <code>false</code>;</p><br><p>default value: <code>true</code><p><strong>Note:</strong> if the <code>search_places</code> mode is turned off and no results were found in the search area, the <code>results</code> array will be empty</p>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "search_this_area": {
        -        "description": "<p><em>show results from the displayed area</em><p>optional field<p>can take the values:<code>true</code>, <code>false</code><p>default value: <code>true</code></p><br><p>if set to <code>false</code>, the <code>search_this_area</code> mode will be turned off</p><br><p><strong>Note:</strong> if the <code>search_this_area</code> mode is turned off, Google Maps listings might contain results beyond the displayed area</p>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<p><em>user-defined task identifier</em><p>optional field<p><em>the character limit is 255</em><p>you can use this parameter to identify the task and match it with the result<p>you will find the specified <code>tag</code> value in the <code>data</code> object of the response</p>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "url": {
        -        "description": "<p><em>direct URL of the search query</em><p>optional field<p>you can specify a direct URL and we will sort it out to the necessary fields. Note that this method is the most difficult for our API to process and also requires you to specify the exact language and location in the URL. In most cases, we wouldn’t recommend using this method.<p>example:<p><code class=\"long-string\">https://google.com/maps/search/pizza/@37.09024,-95.712891,4z</code></p><br><strong>Note:</strong> the following search engine parameters are not supported and will be automatically unset if specified in the URL: <code>allinanchor:</code>, <code>allintext:</code>, <code>allintitle:</code>, <code>allinurl:</code>, <code>cache:</code>, <code>define:</code>, <code>definition:</code>, <code>filetype:</code>, <code>id:</code>, <code>inanchor:</code>, <code>info:</code>, <code>intext:</code>, <code>intitle:</code>, <code>inurl:</code>, <code>link:</code>, <code>site:</code>.",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / oneOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "keyword": "albert einstein",
        +        "language_code": "en",
        +        "location_code": 2840
        +      }
        +    ],
        +    "properties": {
        +      "depth": {
        +        "description": "<p><em>parsing depth</em><p>optional field<p>number of results in SERP<p>default value: <code>100</code><p>max value: <code>700</code></p><br><strong>Your account will be billed per each SERP containing up to 100 results;</strong><p>Setting depth above 100 may result in additional charges <a href=\"https://dataforseo.com/help-center/how-many-results-scraped\" rel=\"noopener noreferrer\" target=\"_blank\">if the search engine returns more than 100 results</a>;<p>The cost can be calculated on the <a title=\"Pricing\" href=\"https://dataforseo.com/pricing/serp/google-maps-serp-api\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page.",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "device": {
        +        "description": "<p><em>device type</em><p>optional field<p>return results for a specific device type<p>can take the values:<code>desktop</code>, <code>mobile</code><p>default value: <code>desktop</code><p><strong>note:</strong> for <code>mobile</code> device, only 20 results are returned for every SERP</p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "keyword": {
        +        "description": "<p><em>keyword</em><p><strong>required field</strong><p>you can specify <strong>up to 700 characters</strong> in the <code>keyword</code> field<p>all %## will be decoded (plus character '+' will be decoded to a space character)<p>if you need to use the \"%\" character for your <code>keyword</code>, please specify it as \"%25\";<p>if you need to use the “+” character for your <code>keyword</code>, please specify it as “%2B”;<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a></p>",
        +        "type": "string"
        +      },
        +      "language_code": {
        +        "description": "<p><em>search engine language code</em><p><strong>required field if you don't specify</strong> <code>language_name</code><p><strong>if you use this field, you don't need to specify <code>language_name</code></strong><p>you can receive the list of available languages of the search engine with their <code>language_code</code>&nbsp;by making a separate request to the <code>https://api.dataforseo.com/v3/serp/google/languages</code><em><p></em>example:<em><p></em><code class=\"long-string\">en</code></p>",
        +        "type": "string"
        +      },
        +      "language_name": {
        +        "description": "<p><em>full name of search engine language</em><p><strong>required field if you don't specify</strong> <code>language_code</code><p><strong>if you use this field, you don't need to specify <code>language_code</code></strong><p>you can receive the list of available languages  of the search engine with their <code>language_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/google/languages</code><p>example:<p><code class=\"long-string\">English</code></p>",
        +        "type": "string"
        +      },
        +      "location_code": {
        +        "description": "<p><em>search engine location code</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/google/locations</code><p>example:<p><code class=\"long-string\">2840</code></p>",
        +        "type": "integer"
        +      },
        +      "location_coordinate": {
        +        "description": "<p><em>GPS coordinates of a location</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_code</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_code</code></strong><p><code>location_coordinate</code> parameter should be specified in the <em>\"latitude,longitude,zoom\"</em> format<p>if <em>\"zoom\"</em> is not specified, <em>17z</em> will be applied as a default value<p>the maximum number of decimal digits for <em>\"latitude\"</em> and <em>\"longitude\"</em>: 7<p>the minimum value for <em>\"zoom\"</em>: 3z<p>the maximum value for <em>\"zoom\"</em>: 21z<p>example:<p><code class=\"long-string\">52.6178549,-155.352142,20z</code></p>",
        +        "type": "string"
        +      },
        +      "location_name": {
        +        "description": "<p><em>full name of search engine location</em><p><strong>required field if you don't specify</strong> <code>location_code</code> or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_code</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/google/locations</code><p>example:<p><code class=\"long-string\">London,England,United Kingdom</code></p>",
        +        "type": "string"
        +      },
        +      "max_crawl_pages": {
        +        "description": "<p><em>page crawl limit</em><p>optional field<p>number of search results pages to crawl<p>max value: <code>100</code><p><strong>Note:</strong> the <code>max_crawl_pages</code> and <code>depth</code> parameters complement each other;<p>learn more at <a href=\"https://dataforseo.com/help-center/what-is-max-crawl-pages-and-how-does-it-work\" rel=\"noopener noreferrer\" target=\"_blank\">our help center</a></p>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "os": {
        +        "description": "<p><em>device operating system</em><p>optional field<p>if you specify <code>desktop</code> in the <code>device</code> field, choose from the following values: <code>windows</code>, <code>macos</code><p>default value: <code>windows</code><p>if you specify <code>mobile</code> in the <code>device</code> field, choose from the following values: <code>android</code>, <code>ios</code><p>default value: <code>android</code></p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "se_domain": {
        +        "description": "<p><em>search engine domain</em><p>optional field<p>we choose the relevant search engine domain automatically according to the location and language you specify<p>however, you can set a custom search engine domain in this field<p>example:<p><code><em>google.co.uk</em></code>, <code><em>google.com.au</em></code>, <code><em>google.de</em></code>, etc.</p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "search_places": {
        +        "description": "<p><em>search places mode</em><p>optional field<p>the search places mode allows to obtain Google Maps results on a certain place (e.g., Apple Store in New York)<p>however, due to the pecularities of our data mining algorithm, this mode might interfere with some local-intent queries - and display results for a location that is different from that specified in the request;<p>to prevent this interference and obtain correct results for keywords with local intent you may set this parameter to <code>false</code>;</p><br><p>default value: <code>true</code><p><strong>Note:</strong> if the <code>search_places</code> mode is turned off and no results were found in the search area, the <code>results</code> array will be empty</p>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "search_this_area": {
        +        "description": "<p><em>show results from the displayed area</em><p>optional field<p>can take the values:<code>true</code>, <code>false</code><p>default value: <code>true</code></p><br><p>if set to <code>false</code>, the <code>search_this_area</code> mode will be turned off</p><br><p><strong>Note:</strong> if the <code>search_this_area</code> mode is turned off, Google Maps listings might contain results beyond the displayed area</p>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<p><em>user-defined task identifier</em><p>optional field<p><em>the character limit is 255</em><p>you can use this parameter to identify the task and match it with the result<p>you will find the specified <code>tag</code> value in the <code>data</code> object of the response</p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "url": {
        +        "description": "<p><em>direct URL of the search query</em><p>optional field<p>you can specify a direct URL and we will sort it out to the necessary fields. Note that this method is the most difficult for our API to process and also requires you to specify the exact language and location in the URL. In most cases, we wouldn’t recommend using this method.<p>example:<p><code class=\"long-string\">https://google.com/maps/search/pizza/@37.09024,-95.712891,4z</code></p><br><strong>Note:</strong> the following search engine parameters are not supported and will be automatically unset if specified in the URL: <code>allinanchor:</code>, <code>allintext:</code>, <code>allintitle:</code>, <code>allinurl:</code>, <code>cache:</code>, <code>define:</code>, <code>definition:</code>, <code>filetype:</code>, <code>id:</code>, <code>inanchor:</code>, <code>info:</code>, <code>intext:</code>, <code>intitle:</code>, <code>inurl:</code>, <code>link:</code>, <code>site:</code>.",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_serp_google_news_live2 fields changed
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "keyword": "android",
        -        "language_code": "en",
        -        "location_code": 2840
        -      }
        -    ],
        -    "properties": {
        -      "browser_screen_height": {
        -        "description": "<p><em>browser screen height</em><p>optional field<p>you can set a custom browser screen height to calculate pixel rankings for a particular device;<p>by default, the parameter is set to <code>1080</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "browser_screen_resolution_ratio": {
        -        "description": "<p><em>browser screen resolution ratio</em><p>optional field<p>you can set a custom browser screen resolution ratio to calculate pixel rankings for a particular device;<p>by default, the parameter is set to <code>1</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "browser_screen_width": {
        -        "description": "<p><em>browser screen width</em><p>optional field<p>you can set a custom browser screen width to calculate pixel rankings for a particular device;<p>by default, the parameter is set to <code>1920</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
        -        "format": "int64",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "calculate_rectangles": {
        -        "description": "<p><em>calculate pixel rankings for SERP elements in advanced results</em><p>optional field<p>pixel ranking refers to the distance between the result snippet and top left corner of the screen;<p><a href=\"https://dataforseo.com/help-center/pixel-ranking-in-serp-api\">Visit Help Center to learn more&gt;&gt;</a><p>by default, the parameter is set to <code>false</code><p><strong>Note:</strong> if set to <code>true</code>, the charge per task will be multiplied by 2</p>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "depth": {
        -        "description": "<p><em>parsing depth</em><p>optional field<p>number of results in SERP<p>default value: <code>10</code><p>max value: <code>200</code></p><br><strong>Your account will be billed per each SERP containing up to 10 results;</strong><p>Setting depth above 10 may result in additional charges if the search engine returns more than 10 results;<p>If the specified depth is higher than the number of results in the response, the difference will be refunded to your account balance automatically<p>The cost can be calculated on the <a title=\"Pricing\" href=\"https://dataforseo.com/pricing/serp/google-news-serp-api\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page.",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "keyword": {
        -        "description": "<p><em>keyword</em><p><strong>required field</strong><p>you can specify <strong>up to 700 characters</strong> in the <code>keyword</code> field<p>all %## will be decoded (plus character '+' will be decoded to a space character)<p>if you need to use the \"%\" character for your <code>keyword</code>, please specify it as \"%25\";<p>if you need to use the “+” character for your <code>keyword</code>, please specify it as “%2B”;<p>if this field contains such parameters as <em>'allinanchor:', 'allintext:', 'allintitle:', 'allinurl:', 'define:', 'filetype:', 'id:', 'inanchor:', 'info:', 'intext:', 'intitle:', 'inurl:', 'link:', 'related:', 'site:'</em>, <strong>the charge per task will be multiplied by 5</strong><p><strong>Note:</strong> queries containing the ‘cache:’ parameter are not supported and will return a validation error</p><br><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a></p>",
        -        "type": "string"
        -      },
        -      "language_code": {
        -        "description": "<p><em>search engine language code</em><p><strong>required field if you don't specify</strong> <code>language_name</code><p><strong>if you use this field, you don't need to specify <code>language_name</code></strong><p>you can receive the list of available languages of the search engine with their <code>language_code</code>&nbsp;by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages</code><em><p></em>example:<em><p></em><code class=\"long-string\">en</code></p>",
        -        "type": "string"
        -      },
        -      "language_name": {
        -        "description": "<p><em>full name of search engine language</em><p><strong>required field if you don't specify</strong> <code>language_code</code><p><strong>if you use this field, you don't need to specify <code>language_code</code></strong><p>you can receive the list of available languages of the search engine with their <code>language_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages</code><p>example:<p><code class=\"long-string\">English</code></p>",
        -        "type": "string"
        -      },
        -      "location_code": {
        -        "description": "<p><em>search engine location code</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations</code><p>example:<p><code class=\"long-string\">2840</code></p>",
        -        "type": "integer"
        -      },
        -      "location_coordinate": {
        -        "description": "<p><em>GPS coordinates of a location</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_code</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_code</code></strong><p><code>location_coordinate</code> parameter should be specified in the <em>\"latitude,longitude,radius\"</em> format<p>the maximum number of decimal digits for <em>\"latitude\"</em> and <em>\"longitude\"</em>: 7<p>the minimum value for <em>\"radius\"</em>: 199.9 (mm)<p>the maximum value for <em>\"radius\"</em>: 199999 (mm)<p>example:<p><code class=\"long-string\">53.476225,-2.243572,200</code></p>",
        -        "type": "string"
        -      },
        -      "location_name": {
        -        "description": "<p><em>full name of search engine location</em><p><strong>required field if you don't specify</strong> <code>location_code</code> or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_code</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations</code><p>example:<p><code class=\"long-string\">London,England,United Kingdom</code></p>",
        -        "type": "string"
        -      },
        -      "max_crawl_pages": {
        -        "description": "<p><em>page crawl limit</em><p>optional field<p>number of search results pages to crawl<p>max value: <code>100</code><p><strong>Note:</strong> the <code>max_crawl_pages</code> and <code>depth</code> parameters complement each other;<p>learn more at <a href=\"https://dataforseo.com/help-center/what-is-max-crawl-pages-and-how-does-it-work\" rel=\"noopener noreferrer\" target=\"_blank\">our help center</a></p>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "os": {
        -        "description": "<p><em>device operating system</em><p>optional field<p><strong>note that this API provides results for desktop only</strong><p>choose from the following values: <code>windows</code>, <code>macos</code><p>default value: <code>windows</code></p>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "se_domain": {
        -        "description": "<p><em>search engine domain</em><p>optional field<p>we choose the relevant search engine domain automatically according to the location and language you specify<p>however, you can set a custom search engine domain in this field<p>example:<p><code><em>google.co.uk</em></code>, <code><em>google.com.au</em></code>, <code><em>google.de</em></code>, etc.</p>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "search_param": {
        -        "description": "<p><em>additional parameters of the search query</em><p>optional field<p><a href=\"https://dataforseo.com/help-center/google-search-engine-parameters-and-how-to-use-them\">Get the list of available parameters and additional details here.</a></p>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "url": {
        -        "description": "<p><em>direct URL of the search query</em><p>optional field<p>you can specify a direct URL and we will sort it out to the necessary fields. Note that this method is the most difficult for our API to process and also requires you to specify the exact language and location in the URL. In most cases, we wouldn’t recommend using this method.<p>example:<p><code class=\"long-string\">https://www.google.co.uk/search?q=%20rank%20tracker%20api&amp;hl=en&amp;gl=GB&amp;uule=w+CAIQIFISCXXeIa8LoNhHEZkq1d1aOpZS</code></p>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / oneOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "keyword": "android",
        +        "language_code": "en",
        +        "location_code": 2840
        +      }
        +    ],
        +    "properties": {
        +      "browser_screen_height": {
        +        "description": "<p><em>browser screen height</em><p>optional field<p>you can set a custom browser screen height to calculate pixel rankings for a particular device;<p>by default, the parameter is set to <code>1080</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "browser_screen_resolution_ratio": {
        +        "description": "<p><em>browser screen resolution ratio</em><p>optional field<p>you can set a custom browser screen resolution ratio to calculate pixel rankings for a particular device;<p>by default, the parameter is set to <code>1</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "browser_screen_width": {
        +        "description": "<p><em>browser screen width</em><p>optional field<p>you can set a custom browser screen width to calculate pixel rankings for a particular device;<p>by default, the parameter is set to <code>1920</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
        +        "format": "int64",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "calculate_rectangles": {
        +        "description": "<p><em>calculate pixel rankings for SERP elements in advanced results</em><p>optional field<p>pixel ranking refers to the distance between the result snippet and top left corner of the screen;<p><a href=\"https://dataforseo.com/help-center/pixel-ranking-in-serp-api\">Visit Help Center to learn more&gt;&gt;</a><p>by default, the parameter is set to <code>false</code><p><strong>Note:</strong> if set to <code>true</code>, the charge per task will be multiplied by 2</p>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "depth": {
        +        "description": "<p><em>parsing depth</em><p>optional field<p>number of results in SERP<p>default value: <code>10</code><p>max value: <code>200</code></p><br><strong>Your account will be billed per each SERP containing up to 10 results;</strong><p>Setting depth above 10 may result in additional charges if the search engine returns more than 10 results;<p>If the specified depth is higher than the number of results in the response, the difference will be refunded to your account balance automatically<p>The cost can be calculated on the <a title=\"Pricing\" href=\"https://dataforseo.com/pricing/serp/google-news-serp-api\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page.",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "keyword": {
        +        "description": "<p><em>keyword</em><p><strong>required field</strong><p>you can specify <strong>up to 700 characters</strong> in the <code>keyword</code> field<p>all %## will be decoded (plus character '+' will be decoded to a space character)<p>if you need to use the \"%\" character for your <code>keyword</code>, please specify it as \"%25\";<p>if you need to use the “+” character for your <code>keyword</code>, please specify it as “%2B”;<p>if this field contains such parameters as <em>'allinanchor:', 'allintext:', 'allintitle:', 'allinurl:', 'define:', 'filetype:', 'id:', 'inanchor:', 'info:', 'intext:', 'intitle:', 'inurl:', 'link:', 'related:', 'site:'</em>, <strong>the charge per task will be multiplied by 5</strong><p><strong>Note:</strong> queries containing the ‘cache:’ parameter are not supported and will return a validation error</p><br><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a></p>",
        +        "type": "string"
        +      },
        +      "language_code": {
        +        "description": "<p><em>search engine language code</em><p><strong>required field if you don't specify</strong> <code>language_name</code><p><strong>if you use this field, you don't need to specify <code>language_name</code></strong><p>you can receive the list of available languages of the search engine with their <code>language_code</code>&nbsp;by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages</code><em><p></em>example:<em><p></em><code class=\"long-string\">en</code></p>",
        +        "type": "string"
        +      },
        +      "language_name": {
        +        "description": "<p><em>full name of search engine language</em><p><strong>required field if you don't specify</strong> <code>language_code</code><p><strong>if you use this field, you don't need to specify <code>language_code</code></strong><p>you can receive the list of available languages of the search engine with their <code>language_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages</code><p>example:<p><code class=\"long-string\">English</code></p>",
        +        "type": "string"
        +      },
        +      "location_code": {
        +        "description": "<p><em>search engine location code</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations</code><p>example:<p><code class=\"long-string\">2840</code></p>",
        +        "type": "integer"
        +      },
        +      "location_coordinate": {
        +        "description": "<p><em>GPS coordinates of a location</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_code</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_code</code></strong><p><code>location_coordinate</code> parameter should be specified in the <em>\"latitude,longitude,radius\"</em> format<p>the maximum number of decimal digits for <em>\"latitude\"</em> and <em>\"longitude\"</em>: 7<p>the minimum value for <em>\"radius\"</em>: 199.9 (mm)<p>the maximum value for <em>\"radius\"</em>: 199999 (mm)<p>example:<p><code class=\"long-string\">53.476225,-2.243572,200</code></p>",
        +        "type": "string"
        +      },
        +      "location_name": {
        +        "description": "<p><em>full name of search engine location</em><p><strong>required field if you don't specify</strong> <code>location_code</code> or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_code</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations</code><p>example:<p><code class=\"long-string\">London,England,United Kingdom</code></p>",
        +        "type": "string"
        +      },
        +      "max_crawl_pages": {
        +        "description": "<p><em>page crawl limit</em><p>optional field<p>number of search results pages to crawl<p>max value: <code>100</code><p><strong>Note:</strong> the <code>max_crawl_pages</code> and <code>depth</code> parameters complement each other;<p>learn more at <a href=\"https://dataforseo.com/help-center/what-is-max-crawl-pages-and-how-does-it-work\" rel=\"noopener noreferrer\" target=\"_blank\">our help center</a></p>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "os": {
        +        "description": "<p><em>device operating system</em><p>optional field<p><strong>note that this API provides results for desktop only</strong><p>choose from the following values: <code>windows</code>, <code>macos</code><p>default value: <code>windows</code></p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "se_domain": {
        +        "description": "<p><em>search engine domain</em><p>optional field<p>we choose the relevant search engine domain automatically according to the location and language you specify<p>however, you can set a custom search engine domain in this field<p>example:<p><code><em>google.co.uk</em></code>, <code><em>google.com.au</em></code>, <code><em>google.de</em></code>, etc.</p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "search_param": {
        +        "description": "<p><em>additional parameters of the search query</em><p>optional field<p><a href=\"https://dataforseo.com/help-center/google-search-engine-parameters-and-how-to-use-them\">Get the list of available parameters and additional details here.</a></p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "url": {
        +        "description": "<p><em>direct URL of the search query</em><p>optional field<p>you can specify a direct URL and we will sort it out to the necessary fields. Note that this method is the most difficult for our API to process and also requires you to specify the exact language and location in the URL. In most cases, we wouldn’t recommend using this method.<p>example:<p><code class=\"long-string\">https://www.google.co.uk/search?q=%20rank%20tracker%20api&amp;hl=en&amp;gl=GB&amp;uule=w+CAIQIFISCXXeIa8LoNhHEZkq1d1aOpZS</code></p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_serp_google_organic_live2 fields changed
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "calculate_rectangles": true,
        -        "keyword": "albert einstein",
        -        "language_code": "en",
        -        "location_code": 2840
        -      }
        -    ],
        -    "properties": {
        -      "browser_screen_height": {
        -        "description": "browser screen heightoptional fieldyou can set a custom browser screen height to calculate pixel rankings for a particular device;can be specified within the following range: 240-9999;by default, the parameter is set to:1080 for desktop;640 for mobile on android;812 for mobile on iOS;Note: to use this parameter, set calculate_rectangles to true",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "browser_screen_resolution_ratio": {
        -        "description": "browser screen resolution ratiooptional fieldyou can set a custom browser screen resolution ratio to calculate pixel rankings for a particular device;can be specified within the following range: 0.5-3;by default, the parameter is set to:1 for desktop;3 for mobile on android;3 for mobile on iOS;Note: to use this parameter, set calculate_rectangles to true",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "browser_screen_width": {
        -        "description": "browser screen widthoptional fieldyou can set a custom browser screen width to calculate pixel rankings for a particular device;can be specified within the following range: 240-9999;by default, the parameter is set to:1920 for desktop;360 for mobile on android;375 for mobile on iOS;Note: to use this parameter, set calculate_rectangles to true",
        -        "format": "int64",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "calculate_rectangles": {
        -        "description": "calcualte pixel rankings for SERP elements in advanced resultsoptional fieldpixel ranking refers to the distance between the result snippet and top left corner of the screen;Visit Help Center to learn more>>by default, the parameter is set to false;\n\nFor current API pricing, see the published x-aisa-pricing metadata. Where supported, obtain a quote for your exact request.",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "depth": {
        -        "description": "parsing depthoptional fieldnumber of results in SERPdefault value: 10max value: 200Your account will be billed per each SERP containing up to 10 results;Setting depth above 10 may result in additional charges if the search engine returns more than 10 results;The cost can be calculated on the Pricing page.",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "device": {
        -        "description": "device typeoptional fieldreturn results for a specific device typecan take the values:desktop, mobiledefault value: desktop",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "find_targets_in": {
        -        "description": "SERP element types to check for targetsoptional fieldto enable this parameter, stop_crawl_on_match must also be enabledspecifies which SERP element types should be checked for target matchesif not specified, all first-level elements with url and domain fields are checked for targetspossible values: organic, paid, local_pack, featured_snippet, events, google_flights, images, jobs, knowledge_graph, local_service, map, scholarly_articles, third_party_reviews, twitterNote: cannot contain the same element types as ignore_targets_inexample:\"find_targets_in\": [\"organic\", \"featured_snippet\"]learn more about this parameter on our Help Center",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "group_organic_results": {
        -        "description": "display related resultsoptional fieldif set to true, the related_result element in the response will be provided as a snippet of its parent organic result;if set to false, the related_result element will be provided as a separate organic result;default value: true",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "ignore_targets_in": {
        -        "description": "SERP element types to exclude from target searchoptional fieldto enable this parameter, stop_crawl_on_match must also be enabledspecifies which SERP element types should be excluded when searching for target matchespossible values: organic, paid, local_pack, featured_snippet, events, google_flights, images, jobs, knowledge_graph, local_service, map, scholarly_articles, third_party_reviews, twitterNote: cannot contain the same element types as find_targets_inexample:\"ignore_targets_in\": [\"paid\", \"images\"]learn more about this parameter on our Help Center",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "keyword": {
        -        "description": "keywordrequired fieldyou can specify up to 700 characters in the keyword fieldall %## will be decoded (plus character ‘+’ will be decoded to a space character)if you need to use the “%” character for your keyword, please specify it as “%25”;if you need to use the “+” character for your keyword, please specify it as “%2B”;if this field contains such parameters as ‘allinanchor:’, ‘allintext:’, ‘allintitle:’, ‘allinurl:’, ‘cache:’, ‘define:’, ‘definition:’, ‘filetype:’, ‘id:’, ‘inanchor:’, ‘info:’, ‘intext:’, ‘intitle:’, ‘inurl:’, ‘link:’, ‘site:’, the charge per task will be multiplied by 5learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        -        "type": "string"
        -      },
        -      "language_code": {
        -        "description": "search engine language codeoptional field if you specify language_nameif you use this field, you don't need to specify language_nameyou can receive the list of available languages of the search engine with their language_code by making a separate request to the https://api.dataforseo.com/v3/serp/google/languagesexample:en",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "language_name": {
        -        "description": "full name of search engine languageoptional field if you specify language_codeif you use this field, you don't need to specify language_codeyou can receive the list of available languages of the search engine with their language_name by making a separate request to the https://api.dataforseo.com/v3/serp/google/languagesexample:English",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "load_async_ai_overview": {
        -        "description": "load asynchronous ai overviewoptional fieldset to true to obtain ai_overview items is SERPs even if they are loaded asynchronously;if set to false, you will only obtain ai_overview items from cache;default value: falseif the element is absent or contains \"asynchronous_ai_overview\": false, all extra charges will be returned to your account balance\n\nFor current API pricing, see the published x-aisa-pricing metadata. Where supported, obtain a quote for your exact request.",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "location_code": {
        -        "description": "search engine location coderequired field if you don't specify location_name or location_coordinateif you use this field, you don't need to specify location_name or location_coordinateyou can receive the list of available locations of the search engines with their location_code by making a separate request to the https://api.dataforseo.com/v3/serp/google/locationsexample:2840",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "location_coordinate": {
        -        "description": "GPS coordinates of a locationoptional field if you specify location_name or location_codeif you use this field, you don't need to specify location_name or location_codelocation_coordinate parameter should be specified in the \"latitude,longitude,radius\" formatthe maximum number of decimal digits for \"latitude\" and \"longitude\": 7the minimum value for \"radius\": 199 (mm)the maximum value for \"radius\": 199999 (mm)example:53.476225,-2.243572,200",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "location_name": {
        -        "description": "full name of search engine locationrequired field if you don't specify location_code or location_coordinateif you use this field, you don't need to specify location_code or location_coordinateyou can receive the list of available locations of the search engine with their location_name by making a separate request to the https://api.dataforseo.com/v3/serp/google/locationsexample:London,England,United Kingdom",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "match_type": {
        -        "description": "target match typerequired field if stop_crawl_on_match is specifiedtype of match for the match_valuepossible values:domain – specific domain or subdomainwith_subdomains – main domain and subdomainswildcard –  wildcard pattern",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "match_value": {
        -        "description": "target domain, subdomain, or wildcard valuerequired field if stop_crawl_on_match is specifiedspecify a target domain, subdomain, or wildcard value;Note: domain or subdomain must be specified without a request protocol;example: \"match_value\": \"dataforseo.com\",\"match_value\": \"/blog/post-*\"",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "max_crawl_pages": {
        -        "description": "page crawl limitoptional fieldnumber of search results pages to crawlmax value: 100Note: you will be charged for each page crawled (10 organic results per page);learn more about pricing on our Pricing page;Note#2: the max_crawl_pages and depth parameters complement each other;learn more at our help center",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "os": {
        -        "description": "device operating systemoptional fieldif you specify desktop in the device field, choose from the following values: windows, macosdefault value: windowsif you specify mobile in the device field, choose from the following values: android, iosdefault value: android",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "people_also_ask_click_depth": {
        -        "description": "clicks on the corresponding elementoptional fieldspecify the click depth on the people_also_ask element to get additional people_also_ask_element items;if the element is absent or we perform fewer clicks than you specified, all extra charges will be returned to your account balancepossible values: from 1 to 4\n\nFor current API pricing, see the published x-aisa-pricing metadata. Where supported, obtain a quote for your exact request.",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "remove_from_url": {
        -        "description": "remove specific parameters from URLsoptional fieldusing this field, you can specify up to 10 parameters to remove from URLs in the resultexample:\"remove_from_url\": [\"srsltid\"]Note: if the target field is specified, the specified URL parameters will be removed before the search",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "se_domain": {
        -        "description": "search engine domainoptional fieldwe choose the relevant search engine domain automatically according to the location and language you specifyhowever, you can set a custom search engine domain in this fieldexample:google.co.uk, google.com.au, google.de, etc.",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "search_param": {
        -        "description": "additional parameters of the search queryoptional fieldget the list of available parameters and additional details hereNote: the following search engine parameters are not supported and will be automatically unset if specified: lr, cr, as_qdr, as_sitesearch, as_occt, as_filetype.",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "stop_crawl_on_match": {
        -        "description": "array of targets to stop crawling\noptional field\nif specified, the response will contain SERP results up to and including the specified match_value;\nyou can specify up to 10 target values in this array\nexample:\n\"stop_crawl_on_match\":[{\"match_value\":\"dataforseo.com\",\"match_type\":\"with_subdomains\"}]\nlearn more about this parameter on our Help Center - https://dataforseo.com/help-center/using-the-stop_crawl_on_match-parameter-in-serp-api\nYour account will be billed per each SERP crawled through the specified targets",
        -        "items": {
        -          "anyOf": [
        -            {
        -              "properties": {
        -                "match_type": {
        -                  "description": "target match type\nrequired field if stop_crawl_on_match is specified;\ntype of match for the match_value\npossible values: domain, with_subdomains, wildcard",
        -                  "type": [
        -                    "string",
        -                    "null"
        -                  ]
        -                },
        -                "match_value": {
        -                  "description": "arget domain or wildcard value\nrequired field if stop_crawl_on_match is specified;\nspecify a target domain or wildcard value;\nNote: domain name must be specified without a request protocol;\nexample: dataforseo.com",
        -                  "type": [
        -                    "string",
        -                    "null"
        -                  ]
        -                }
        -              },
        -              "type": "object"
        -            }
        -          ],
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "user-defined task identifieroptional fieldthe character limit is 255you can use this parameter to identify the task and match it with the resultyou will find the specified tag value in the data object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "target": {
        -        "description": "target domain, subdomain, or webpage to get results foroptional fielda domain or a subdomain should be specified without https:// and www.note that the results of target-specific tasks will only include SERP elements that contain a url string;you can also use a wildcard (‘*’) character to specify the search pattern in SERP and narrow down the results;examples:example.com - returns results for the website's home page with URLs, such as https://example.com, or https://www.example.com/, or https://example.com/;example.com* - returns results for the domain, including all its pages;*example.com* - returns results for the entire domain, including all its pages and subdomains;*example.com - returns results for the home page regardless of the subdomain, such as https://en.example.com;example.com/example-page - returns results for the exact URL;example.com/example-page* - returns results for all domain's URLs that start with the specified string",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "target_search_mode": {
        -        "description": "target matching modeoptional fieldto enable this parameter, stop_crawl_on_match must also be enableddefines how the crawl should stop when multiple targets are specified in stop_crawl_on_matchpossible values: all, anyall – the crawl stops only when all specified targets are foundany – the crawl stops when any single target is founddefault value: anylearn more about this parameter on our Help Center",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "url": {
        -        "description": "direct URL of the search queryoptional fieldyou can specify a direct URL and we will sort it out to the necessary fields. Note that this method is the most difficult for our API to process and also requires you to specify the exact language and location in the URL. In most cases, we wouldn’t recommend using this method.example:https://www.google.co.uk/search?q=%20rank%20tracker%20api&hl=en&gl=GB&uule=w+CAIQIFISCXXeIa8LoNhHEZkq1d1aOpZSNote: the following search engine parameters are not supported and will be automatically unset if specified in the URL: lr, cr, as_qdr, as_sitesearch, as_occt, as_filetype.",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / oneOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "calculate_rectangles": true,
        +        "keyword": "albert einstein",
        +        "language_code": "en",
        +        "location_code": 2840
        +      }
        +    ],
        +    "properties": {
        +      "browser_screen_height": {
        +        "description": "browser screen heightoptional fieldyou can set a custom browser screen height to calculate pixel rankings for a particular device;can be specified within the following range: 240-9999;by default, the parameter is set to:1080 for desktop;640 for mobile on android;812 for mobile on iOS;Note: to use this parameter, set calculate_rectangles to true",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "browser_screen_resolution_ratio": {
        +        "description": "browser screen resolution ratiooptional fieldyou can set a custom browser screen resolution ratio to calculate pixel rankings for a particular device;can be specified within the following range: 0.5-3;by default, the parameter is set to:1 for desktop;3 for mobile on android;3 for mobile on iOS;Note: to use this parameter, set calculate_rectangles to true",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "browser_screen_width": {
        +        "description": "browser screen widthoptional fieldyou can set a custom browser screen width to calculate pixel rankings for a particular device;can be specified within the following range: 240-9999;by default, the parameter is set to:1920 for desktop;360 for mobile on android;375 for mobile on iOS;Note: to use this parameter, set calculate_rectangles to true",
        +        "format": "int64",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "calculate_rectangles": {
        +        "description": "calcualte pixel rankings for SERP elements in advanced resultsoptional fieldpixel ranking refers to the distance between the result snippet and top left corner of the screen;Visit Help Center to learn more>>by default, the parameter is set to false;\n\nFor current API pricing, see the published x-aisa-pricing metadata. Where supported, obtain a quote for your exact request.",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "depth": {
        +        "description": "parsing depthoptional fieldnumber of results in SERPdefault value: 10max value: 200Your account will be billed per each SERP containing up to 10 results;Setting depth above 10 may result in additional charges if the search engine returns more than 10 results;The cost can be calculated on the Pricing page.",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "device": {
        +        "description": "device typeoptional fieldreturn results for a specific device typecan take the values:desktop, mobiledefault value: desktop",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "find_targets_in": {
        +        "description": "SERP element types to check for targetsoptional fieldto enable this parameter, stop_crawl_on_match must also be enabledspecifies which SERP element types should be checked for target matchesif not specified, all first-level elements with url and domain fields are checked for targetspossible values: organic, paid, local_pack, featured_snippet, events, google_flights, images, jobs, knowledge_graph, local_service, map, scholarly_articles, third_party_reviews, twitterNote: cannot contain the same element types as ignore_targets_inexample:\"find_targets_in\": [\"organic\", \"featured_snippet\"]learn more about this parameter on our Help Center",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "group_organic_results": {
        +        "description": "display related resultsoptional fieldif set to true, the related_result element in the response will be provided as a snippet of its parent organic result;if set to false, the related_result element will be provided as a separate organic result;default value: true",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "ignore_targets_in": {
        +        "description": "SERP element types to exclude from target searchoptional fieldto enable this parameter, stop_crawl_on_match must also be enabledspecifies which SERP element types should be excluded when searching for target matchespossible values: organic, paid, local_pack, featured_snippet, events, google_flights, images, jobs, knowledge_graph, local_service, map, scholarly_articles, third_party_reviews, twitterNote: cannot contain the same element types as find_targets_inexample:\"ignore_targets_in\": [\"paid\", \"images\"]learn more about this parameter on our Help Center",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "keyword": {
        +        "description": "keywordrequired fieldyou can specify up to 700 characters in the keyword fieldall %## will be decoded (plus character ‘+’ will be decoded to a space character)if you need to use the “%” character for your keyword, please specify it as “%25”;if you need to use the “+” character for your keyword, please specify it as “%2B”;if this field contains such parameters as ‘allinanchor:’, ‘allintext:’, ‘allintitle:’, ‘allinurl:’, ‘cache:’, ‘define:’, ‘definition:’, ‘filetype:’, ‘id:’, ‘inanchor:’, ‘info:’, ‘intext:’, ‘intitle:’, ‘inurl:’, ‘link:’, ‘site:’, the charge per task will be multiplied by 5learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        +        "type": "string"
        +      },
        +      "language_code": {
        +        "description": "search engine language codeoptional field if you specify language_nameif you use this field, you don't need to specify language_nameyou can receive the list of available languages of the search engine with their language_code by making a separate request to the https://api.dataforseo.com/v3/serp/google/languagesexample:en",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "full name of search engine languageoptional field if you specify language_codeif you use this field, you don't need to specify language_codeyou can receive the list of available languages of the search engine with their language_name by making a separate request to the https://api.dataforseo.com/v3/serp/google/languagesexample:English",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "load_async_ai_overview": {
        +        "description": "load asynchronous ai overviewoptional fieldset to true to obtain ai_overview items is SERPs even if they are loaded asynchronously;if set to false, you will only obtain ai_overview items from cache;default value: falseif the element is absent or contains \"asynchronous_ai_overview\": false, all extra charges will be returned to your account balance\n\nFor current API pricing, see the published x-aisa-pricing metadata. Where supported, obtain a quote for your exact request.",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "location_code": {
        +        "description": "search engine location coderequired field if you don't specify location_name or location_coordinateif you use this field, you don't need to specify location_name or location_coordinateyou can receive the list of available locations of the search engines with their location_code by making a separate request to the https://api.dataforseo.com/v3/serp/google/locationsexample:2840",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_coordinate": {
        +        "description": "GPS coordinates of a locationoptional field if you specify location_name or location_codeif you use this field, you don't need to specify location_name or location_codelocation_coordinate parameter should be specified in the \"latitude,longitude,radius\" formatthe maximum number of decimal digits for \"latitude\" and \"longitude\": 7the minimum value for \"radius\": 199 (mm)the maximum value for \"radius\": 199999 (mm)example:53.476225,-2.243572,200",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "location_name": {
        +        "description": "full name of search engine locationrequired field if you don't specify location_code or location_coordinateif you use this field, you don't need to specify location_code or location_coordinateyou can receive the list of available locations of the search engine with their location_name by making a separate request to the https://api.dataforseo.com/v3/serp/google/locationsexample:London,England,United Kingdom",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "match_type": {
        +        "description": "target match typerequired field if stop_crawl_on_match is specifiedtype of match for the match_valuepossible values:domain – specific domain or subdomainwith_subdomains – main domain and subdomainswildcard –  wildcard pattern",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "match_value": {
        +        "description": "target domain, subdomain, or wildcard valuerequired field if stop_crawl_on_match is specifiedspecify a target domain, subdomain, or wildcard value;Note: domain or subdomain must be specified without a request protocol;example: \"match_value\": \"dataforseo.com\",\"match_value\": \"/blog/post-*\"",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "max_crawl_pages": {
        +        "description": "page crawl limitoptional fieldnumber of search results pages to crawlmax value: 100Note: you will be charged for each page crawled (10 organic results per page);learn more about pricing on our Pricing page;Note#2: the max_crawl_pages and depth parameters complement each other;learn more at our help center",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "os": {
        +        "description": "device operating systemoptional fieldif you specify desktop in the device field, choose from the following values: windows, macosdefault value: windowsif you specify mobile in the device field, choose from the following values: android, iosdefault value: android",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "people_also_ask_click_depth": {
        +        "description": "clicks on the corresponding elementoptional fieldspecify the click depth on the people_also_ask element to get additional people_also_ask_element items;if the element is absent or we perform fewer clicks than you specified, all extra charges will be returned to your account balancepossible values: from 1 to 4\n\nFor current API pricing, see the published x-aisa-pricing metadata. Where supported, obtain a quote for your exact request.",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "remove_from_url": {
        +        "description": "remove specific parameters from URLsoptional fieldusing this field, you can specify up to 10 parameters to remove from URLs in the resultexample:\"remove_from_url\": [\"srsltid\"]Note: if the target field is specified, the specified URL parameters will be removed before the search",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "se_domain": {
        +        "description": "search engine domainoptional fieldwe choose the relevant search engine domain automatically according to the location and language you specifyhowever, you can set a custom search engine domain in this fieldexample:google.co.uk, google.com.au, google.de, etc.",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "search_param": {
        +        "description": "additional parameters of the search queryoptional fieldget the list of available parameters and additional details hereNote: the following search engine parameters are not supported and will be automatically unset if specified: lr, cr, as_qdr, as_sitesearch, as_occt, as_filetype.",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "stop_crawl_on_match": {
        +        "description": "array of targets to stop crawling\noptional field\nif specified, the response will contain SERP results up to and including the specified match_value;\nyou can specify up to 10 target values in this array\nexample:\n\"stop_crawl_on_match\":[{\"match_value\":\"dataforseo.com\",\"match_type\":\"with_subdomains\"}]\nlearn more about this parameter on our Help Center - https://dataforseo.com/help-center/using-the-stop_crawl_on_match-parameter-in-serp-api\nYour account will be billed per each SERP crawled through the specified targets",
        +        "items": {
        +          "oneOf": [
        +            {
        +              "properties": {
        +                "match_type": {
        +                  "description": "target match type\nrequired field if stop_crawl_on_match is specified;\ntype of match for the match_value\npossible values: domain, with_subdomains, wildcard",
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                },
        +                "match_value": {
        +                  "description": "arget domain or wildcard value\nrequired field if stop_crawl_on_match is specified;\nspecify a target domain or wildcard value;\nNote: domain name must be specified without a request protocol;\nexample: dataforseo.com",
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                }
        +              },
        +              "type": "object"
        +            }
        +          ],
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "user-defined task identifieroptional fieldthe character limit is 255you can use this parameter to identify the task and match it with the resultyou will find the specified tag value in the data object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "target": {
        +        "description": "target domain, subdomain, or webpage to get results foroptional fielda domain or a subdomain should be specified without https:// and www.note that the results of target-specific tasks will only include SERP elements that contain a url string;you can also use a wildcard (‘*’) character to specify the search pattern in SERP and narrow down the results;examples:example.com - returns results for the website's home page with URLs, such as https://example.com, or https://www.example.com/, or https://example.com/;example.com* - returns results for the domain, including all its pages;*example.com* - returns results for the entire domain, including all its pages and subdomains;*example.com - returns results for the home page regardless of the subdomain, such as https://en.example.com;example.com/example-page - returns results for the exact URL;example.com/example-page* - returns results for all domain's URLs that start with the specified string",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "target_search_mode": {
        +        "description": "target matching modeoptional fieldto enable this parameter, stop_crawl_on_match must also be enableddefines how the crawl should stop when multiple targets are specified in stop_crawl_on_matchpossible values: all, anyall – the crawl stops only when all specified targets are foundany – the crawl stops when any single target is founddefault value: anylearn more about this parameter on our Help Center",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "url": {
        +        "description": "direct URL of the search queryoptional fieldyou can specify a direct URL and we will sort it out to the necessary fields. Note that this method is the most difficult for our API to process and also requires you to specify the exact language and location in the URL. In most cases, we wouldn’t recommend using this method.example:https://www.google.co.uk/search?q=%20rank%20tracker%20api&hl=en&gl=GB&uule=w+CAIQIFISCXXeIa8LoNhHEZkq1d1aOpZSNote: the following search engine parameters are not supported and will be automatically unset if specified in the URL: lr, cr, as_qdr, as_sitesearch, as_occt, as_filetype.",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedpost_dataforseo_serp_youtube_organic_live2 fields changed
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "keyword": "audi",
        -        "language_code": "en",
        -        "location_code": 2840
        -      }
        -    ],
        -    "properties": {
        -      "block_depth": {
        -        "description": "parsing depth\noptional field\nnumber of blocks of results in SERP\ndefault value: 20\nmax value: 200\nNote: your account will be billed per each SERP containing up to 20 results;\nthus, setting a block depth above 20 may result in additional charges if the search engine returns more than 20 results;\nif the specified block depth is higher than the number of results in the response, the difference will be refunded automatically to your account balance",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "device": {
        -        "description": "device type\noptional field\nreturn results for a specific device type\navailable values: desktop, mobile",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "keyword": {
        -        "description": "keyword\nrequired field\nyou can specify up to 700 characters in the keyword field\nall %## will be decoded (plus character ‘+’ will be decoded to a space character)\nif you need to use the “%” character for your keyword, please specify it as “%25”;\nif you need to use the “+” character for your keyword, please specify it as “%2B”;\nlearn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        -        "type": "string"
        -      },
        -      "language_code": {
        -        "description": "search engine language code\nrequired field if you don't specify language_name\nif you use this field, you don't need to specify language_name\nyou can receive the list of available languages of the search engine with their language_code by making a separate request to the https://api.dataforseo.com/v3/serp/youtube/languages\nexample:\nen",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "language_name": {
        -        "description": "full name of search engine language\nrequired field if you don't specify language_code\nif you use this field, you don't need to specify language_code\nyou can receive the list of available languages of the search engine with their language_name by making a separate request to the https://api.dataforseo.com/v3/serp/youtube/languages\nexample:\nEnglish",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "location_code": {
        -        "description": "search engine location code\nrequired field if you don't specify location_name \nif you use this field, you don't need to specify location_name\nyou can receive the list of available locations of the search engines with their location_code by making a separate request to the https://api.dataforseo.com/v3/serp/youtube/locations\nexample:\n2840",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "location_name": {
        -        "description": "full name of search engine location\nrequired field if you don't specify location_code\nif you use this field, you don't need to specify location_code\nyou can receive the list of available locations of the search engine with their location_name by making a separate request to the https://api.dataforseo.com/v3/serp/youtube/locations\nexample:\nUnited States",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "os": {
        -        "description": "device operating system\noptional field\nif you specify desktop in the device field, choose from the following values: windows, macos\ndefault value: windows\nif you specify mobile in the device field, choose from the following values: android, ios\ndefault value: android",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "search_param": {
        -        "description": "additional parameters of the search query\noptional field\nexample:\nsp=EgIQAg%253D%253D",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "user-defined task identifier\noptional field\nthe character limit is 255\nyou can use this parameter to identify the task and match it with the result\nyou will find the specified tag value in the data object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / oneOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "keyword": "audi",
        +        "language_code": "en",
        +        "location_code": 2840
        +      }
        +    ],
        +    "properties": {
        +      "block_depth": {
        +        "description": "parsing depth\noptional field\nnumber of blocks of results in SERP\ndefault value: 20\nmax value: 200\nNote: your account will be billed per each SERP containing up to 20 results;\nthus, setting a block depth above 20 may result in additional charges if the search engine returns more than 20 results;\nif the specified block depth is higher than the number of results in the response, the difference will be refunded automatically to your account balance",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "device": {
        +        "description": "device type\noptional field\nreturn results for a specific device type\navailable values: desktop, mobile",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "keyword": {
        +        "description": "keyword\nrequired field\nyou can specify up to 700 characters in the keyword field\nall %## will be decoded (plus character ‘+’ will be decoded to a space character)\nif you need to use the “%” character for your keyword, please specify it as “%25”;\nif you need to use the “+” character for your keyword, please specify it as “%2B”;\nlearn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        +        "type": "string"
        +      },
        +      "language_code": {
        +        "description": "search engine language code\nrequired field if you don't specify language_name\nif you use this field, you don't need to specify language_name\nyou can receive the list of available languages of the search engine with their language_code by making a separate request to the https://api.dataforseo.com/v3/serp/youtube/languages\nexample:\nen",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "full name of search engine language\nrequired field if you don't specify language_code\nif you use this field, you don't need to specify language_code\nyou can receive the list of available languages of the search engine with their language_name by making a separate request to the https://api.dataforseo.com/v3/serp/youtube/languages\nexample:\nEnglish",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "location_code": {
        +        "description": "search engine location code\nrequired field if you don't specify location_name \nif you use this field, you don't need to specify location_name\nyou can receive the list of available locations of the search engines with their location_code by making a separate request to the https://api.dataforseo.com/v3/serp/youtube/locations\nexample:\n2840",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_name": {
        +        "description": "full name of search engine location\nrequired field if you don't specify location_code\nif you use this field, you don't need to specify location_code\nyou can receive the list of available locations of the search engine with their location_name by making a separate request to the https://api.dataforseo.com/v3/serp/youtube/locations\nexample:\nUnited States",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "os": {
        +        "description": "device operating system\noptional field\nif you specify desktop in the device field, choose from the following values: windows, macos\ndefault value: windows\nif you specify mobile in the device field, choose from the following values: android, ios\ndefault value: android",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "search_param": {
        +        "description": "additional parameters of the search query\noptional field\nexample:\nsp=EgIQAg%253D%253D",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "user-defined task identifier\noptional field\nthe character limit is 255\nyou can use this parameter to identify the task and match it with the result\nyou will find the specified tag value in the data object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
  3. 63 tool updates
    • Addedbatch_get_schema
    • Addedbatch_quote
    • Changedbatch_use18 fields changed
      • addedInput schema / $schema
        Added value: +"https://json-schema.org/draft/2020-12/schema"
      • removedInput schema / properties / calls / description
        Removed value: -"Up to 20 items of {call_id, operation_id, arguments}; steps at the same execution_level of a plan go in one batch"
      • addedInput schema / properties / calls / items / $schema
        Added value: +"https://json-schema.org/draft/2020-12/schema"
      • changedInput schema / properties / calls / items / additionalProperties
        Previous value: -trueNew value: +false
      • addedInput schema / properties / calls / items / properties
        Added value: +{
        +  "arguments": {
        +    "additionalProperties": true,
        +    "description": "Strictly schema-compliant arguments using the exact field names and types from this tool's arguments_schema.",
        +    "type": "object"
        +  },
        +  "call_id": {
        +    "description": "Caller-chosen identifier unique within this batch.",
        +    "maxLength": 128,
        +    "minLength": 1,
        +    "type": "string"
        +  },
        +  "tool": {
        +    "description": "Exact tool name returned by search or batch_get_schema. Never invent a name.",
        +    "minLength": 1,
        +    "type": "string"
        +  }
        +}
      • addedInput schema / properties / calls / items / required
        Added value: +[
        +  "call_id",
        +  "tool",
        +  "arguments"
        +]
      • addedInput schema / properties / calls / maxItems
        Added value: +20
      • addedInput schema / properties / calls / minItems
        Added value: +1
      • removedInput schema / properties / max_price_usd
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "number"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ],
        -  "default": null,
        -  "description": "Per-call price cap applied to every item"
        -}
      • removedInput schema / properties / search_id / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / search_id / default
        Removed value: -null
      • changedInput schema / properties / search_id / description
        Previous value: -"search_id from the search that found these operations"New value: +"Optional search correlation identifier returned by search."
      • addedInput schema / properties / search_id / type
        Added value: +"string"
      • addedInput schema / properties / session_id
        Added value: +{
        +  "description": "Reuse the session_id returned by Search in all subsequent tool calls for this task. If omitted, a new session is created.",
        +  "maxLength": 128,
        +  "pattern": "^[A-Za-z0-9_-]*$",
        +  "type": "string"
        +}
      • addedOutput schema / $defs
        Added value: +{
        +  "jsonValue": {
        +    "anyOf": [
        +      {
        +        "additionalProperties": {
        +          "$ref": "#/$defs/jsonValue"
        +        },
        +        "type": "object"
        +      },
        +      {
        +        "items": {
        +          "$ref": "#/$defs/jsonValue"
        +        },
        +        "type": "array"
        +      },
        +      {
        +        "type": "string"
        +      },
        +      {
        +        "type": "number"
        +      },
        +      {
        +        "type": "boolean"
        +      },
        +      {
        +        "type": "null"
        +      }
        +    ],
        +    "description": "JSON value returned by the upstream tool."
        +  }
        +}
      • addedOutput schema / $schema
        Added value: +"https://json-schema.org/draft/2020-12/schema"
      • addedOutput schema / properties
        Added value: +{
        +  "batch_id": {
        +    "type": "string"
        +  },
        +  "error_count": {
        +    "minimum": 0,
        +    "type": "integer"
        +  },
        +  "next_steps_guidance": {
        +    "description": "Deterministic next-step instructions derived from this result. Not an authorization grant.",
        +    "items": {
        +      "type": "string"
        +    },
        +    "type": "array"
        +  },
        +  "results": {
        +    "items": {
        +      "$schema": "https://json-schema.org/draft/2020-12/schema",
        +      "additionalProperties": false,
        +      "properties": {
        +        "call_id": {
        +          "type": "string"
        +        },
        +        "customer_cost_micros_usd": {
        +          "description": "Actual customer charge settled by AIsaServices, in micro-USD. Omitted when the upstream response does not report it.",
        +          "minimum": 0,
        +          "type": "integer"
        +        },
        +        "data": {
        +          "$ref": "#/$defs/jsonValue"
        +        },
        +        "error": {
        +          "anyOf": [
        +            {
        +              "$schema": "https://json-schema.org/draft/2020-12/schema",
        +              "additionalProperties": false,
        +              "properties": {
        +                "message": {
        +                  "type": "string"
        +                },
        +                "retryable": {
        +                  "type": "boolean"
        +                },
        +                "status": {
        +                  "type": "integer"
        +                },
        +                "type": {
        +                  "enum": [
        +                    "validation",
        +                    "authentication",
        +                    "payment",
        +                    "permission",
        +                    "rate_limit",
        +                    "upstream",
        +                    "timeout",
        +                    "internal"
        +                  ],
        +                  "type": "string"
        +                }
        +              },
        +              "required": [
        +                "type",
        +                "status",
        +                "retryable"
        +              ],
        +              "type": "object"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        },
        +        "request_id": {
        +          "type": "string"
        +        },
        +        "successful": {
        +          "type": "boolean"
        +        },
        +        "tool": {
        +          "type": "string"
        +        },
        +        "upstream_status": {
        +          "description": "HTTP status returned by AIsaServices when a request was dispatched.",
        +          "type": "integer"
        +        }
        +      },
        +      "required": [
        +        "call_id",
        +        "tool",
        +        "successful",
        +        "request_id"
        +      ],
        +      "type": "object"
        +    },
        +    "type": "array"
        +  },
        +  "session_id": {
        +    "description": "Reuse the session_id returned by Search in all subsequent tool calls for this task. If omitted, a new session is created.",
        +    "maxLength": 128,
        +    "minLength": 1,
        +    "pattern": "^[A-Za-z0-9_-]*$",
        +    "type": "string"
        +  },
        +  "success_count": {
        +    "minimum": 0,
        +    "type": "integer"
        +  },
        +  "total_count": {
        +    "minimum": 1,
        +    "type": "integer"
        +  }
        +}
      • addedOutput schema / required
        Added value: +[
        +  "session_id",
        +  "batch_id",
        +  "total_count",
        +  "success_count",
        +  "error_count",
        +  "results",
        +  "next_steps_guidance"
        +]
    • Changedget_ahrefs_domain_rating2 fields changed
      • addedInput schema / properties / target / example
        Added value: +"ahrefs.com"
      • changedInput schema / required
        Previous value: -[
        -  "target",
        -  "date"
        -]New value: +[
        +  "date",
        +  "target"
        +]
    • Changedget_ahrefs_site_metrics2 fields changed
      • addedInput schema / properties / target / example
        Added value: +"ahrefs.com"
      • changedInput schema / required
        Previous value: -[
        -  "target",
        -  "date"
        -]New value: +[
        +  "date",
        +  "target"
        +]
    • Changedget_dataforseo_on_page_summary3 fields changed
      • changedInput schema / properties / id / description
        Previous value: -"task identifier required field you can get this ID in the response of the Task POST endpoint example: “07131248-1535-0216-1000-17384017ad04”"New value: +"<em>task identifier</em><br><strong>required field</strong><br>you can get this ID in the response of the <a href=\"/v3/on_page/task_post/\" target=\"_blank\" rel=\"noopener noreferrer\">Task POST</a> endpoint<br>example:<br>“07131248-1535-0216-1000-17384017ad04”"
      • addedInput schema / properties / id / example
        Added value: +"00000000-0000-0000-0000-000000000000"
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedget_details13 fields changed
      • addedInput schema / $schema
        Added value: +"https://json-schema.org/draft/2020-12/schema"
      • removedInput schema / properties / arguments
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "additionalProperties": true,
        -      "type": "object"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ],
        -  "default": null,
        -  "description": "The arguments the operation would be called with, for a price that reflects them. Keyed by operation_id for a batch, or passed flat for a single operation_id. Routes whose required parameters are validated before pricing have no price without them."
        -}
      • addedInput schema / properties / include_arguments_schema
        Added value: +{
        +  "default": true,
        +  "description": "Return the complete arguments_schema. Defaults to true.",
        +  "type": "boolean"
        +}
      • changedInput schema / properties / include_documentation / description
        Previous value: -"Include the complete native public OpenAPI document, reference closure and scoped completeness. Existing execution schemas remain unchanged."New value: +"Return the complete immutable public OpenAPI operation, referenced declarations, provenance and scoped completeness. Documentation does not change execution support."
      • addedInput schema / properties / include_response_schema
        Added value: +{
        +  "default": false,
        +  "description": "Return the complete response_schema. Defaults to false.",
        +  "type": "boolean"
        +}
      • removedInput schema / properties / operation_id
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ],
        -  "default": null,
        -  "description": "One operation_id from search"
        -}
      • removedInput schema / properties / operation_ids
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "items": {
        -        "type": "string"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ],
        -  "default": null,
        -  "description": "Up to 20 operation_ids, for a batch"
        -}
      • addedInput schema / properties / session_id
        Added value: +{
        +  "description": "Reuse the session_id returned by Search in all subsequent tool calls for this task. If omitted, a new session is created.",
        +  "maxLength": 128,
        +  "pattern": "^[A-Za-z0-9_-]*$",
        +  "type": "string"
        +}
      • addedInput schema / properties / tools
        Added value: +{
        +  "description": "Exact tool names returned by search whose complete contracts are needed. Never invent tool names.",
        +  "items": {
        +    "minLength": 1,
        +    "pattern": "^\\S(?:.*\\S)?$",
        +    "type": "string"
        +  },
        +  "maxItems": 20,
        +  "minItems": 1,
        +  "type": "array",
        +  "uniqueItems": true
        +}
      • removedInput schema / properties / with_quote
        Removed value: -{
        -  "default": true,
        -  "description": "Whether each operation is priced for this account before the answer. One round trip per operation; spends nothing.",
        -  "type": "boolean"
        -}
      • addedInput schema / required
        Added value: +[
        +  "tools"
        +]
      • addedOutput schema / properties
        Added value: +{
        +  "error_count": {
        +    "type": "integer"
        +  },
        +  "next_steps_guidance": {
        +    "anyOf": [
        +      {
        +        "type": "null"
        +      },
        +      {
        +        "type": "array"
        +      }
        +    ],
        +    "items": {
        +      "type": "string"
        +    }
        +  },
        +  "session_id": {
        +    "description": "Reuse the session_id returned by Search in all subsequent tool calls for this task. If omitted, a new session is created.",
        +    "maxLength": 128,
        +    "minLength": 1,
        +    "pattern": "^[A-Za-z0-9_-]{1,128}$",
        +    "type": "string"
        +  },
        +  "success_count": {
        +    "type": "integer"
        +  },
        +  "tools": {
        +    "additionalProperties": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "arguments_schema": {
        +          "additionalProperties": true,
        +          "anyOf": [
        +            {
        +              "type": "null"
        +            },
        +            {
        +              "type": "object"
        +            }
        +          ]
        +        },
        +        "canonical_operation_id": {
        +          "type": "string"
        +        },
        +        "documentation": {
        +          "additionalProperties": true,
        +          "type": "object"
        +        },
        +        "error": {
        +          "additionalProperties": false,
        +          "anyOf": [
        +            {
        +              "type": "null"
        +            },
        +            {
        +              "type": "object"
        +            }
        +          ],
        +          "properties": {
        +            "code": {
        +              "type": "string"
        +            },
        +            "message": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "code",
        +            "message"
        +          ]
        +        },
        +        "execution_supported": {
        +          "description": "Whether this router can execute and quote the operation; false retains documentation and discovery only.",
        +          "type": "boolean"
        +        },
        +        "execution_unsupported_reason": {
        +          "description": "Why execution and quoting remain unavailable through this router.",
        +          "type": "string"
        +        },
        +        "idempotent": {
        +          "anyOf": [
        +            {
        +              "type": "null"
        +            },
        +            {
        +              "type": "boolean"
        +            }
        +          ]
        +        },
        +        "known_pitfalls": {
        +          "anyOf": [
        +            {
        +              "type": "null"
        +            },
        +            {
        +              "type": "array"
        +            }
        +          ],
        +          "items": {
        +            "type": "string"
        +          }
        +        },
        +        "read_only": {
        +          "anyOf": [
        +            {
        +              "type": "null"
        +            },
        +            {
        +              "type": "boolean"
        +            }
        +          ]
        +        },
        +        "response_schema": {
        +          "additionalProperties": true,
        +          "anyOf": [
        +            {
        +              "type": "null"
        +            },
        +            {
        +              "type": "object"
        +            }
        +          ]
        +        },
        +        "side_effects": {
        +          "anyOf": [
        +            {
        +              "type": "null"
        +            },
        +            {
        +              "type": "array"
        +            }
        +          ],
        +          "items": {
        +            "type": "string"
        +          }
        +        },
        +        "successful": {
        +          "type": "boolean"
        +        }
        +      },
        +      "required": [
        +        "successful"
        +      ],
        +      "type": "object"
        +    },
        +    "type": "object"
        +  },
        +  "total_count": {
        +    "type": "integer"
        +  }
        +}
      • addedOutput schema / required
        Added value: +[
        +  "error_count",
        +  "next_steps_guidance",
        +  "session_id",
        +  "success_count",
        +  "tools",
        +  "total_count"
        +]
    • Changedget_semrush_backlinks_overview1 field changed
      • removedInput schema / properties / target / description
        Removed value: -"Target root domain, e.g. `ahrefs.com`."
    • Changedget_semrush_domain_organic_keywords5 fields changed
      • removedInput schema / properties / database / description
        Removed value: -"Regional database / country code, e.g. `us`."
      • removedInput schema / properties / database / example
        Removed value: -"us"
      • removedInput schema / properties / domain / description
        Removed value: -"Target domain, e.g. `ahrefs.com`."
      • removedInput schema / properties / domain / example
        Removed value: -"ahrefs.com"
      • changedInput schema / required
        Previous value: -[
        -  "domain",
        -  "database"
        -]New value: +[
        +  "database",
        +  "domain"
        +]
    • Changedget_semrush_domain_overview2 fields changed
      • removedInput schema / properties / database / description
        Removed value: -"Regional database / country code. Defaults to `us`. Examples: `us`, `uk`, `cn`."
      • removedInput schema / properties / domain / description
        Removed value: -"Target domain, e.g. `ahrefs.com`."
    • Changedget_semrush_keyword_difficulty7 fields changed
      • removedInput schema / properties / database / default
        Removed value: -"us"
      • removedInput schema / properties / database / description
        Removed value: -"Regional database / country code. Defaults to `us`."
      • removedInput schema / properties / phrase / description
        Removed value: -"One or more keywords separated by `;` (up to 20)."
      • removedInput schema / properties / phrase / example
        Removed value: -"seo tools;ahrefs"
      • addedInput schema / properties / phrase / x-aisa-delimiter
        Added value: +";"
      • addedInput schema / properties / phrase / x-aisa-maxItems
        Added value: +20
      • addedInput schema / properties / phrase / x-aisa-minItems
        Added value: +1
    • Changedget_semrush_keyword_overview3 fields changed
      • removedInput schema / properties / database / description
        Removed value: -"Regional database / country code. Defaults to `us`."
      • removedInput schema / properties / phrase / description
        Removed value: -"Keyword phrase. URL-encode spaces as `%20` or `+`."
      • removedInput schema / properties / phrase / example
        Removed value: -"seo tools"
    • Changedget_semrush_organic_competitors5 fields changed
      • removedInput schema / properties / database / description
        Removed value: -"Regional database / country code, e.g. `us`."
      • removedInput schema / properties / database / example
        Removed value: -"us"
      • removedInput schema / properties / domain / description
        Removed value: -"Target domain, e.g. `ahrefs.com`."
      • removedInput schema / properties / domain / example
        Removed value: -"ahrefs.com"
      • changedInput schema / required
        Previous value: -[
        -  "domain",
        -  "database"
        -]New value: +[
        +  "database",
        +  "domain"
        +]
    • Changedget_semrush_organic_results4 fields changed
      • removedInput schema / properties / database / default
        Removed value: -"us"
      • removedInput schema / properties / database / description
        Removed value: -"Regional database / country code. Defaults to `us`."
      • removedInput schema / properties / phrase / description
        Removed value: -"Keyword phrase. URL-encode spaces as `%20` or `+`."
      • removedInput schema / properties / phrase / example
        Removed value: -"seo tools"
    • Changedget_semrush_referring_domains4 fields changed
      • removedInput schema / properties / target / description
        Removed value: -"Target domain or URL."
      • removedInput schema / properties / target / example
        Removed value: -"ahrefs.com"
      • removedInput schema / properties / target_type / description
        Removed value: -"One of `root_domain`, `domain`, or `url`."
      • removedInput schema / properties / target_type / example
        Removed value: -"root_domain"
    • Changedpost_dataforseo_ai_chat_gpt_llm_responses_live7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "max_output_tokens": 200,
        +    "message_chain": [
        +      {
        +        "message": "Hello, what’s up?",
        +        "role": "user"
        +      },
        +      {
        +        "message": "Hello! I’m doing well, thank you. How can I assist you today? Are there any specific topics or projects you’d like to discuss in our meeting?",
        +        "role": "ai"
        +      }
        +    ],
        +    "model_name": "gpt-4.1-mini",
        +    "system_message": "communicate as if we are in a business meeting",
        +    "temperature": 0.3,
        +    "top_p": 0.5,
        +    "user_prompt": "provide information on how relevant the amusement park business is in France now",
        +    "web_search": true,
        +    "web_search_city": "Paris",
        +    "web_search_country_iso_code": "FR"
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "max_output_tokens": 200,
        +        "message_chain": [
        +          {
        +            "message": "Hello, what’s up?",
        +            "role": "user"
        +          },
        +          {
        +            "message": "Hello! I’m doing well, thank you. How can I assist you today? Are there any specific topics or projects you’d like to discuss in our meeting?",
        +            "role": "ai"
        +          }
        +        ],
        +        "model_name": "gpt-4.1-mini",
        +        "system_message": "communicate as if we are in a business meeting",
        +        "temperature": 0.3,
        +        "top_p": 0.5,
        +        "user_prompt": "provide information on how relevant the amusement park business is in France now",
        +        "web_search": true,
        +        "web_search_city": "Paris",
        +        "web_search_country_iso_code": "FR"
        +      }
        +    ],
        +    "properties": {
        +      "force_web_search": {
        +        "description": "<em>force AI agent to use web search</em><br>optional field<br>to enable this parameter, <code>web_search</code> must also be enabled;<br>when enabled, the AI model is forced to access and cite current web information;<br>default value: <code>false</code>;<br><strong>Note:</strong> even if the parameter is set to <code>true</code>, there is no guarantee web sources will be cited in the response <br><strong>Note #2:</strong> not supported in reasoning models",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "max_output_tokens": {
        +        "description": "<em>maximum number of tokens in the AI response</em><br>optional field<br>minimum value for reasoning models (e.g., <code>reasoning</code> is <code>true</code> in the <a href=\"/v3/ai_optimization/chat_gpt/llm_responses/models/\" target=\"_blank\">Models endpoint</a>): <code>1024</code>;<br>minimum value for non-reasoning models: <code>16</code>;<br>maximum value: <code>4096</code>;<br>default value: <code>2048</code><br><strong>Note:</strong> if <code>web_search</code> is set to <code>true</code> or the reasoning model is specified in the request, the output token count may exceed the specified <code>max_output_tokens</code> limit",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "message_chain": {
        +        "description": "conversation history\noptional field\narray of message objects representing previous conversation turns;\neach object must contain:\nrole string with either user or ai role;\nmessage string with message content (max 500 characters);\nyou can specify maximum of 10 message objects in the array;\nNote: for Perplexity models, messages must strictly alternate between user and AI roles (user → ai);\nexample:\n\"message_chain\": [{\"role\":\"user\",\"message\":\"Hello, what’s up?\"},{\"role\":\"ai\",\"message\":\"Hello! I’m doing well, thank you. How can I assist you today?\"}]",
        +        "items": {
        +          "anyOf": [
        +            {
        +              "properties": {
        +                "message": {
        +                  "description": "message text",
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                },
        +                "role": {
        +                  "description": "role of the user from whom the message originates",
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                }
        +              },
        +              "type": "object"
        +            }
        +          ],
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "model_name": {
        +        "description": "<em>name of the AI model</em><br><strong>required field</strong><br><code>model_name</code >consists of the actual model name and version name;<br>if the basic model name is specified, its latest version will be set by default;<br>for example, if <code>gpt-4.1</code> is specified, the <code>gpt-4.1-2025-04-14</code> will be set as <code>model_name</code> automatically;<br>you can receive the list of available LLM models by making a separate request to the <code>https://api.dataforseo.com/v3/ai_optimization/chat_gpt/llm_responses/models</code>",
        +        "type": "string"
        +      },
        +      "system_message": {
        +        "description": "<em>instructions for the AI behaviour</em><br>optional field<br>defines the AI's role, tone, or specific behavior <br>you can specify <strong>up to 500 characters</strong> in the <code>system_message</code> field",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "temperature": {
        +        "description": "<em>randomness of the AI response</em><br>optional field<br>higher values make output more diverse; <br>lower values make output more focused;<br>minimum value: <code>0</code><br>maximum value: <code>2</code><br>default value: <code>0.94</code><br><strong>Note:</strong> not supported in reasoning models",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "top_p": {
        +        "description": "<em>diversity of the AI response</em><br>optional field <br>controls diversity of the response by limiting token selection;<br>minimum value: <code>0</code><br>maximum value: <code>1</code> <br>default value: <code>0.92</code><p><strong>Note:</strong>  <code>top_p</code> cannot be used together with <code>temperature</code> in the same request",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "user_prompt": {
        +        "description": "<em>prompt for the AI model</em><br><strong>required field</strong><br>the question or task you want to send to the AI model;<br>you can specify <strong>up to 500 characters</strong> in the <code>user_prompt</code> field",
        +        "type": "string"
        +      },
        +      "web_search": {
        +        "description": "<em>enable web search</em><br>optional field<br>when enabled, the AI model can access and cite current web information;<br>default value: <code>false</code>;<br><strong>Note:</strong> refer to the <a href=\"https://docs.dataforseo.com/v3/ai_optimization/chat_gpt/llm_responses/models/\">Models endpoint</a> for a list of models that support <code>web_search</code>;",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "web_search_city": {
        +        "description": "<em>city name of the location</em><br>optional field<br><strong>Note:</strong> not supported in <code>o3-mini</code>, <code>o1-pro</code>, <code>o1</code> models",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "web_search_country_iso_code": {
        +        "description": "<em>ISO country code of the location</em><br>optional field<br>to enable this parameter, <code>web_search</code> must also be enabled;<br>when enabled, the AI model will search the web from the country you specify;<br><strong>Note:</strong> not supported in <code>o3-mini</code>, <code>o1-pro</code>, <code>o1</code> models",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "force_web_search": {
        -    "description": "force AI agent to use web search optional field to enable this parameter, web_search must also be enabled; when enabled, the AI model is forced to access and cite current web information; default value: false; Note: even if the parameter is set to true, there is no guarantee web sources will be cited in the response Note #2: not supported in reasoning models",
        -    "type": "boolean"
        -  },
        -  "max_output_tokens": {
        -    "description": "maximum number of tokens in the AI response optional field minimum value for reasoning models (e.g., reasoning is true in the Models endpoint): 1024; minimum value for non-reasoning models: 16; maximum value: 4096; default value: 2048 Note: if web_search is set to true or the reasoning model is specified in the request, the output token count may exceed the specified max_output_tokens limit",
        -    "type": "integer"
        -  },
        -  "message_chain": {
        -    "description": "conversation history optional field array of message objects representing previous conversation turns; each object must contain: role string with either user or ai role; message string with message content (max 500 characters); you can specify maximum of 10 message objects in the array; Note: for Perplexity models, messages must strictly alternate between user and AI roles (user → ai); example: \"message_chain\": [{\"role\":\"user\",\"message\":\"Hello, what’s up?\"},{\"role\":\"ai\",\"message\":\"Hello! I’m doing well, thank you. How can I assist you today?\"}]",
        -    "items": {
        -      "properties": {
        -        "message": {
        -          "description": "message text",
        -          "type": "string"
        -        },
        -        "role": {
        -          "description": "role of the user from whom the message originates",
        -          "enum": [
        -            "user",
        -            "ai"
        -          ],
        -          "type": "string"
        -        }
        -      },
        -      "required": [
        -        "role",
        -        "message"
        -      ],
        -      "type": "object"
        -    },
        -    "type": "array"
        -  },
        -  "model_name": {
        -    "description": "name of the AI model required field model_nameconsists of the actual model name and version name; if the basic model name is specified, its latest version will be set by default; for example, if gpt-4.1 is specified, the gpt-4.1-2025-04-14 will be set as model_name automatically; you can receive the list of available LLM models by making a separate request to the https://api.dataforseo.com/v3/ai_optimization/chat_gpt/llm_responses/models",
        -    "type": "string"
        -  },
        -  "system_message": {
        -    "description": "instructions for the AI behaviour optional field defines the AI's role, tone, or specific behavior you can specify up to 500 characters in the system_message field",
        -    "type": "string"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  },
        -  "temperature": {
        -    "description": "randomness of the AI response optional field higher values make output more diverse; lower values make output more focused; minimum value: 0 maximum value: 2 default value: 0.94 Note: not supported in reasoning models",
        -    "type": "number"
        -  },
        -  "top_p": {
        -    "description": "diversity of the AI response optional field controls diversity of the response by limiting token selection; minimum value: 0 maximum value: 1 default value: 0.92 Note: top_p cannot be used together with temperature in the same request",
        -    "type": "number"
        -  },
        -  "user_prompt": {
        -    "description": "prompt for the AI model required field the question or task you want to send to the AI model; you can specify up to 500 characters in the user_prompt field",
        -    "type": "string"
        -  },
        -  "web_search": {
        -    "description": "enable web search optional field when enabled, the AI model can access and cite current web information; default value: false; Note: refer to the Models endpoint for a list of models that support web_search;",
        -    "type": "boolean"
        -  },
        -  "web_search_city": {
        -    "description": "city name of the location optional field Note: not supported in o3-mini, o1-pro, o1 models",
        -    "type": "string"
        -  },
        -  "web_search_country_iso_code": {
        -    "description": "ISO country code of the location optional field to enable this parameter, web_search must also be enabled; when enabled, the AI model will search the web from the country you specify; Note: not supported in o3-mini, o1-pro, o1 models",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "user_prompt",
        -  "model_name"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_ai_claude_llm_responses_live7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "max_output_tokens": 200,
        +    "message_chain": [
        +      {
        +        "message": "Hello, what’s up?",
        +        "role": "user"
        +      },
        +      {
        +        "message": "Hello! I’m doing well, thank you. How can I assist you today? Are there any specific topics or projects you’d like to discuss in our meeting?",
        +        "role": "ai"
        +      }
        +    ],
        +    "model_name": "claude-opus-5",
        +    "system_message": "communicate as if we are in a business meeting",
        +    "temperature": 0.3,
        +    "user_prompt": "provide information on how relevant the amusement park business is in France now",
        +    "web_search": true,
        +    "web_search_country_iso_code": "FR"
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "max_output_tokens": 200,
        +        "message_chain": [
        +          {
        +            "message": "Hello, what’s up?",
        +            "role": "user"
        +          },
        +          {
        +            "message": "Hello! I’m doing well, thank you. How can I assist you today? Are there any specific topics or projects you’d like to discuss in our meeting?",
        +            "role": "ai"
        +          }
        +        ],
        +        "model_name": "claude-opus-5",
        +        "system_message": "communicate as if we are in a business meeting",
        +        "temperature": 0.3,
        +        "user_prompt": "provide information on how relevant the amusement park business is in France now",
        +        "web_search": true,
        +        "web_search_country_iso_code": "FR"
        +      }
        +    ],
        +    "properties": {
        +      "force_web_search": {
        +        "description": "<em>force AI agent to use web search</em><br>optional field<br>to enable this parameter, <code>web_search</code> must also be enabled;<br>when enabled, the AI model is forced to access and cite current web information;<br>default value: <code>false</code>;<br><strong>Note:</strong> even if the parameter is set to <code>true</code>, there is no guarantee web sources will be cited in the response",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "max_output_tokens": {
        +        "description": "<em>maximum number of tokens in the AI response</em><br>optional field<br>minimum value: <code>1</code>;<br>maximum value: <code>4096</code>;<br>default value: <code>2048</code>;<br><strong>Note:</strong> if <code>web_search</code> is set to <code>true</code> or the reasoning model is specified in the request, the output token count may exceed the specified <code>max_output_tokens</code> limit<br><strong>Note #2:</strong> if <code>use_reasoning</code> is set to <code>true</code>, the minimum value for <code>max_output_tokens</code> is <code>1025</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "message_chain": {
        +        "description": "conversation history\noptional field\narray of message objects representing previous conversation turns;\neach object must contain:\nrole string with either user or ai role;\nmessage string with message content (max 500 characters);\nyou can specify maximum of 10 message objects in the array;\nNote: for Perplexity models, messages must strictly alternate between user and AI roles (user → ai);\nexample:\n\"message_chain\": [{\"role\":\"user\",\"message\":\"Hello, what’s up?\"},{\"role\":\"ai\",\"message\":\"Hello! I’m doing well, thank you. How can I assist you today?\"}]",
        +        "items": {
        +          "anyOf": [
        +            {
        +              "properties": {
        +                "message": {
        +                  "description": "message text",
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                },
        +                "role": {
        +                  "description": "role of the user from whom the message originates",
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                }
        +              },
        +              "type": "object"
        +            }
        +          ],
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "model_name": {
        +        "description": "<em>name of the AI model</em><br><strong>required field</strong><br><code>model_name</code >consists of the actual model name and version name;<br>if the basic model name is specified, its latest version will be set by default;<br>for example, if <code>claude-opus-4-0</code> is specified, the <code>claude-opus-4-20250514</code> will be set as <code>model_name</code> automatically;<br>you can receive the list of available LLM models by making a separate request to the <code>https://api.dataforseo.com/v3/ai_optimization/claude/llm_responses/models</code>",
        +        "type": "string"
        +      },
        +      "system_message": {
        +        "description": "<em>instructions for the AI behaviour</em><br>optional field<br>defines the AI's role, tone, or specific behavior;<br>you can specify <strong>up to 500 characters</strong> in the <code>system_message</code> field",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "temperature": {
        +        "description": "<em>randomness of the AI response</em><br>optional field<br>higher values make output more diverse; <br>lower values make output more focused;<br>minimum value: <code>0</code><br>maximum value: <code>1</code><br>default value: <code>0.7</code><p><strong>Note:</strong> <code>temperature</code> cannot be used together with <code>top_p</code> in the same request",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "top_p": {
        +        "description": "<em>diversity of the AI response</em><br>optional field <br>controls diversity of the response by limiting token selection;<br>minimum value: <code>0</code><br>maximum value: <code>1</code> <br>default value: <code>null</code><p><strong>Note:</strong> <code>top_p</code> cannot be used together with <code>temperature</code> in the same request",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "use_reasoning": {
        +        "description": "<em>enable reasoning for the AI model</em><br>optional field<br>when enabled, the model will perform reasoning before generating a response<br>refer to the <a href=\"https://docs.dataforseo.com/v3/ai_optimization/claude/llm_responses/models/\" target=\"_blank\">Models endpoint</a> for a list of models that support <code>reasoning</code><br>default value: <code>false</code><br><strong>Note:</strong> if set to <code>true</code>, the minimum value for <code>max_output_tokens</code> is <code>1025</code><br><strong>Note #2:</strong> if set to <code>true</code>, <code>force_web_search</code> must be set to <code>false</code><br><strong>Note #3:</strong> if set to <code>true</code>, the <code>temperature</code> and <code>top_p</code> cannot be used",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "user_prompt": {
        +        "description": "<em>prompt for the AI model</em><br><strong>required field</strong><br>the question or task you want to send to the AI model;<br>you can specify <strong>up to 500 characters</strong> in the <code>user_prompt</code> field",
        +        "type": "string"
        +      },
        +      "web_search": {
        +        "description": "<em>enable web search for current information</em><br>optional field<br>when enabled, the AI model can access and cite current web information;<br><strong>Note:</strong> refer to the <a href=\"https://docs.dataforseo.com/v3/ai_optimization/claude/llm_responses/models/\">Models endpoint</a> for a list of models that support <code>web_search</code>; <br>default value: <code>false</code>;<br>The cost of the parameter can be calculated on the <a title=\"Anthropic API Pricing\" href=\"https://docs.anthropic.com/en/docs/about-claude/pricing\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "web_search_city": {
        +        "description": "<em>city name of the location used for searching the web</em><br>optional field<br>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "web_search_country_iso_code": {
        +        "description": "<em>ISO country code of the location used for searching the web</em><br>optional field<br>possible values: <code>'AR','AT','AU','BE','BR','CA','CH','CL','CN','DE','DK','ES','FI','FR','GB','HK','ID','IN','IT','JP','KR','MX','MY','NL','NO','NZ','PH','PL','PT','RU','SA','SE','TR','TW','US','ZA'</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "force_web_search": {
        -    "description": "force AI agent to use web search optional field to enable this parameter, web_search must also be enabled; when enabled, the AI model is forced to access and cite current web information; default value: false; Note: even if the parameter is set to true, there is no guarantee web sources will be cited in the response",
        -    "type": "boolean"
        -  },
        -  "max_output_tokens": {
        -    "description": "maximum number of tokens in the AI response optional field minimum value: 1; maximum value: 4096; default value: 2048; Note: if web_search is set to true or the reasoning model is specified in the request, the output token count may exceed the specified max_output_tokens limit Note #2: if use_reasoning is set to true, the minimum value for max_output_tokens is 1025",
        -    "type": "integer"
        -  },
        -  "message_chain": {
        -    "description": "conversation history optional field array of message objects representing previous conversation turns; each object must contain: role string with either user or ai role; message string with message content (max 500 characters); you can specify maximum of 10 message objects in the array; Note: for Perplexity models, messages must strictly alternate between user and AI roles (user → ai); example: \"message_chain\": [{\"role\":\"user\",\"message\":\"Hello, what’s up?\"},{\"role\":\"ai\",\"message\":\"Hello! I’m doing well, thank you. How can I assist you today?\"}]",
        -    "items": {
        -      "properties": {
        -        "message": {
        -          "description": "message text",
        -          "type": "string"
        -        },
        -        "role": {
        -          "description": "role of the user from whom the message originates",
        -          "enum": [
        -            "user",
        -            "ai"
        -          ],
        -          "type": "string"
        -        }
        -      },
        -      "required": [
        -        "role",
        -        "message"
        -      ],
        -      "type": "object"
        -    },
        -    "type": "array"
        -  },
        -  "model_name": {
        -    "description": "name of the AI model required field model_nameconsists of the actual model name and version name; if the basic model name is specified, its latest version will be set by default; for example, if claude-opus-4-0 is specified, the claude-opus-4-20250514 will be set as model_name automatically; you can receive the list of available LLM models by making a separate request to the https://api.dataforseo.com/v3/ai_optimization/claude/llm_responses/models",
        -    "type": "string"
        -  },
        -  "system_message": {
        -    "description": "instructions for the AI behaviour optional field defines the AI's role, tone, or specific behavior; you can specify up to 500 characters in the system_message field",
        -    "type": "string"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  },
        -  "temperature": {
        -    "description": "randomness of the AI response optional field higher values make output more diverse; lower values make output more focused; minimum value: 0 maximum value: 1 default value: 0.7Note: temperature cannot be used together with top_p in the same request",
        -    "type": "number"
        -  },
        -  "top_p": {
        -    "description": "diversity of the AI response optional field controls diversity of the response by limiting token selection; minimum value: 0 maximum value: 1 default value: nullNote: top_p cannot be used together with temperature in the same request",
        -    "type": "number"
        -  },
        -  "use_reasoning": {
        -    "description": "enable reasoning for the AI model optional field when enabled, the model will perform reasoning before generating a response refer to the Models endpoint for a list of models that support reasoning default value: false Note: if set to true, the minimum value for max_output_tokens is 1025 Note #2: if set to true, force_web_search must be set to false Note #3: if set to true, the temperature and top_p cannot be used",
        -    "type": "boolean"
        -  },
        -  "user_prompt": {
        -    "description": "prompt for the AI model required field the question or task you want to send to the AI model; you can specify up to 500 characters in the user_prompt field",
        -    "type": "string"
        -  },
        -  "web_search": {
        -    "description": "enable web search for current information optional field when enabled, the AI model can access and cite current web information; Note: refer to the Models endpoint for a list of models that support web_search; default value: false",
        -    "type": "boolean"
        -  },
        -  "web_search_city": {
        -    "description": "city name of the location used for searching the web optional field",
        -    "type": "string"
        -  },
        -  "web_search_country_iso_code": {
        -    "description": "ISO country code of the location used for searching the web optional field possible values: 'AR','AT','AU','BE','BR','CA','CH','CL','CN','DE','DK','ES','FI','FR','GB','HK','ID','IN','IT','JP','KR','MX','MY','NL','NO','NZ','PH','PL','PT','RU','SA','SE','TR','TW','US','ZA'",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "user_prompt",
        -  "model_name"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_ai_gemini_llm_responses_live7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "max_output_tokens": 200,
        +    "message_chain": [
        +      {
        +        "message": "Hello, what’s up?",
        +        "role": "user"
        +      },
        +      {
        +        "message": "Hello! I’m doing well, thank you. How can I assist you today? Are there any specific topics or projects you’d like to discuss in our meeting?",
        +        "role": "ai"
        +      }
        +    ],
        +    "model_name": "gemini-2.5-flash",
        +    "system_message": "communicate as if we are in a business meeting",
        +    "temperature": 0.3,
        +    "top_p": 0.5,
        +    "user_prompt": "provide information on how relevant the amusement park business is in France now",
        +    "web_search": true
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "max_output_tokens": 200,
        +        "message_chain": [
        +          {
        +            "message": "Hello, what’s up?",
        +            "role": "user"
        +          },
        +          {
        +            "message": "Hello! I’m doing well, thank you. How can I assist you today? Are there any specific topics or projects you’d like to discuss in our meeting?",
        +            "role": "ai"
        +          }
        +        ],
        +        "model_name": "gemini-2.5-flash",
        +        "system_message": "communicate as if we are in a business meeting",
        +        "temperature": 0.3,
        +        "top_p": 0.5,
        +        "user_prompt": "provide information on how relevant the amusement park business is in France now",
        +        "web_search": true
        +      }
        +    ],
        +    "properties": {
        +      "max_output_tokens": {
        +        "description": "<em>maximum number of tokens in the AI response</em><br>optional field<br>minimum value: <code>1</code><br>maximum value: <code>4096</code>;<br>default value: <code>2048</code>;<br><strong>Note:</strong> if <code>web_search</code> is set to <code>true</code> or the reasoning model is specified in the request, the output token count may exceed the specified <code>max_output_tokens</code> limit<br><strong>Note #2:</strong> if <code>use_reasoning</code> is set to <code>true</code>, the minimum value for <code>max_output_tokens</code> is <code>1024</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "message_chain": {
        +        "description": "conversation history\noptional field\narray of message objects representing previous conversation turns;\neach object must contain:\nrole string with either user or ai role;\nmessage string with message content (max 500 characters);\nyou can specify maximum of 10 message objects in the array;\nNote: for Perplexity models, messages must strictly alternate between user and AI roles (user → ai);\nexample:\n\"message_chain\": [{\"role\":\"user\",\"message\":\"Hello, what’s up?\"},{\"role\":\"ai\",\"message\":\"Hello! I’m doing well, thank you. How can I assist you today?\"}]",
        +        "items": {
        +          "anyOf": [
        +            {
        +              "properties": {
        +                "message": {
        +                  "description": "message text",
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                },
        +                "role": {
        +                  "description": "role of the user from whom the message originates",
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                }
        +              },
        +              "type": "object"
        +            }
        +          ],
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "model_name": {
        +        "description": "<em>name of the AI model</em><br><strong>required field</strong><br><code>model_name</code >consists of the actual model name and version name;<br>if the basic model name is specified, its latest version will be set by default;<br>for example, if <code>gemini-1.5-pro</code> is specified, the <code>gemini-1.5-pro-002</code> will be set as <code>model_name</code> automatically;<br>you can receive the list of available LLM models by making a separate request to the <code>https://api.dataforseo.com/v3/ai_optimization/gemini/llm_responses/models</code>",
        +        "type": "string"
        +      },
        +      "system_message": {
        +        "description": "<em>instructions for the AI behavior</em><br>optional field<br>defines the AI's role, tone, or specific behavior <br>you can specify <strong>up to 500 characters</strong> in the <code>system_message</code> field",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "temperature": {
        +        "description": "<em>randomness of the AI response</em><br>optional field<br>higher values make output more diverse <br>lower values make output more focused<br>minimum value: <code>0</code><br>maximum value: <code>2</code><br>default value: <code>1.3</code>",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "top_p": {
        +        "description": "<em>diversity of the AI response</em><br>optional field <br>controls diversity of the response by limiting token selection<br>minimum value: <code>0</code><br>maximum value: <code>1</code> <br>default value: <code>0.9</code>",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "use_reasoning": {
        +        "description": "<em>enable reasoning for the AI model</em><br>optional field<br>when enabled, the model will perform reasoning before generating a response<br>refer to the <a href=\"https://docs.dataforseo.com/v3/ai_optimization/gemini/llm_responses/models/\" target=\"_blank\">Models endpoint</a> for a list of models that support <code>reasoning</code><br>default value: <code>false</code><br><strong>Note:</strong> if set to <code>true</code>, the minimum value for <code>max_output_tokens</code> is <code>1024</code><br><strong>Note #2:</strong> for Gemini Pro models, the <code>use_reasoning</code> will automatically be set to <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "user_prompt": {
        +        "description": "<em>prompt for the AI model</em><br><strong>required field</strong><br>the question or task you want to send to the AI model;<br>you can specify <strong>up to 500 characters</strong> in the <code>user_prompt</code> field",
        +        "type": "string"
        +      },
        +      "web_search": {
        +        "description": "<em>enable web search for current information</em><br>optional field<br>when enabled, the AI model can access and cite current web information;<br><strong>Note:</strong> refer to the <a href=\"https://docs.dataforseo.com/v3/ai_optimization/gemini/llm_responses/models/\">Models endpoint</a> for a list of models that support <code>web_search</code>; <br>default value: <code>false</code>;<br>The cost of the parameter can be calculated on the <a title=\"Gemini API Pricing\" href=\"https://ai.google.dev/gemini-api/docs/pricing\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "max_output_tokens": {
        -    "description": "maximum number of tokens in the AI response optional field minimum value: 1 maximum value: 4096; default value: 2048; Note: if web_search is set to true or the reasoning model is specified in the request, the output token count may exceed the specified max_output_tokens limit Note #2: if use_reasoning is set to true, the minimum value for max_output_tokens is 1024",
        -    "type": "integer"
        -  },
        -  "message_chain": {
        -    "description": "conversation history optional field array of message objects representing previous conversation turns; each object must contain: role string with either user or ai role; message string with message content (max 500 characters); you can specify maximum of 10 message objects in the array; Note: for Perplexity models, messages must strictly alternate between user and AI roles (user → ai); example: \"message_chain\": [{\"role\":\"user\",\"message\":\"Hello, what’s up?\"},{\"role\":\"ai\",\"message\":\"Hello! I’m doing well, thank you. How can I assist you today?\"}]",
        -    "items": {
        -      "properties": {
        -        "message": {
        -          "description": "message text",
        -          "type": "string"
        -        },
        -        "role": {
        -          "description": "role of the user from whom the message originates",
        -          "enum": [
        -            "user",
        -            "ai"
        -          ],
        -          "type": "string"
        -        }
        -      },
        -      "required": [
        -        "role",
        -        "message"
        -      ],
        -      "type": "object"
        -    },
        -    "type": "array"
        -  },
        -  "model_name": {
        -    "description": "name of the AI model required field model_nameconsists of the actual model name and version name; if the basic model name is specified, its latest version will be set by default; for example, if gemini-1.5-pro is specified, the gemini-1.5-pro-002 will be set as model_name automatically; you can receive the list of available LLM models by making a separate request to the https://api.dataforseo.com/v3/ai_optimization/gemini/llm_responses/models",
        -    "type": "string"
        -  },
        -  "system_message": {
        -    "description": "instructions for the AI behavior optional field defines the AI's role, tone, or specific behavior you can specify up to 500 characters in the system_message field",
        -    "type": "string"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  },
        -  "temperature": {
        -    "description": "randomness of the AI response optional field higher values make output more diverse lower values make output more focused minimum value: 0 maximum value: 2 default value: 1.3",
        -    "type": "number"
        -  },
        -  "top_p": {
        -    "description": "diversity of the AI response optional field controls diversity of the response by limiting token selection minimum value: 0 maximum value: 1 default value: 0.9",
        -    "type": "number"
        -  },
        -  "use_reasoning": {
        -    "description": "enable reasoning for the AI model optional field when enabled, the model will perform reasoning before generating a response refer to the Models endpoint for a list of models that support reasoning default value: false Note: if set to true, the minimum value for max_output_tokens is 1024 Note #2: for Gemini Pro models, the use_reasoning will automatically be set to true",
        -    "type": "boolean"
        -  },
        -  "user_prompt": {
        -    "description": "prompt for the AI model required field the question or task you want to send to the AI model; you can specify up to 500 characters in the user_prompt field",
        -    "type": "string"
        -  },
        -  "web_search": {
        -    "description": "enable web search for current information optional field when enabled, the AI model can access and cite current web information; Note: refer to the Models endpoint for a list of models that support web_search; default value: false",
        -    "type": "boolean"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "user_prompt",
        -  "model_name"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_ai_keyword_volume_live8 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "keywords": [
        +      "iphone",
        +      "seo"
        +    ],
        +    "language_name": "English",
        +    "location_code": 2840
        +  }
        +]
      • removedInput schema / properties / body / items / allOf
        Removed value: -[
        -  {
        -    "anyOf": [
        -      {
        -        "required": [
        -          "location_name"
        -        ]
        -      },
        -      {
        -        "required": [
        -          "location_code"
        -        ]
        -      }
        -    ]
        -  },
        -  {
        -    "anyOf": [
        -      {
        -        "required": [
        -          "language_name"
        -        ]
        -      },
        -      {
        -        "required": [
        -          "language_code"
        -        ]
        -      }
        -    ]
        -  }
        -]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "keywords": [
        +          "iphone",
        +          "seo"
        +        ],
        +        "language_name": "English",
        +        "location_code": 2840
        +      }
        +    ],
        +    "properties": {
        +      "keywords": {
        +        "description": "<em>keywords</em><br><strong>required field</strong><br>UTF-8 encoding<br>The maximum number of keywords you can specify: 1000;<br>The maximum number of characters in a single keyword: 250;<br>The keywords will be converted to lowercase format;<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "language_code": {
        +        "description": "<em>language code</em><br><strong>required field if you don't specify</strong> <code>language_name</code><br><strong>if you use this field, you don't need to specify</strong> <code>language_name</code><br>you can receive the list of available languages with their <code>language_code</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/ai_optimization/ai_keyword_data/locations_and_languages</code><br>example:<br><code class=\"long-string\">en</code>",
        +        "type": "string"
        +      },
        +      "language_name": {
        +        "description": "<em>full name of the language</em><br><strong>required field if you don't specify</strong> <code>language_code</code><br><strong>if you use this field, you don't need to specify</strong> <code>language_code</code><br>you can receive the list of available languages with their <code>language_name</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/ai_optimization/ai_keyword_data/locations_and_languages</code><br>example:<br><code class=\"long-string\">English</code>",
        +        "type": "string"
        +      },
        +      "location_code": {
        +        "description": "<em>unique location identifier</em><br><strong>required field if you don't specify</strong> <code>location_name</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/ai_optimization/ai_keyword_data/locations_and_languages</code><br>example:<br><code class=\"long-string\">2840</code>",
        +        "type": "integer"
        +      },
        +      "location_name": {
        +        "description": "<em>full name of the location</em><br><strong>required field if you don't specify</strong> <code>location_code</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/ai_optimization/ai_keyword_data/locations_and_languages</code><br>example:<br><code class=\"long-string\">United Kingdom</code>",
        +        "type": "string"
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "keywords": {
        -    "description": "keywords required field UTF-8 encoding The maximum number of keywords you can specify: 1000; The maximum number of characters in a single keyword: 250; The keywords will be converted to lowercase format;learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "language_code": {
        -    "description": "language code required field if you don't specify language_name if you use this field, you don't need to specify language_name you can receive the list of available languages with their language_code by making a separate request to the https://api.dataforseo.com/v3/ai_optimization/ai_keyword_data/locations_and_languages example: en",
        -    "type": "string"
        -  },
        -  "language_name": {
        -    "description": "full name of the language required field if you don't specify language_code if you use this field, you don't need to specify language_code you can receive the list of available languages with their language_name by making a separate request to the https://api.dataforseo.com/v3/ai_optimization/ai_keyword_data/locations_and_languages example: English",
        -    "type": "string"
        -  },
        -  "location_code": {
        -    "description": "unique location identifier required field if you don't specify location_name Note: it is required to specify either location_name or location_code you can receive the list of available locations with their location_code by making a separate request to the https://api.dataforseo.com/v3/ai_optimization/ai_keyword_data/locations_and_languages example: 2840",
        -    "type": "integer"
        -  },
        -  "location_name": {
        -    "description": "full name of the location required field if you don't specify location_code Note: it is required to specify either location_name or location_code you can receive the list of available locations with their location_name by making a separate request to the https://api.dataforseo.com/v3/ai_optimization/ai_keyword_data/locations_and_languages example: United Kingdom",
        -    "type": "string"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "keywords"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_ai_perplexity_llm_responses_live7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "max_output_tokens": 200,
        +    "message_chain": [
        +      {
        +        "message": "Hello, what’s up?",
        +        "role": "user"
        +      },
        +      {
        +        "message": "Hello! I’m doing well, thank you. How can I assist you today? Are there any specific topics or projects you’d like to discuss in our meeting?",
        +        "role": "ai"
        +      }
        +    ],
        +    "model_name": "sonar",
        +    "system_message": "communicate as if we are in a business meeting",
        +    "temperature": 0.3,
        +    "top_p": 0.5,
        +    "user_prompt": "provide information on how relevant the amusement park business is in France now",
        +    "web_search_country_iso_code": "FR"
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "max_output_tokens": 200,
        +        "message_chain": [
        +          {
        +            "message": "Hello, what’s up?",
        +            "role": "user"
        +          },
        +          {
        +            "message": "Hello! I’m doing well, thank you. How can I assist you today? Are there any specific topics or projects you’d like to discuss in our meeting?",
        +            "role": "ai"
        +          }
        +        ],
        +        "model_name": "sonar",
        +        "system_message": "communicate as if we are in a business meeting",
        +        "temperature": 0.3,
        +        "top_p": 0.5,
        +        "user_prompt": "provide information on how relevant the amusement park business is in France now",
        +        "web_search_country_iso_code": "FR"
        +      }
        +    ],
        +    "properties": {
        +      "max_output_tokens": {
        +        "description": "<em>maximum number of tokens in the AI response</em><br>optional field<br>minimum value: <code>1</code><br>maximum value: <code>4096</code>;<br>default value: <code>2048</code>;<br><strong>Note:</strong> if the reasoning model is specified in the request, the output token count may exceed the specified <code>max_output_tokens</code> limit",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "message_chain": {
        +        "description": "conversation history\noptional field\narray of message objects representing previous conversation turns;\neach object must contain:\nrole string with either user or ai role;\nmessage string with message content (max 500 characters);\nyou can specify maximum of 10 message objects in the array;\nNote: for Perplexity models, messages must strictly alternate between user and AI roles (user → ai);\nexample:\n\"message_chain\": [{\"role\":\"user\",\"message\":\"Hello, what’s up?\"},{\"role\":\"ai\",\"message\":\"Hello! I’m doing well, thank you. How can I assist you today?\"}]",
        +        "items": {
        +          "anyOf": [
        +            {
        +              "properties": {
        +                "message": {
        +                  "description": "message text",
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                },
        +                "role": {
        +                  "description": "role of the user from whom the message originates",
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                }
        +              },
        +              "type": "object"
        +            }
        +          ],
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "model_name": {
        +        "description": "<em>name of the AI model</em><br><strong>required field</strong><br><code>model_name</code >consists of the actual model name and version name;<br>if the basic model name is specified, its latest version will be set by default;<br>you can receive the list of available LLM models by making a separate request to the following endpoint: <code>https://api.dataforseo.com/v3/ai_optimization/perplexity/llm_responses/models</code>",
        +        "type": "string"
        +      },
        +      "system_message": {
        +        "description": "<em>instructions for the AI behavior</em><br>optional field<br>defines the AI's role, tone, or specific behavior <br>you can specify <strong>up to 500 characters</strong> in the <code>system_message</code> field",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "temperature": {
        +        "description": "<em>randomness of the AI response</em><br>optional field<br>higher values make output more diverse <br>lower values make output more focused<br>minimum value: <code>0</code><br>maximum value: <code>1.9</code><br>default value: <code>0.77</code>",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "top_p": {
        +        "description": "<em>diversity of the AI response</em><br>optional field <br>controls diversity of the response by limiting token selection<br>minimum value: <code>0</code><br>maximum value: <code>1</code> <br>default value: <code>0.9</code>",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "user_prompt": {
        +        "description": "<em>prompt for the AI model</em><br><strong>required field</strong><br>the question or task you want to send to the AI model;<br>you can specify <strong>up to 500 characters</strong> in the <code>user_prompt</code> field",
        +        "type": "string"
        +      },
        +      "web_search_country_iso_code": {
        +        "description": "<em>country code for web search localization</em><br>optional field<br>specify the country  ISO code to get localized web search results<br><strong>Note:</strong> available only for Perplexity Sonar models<br>example: <code>US</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "max_output_tokens": {
        -    "description": "maximum number of tokens in the AI response optional field minimum value: 1 maximum value: 4096; default value: 2048; Note: if the reasoning model is specified in the request, the output token count may exceed the specified max_output_tokens limit",
        -    "type": "integer"
        -  },
        -  "message_chain": {
        -    "description": "conversation history optional field array of message objects representing previous conversation turns; each object must contain: role string with either user or ai role; message string with message content (max 500 characters); you can specify maximum of 10 message objects in the array; Note: for Perplexity models, messages must strictly alternate between user and AI roles (user → ai); example: \"message_chain\": [{\"role\":\"user\",\"message\":\"Hello, what’s up?\"},{\"role\":\"ai\",\"message\":\"Hello! I’m doing well, thank you. How can I assist you today?\"}]",
        -    "items": {
        -      "properties": {
        -        "message": {
        -          "description": "message text",
        -          "type": "string"
        -        },
        -        "role": {
        -          "description": "role of the user from whom the message originates",
        -          "enum": [
        -            "user",
        -            "ai"
        -          ],
        -          "type": "string"
        -        }
        -      },
        -      "required": [
        -        "role",
        -        "message"
        -      ],
        -      "type": "object"
        -    },
        -    "type": "array"
        -  },
        -  "model_name": {
        -    "description": "name of the AI model required field model_nameconsists of the actual model name and version name; if the basic model name is specified, its latest version will be set by default; you can receive the list of available LLM models by making a separate request to the following endpoint: https://api.dataforseo.com/v3/ai_optimization/perplexity/llm_responses/models",
        -    "type": "string"
        -  },
        -  "system_message": {
        -    "description": "instructions for the AI behavior optional field defines the AI's role, tone, or specific behavior you can specify up to 500 characters in the system_message field",
        -    "type": "string"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  },
        -  "temperature": {
        -    "description": "randomness of the AI response optional field higher values make output more diverse lower values make output more focused minimum value: 0 maximum value: 1.9 default value: 0.77",
        -    "type": "number"
        -  },
        -  "top_p": {
        -    "description": "diversity of the AI response optional field controls diversity of the response by limiting token selection minimum value: 0 maximum value: 1 default value: 0.9",
        -    "type": "number"
        -  },
        -  "user_prompt": {
        -    "description": "prompt for the AI model required field the question or task you want to send to the AI model; you can specify up to 500 characters in the user_prompt field",
        -    "type": "string"
        -  },
        -  "web_search_country_iso_code": {
        -    "description": "country code for web search localization optional field specify the country ISO code to get localized web search results Note: available only for Perplexity Sonar models example: US",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "user_prompt",
        -  "model_name"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_backlinks_anchors_live7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "filters": [
        +      "anchor",
        +      "like",
        +      "%news%"
        +    ],
        +    "limit": 4,
        +    "order_by": [
        +      "backlinks,desc"
        +    ],
        +    "target": "forbes.com"
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "filters": [
        +          "anchor",
        +          "like",
        +          "%news%"
        +        ],
        +        "limit": 4,
        +        "order_by": [
        +          "backlinks,desc"
        +        ],
        +        "target": "forbes.com"
        +      }
        +    ],
        +    "properties": {
        +      "backlinks_filters": {
        +        "description": "<em>filter the backlinks of your <code>target</code></em><br>optional field<br>you can use this field to filter the initial backlinks that will be included in the dataset for aggregated metrics for your <code>target</code><br>you can filter the backlinks by all fields available in the response of <a href=\"/v3/backlinks/backlinks/live/\">this endpoint</a><br>using this parameter, you can include only dofollow backlinks in the response and create a flexible backlinks dataset to calculate the metrics for<br>example:<br><code>\"backlinks_filters\": [[\"dofollow\", \"=\", true]]</code>",
        +        "items": {
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "backlinks_status_type": {
        +        "description": "<em>set what backlinks to return and count</em><br>optional field<br>you can use this field to choose what backlinks will be returned and used for aggregated metrics for your <code>target</code>;<br>possible values: <br><code>all</code> - all backlinks will be returned and counted;<br><code>live</code> - backlinks found during the last check will be returned and counted;<br><code>lost</code> - lost backlinks will be returned and counted;<p>default value: <code>live</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "exclude_internal_backlinks": {
        +        "description": "<em>indicates whether the backlinks from subdomains of the <code>target</code> are excluded</em><br>optional field<br>if set to <code>false</code>, the backlinks from subdomains of the <code>target</code> will be ommited and you won't receive the same domain in the response;<br>default value: <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "filters": {
        +        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>, <code>not_like</code>, <code>ilike</code>, <code>not_ilike</code>, <code>match</code>, <code>not_match</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters<br>example:<br><code>[\"referring_links_types.anchors\",\"&gt;\",\"1\"]</code><p><code>[[\"broken_pages\",\"&gt;\",\"2\"],<br>\"and\",<br>[\"backlinks\",\"&gt;\",\"10\"]]</code><p><code>[[\"first_seen\",\">\",\"2017-10-23 11:31:45 +00:00\"],<br>\"and\",<br>[[\"anchor\",\"like\",\"%seo%\"],\"or\",[\"referring_domains\",\"&gt;\",\"10\"]]]</code><p>The full list of possible filters is available <a href=\"/v3/backlinks/filters/?bash\">here.</a>",
        +        "items": {
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "include_indirect_links": {
        +        "description": "<em>indicates if indirect links to the <code>target</code> will be included in the results</em><br>optional field<br>if set to <code>true</code>, the results will include data on indirect links pointing to a page that either redirects to the target, or points to a canonical page<br>if set to <code>false</code>, indirect links will be ignored<br>default value: <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_subdomains": {
        +        "description": "<em>indicates if the subdomains of the <code>target</code> will be included in the search</em><br>optional field<br>if set to <code>false</code>, the subdomains will be ignored<br>default value: <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "internal_list_limit": {
        +        "description": "<em>maximum number of elements within internal arrays</em><br>optional field<br>you can use this field to limit the number of elements within the following arrays:<br><code>referring_links_tld</code><br><code>referring_links_types</code><br><code>referring_links_attributes</code><br><code>referring_links_platform_types</code><br><code>referring_links_semantic_locations</code><p>default value: <code>10</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "limit": {
        +        "description": "<em>the maximum number of returned anchors</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "offset": {
        +        "description": "<em>offset in the results array of returned anchors</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten anchors in the results array will be omitted and the data will be provided for the successive anchors",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "order_by": {
        +        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to set up a sorting type<br>example:<br><code>[\"backlinks,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"backlinks,desc\",\"rank,asc\"]</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "rank_scale": {
        +        "description": "<em>defines the scale used for calculating and displaying the <code>rank</code>, <code>domain_from_rank</code>, and <code>page_from_rank</code> values</em><br>optional field<p>you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale<p>possible values:<br><code>one_hundred</code> — rank values are displayed on a 0–100 scale<br><code>one_thousand</code> — rank values are displayed on a 0–1000 scale<p>default value: <code>one_thousand</code><p>learn more about how this parameter works and how ranking metrics are calculated in <a href=\"https://dataforseo.com/help-center/what_is_rank_in_backlinks_api#rank_scale\">this Help Center article</a>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "target": {
        +        "description": "<em>domain, subdomain or webpage to get anchors for</em><br><strong>required field</strong><br>a domain or a subdomain should be specified without <code>https://</code> and <code>www.</code><br>a page should be specified with absolute URL (including <code>http://</code> or <code>https://</code>)",
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "backlinks_filters": {
        -    "description": "filter the backlinks of your target optional field you can use this field to filter the initial backlinks that will be included in the dataset for aggregated metrics for your target you can filter the backlinks by all fields available in the response of this endpoint using this parameter, you can include only dofollow backlinks in the response and create a flexible backlinks dataset to calculate the metrics for example: \"backlinks_filters\": [[\"dofollow\", \"=\", true]]",
        -    "items": {},
        -    "type": "array"
        -  },
        -  "backlinks_status_type": {
        -    "description": "set what backlinks to return and count optional field you can use this field to choose what backlinks will be returned and used for aggregated metrics for your target; possible values: all – all backlinks will be returned and counted; live – backlinks found during the last check will be returned and counted; lost – lost backlinks will be returned and counted; default value: live",
        -    "type": "string"
        -  },
        -  "exclude_internal_backlinks": {
        -    "description": "indicates whether the backlinks from subdomains of the target are excluded optional field if set to false, the backlinks from subdomains of the target will be ommited and you won’t receive the same domain in the response; default value: true",
        -    "type": "boolean"
        -  },
        -  "filters": {
        -    "description": "array of results filtering parameters optional field you can add several filters at once (8 filters maximum) you should set a logical operator and, or between the conditions the following operators are supported: regex, not_regex, =, , in, not_in, like, not_like, ilike, not_ilike, match, not_match you can use the % operator with like and not_like to match any string of zero or more characters example: [\"referring_links_types.anchors\",\">\",\"1\"] [[\"broken_pages\",\">\",\"2\"], \"and\", [\"backlinks\",\">\",\"10\"]] [[\"first_seen\",\">\",\"2017-10-23 11:31:45 +00:00\"], \"and\", [[\"anchor\",\"like\",\"%seo%\"],\"or\",[\"referring_domains\",\">\",\"10\"]]] The full list of possible filters is available here.",
        -    "items": {},
        -    "type": "array"
        -  },
        -  "include_indirect_links": {
        -    "description": "indicates if indirect links to the target will be included in the results optional field if set to true, the results will include data on indirect links pointing to a page that either redirects to the target, or points to a canonical page if set to false, indirect links will be ignored default value: true",
        -    "type": "boolean"
        -  },
        -  "include_subdomains": {
        -    "description": "indicates if the subdomains of the target will be included in the search optional field if set to false, the subdomains will be ignored default value: true",
        -    "type": "boolean"
        -  },
        -  "internal_list_limit": {
        -    "description": "maximum number of elements within internal arrays optional field you can use this field to limit the number of elements within the following arrays: referring_links_tld referring_links_types referring_links_attributes referring_links_platform_types referring_links_semantic_locations default value: 10 maximum value: 1000",
        -    "type": "integer"
        -  },
        -  "limit": {
        -    "description": "the maximum number of returned anchors optional field default value: 100 maximum value: 1000",
        -    "type": "integer"
        -  },
        -  "offset": {
        -    "description": "offset in the results array of returned anchors optional field default value: 0 if you specify the 10 value, the first ten anchors in the results array will be omitted and the data will be provided for the successive anchors",
        -    "type": "integer"
        -  },
        -  "order_by": {
        -    "description": "results sorting rules optional field you can use the same values as in the filters array to sort the results possible sorting types: asc – results will be sorted in the ascending order desc – results will be sorted in the descending order you should use a comma to set up a sorting type example: [\"backlinks,desc\"] note that you can set no more than three sorting rules in a single request you should use a comma to separate several sorting rules example: [\"backlinks,desc\",\"rank,asc\"]",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "rank_scale": {
        -    "description": "defines the scale used for calculating and displaying the rank, domain_from_rank, and page_from_rank values optional field you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale possible values: one_hundred — rank values are displayed on a 0–100 scale one_thousand — rank values are displayed on a 0–1000 scale default value: one_thousand learn more about how this parameter works and how ranking metrics are calculated in this Help Center article",
        -    "type": "string"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  },
        -  "target": {
        -    "description": "domain, subdomain or webpage to get anchors for required field a domain or a subdomain should be specified without https:// and www. a page should be specified with absolute URL (including http:// or https://)",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "target"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_backlinks_backlinks_live7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "filters": [
        +      "dofollow",
        +      "=",
        +      true
        +    ],
        +    "limit": 5,
        +    "mode": "as_is",
        +    "target": "forbes.com"
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "filters": [
        +          "dofollow",
        +          "=",
        +          true
        +        ],
        +        "limit": 5,
        +        "mode": "as_is",
        +        "target": "forbes.com"
        +      }
        +    ],
        +    "properties": {
        +      "backlinks_status_type": {
        +        "description": "<em>set what backlinks to return and count</em><br>optional field<br>you can use this field to choose what backlinks will be returned and used for aggregated metrics for your <code>target</code>;<br>possible values: <br><code>all</code> - all backlinks will be returned and counted;<br><code>live</code> - backlinks found during the last check will be returned and counted;<br><code>lost</code> - lost backlinks will be returned and counted;<p>default value: <code>live</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "custom_mode": {
        +        "additionalProperties": {
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "description": "<em>detailed results grouping type</em><br>optional field<br>use this object to get a specific number of backlinks per <code>field</code><br>if you use <code>custom_mode</code>, then <code>mode</code> will be ignored<br>example:<br><code>\"custom_mode\": {\"field\": \"domain\", \"value\": 100}</code>",
        +        "type": [
        +          "object",
        +          "null"
        +        ]
        +      },
        +      "exclude_internal_backlinks": {
        +        "description": "<em>indicates if internal backlinks from subdomains to the <code>target</code> will be excluded from the results</em><br>optional field<br>if set to <code>true</code>, the results will not include data on internal backlinks from subdomains of the same domain as <code>target</code><br>if set to <code>false</code>, internal links will be included in the results<br>default value: <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "filters": {
        +        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>, <code>not_like</code>, <code>ilike</code>, <code>not_ilike</code>, <code>regex</code>, <code>not_regex</code>, <code>match</code>, <code>not_match</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters<br>example:<br><code>[\"rank\",\"&gt;\",\"80\"]</code><p><code>[[\"page_from_rank\",\"&gt;\",\"55\"],<br>\"and\",<br>[\"dofollow\",\"=\",true]]</code><p><code>[[\"first_seen\",\">\",\"2017-10-23 11:31:45 +00:00\"],<br>\"and\",<br>[[\"anchor\",\"like\",\"%seo%\"],\"or\",[\"text_pre\",\"like\",\"%seo%\"]]]</code><p>The full list of possible filters is available <a href=\"/v3/backlinks/filters/?bash\" rel=\"noopener noreferrer\" target=\"_blank\">here.</a>",
        +        "items": {
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "include_subdomains": {
        +        "description": "<em>indicates if the subdomains of the <code>target</code> will be included in the search</em><br>optional field<br>if set to <code>false</code>, the subdomains will be ignored<br>default value: <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "limit": {
        +        "description": "<em>the maximum number of returned backlinks</em><br>optional field<p>default value: <code>100</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "mode": {
        +        "description": "<em>results grouping type</em><br>optional field<br>possible grouping types:<br><code>as_is</code> - returns all backlinks<br><code>one_per_domain</code> - returns one backlink per domain<br><code>one_per_anchor</code> - returns one backlink per anchor<p>default value: <code>as_is</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "offset": {
        +        "description": "<em>offset in the results array of the returned backlinks</em><br>optional field<p>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten backlinks in the results array will be omitted and the data will be provided for the successive backlinks;<br><strong>Note:</strong> the maximum value is <code>20,000</code>, use the <code>search_after_token</code> if you would like to offset more results",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "order_by": {
        +        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to set up a sorting type<br>example:<br><code>[\"rank,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"domain_from_rank,desc\",\"page_from_rank,asc\"]</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "rank_scale": {
        +        "description": "<em>defines the scale used for calculating and displaying the <code>rank</code>, <code>domain_from_rank</code>, and <code>page_from_rank</code> values</em><br>optional field<p>you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale<p>possible values:<br><code>one_hundred</code> — rank values are displayed on a 0–100 scale<br><code>one_thousand</code> — rank values are displayed on a 0–1000 scale<p>default value: <code>one_thousand</code><p>learn more about how this parameter works and how ranking metrics are calculated in <a href=\"https://dataforseo.com/help-center/what_is_rank_in_backlinks_api#rank_scale\">this Help Center article</a>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "search_after_token": {
        +        "description": "<em>token for subsequent requests</em><br>optional field<br>provided in the identical filed of the response to each request;<br>use this parameter to avoid timeouts while trying to obtain over <code>20,000</code> results in a single request;<br>by specifying the unique <code>search_after_token</code> value from the response array, you will get the subsequent results of the initial task;<br><code>search_after_token</code> values are unique for each subsequent task ;<br><strong>Note:</strong> if the <code>search_after_token</code> is specified in the request, all other parameters should be identical to the previous request",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "target": {
        +        "description": "<em>domain, subdomain or webpage to get backlinks for</em><br><strong>required field</strong><br>a domain or a subdomain should be specified without <code>https://</code> and <code>www.</code><br>a page should be specified with absolute URL (including <code>http://</code> or <code>https://</code>)",
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "backlinks_status_type": {
        -    "description": "set what backlinks to return and count optional field you can use this field to choose what backlinks will be returned and used for aggregated metrics for your target; possible values: all – all backlinks will be returned and counted; live – backlinks found during the last check will be returned and counted; lost – lost backlinks will be returned and counted; default value: live",
        -    "type": "string"
        -  },
        -  "custom_mode": {
        -    "description": "detailed results grouping type optional field use this object to get a specific number of backlinks per field if you use custom_mode, then mode will be ignored example: \"custom_mode\": {\"field\": \"domain\", \"value\": 100}",
        -    "properties": {
        -      "field": {
        -        "type": "string"
        -      },
        -      "value": {
        -        "type": "integer"
        -      }
        -    },
        -    "type": "object"
        -  },
        -  "exclude_internal_backlinks": {
        -    "description": "indicates if internal backlinks from subdomains to the target will be excluded from the results optional field if set to true, the results will not include data on internal backlinks from subdomains of the same domain as target if set to false, internal links will be included in the results default value: true",
        -    "type": "boolean"
        -  },
        -  "filters": {
        -    "description": "array of results filtering parameters optional field you can add several filters at once (8 filters maximum) you should set a logical operator and, or between the conditions the following operators are supported: =, , in, not_in, like, not_like, ilike, not_ilike, regex, not_regex, match, not_match you can use the % operator with like and not_like to match any string of zero or more characters example: [\"rank\",\">\",\"80\"] [[\"page_from_rank\",\">\",\"55\"], \"and\", [\"dofollow\",\"=\",true]] [[\"first_seen\",\">\",\"2017-10-23 11:31:45 +00:00\"], \"and\", [[\"anchor\",\"like\",\"%seo%\"],\"or\",[\"text_pre\",\"like\",\"%seo%\"]]] The full list of possible filters is available here.",
        -    "items": {},
        -    "type": "array"
        -  },
        -  "include_subdomains": {
        -    "description": "indicates if the subdomains of the target will be included in the search optional field if set to false, the subdomains will be ignored default value: true",
        -    "type": "boolean"
        -  },
        -  "limit": {
        -    "description": "the maximum number of returned backlinks optional field default value: 100 maximum value: 1000",
        -    "type": "integer"
        -  },
        -  "mode": {
        -    "description": "results grouping type optional field possible grouping types: as_is – returns all backlinks one_per_domain – returns one backlink per domain one_per_anchor – returns one backlink per anchor default value: as_is",
        -    "type": "string"
        -  },
        -  "offset": {
        -    "description": "offset in the results array of the returned backlinks optional field default value: 0 if you specify the 10 value, the first ten backlinks in the results array will be omitted and the data will be provided for the successive backlinks; Note: the maximum value is 20,000, use the search_after_token if you would like to offset more results",
        -    "type": "integer"
        -  },
        -  "order_by": {
        -    "description": "results sorting rules optional field you can use the same values as in the filters array to sort the results possible sorting types: asc – results will be sorted in the ascending order desc – results will be sorted in the descending order you should use a comma to set up a sorting type example: [\"rank,desc\"] note that you can set no more than three sorting rules in a single request you should use a comma to separate several sorting rules example: [\"domain_from_rank,desc\",\"page_from_rank,asc\"]",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "rank_scale": {
        -    "description": "defines the scale used for calculating and displaying the rank, domain_from_rank, and page_from_rank values optional field you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale possible values: one_hundred — rank values are displayed on a 0–100 scale one_thousand — rank values are displayed on a 0–1000 scale default value: one_thousand learn more about how this parameter works and how ranking metrics are calculated in this Help Center article",
        -    "type": "string"
        -  },
        -  "search_after_token": {
        -    "description": "token for subsequent requests optional field provided in the identical filed of the response to each request; use this parameter to avoid timeouts while trying to obtain over 20,000 results in a single request; by specifying the unique search_after_token value from the response array, you will get the subsequent results of the initial task; search_after_token values are unique for each subsequent task ; Note: if the search_after_token is specified in the request, all other parameters should be identical to the previous request",
        -    "type": "string"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  },
        -  "target": {
        -    "description": "domain, subdomain or webpage to get backlinks for required field a domain or a subdomain should be specified without https:// and www. a page should be specified with absolute URL (including http:// or https://)",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "target"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_backlinks_competitors_live7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "filters": [
        +      "rank",
        +      ">",
        +      100
        +    ],
        +    "limit": 5,
        +    "order_by": [
        +      "rank,desc"
        +    ],
        +    "target": "dataforseo.com"
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "filters": [
        +          "rank",
        +          ">",
        +          100
        +        ],
        +        "limit": 5,
        +        "order_by": [
        +          "rank,desc"
        +        ],
        +        "target": "dataforseo.com"
        +      }
        +    ],
        +    "properties": {
        +      "exclude_internal_backlinks": {
        +        "description": "<em>indicates if internal backlinks from subdomains to the <code>target</code> will be excluded from the results</em><br>optional field<br>if set to <code>true</code>, the results will not include data on internal backlinks from subdomains of the same domain as <code>target</code><br>if set to <code>false</code>, internal links will be included in the results<br>default value: <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "exclude_large_domains": {
        +        "description": "<em>indicates whether large domain will appear in results</em><br>optional field<br>if set to <code>true</code>, the results from the large domain (google.com, amazon.com, etc.) will be omitted;<br>default value: <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "filters": {
        +        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>, <code>not_like</code>, <code>ilike</code>, <code>not_ilike</code>, <code>match</code>, <code>not_match</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters<br>example:<br><code>[\"rank\",\"&gt;\",\"100\"]</code><p><code>[[\"target\",\"like\",\"%forbes%\"],<br>\"and\",<br>[[\"rank\",\"&gt;\",\"100\"],\"or\",[\"intersections\",\"&gt;\",\"5\"]]]</code><p>The full list of possible filters is available <a href=\"/v3/backlinks/filters/?bash\" rel=\"noopener noreferrer\" target=\"_blank\">here.</a>",
        +        "items": {
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "limit": {
        +        "description": "<em>the maximum number of returned domains</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "main_domain": {
        +        "description": "<em>indicates if only main domain of the <code>target</code> will be included in the search</em><br>optional field<br>if set to <code>true</code>, only the main domain will be included in search;<br>default value: <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "offset": {
        +        "description": "<em>offset in the results array of returned domains</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten domains in the results array will be omitted and the data will be provided for the successive pages",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "order_by": {
        +        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to set up a sorting type<br>example:<br><code>[\"rank,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"intersections,desc\",\"rank,asc\"]</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "rank_scale": {
        +        "description": "<em>defines the scale used for calculating and displaying the <code>rank</code>, <code>domain_from_rank</code>, and <code>page_from_rank</code> values</em><br>optional field<p>you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale<p>possible values:<br><code>one_hundred</code> — rank values are displayed on a 0–100 scale<br><code>one_thousand</code> — rank values are displayed on a 0–1000 scale<p>default value: <code>one_thousand</code><p>learn more about how this parameter works and how ranking metrics are calculated in <a href=\"https://dataforseo.com/help-center/what_is_rank_in_backlinks_api#rank_scale\">this Help Center article</a>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "target": {
        +        "description": "<em>domain, subdomain or webpage to get competitor domains for</em><br><strong>required field</strong><br>a domain or a subdomain should be specified without <code>https://</code> and <code>www.</code><br>a page should be specified with absolute URL (including <code>http://</code> or <code>https://</code>)",
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "exclude_internal_backlinks": {
        -    "description": "indicates if internal backlinks from subdomains to the target will be excluded from the results optional field if set to true, the results will not include data on internal backlinks from subdomains of the same domain as target if set to false, internal links will be included in the results default value: true",
        -    "type": "boolean"
        -  },
        -  "exclude_large_domains": {
        -    "description": "indicates whether large domain will appear in results optional field if set to true, the results from the large domain (google.com, amazon.com, etc.) will be omitted; default value: true",
        -    "type": "boolean"
        -  },
        -  "filters": {
        -    "description": "array of results filtering parameters optional field you can add several filters at once (8 filters maximum) you should set a logical operator and, or between the conditions the following operators are supported: regex, not_regex, =, , in, not_in, like, not_like, ilike, not_ilike, match, not_match you can use the % operator with like and not_like to match any string of zero or more characters example: [\"rank\",\">\",\"100\"] [[\"target\",\"like\",\"%forbes%\"], \"and\", [[\"rank\",\">\",\"100\"],\"or\",[\"intersections\",\">\",\"5\"]]] The full list of possible filters is available here.",
        -    "items": {},
        -    "type": "array"
        -  },
        -  "limit": {
        -    "description": "the maximum number of returned domains optional field default value: 100 maximum value: 1000",
        -    "type": "integer"
        -  },
        -  "main_domain": {
        -    "description": "indicates if only main domain of the target will be included in the search optional field if set to true, only the main domain will be included in search; default value: true",
        -    "type": "boolean"
        -  },
        -  "offset": {
        -    "description": "offset in the results array of returned domains optional field default value: 0 if you specify the 10 value, the first ten domains in the results array will be omitted and the data will be provided for the successive pages",
        -    "type": "integer"
        -  },
        -  "order_by": {
        -    "description": "results sorting rules optional field you can use the same values as in the filters array to sort the results possible sorting types: asc – results will be sorted in the ascending order desc – results will be sorted in the descending order you should use a comma to set up a sorting type example: [\"rank,desc\"] note that you can set no more than three sorting rules in a single request you should use a comma to separate several sorting rules example: [\"intersections,desc\",\"rank,asc\"]",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "rank_scale": {
        -    "description": "defines the scale used for calculating and displaying the rank, domain_from_rank, and page_from_rank values optional field you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale possible values: one_hundred — rank values are displayed on a 0–100 scale one_thousand — rank values are displayed on a 0–1000 scale default value: one_thousand learn more about how this parameter works and how ranking metrics are calculated in this Help Center article",
        -    "type": "string"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  },
        -  "target": {
        -    "description": "domain, subdomain or webpage to get competitor domains for required field a domain or a subdomain should be specified without https:// and www. a page should be specified with absolute URL (including http:// or https://)",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "target"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_backlinks_history_live7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "date_from": "2020-01-01",
        +    "date_to": "2021-01-01",
        +    "target": "cnn.com"
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "date_from": "2020-01-01",
        +        "date_to": "2021-01-01",
        +        "target": "cnn.com"
        +      }
        +    ],
        +    "properties": {
        +      "date_from": {
        +        "description": "<em>starting date of the time range</em><br>optional field<br>minimum value <code>2019-01-01</code><br>if you don't specify this field, the minimum value will be used by default<br>date format: <code>\"yyyy-mm-dd\"</code><br>example:<br><code>\"2019-01-15\"</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "date_to": {
        +        "description": "<em>ending date of the time range</em><br>optional field<br>if you don't specify this field, the today's date will be used by default<br>date format: <code>\"yyyy-mm-dd\"</code><br>example:<br><code>\"2019-01-15\"</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "rank_scale": {
        +        "description": "<em>defines the scale used for calculating and displaying the <code>rank</code>, <code>domain_from_rank</code>, and <code>page_from_rank</code> values</em><br>optional field<p>you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale<p>possible values:<br><code>one_hundred</code> — rank values are displayed on a 0–100 scale<br><code>one_thousand</code> — rank values are displayed on a 0–1000 scale<p>default value: <code>one_thousand</code><p>learn more about how this parameter works and how ranking metrics are calculated in <a href=\"https://dataforseo.com/help-center/what_is_rank_in_backlinks_api#rank_scale\">this Help Center article</a>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "target": {
        +        "description": "<em>domain</em><br><strong>required field</strong><br>a domain should be specified without <code>https://</code> and <code>www.</code>",
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "date_from": {
        -    "description": "starting date of the time range optional field minimum value 2019-01-01 if you don’t specify this field, the minimum value will be used by default date format: \"yyyy-mm-dd\" example: \"2019-01-15\"",
        -    "type": "string"
        -  },
        -  "date_to": {
        -    "description": "ending date of the time range optional field if you don’t specify this field, the today’s date will be used by default date format: \"yyyy-mm-dd\" example: \"2019-01-15\"",
        -    "type": "string"
        -  },
        -  "rank_scale": {
        -    "description": "defines the scale used for calculating and displaying the rank, domain_from_rank, and page_from_rank values optional field you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale possible values: one_hundred — rank values are displayed on a 0–100 scale one_thousand — rank values are displayed on a 0–1000 scale default value: one_thousand learn more about how this parameter works and how ranking metrics are calculated in this Help Center article",
        -    "type": "string"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  },
        -  "target": {
        -    "description": "domain required field a domain should be specified without https:// and www.",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "target"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_backlinks_referring_domains_live7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "backlinks_filters": [
        +      "dofollow",
        +      "=",
        +      true
        +    ],
        +    "exclude_internal_backlinks": true,
        +    "filters": [
        +      "backlinks",
        +      ">",
        +      100
        +    ],
        +    "limit": 5,
        +    "order_by": [
        +      "rank,desc"
        +    ],
        +    "target": "backlinko.com"
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "backlinks_filters": [
        +          "dofollow",
        +          "=",
        +          true
        +        ],
        +        "exclude_internal_backlinks": true,
        +        "filters": [
        +          "backlinks",
        +          ">",
        +          100
        +        ],
        +        "limit": 5,
        +        "order_by": [
        +          "rank,desc"
        +        ],
        +        "target": "backlinko.com"
        +      }
        +    ],
        +    "properties": {
        +      "backlinks_filters": {
        +        "description": "<em>filter the backlinks of your <code>target</code></em><br>optional field<br>you can use this field to filter the initial backlinks that will be included in the dataset for aggregated metrics for your <code>target</code><br>you can filter the backlinks by all fields available in the response of <a href=\"/v3/backlinks/backlinks/live\">this endpoint</a><br>using this parameter, you can include only dofollow backlinks in the response and create a flexible backlinks dataset to calculate the metrics for<br>example:<br><code>\"backlinks_filters\": [\"dofollow\", \"=\", true]</code>",
        +        "items": {
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "backlinks_status_type": {
        +        "description": "<em>set what backlinks to return and count</em><br>optional field<br>you can use this field to choose what backlinks will be returned and used for aggregated metrics for your <code>target</code>;<br>possible values: <br><code>all</code> - all backlinks will be returned and counted;<br><code>live</code> - backlinks found during the last check will be returned and counted;<br><code>lost</code> - lost backlinks will be returned and counted;<p>default value: <code>live</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "exclude_internal_backlinks": {
        +        "description": "<em>indicates whether the backlinks from subdomains of the <code>target</code> are excluded</em><br>optional field<br>if set to <code>false</code>, the backlinks from subdomains of the <code>target</code> will be ommited and you won't receive the same domain in the response;<br>default value: <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "filters": {
        +        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>, <code>not_like</code>, <code>match</code>, <code>not_match</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters<br>example:<br><code>[\"referring_pages\",\"&gt;\",\"1\"]</code><p><code>[[\"referring_pages\",\"&gt;\",\"2\"],<br>\"and\",<br>[\"backlinks\",\"&gt;\",\"10\"]]</code><p><code>[[\"first_seen\",\">\",\"2017-10-23 11:31:45 +00:00\"],<br>\"and\",<br>[[\"domain\",\"like\",\"%dataforseo.com%\"],\"or\",[\"referring_domains\",\"&gt;\",\"10\"]]]</code><p>The full list of possible filters is available <a href=\"/v3/backlinks/filters/?bash\" rel=\"noopener noreferrer\" target=\"_blank\">here.</a>",
        +        "items": {
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "include_indirect_links": {
        +        "description": "<em>indicates if indirect links to the <code>target</code> will be included in the results</em><br>optional field<br>if set to <code>true</code>, the results will include data on indirect links pointing to a page that either redirects to the target, or points to a canonical page<br>if set to <code>false</code>, indirect links will be ignored<br>default value: <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_subdomains": {
        +        "description": "<em>indicates if the subdomains of the <code>target</code> will be included in the search</em><br>optional field<br>if set to <code>false</code>, the subdomains will be ignored<br>default value: <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "internal_list_limit": {
        +        "description": "<em>maximum number of elements within internal arrays</em><br>optional field<br>you can use this field to limit the number of elements within the following arrays:<br><code>referring_links_tld</code><br><code>referring_links_types</code><br><code>referring_links_attributes</code><br><code>referring_links_platform_types</code><br><code>referring_links_semantic_locations</code><p>default value: <code>10</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "limit": {
        +        "description": "<em>the maximum number of returned domains</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "offset": {
        +        "description": "<em>offset in the results array of returned domains</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten domains in the results array will be omitted and the data will be provided for the successive pages",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "order_by": {
        +        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to set up a sorting type<br>example:<br><code>[\"backlinks,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"backlinks,desc\",\"rank,asc\"]</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "rank_scale": {
        +        "description": "<em>defines the scale used for calculating and displaying the <code>rank</code>, <code>domain_from_rank</code>, and <code>page_from_rank</code> values</em><br>optional field<p>you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale<p>possible values:<br><code>one_hundred</code> — rank values are displayed on a 0–100 scale<br><code>one_thousand</code> — rank values are displayed on a 0–1000 scale<p>default value: <code>one_thousand</code><p>learn more about how this parameter works and how ranking metrics are calculated in <a href=\"https://dataforseo.com/help-center/what_is_rank_in_backlinks_api#rank_scale\">this Help Center article</a>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "target": {
        +        "description": "<em>domain, subdomain or webpage to get referring domains for</em><br><strong>required field</strong><br>a domain or a subdomain should be specified without <code>https://</code> and <code>www.</code><br>a page should be specified with absolute URL (including <code>http://</code> or <code>https://</code>)",
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "backlinks_filters": {
        -    "description": "filter the backlinks of your target optional field you can use this field to filter the initial backlinks that will be included in the dataset for aggregated metrics for your target you can filter the backlinks by all fields available in the response of this endpoint using this parameter, you can include only dofollow backlinks in the response and create a flexible backlinks dataset to calculate the metrics for example: \"backlinks_filters\": [\"dofollow\", \"=\", true]",
        -    "items": {},
        -    "type": "array"
        -  },
        -  "backlinks_status_type": {
        -    "description": "set what backlinks to return and count optional field you can use this field to choose what backlinks will be returned and used for aggregated metrics for your target; possible values: all – all backlinks will be returned and counted; live – backlinks found during the last check will be returned and counted; lost – lost backlinks will be returned and counted; default value: live",
        -    "type": "string"
        -  },
        -  "exclude_internal_backlinks": {
        -    "description": "indicates whether the backlinks from subdomains of the target are excluded optional field if set to false, the backlinks from subdomains of the target will be ommited and you won’t receive the same domain in the response; default value: true",
        -    "type": "boolean"
        -  },
        -  "filters": {
        -    "description": "array of results filtering parameters optional field you can add several filters at once (8 filters maximum) you should set a logical operator and, or between the conditions the following operators are supported: regex, not_regex, =, , in, not_in, like, not_like, match, not_match you can use the % operator with like and not_like to match any string of zero or more characters example: [\"referring_pages\",\">\",\"1\"] [[\"referring_pages\",\">\",\"2\"], \"and\", [\"backlinks\",\">\",\"10\"]] [[\"first_seen\",\">\",\"2017-10-23 11:31:45 +00:00\"], \"and\", [[\"domain\",\"like\",\"%dataforseo.com%\"],\"or\",[\"referring_domains\",\">\",\"10\"]]] The full list of possible filters is available here.",
        -    "items": {},
        -    "type": "array"
        -  },
        -  "include_indirect_links": {
        -    "description": "indicates if indirect links to the target will be included in the results optional field if set to true, the results will include data on indirect links pointing to a page that either redirects to the target, or points to a canonical page if set to false, indirect links will be ignored default value: true",
        -    "type": "boolean"
        -  },
        -  "include_subdomains": {
        -    "description": "indicates if the subdomains of the target will be included in the search optional field if set to false, the subdomains will be ignored default value: true",
        -    "type": "boolean"
        -  },
        -  "internal_list_limit": {
        -    "description": "maximum number of elements within internal arrays optional field you can use this field to limit the number of elements within the following arrays: referring_links_tld referring_links_types referring_links_attributes referring_links_platform_types referring_links_semantic_locations default value: 10 maximum value: 1000",
        -    "type": "integer"
        -  },
        -  "limit": {
        -    "description": "the maximum number of returned domains optional field default value: 100 maximum value: 1000",
        -    "type": "integer"
        -  },
        -  "offset": {
        -    "description": "offset in the results array of returned domains optional field default value: 0 if you specify the 10 value, the first ten domains in the results array will be omitted and the data will be provided for the successive pages",
        -    "type": "integer"
        -  },
        -  "order_by": {
        -    "description": "results sorting rules optional field you can use the same values as in the filters array to sort the results possible sorting types: asc – results will be sorted in the ascending order desc – results will be sorted in the descending order you should use a comma to set up a sorting type example: [\"backlinks,desc\"] note that you can set no more than three sorting rules in a single request you should use a comma to separate several sorting rules example: [\"backlinks,desc\",\"rank,asc\"]",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "rank_scale": {
        -    "description": "defines the scale used for calculating and displaying the rank, domain_from_rank, and page_from_rank values optional field you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale possible values: one_hundred — rank values are displayed on a 0–100 scale one_thousand — rank values are displayed on a 0–1000 scale default value: one_thousand learn more about how this parameter works and how ranking metrics are calculated in this Help Center article",
        -    "type": "string"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  },
        -  "target": {
        -    "description": "domain, subdomain or webpage to get referring domains for required field a domain or a subdomain should be specified without https:// and www. a page should be specified with absolute URL (including http:// or https://)",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "target"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_backlinks_summary_live7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "backlinks_filters": [
        +      "dofollow",
        +      "=",
        +      true
        +    ],
        +    "backlinks_status_type": "all",
        +    "include_subdomains": true,
        +    "internal_list_limit": 10,
        +    "target": "explodingtopics.com"
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "backlinks_filters": [
        +          "dofollow",
        +          "=",
        +          true
        +        ],
        +        "backlinks_status_type": "all",
        +        "include_subdomains": true,
        +        "internal_list_limit": 10,
        +        "target": "explodingtopics.com"
        +      }
        +    ],
        +    "properties": {
        +      "backlinks_filters": {
        +        "description": "<em>filter the backlinks of your <code>target</code></em><br>optional field<br>you can use this field to filter the initial backlinks that will be included in the dataset for aggregated metrics for your <code>target</code><br>you can filter the backlinks by all fields available in the response of <a href=\"/v3/backlinks/backlinks/live\">this endpoint</a><br>using this parameter, you can include only dofollow backlinks in the response and create a flexible backlinks dataset to calculate the metrics for<br>example:<br><code>\"backlinks_filters\": [\"dofollow\", \"=\", true]</code>",
        +        "items": {
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "backlinks_status_type": {
        +        "description": "<em>set what backlinks to return and count</em><br>optional field<br>you can use this field to choose what backlinks will be returned and used for aggregated metrics for your <code>target</code>;<br>possible values: <br><code>all</code> - all backlinks will be returned and counted;<br><code>live</code> - backlinks found during the last check will be returned and counted;<br><code>lost</code> - lost backlinks will be returned and counted;<p>default value: <code>live</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "exclude_internal_backlinks": {
        +        "description": "<em>indicates if internal backlinks from subdomains to the <code>target</code> will be excluded from the results</em><br>optional field<br>if set to <code>true</code>, the results will not include data on internal backlinks from subdomains of the same domain as <code>target</code><br>if set to <code>false</code>, internal links will be included in the results<br>default value: <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_indirect_links": {
        +        "description": "<em>indicates if indirect links to the <code>target</code> will be included in the results</em><br>optional field<br>if set to <code>true</code>, the results will include data on indirect links pointing to a page that either redirects to the target, or points to a canonical page<br>if set to <code>false</code>, indirect links will be ignored<br>default value: <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_subdomains": {
        +        "description": "<em>indicates if the subdomains of the <code>target</code> will be included in the search</em><br>optional field<br>if set to <code>false</code>, the subdomains will be ignored<br>default value: <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "internal_list_limit": {
        +        "description": "<em>maximum number of elements within internal arrays</em><br>optional field<br>you can use this field to limit the number of elements within the following arrays:<br><code>referring_links_tld</code><br><code>referring_links_types</code><br><code>referring_links_attributes</code><br><code>referring_links_platform_types</code><br><code>referring_links_semantic_locations</code><p>default value: <code>10</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "rank_scale": {
        +        "description": "<em>defines the scale used for calculating and displaying the <code>rank</code>, <code>domain_from_rank</code>, and <code>page_from_rank</code> values</em><br>optional field<p>you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale<p>possible values:<br><code>one_hundred</code> — rank values are displayed on a 0–100 scale<br><code>one_thousand</code> — rank values are displayed on a 0–1000 scale<p>default value: <code>one_thousand</code><p>learn more about how this parameter works and how ranking metrics are calculated in <a href=\"https://dataforseo.com/help-center/what_is_rank_in_backlinks_api#rank_scale\">this Help Center article</a>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "target": {
        +        "description": "<em>domain, subdomain or webpage to get data for</em><br><strong>required field</strong><br>a domain or a subdomain should be specified without <code>https://</code> and <code>www.</code><br>a page should be specified with absolute URL (including <code>http://</code> or <code>https://</code>)",
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "backlinks_filters": {
        -    "description": "filter the backlinks of your target optional field you can use this field to filter the initial backlinks that will be included in the dataset for aggregated metrics for your target you can filter the backlinks by all fields available in the response of this endpoint using this parameter, you can include only dofollow backlinks in the response and create a flexible backlinks dataset to calculate the metrics for example: \"backlinks_filters\": [\"dofollow\", \"=\", true]",
        -    "items": {},
        -    "type": "array"
        -  },
        -  "backlinks_status_type": {
        -    "description": "set what backlinks to return and count optional field you can use this field to choose what backlinks will be returned and used for aggregated metrics for your target; possible values: all – all backlinks will be returned and counted; live – backlinks found during the last check will be returned and counted; lost – lost backlinks will be returned and counted; default value: live",
        -    "type": "string"
        -  },
        -  "exclude_internal_backlinks": {
        -    "description": "indicates if internal backlinks from subdomains to the target will be excluded from the results optional field if set to true, the results will not include data on internal backlinks from subdomains of the same domain as target if set to false, internal links will be included in the results default value: true",
        -    "type": "boolean"
        -  },
        -  "include_indirect_links": {
        -    "description": "indicates if indirect links to the target will be included in the results optional field if set to true, the results will include data on indirect links pointing to a page that either redirects to the target, or points to a canonical page if set to false, indirect links will be ignored default value: true",
        -    "type": "boolean"
        -  },
        -  "include_subdomains": {
        -    "description": "indicates if the subdomains of the target will be included in the search optional field if set to false, the subdomains will be ignored default value: true",
        -    "type": "boolean"
        -  },
        -  "internal_list_limit": {
        -    "description": "maximum number of elements within internal arrays optional field you can use this field to limit the number of elements within the following arrays: referring_links_tld referring_links_types referring_links_attributes referring_links_platform_types referring_links_semantic_locations default value: 10 maximum value: 1000",
        -    "type": "integer"
        -  },
        -  "rank_scale": {
        -    "description": "defines the scale used for calculating and displaying the rank, domain_from_rank, and page_from_rank values optional field you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale possible values: one_hundred — rank values are displayed on a 0–100 scale one_thousand — rank values are displayed on a 0–1000 scale default value: one_thousand learn more about how this parameter works and how ranking metrics are calculated in this Help Center article",
        -    "type": "string"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  },
        -  "target": {
        -    "description": "domain, subdomain or webpage to get data for required field a domain or a subdomain should be specified without https:// and www. a page should be specified with absolute URL (including http:// or https://)",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "target"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_content_search_live6 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "filters": [
        +      "main_domain",
        +      "=",
        +      "reviewfinder.ca"
        +    ],
        +    "keyword": "logitech",
        +    "keyword_fields": {
        +      "snippet": "logitech"
        +    },
        +    "limit": 10,
        +    "order_by": [
        +      "content_info.sentiment_connotations.anger,desc"
        +    ],
        +    "page_type": [
        +      "ecommerce",
        +      "news",
        +      "blogs",
        +      "message-boards",
        +      "organization"
        +    ],
        +    "search_mode": "as_is"
        +  }
        +]
      • changedInput schema / properties / body / items / anyOf
        Previous value: -[
        -  {
        -    "required": [
        -      "keyword"
        -    ]
        -  },
        -  {
        -    "required": [
        -      "offset_token"
        -    ]
        -  }
        -]New value: +[
        +  {
        +    "example": [
        +      {
        +        "filters": [
        +          "main_domain",
        +          "=",
        +          "reviewfinder.ca"
        +        ],
        +        "keyword": "logitech",
        +        "keyword_fields": {
        +          "snippet": "logitech"
        +        },
        +        "limit": 10,
        +        "order_by": [
        +          "content_info.sentiment_connotations.anger,desc"
        +        ],
        +        "page_type": [
        +          "ecommerce",
        +          "news",
        +          "blogs",
        +          "message-boards",
        +          "organization"
        +        ],
        +        "search_mode": "as_is"
        +      }
        +    ],
        +    "properties": {
        +      "filters": {
        +        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>,<code>not_like</code>, <code>match</code>, <code>not_match</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters<br>example:<br><code>[\"country\",\"=\", \"US\"]</code><p><code>[[\"domain_rank\",\"&gt;\",800],\"and\",[\"content_info.connotation_types.negative\",\"&gt;\",0.9]]</code><p><code>[[\"domain_rank\",\"&gt;\",800],<br>\"and\",<br>[[\"page_types\",\"has\",\"ecommerce\"],<br>\"or\",<p>[\"content_info.text_category\",\"has\",10994]]]</code><br>for more information about filters, please refer to <a href=\"/v3/content_analysis/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Content Analysis API - Filters</a>",
        +        "items": {
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "keyword": {
        +        "description": "<em>target keyword</em><br><strong>required field</strong><br>UTF-8 encoding<br>the keywords will be converted to a lowercase format;<br><strong>Note</strong>: to match an exact phrase instead of a stand-alone keyword, use double quotes and backslashes; <br>example: <br>`\"keyword\": \"\\\"tesla palo alto\\\"\"`<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        +        "type": "string"
        +      },
        +      "keyword_fields": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "description": "<em>target keyword fields and target keywords</em><br>optional field<br>use this parameter to filter the dataset by keywords that certain fields should contain;<br>fields you can specify: <code>title</code>, <code>main_title</code>, <code>previous_title</code>, <code>snippet</code><br>you can indicate several fields;<br><strong>Note</strong>: to match an exact phrase instead of a stand-alone keyword, use double quotes and backslashes; <br>example:<br>`\"keyword_fields\": {<br>\"snippet\": \"\\\"logitech mouse\\\"\",<br>\"main_title\": \"sale\"<br>}\"`",
        +        "type": [
        +          "object",
        +          "null"
        +        ]
        +      },
        +      "limit": {
        +        "description": "<em>the maximum number of returned citations</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "offset": {
        +        "description": "<em>offset in the results array of returned citations</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten citations in the results array will be omitted and the data will be provided for the successive citations<br><strong>Note:</strong> we recommend using this parameter only when retrieving up to 10,000 results<br>for retrieving over 10,000 results, use the <code>offset_token</code> instead.",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "offset_token": {
        +        "description": "<em>offset token for subsequent requests</em><br>optional field<br>provided in the identical field of the response to each request;<br>use this parameter to avoid timeouts while trying to obtain over 10,000 results in a single request;<br>by specifying the unique <code>offset_token</code> value from the response array, you will get the subsequent results of the initial task;<br><code>offset_token</code> values are unique for each subsequent task <br><strong>Note:</strong> if the <code>offset_token</code> is specified in the request, all other parameters except <code>limit</code> will not be taken into account when processing a task<br>learn more about this parameter on our <a href=\"https://dataforseo.com/help-center/what-is-the-difference-between-the-offset-and-offset_token-parameters#offset_token\" target=\"_blank\">Help Center</a>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "order_by": {
        +        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to set up a sorting type<br>example:<br><code>[\"content_info.sentiment_connotations.anger,desc\"]</code><br>default rule:<br><code>[\"content_info.sentiment_connotations.anger,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"content_info.sentiment_connotations.anger,desc\",\"keyword_data.keyword_info.cpc,desc\"]</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "page_type": {
        +        "description": "<em>target page types</em><br>optional field<br>use this parameter to filter the dataset by page types<br>possible values: <br><code>\"ecommerce\"</code>, <code>\"news\"</code>, <code>\"blogs\"</code>, <code>\"message-boards\"</code>, <code>\"organization\"</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "rank_scale": {
        +        "description": "<em>defines the scale used for calculating and displaying the <code>domain_rank</code>, and <code>url_rank</code> values</em><br>optional field<p>you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale<p>possible values:<br><code>one_hundred</code> — rank values are displayed on a 0–100 scale<br><code>one_thousand</code> — rank values are displayed on a 0–1000 scale<p>default value: <code>one_thousand</code><p>learn more about how this parameter works in <a href=\"https://dataforseo.com/help-center/using-the-rank_scale-parameter-in-content-analysis-api\">this Help Center article</a>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "search_mode": {
        +        "description": "<em>results grouping type</em><br>optional field<br>possible grouping types:<br><code>as_is</code> - returns all citations for the target <code>keyword</code><br><code>one_per_domain</code> - returns one citation of the <code>keyword</code> per domain<br>default value: <code>as_is</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "filters": {
        -    "description": "array of results filtering parameters optional field you can add several filters at once (8 filters maximum) you should set a logical operator and, or between the conditions the following operators are supported: regex, not_regex, , , >, >=, =, , in, not_in, like,not_like, match, not_match you can use the % operator with like and not_like to match any string of zero or more characters example: [\"country\",\"=\", \"US\"] [[\"domain_rank\",\">\",800],\"and\",[\"content_info.connotation_types.negative\",\">\",0.9]] [[\"domain_rank\",\">\",800], \"and\", [[\"page_types\",\"has\",\"ecommerce\"], \"or\", [\"content_info.text_category\",\"has\",10994]]] for more information about filters, please refer to Content Analysis API – Filters",
        -    "items": {},
        -    "type": "array"
        -  },
        -  "keyword": {
        -    "description": "target keyword required field UTF-8 encoding the keywords will be converted to a lowercase format; Note: to match an exact phrase instead of a stand-alone keyword, use double quotes and backslashes; example: \"keyword\": \"\\\"tesla palo alto\\\"\" learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        -    "type": "string"
        -  },
        -  "keyword_fields": {
        -    "description": "target keyword fields and target keywords optional field use this parameter to filter the dataset by keywords that certain fields should contain; fields you can specify: title, main_title, previous_title, snippet you can indicate several fields; Note: to match an exact phrase instead of a stand-alone keyword, use double quotes and backslashes; example: \"keyword_fields\": { \"snippet\": \"\\\"logitech mouse\\\"\", \"main_title\": \"sale\" }",
        -    "properties": {
        -      "main_title": {
        -        "type": "string"
        -      },
        -      "previous_title": {
        -        "type": "string"
        -      },
        -      "snippet": {
        -        "type": "string"
        -      },
        -      "title": {
        -        "type": "string"
        -      }
        -    },
        -    "type": "object"
        -  },
        -  "limit": {
        -    "description": "the maximum number of returned citations optional field default value: 100 maximum value: 1000",
        -    "type": "integer"
        -  },
        -  "offset": {
        -    "description": "offset in the results array of returned citations optional field default value: 0 if you specify the 10 value, the first ten citations in the results array will be omitted and the data will be provided for the successive citations Note: we recommend using this parameter only when retrieving up to 10,000 results for retrieving over 10,000 results, use the offset_token instead.",
        -    "type": "integer"
        -  },
        -  "offset_token": {
        -    "description": "offset token for subsequent requests optional field provided in the identical field of the response to each request; use this parameter to avoid timeouts while trying to obtain over 10,000 results in a single request; by specifying the unique offset_token value from the response array, you will get the subsequent results of the initial task; offset_token values are unique for each subsequent task Note: if the offset_token is specified in the request, all other parameters except limit will not be taken into account when processing a task learn more about this parameter on our Help Center",
        -    "type": "string"
        -  },
        -  "order_by": {
        -    "description": "results sorting rules optional field you can use the same values as in the filters array to sort the results possible sorting types: asc – results will be sorted in the ascending order desc – results will be sorted in the descending order you should use a comma to set up a sorting type example: [\"content_info.sentiment_connotations.anger,desc\"] default rule: [\"content_info.sentiment_connotations.anger,desc\"] note that you can set no more than three sorting rules in a single request you should use a comma to separate several sorting rules example: [\"content_info.sentiment_connotations.anger,desc\",\"keyword_data.keyword_info.cpc,desc\"]",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "page_type": {
        -    "description": "target page types optional field use this parameter to filter the dataset by page types possible values: \"ecommerce\", \"news\", \"blogs\", \"message-boards\", \"organization\"",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "rank_scale": {
        -    "description": "defines the scale used for calculating and displaying the domain_rank, and url_rank values optional field you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale possible values: one_hundred — rank values are displayed on a 0–100 scale one_thousand — rank values are displayed on a 0–1000 scale default value: one_thousand learn more about how this parameter works in this Help Center article",
        -    "type": "string"
        -  },
        -  "search_mode": {
        -    "description": "results grouping type optional field possible grouping types: as_is – returns all citations for the target keyword one_per_domain – returns one citation of the keyword per domain default value: as_is",
        -    "type": "string"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  }
        -}
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_content_sentiment_analysis_live7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "internal_list_limit": 1,
        +    "keyword": "logitech"
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "internal_list_limit": 1,
        +        "keyword": "logitech"
        +      }
        +    ],
        +    "properties": {
        +      "initial_dataset_filters": {
        +        "description": "initial dataset filtering parameters\noptional field\ninitial filtering parameters that apply to fields in the Search endpoint\nyou can add several filters at once (8 filters maximum)\nyou should set a logical operator and, or between the conditions\nthe following operators are supported:\nregex, not_regex, <, <=, >, >=, =, <>, in, not_in, like,not_like, has, has_not, match, not_match\nyou can use the % operator with like and not_like to match any string of zero or more characters\nexample:\n[\"domain\",\"<>\", \"logitech.com\"]\n[[\"domain\",\"<>\",\"logitech.com\"],\"and\",[\"content_info.connotation_types.negative\",\">\",1000]]\n[[\"domain\",\"<>\",\"logitech.com\"]],\n\"and\",\n[[\"content_info.connotation_types.negative\",\">\",1000],\n\"or\",\n[\"content_info.text_category\",\"has\",10994]]]\nfor more information about filters, please refer to Content Analysis API – Filters\nlearn more about the initial dataset filters in this help center article.",
        +        "items": {
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "internal_list_limit": {
        +        "description": "maximum number of elements within internal arrays\noptional field\nyou can use this field to limit the number of elements within the following arrays:\ntop_domains\ntext_categories\npage_categories\ncountries\nlanguages\ndefault value: 1\nmaximum value: 20",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "keyword": {
        +        "description": "target keyword\nrequired field\nUTF-8 encoding\nthe keywords will be converted to a lowercase format;\nNote: to match an exact phrase instead of a stand-alone keyword, use double quotes and backslashes;\nexample:\n\"keyword\": \"\\\"tesla palo alto\\\"\"\nlearn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        +        "type": "string"
        +      },
        +      "keyword_fields": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "description": "target keyword fields and target keywords\noptional field\nuse this parameter to filter the dataset by keywords that certain fields should contain;\nfields you can specify: title, main_title, previous_title, snippet\nyou can indicate several fields;\nNote: to match an exact phrase instead of a stand-alone keyword, use double quotes and backslashes;\nexample:\n\"keyword_fields\": {\n    \"snippet\": \"\\\"logitech mouse\\\"\",\n    \"main_title\": \"sale\"\n}",
        +        "type": [
        +          "object",
        +          "null"
        +        ]
        +      },
        +      "page_type": {
        +        "description": "target page types\noptional field\nuse this parameter to filter the dataset by page types\npossible values:\n\"ecommerce\", \"news\", \"blogs\", \"message-boards\", \"organization\"",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "positive_connotation_threshold": {
        +        "description": "positive connotation threshold\noptional field\nspecified as the probability index threshold for positive sentiment related to the citation content\nif you specify this field, connotation_types object in the response will only contain data on citations with positive sentiment probability more than or equal to the specified value\npossible values: from 0 to 1\ndefault value: 0.4",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "rank_scale": {
        +        "description": "defines the scale used for calculating and displaying the rank values\noptional field\nyou can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale\npossible values:\none_hundred — rank values are displayed on a 0–100 scale\none_thousand — rank values are displayed on a 0–1000 scale\ndefault value: one_thousand\nlearn more about how this parameter works in this Help Center article",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "sentiments_connotation_threshold": {
        +        "description": "sentiment connotation threshold\noptional field\nspecified as the probability index threshold for sentiment connotations related to the citation content\nif you specify this field, sentiment_connotations object in the response will only contain data on citations where the probability per each sentiment is more than or equal to the specified value\npossible values: from 0 to 1\ndefault value: 0.4",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "user-defined task identifier\noptional field\nthe character limit is 255\nyou can use this parameter to identify the task and match it with the result\nyou will find the specified tag value in the data object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "initial_dataset_filters": {
        -    "description": "initial dataset filtering parameters optional field initial filtering parameters that apply to fields in the Search endpoint you can add several filters at once (8 filters maximum) you should set a logical operator and, or between the conditions the following operators are supported: regex, not_regex, , , >, >=, =, , in, not_in, like,not_like, has, has_not, match, not_match you can use the % operator with like and not_like to match any string of zero or more characters example: [\"domain\",\"\", \"logitech.com\"] [[\"domain\",\"\",\"logitech.com\"],\"and\",[\"content_info.connotation_types.negative\",\">\",1000]] [[\"domain\",\"\",\"logitech.com\"]], \"and\", [[\"content_info.connotation_types.negative\",\">\",1000], \"or\", [\"content_info.text_category\",\"has\",10994]]] for more information about filters, please refer to Content Analysis API – Filters learn more about the initial dataset filters in this help center article.",
        -    "items": {},
        -    "type": "array"
        -  },
        -  "internal_list_limit": {
        -    "description": "maximum number of elements within internal arrays optional field you can use this field to limit the number of elements within the following arrays: top_domains text_categories page_categories countries languages default value: 1 maximum value: 20",
        -    "type": "integer"
        -  },
        -  "keyword": {
        -    "description": "target keyword required field UTF-8 encoding the keywords will be converted to a lowercase format; Note: to match an exact phrase instead of a stand-alone keyword, use double quotes and backslashes; example: \"keyword\": \"\\\"tesla palo alto\\\"\" learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        -    "type": "string"
        -  },
        -  "keyword_fields": {
        -    "description": "target keyword fields and target keywords optional field use this parameter to filter the dataset by keywords that certain fields should contain; fields you can specify: title, main_title, previous_title, snippet you can indicate several fields; Note: to match an exact phrase instead of a stand-alone keyword, use double quotes and backslashes; example: \"keyword_fields\": { \"snippet\": \"\\\"logitech mouse\\\"\", \"main_title\": \"sale\" }",
        -    "properties": {
        -      "main_title": {
        -        "type": "string"
        -      },
        -      "previous_title": {
        -        "type": "string"
        -      },
        -      "snippet": {
        -        "type": "string"
        -      },
        -      "title": {
        -        "type": "string"
        -      }
        -    },
        -    "type": "object"
        -  },
        -  "page_type": {
        -    "description": "target page types optional field use this parameter to filter the dataset by page types possible values: \"ecommerce\", \"news\", \"blogs\", \"message-boards\", \"organization\"",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "positive_connotation_threshold": {
        -    "description": "positive connotation threshold optional field specified as the probability index threshold for positive sentiment related to the citation content if you specify this field, connotation_types object in the response will only contain data on citations with positive sentiment probability more than or equal to the specified value possible values: from 0 to 1 default value: 0.4",
        -    "type": "number"
        -  },
        -  "rank_scale": {
        -    "description": "defines the scale used for calculating and displaying the rank values optional field you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale possible values: one_hundred — rank values are displayed on a 0–100 scale one_thousand — rank values are displayed on a 0–1000 scale default value: one_thousand learn more about how this parameter works in this Help Center article",
        -    "type": "string"
        -  },
        -  "sentiments_connotation_threshold": {
        -    "description": "sentiment connotation threshold optional field specified as the probability index threshold for sentiment connotations related to the citation content if you specify this field, sentiment_connotations object in the response will only contain data on citations where the probability per each sentiment is more than or equal to the specified value possible values: from 0 to 1 default value: 0.4",
        -    "type": "number"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "keyword"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_content_summary_live7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "internal_list_limit": 8,
        +    "keyword": "logitech",
        +    "page_type": [
        +      "ecommerce",
        +      "news",
        +      "blogs",
        +      "message-boards",
        +      "organization"
        +    ],
        +    "positive_connotation_threshold": 0.5
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "internal_list_limit": 8,
        +        "keyword": "logitech",
        +        "page_type": [
        +          "ecommerce",
        +          "news",
        +          "blogs",
        +          "message-boards",
        +          "organization"
        +        ],
        +        "positive_connotation_threshold": 0.5
        +      }
        +    ],
        +    "properties": {
        +      "initial_dataset_filters": {
        +        "description": "<em>initial dataset filtering parameters</em><br>optional field<br>initial filtering parameters that apply to fields in the <a href=\"/v3/content_analysis/search/live/?bash\" target=\"_blank\">Search endpoint</a><br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>,<code>not_like</code>, <code>has</code>, <code>has_not</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters<br>example:<br><code>[\"domain\",\"&lt;&gt;\", \"logitech.com\"]</code><p><code>[[\"domain\",\"&lt;&gt;\",\"logitech.com\"],\"and\",[\"content_info.connotation_types.negative\",\"&gt;\",1000]]</code><p><code>[[\"domain\",\"&lt;&gt\",\"logitech.com\"]],<br>\"and\",<br>[[\"content_info.connotation_types.negative\",\"&gt;\",1000],<br>\"or\",<p>[\"content_info.text_category\",\"has\",10994]]]</code><br>for more information about filters, please refer to <a href=\"/v3/content_analysis/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Content Analysis API - Filters</a><br>learn more about the initial dataset filters in <a href=\"https://dataforseo.com/help-center/what-are-the-initial-dataset-filters-and-how-do-they-work\" rel=\"noopener noreferrer\" target=\"_blank\">this help center article.</a>",
        +        "items": {
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "internal_list_limit": {
        +        "description": "<em>maximum number of elements within internal arrays</em><br>optional field<br>you can use this field to limit the number of elements within the following arrays:<br><code>top_domains</code><br><code>text_categories</code><br><code>page_categories</code><br><code>countries</code><br><code>languages</code><br>default value: <code>1</code><br>maximum value: <code>20</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "keyword": {
        +        "description": "<em>target keyword</em><br><strong>required field</strong><br>UTF-8 encoding<br>the keywords will be converted to a lowercase format;<br><strong>Note</strong>: to match an exact phrase instead of a stand-alone keyword, use double quotes and backslashes; <br>example: <br><code>\"keyword\": \"\\\"tesla palo alto\\\"\"</code><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        +        "type": "string"
        +      },
        +      "keyword_fields": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "description": "<em>target keyword fields and target keywords</em><br>optional field<br>use this parameter to filter the dataset by keywords that certain fields should contain;<br>fields you can specify: <code>title</code>, <code>main_title</code>, <code>previous_title</code>, <code>snippet</code><br>you can indicate several fields;<br><strong>Note</strong>: to match an exact phrase instead of a stand-alone keyword, use double quotes and backslashes; <br>example:<br><code>\"keyword_fields\": {<br>\"snippet\": \"\\\"logitech mouse\\\"\",<br>\"main_title\": \"sale\"<br>}</code>",
        +        "type": [
        +          "object",
        +          "null"
        +        ]
        +      },
        +      "page_type": {
        +        "description": "<em>target page types</em><br>optional field<br>use this parameter to filter the dataset by page types<br>possible values: <br><code>\"ecommerce\"</code>, <code>\"news\"</code>, <code>\"blogs\"</code>, <code>\"message-boards\"</code>, <code>\"organization\"</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "positive_connotation_threshold": {
        +        "description": "<em>positive connotation threshold</em><br>optional field<br>specified as the probability index threshold for positive sentiment related to the citation content<br>if you specify this field, <code>connotation_types</code> object in the response will only contain data on citations with <code>positive</code> sentiment probability more than or equal to the specified value<br>possible values: from <code>0</code> to <code>1</code><br>default value: <code>0.4</code>",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "rank_scale": {
        +        "description": "<em>defines the scale used for calculating and displaying the <code>rank</code> values</em><br>optional field<p>you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale<p>possible values:<br><code>one_hundred</code> — rank values are displayed on a 0–100 scale<br><code>one_thousand</code> — rank values are displayed on a 0–1000 scale<p>default value: <code>one_thousand</code><p>learn more about how this parameter works in <a href=\"https://dataforseo.com/help-center/using-the-rank_scale-parameter-in-content-analysis-api\">this Help Center article</a>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "sentiments_connotation_threshold": {
        +        "description": "<em>sentiment connotation threshold</em><br>optional field<br>specified as the probability index threshold for sentiment connotations related to the citation content<br>if you specify this field, <code>sentiment_connotations</code> object in the response will only contain data on citations where the <br>probability per each sentiment is more than or equal to the specified value<br>possible values: from <code>0</code> to <code>1</code><br>default value: <code>0.4</code>",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "initial_dataset_filters": {
        -    "description": "initial dataset filtering parameters optional field initial filtering parameters that apply to fields in the Search endpoint you can add several filters at once (8 filters maximum) you should set a logical operator and, or between the conditions the following operators are supported: regex, not_regex, , , >, >=, =, , in, not_in, like,not_like, has, has_not you can use the % operator with like and not_like to match any string of zero or more characters example: [\"domain\",\"\", \"logitech.com\"] [[\"domain\",\"\",\"logitech.com\"],\"and\",[\"content_info.connotation_types.negative\",\">\",1000]] [[\"domain\",\"\",\"logitech.com\"]], \"and\", [[\"content_info.connotation_types.negative\",\">\",1000], \"or\", [\"content_info.text_category\",\"has\",10994]]] for more information about filters, please refer to Content Analysis API – Filters learn more about the initial dataset filters in this help center article.",
        -    "items": {},
        -    "type": "array"
        -  },
        -  "internal_list_limit": {
        -    "description": "maximum number of elements within internal arrays optional field you can use this field to limit the number of elements within the following arrays: top_domains text_categories page_categories countries languages default value: 1 maximum value: 20",
        -    "type": "integer"
        -  },
        -  "keyword": {
        -    "description": "target keyword required field UTF-8 encoding the keywords will be converted to a lowercase format; Note: to match an exact phrase instead of a stand-alone keyword, use double quotes and backslashes; example: \"keyword\": \"\\\"tesla palo alto\\\"\" learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        -    "type": "string"
        -  },
        -  "keyword_fields": {
        -    "description": "target keyword fields and target keywords optional field use this parameter to filter the dataset by keywords that certain fields should contain; fields you can specify: title, main_title, previous_title, snippet you can indicate several fields; Note: to match an exact phrase instead of a stand-alone keyword, use double quotes and backslashes; example: \"keyword_fields\": { \"snippet\": \"\\\"logitech mouse\\\"\", \"main_title\": \"sale\" }",
        -    "properties": {
        -      "main_title": {
        -        "type": "string"
        -      },
        -      "previous_title": {
        -        "type": "string"
        -      },
        -      "snippet": {
        -        "type": "string"
        -      },
        -      "title": {
        -        "type": "string"
        -      }
        -    },
        -    "type": "object"
        -  },
        -  "page_type": {
        -    "description": "target page types optional field use this parameter to filter the dataset by page types possible values: \"ecommerce\", \"news\", \"blogs\", \"message-boards\", \"organization\"",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "positive_connotation_threshold": {
        -    "description": "positive connotation threshold optional field specified as the probability index threshold for positive sentiment related to the citation content if you specify this field, connotation_types object in the response will only contain data on citations with positive sentiment probability more than or equal to the specified value possible values: from 0 to 1 default value: 0.4",
        -    "type": "number"
        -  },
        -  "rank_scale": {
        -    "description": "defines the scale used for calculating and displaying the rank values optional field you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale possible values: one_hundred — rank values are displayed on a 0–100 scale one_thousand — rank values are displayed on a 0–1000 scale default value: one_thousand learn more about how this parameter works in this Help Center article",
        -    "type": "string"
        -  },
        -  "sentiments_connotation_threshold": {
        -    "description": "sentiment connotation threshold optional field specified as the probability index threshold for sentiment connotations related to the citation content if you specify this field, sentiment_connotations object in the response will only contain data on citations where the probability per each sentiment is more than or equal to the specified value possible values: from 0 to 1 default value: 0.4",
        -    "type": "number"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "keyword"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_domains_tech_for_domain_live7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "target": "dataforseo.com"
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "target": "dataforseo.com"
        +      }
        +    ],
        +    "properties": {
        +      "target": {
        +        "description": "<em>target domain</em><br><strong>required field</strong><br>domain name of the website to analyze<br><strong>Note:</strong> results will be returned for the specified domain only",
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "target": {
        -    "description": "target domain required field domain name of the website to analyze Note: results will be returned for the specified domain only",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "target"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_domains_whois_overview_live5 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "filters": [
        +      [
        +        "epp_status_codes",
        +        "in",
        +        [
        +          "client_transfer_prohibited",
        +          "client_update_prohibited"
        +        ]
        +      ]
        +    ],
        +    "limit": 2
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "filters": [
        +          [
        +            "epp_status_codes",
        +            "in",
        +            [
        +              "client_transfer_prohibited",
        +              "client_update_prohibited"
        +            ]
        +          ]
        +        ],
        +        "limit": 2
        +      }
        +    ],
        +    "properties": {
        +      "filters": {
        +        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>, <code>not_like</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters",
        +        "items": {
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "limit": {
        +        "description": "<em>the maximum number of returned domains</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "offset": {
        +        "description": "<em>offset in the results array of returned items</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten <code>items</code> in the results array will be omitted and the data will be provided for the successive items;<br><strong>Note:</strong> we recommend using this parameter only when retrieving up to 10,000 results for retrieving over 10,000 results, use the <code>offset_token</code> instead",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "offset_token": {
        +        "description": "<em>token for subsequent requests</em><br>optional field<br>provided in the identical filed of the response to each request;<br>use this parameter to avoid timeouts while trying to obtain over 100,000 results in a single request;<br>by specifying the unique <code>offset_token</code> value from the response array, you will get the subsequent results of the initial task;<br><code>offset_token</code> values are unique for each subsequent task<br><strong>Note:</strong> if the <code>offset_token</code> is specified in the request, all other parameters should be identical to the previous request<br>learn more about this parameter on our <a href=\"https://dataforseo.com/help-center/what-is-the-difference-between-the-offset-and-offset_token-parameters#offset_token\" target=\"_blank\">Help Center</a>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "order_by": {
        +        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>the comma is used as a separator<br>example:<br><code>[\"metrics.organic.pos_1,desc\"]</code><br>default rule:<br><code>[\"metrics.organic.count,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"expiration_datetime,asc\",\"metrics.organic.etv,desc\",\"metrics.organic.pos_1,desc\"]</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "filters": {
        -    "description": "array of results filtering parameters optional field you can add several filters at once (8 filters maximum) you should set a logical operator and, or between the conditions the following operators are supported: regex, , , >, >=, =, , in, not_in, like, not_like you can use the % operator with like and not_like to match any string of zero or more characters",
        -    "items": {},
        -    "type": "array"
        -  },
        -  "limit": {
        -    "description": "the maximum number of returned domains optional field default value: 100 maximum value: 1000",
        -    "type": "integer"
        -  },
        -  "offset": {
        -    "description": "offset in the results array of returned items optional field default value: 0 if you specify the 10 value, the first ten items in the results array will be omitted and the data will be provided for the successive items; Note: we recommend using this parameter only when retrieving up to 10,000 results for retrieving over 10,000 results, use the offset_token instead",
        -    "type": "integer"
        -  },
        -  "offset_token": {
        -    "description": "token for subsequent requests optional field provided in the identical filed of the response to each request; use this parameter to avoid timeouts while trying to obtain over 100,000 results in a single request; by specifying the unique offset_token value from the response array, you will get the subsequent results of the initial task; offset_token values are unique for each subsequent task Note: if the offset_token is specified in the request, all other parameters should be identical to the previous request learn more about this parameter on our Help Center",
        -    "type": "string"
        -  },
        -  "order_by": {
        -    "description": "results sorting rules optional field you can use the same values as in the filters array to sort the results possible sorting types: asc - results will be sorted in the ascending order desc - results will be sorted in the descending order the comma is used as a separator example: [\"metrics.organic.pos_1,desc\"] default rule: [\"metrics.organic.count,desc\"] note that you can set no more than three sorting rules in a single request you should use a comma to separate several sorting rules example: [\"expiration_datetime,asc\",\"metrics.organic.etv,desc\",\"metrics.organic.pos_1,desc\"]",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  }
        -}
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_keywords_gads_kw_for_keywords_live7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "keywords": [
        +      "phone",
        +      "cellphone"
        +    ],
        +    "location_code": 2840
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "keywords": [
        +          "phone",
        +          "cellphone"
        +        ],
        +        "location_code": 2840
        +      }
        +    ],
        +    "properties": {
        +      "date_from": {
        +        "description": "<em>starting date of the time range</em><br>optional field<br>date format: <code>\"yyyy-mm-dd\"</code><br>minimal value: 4 years from the current date<br>by default, data is returned for the past 12 months;<br><strong>Note</strong>: the indicated date cannot be greater than that specified in <code>date_to</code> and/or yesterday's date;if <a href=\"/v3/keywords_data/google_ads/status/\" target=\"_blank\" rel=\"noopener noreferrer\">Status endpoint</a> returns <code>false</code> in the <code>actual_data</code> field, <code>date_from</code> can be set to the month before last and prior;<br>if <a href=\"/v3/keywords_data/google_ads/status/\" target=\"_blank\" rel=\"noopener noreferrer\">Status endpoint</a> returns <code>true</code> in the <code>actual_data</code> field, <code>date_from</code> can be set to the last month and prior",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "date_to": {
        +        "description": "<em>ending date of the time range</em><br>optional field<br><strong>Note:</strong> the indicated date cannot be greater than yesterday's date;<br>if you don't specify this field, yesterday's date will be used by default<br>date format: <code>\"yyyy-mm-dd\"</code><br>example:<br><code>\"2022-11-30\"</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "include_adult_keywords": {
        +        "description": "<em>include keywords associated with adult content</em><br>optional field<br>if set to <code>true</code>, adult keywords will be included in the response<br>default value: <code>false</code><br><strong>note</strong> that the API may return no data for such keywords due to <a href=\"https://support.google.com/adspolicy/answer/6008942?hl=en\" target=\"_blank\" rel=\"noopener noreferrer\">Google Ads restrictions</a>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "keywords": {
        +        "description": "<em>keywords</em><br><strong>required field</strong><br>The maximum number of keywords you can specify: 20<br>The maximum number of characters for each keyword: 80<br>the keywords you specify will be converted to a lowercase format<br><strong>Note:</strong> Google Ads may return no data for certain groups of keywords<br><a href=\"https://dataforseo.com/help-center/no-search-volume-data-for-some-keywords\" target=\"_blank\" rel=\"noopener noreferrer\">visit our Help Center to learn more</a><br><strong>Also note</strong> that Google Ads doesn't allow using certain symbols and characters (e.g., UTF symbols, emojis), so you can't use them when setting a task;<br>to learn more about which symbols and characters can be used, please refer to <a href=\"https://dataforseo.com/help-center/using-symbols-in-keywords-when-setting-a-google-ads-task\" target=\"_blank\" rel=\"noopener noreferrer\">this article</a><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "language_code": {
        +        "description": "<em>search engine language code</em><br>optional field<br>you can receive the list of available languages of the search engine with their <code>language_code</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/google_ads/languages</code><br>example:<br><code class=\"long-string\">en</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "<em>full name of search engine language</em><br>optional field<br>you can receive the list of available languages of the search engine with their <code>language_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/google_ads/languages</code><br>example:<br><code class=\"long-string\">English</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "location_code": {
        +        "description": "<em>search engine location code</em><br>optional field<br>if you do not indicate the location, you will receive worldwide results, i.e., for all available locations;<br><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_coordinate</code></strong>;<br>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/google_ads/locations</code><br>example:<br><code class=\"long-string\">2840</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_coordinate": {
        +        "description": "<em>GPS coordinates of a location</em><br>optional field<br>if you do not indicate the location, you will receive worldwide results, i.e., for all available locations;<br><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_code</code></strong>;<br><code>location_coordinate</code> parameter should be specified in the <em>\"latitude,longitude\"</em> format;<br><strong>the data will be provided for the country the specified coordinates belong to</strong>;<br>example:<br><code class=\"long-string\">52.6178549,-155.352142</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "location_name": {
        +        "description": "<em>full name of search engine location</em><br>optional field<br>if you do not indicate the location, you will receive worldwide results, i.e., for all available locations;<br><strong>if you use this field, you don't need to specify <code>location_code</code> or <code>location_coordinate</code></strong><br>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/google_ads/locations</code><br>example:<br><code class=\"long-string\">London,England,United Kingdom</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "search_partners": {
        +        "description": "<em>include Google search partners</em><br>optional field<br>if you specify <code class=\"prettyprint\">true</code>, the results will be delivered for owned, operated, and syndicated networks across <a href=\"https://support.google.com/google-ads/answer/1722047?hl=en\" target=\"_blank\" rel=\"noopener noreferrer\">Google and partner sites</a> that host Google search;<br>default value: <code>false</code> - results are returned for Google search sites",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "sort_by": {
        +        "description": "<em>results sorting parameters</em><br>optional field<br>Use these parameters to sort the results by <code>relevance</code>, <code>search_volume</code>, <code>competition_index</code>, <code>low_top_of_page_bid</code>, or <code>high_top_of_page_bid</code> in descending order<br>default value: <code>relevance</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "date_from": {
        -    "description": "starting date of the time range optional field date format: \"yyyy-mm-dd\" minimal value: 4 years from the current date by default, data is returned for the past 12 months; Note: the indicated date cannot be greater than that specified in date_to and/or yesterday’s date;if Status endpoint returns false in the actual_data field, date_from can be set to the month before last and prior; if Status endpoint returns true in the actual_data field, date_from can be set to the last month and prior",
        -    "type": "string"
        -  },
        -  "date_to": {
        -    "description": "ending date of the time range optional field Note: the indicated date cannot be greater than yesterday’s date; if you don’t specify this field, yesterday’s date will be used by default date format: \"yyyy-mm-dd\" example: \"2022-11-30\"",
        -    "type": "string"
        -  },
        -  "include_adult_keywords": {
        -    "description": "include keywords associated with adult content optional field if set to true, adult keywords will be included in the response default value: false note that the API may return no data for such keywords due to Google Ads restrictions",
        -    "type": "boolean"
        -  },
        -  "keywords": {
        -    "description": "keywords required field The maximum number of keywords you can specify: 20 The maximum number of characters for each keyword: 80 the keywords you specify will be converted to a lowercase format Note: Google Ads may return no data for certain groups of keywords visit our Help Center to learn more Also note that Google Ads doesn’t allow using certain symbols and characters (e.g., UTF symbols, emojis), so you can’t use them when setting a task; to learn more about which symbols and characters can be used, please refer to this article learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "language_code": {
        -    "description": "search engine language code optional field you can receive the list of available languages of the search engine with their language_code by making a separate request to https://api.dataforseo.com/v3/keywords_data/google_ads/languages example: en",
        -    "type": "string"
        -  },
        -  "language_name": {
        -    "description": "full name of search engine language optional field you can receive the list of available languages of the search engine with their language_name by making a separate request to https://api.dataforseo.com/v3/keywords_data/google_ads/languages example: English",
        -    "type": "string"
        -  },
        -  "location_code": {
        -    "description": "search engine location code optional field if you do not indicate the location, you will receive worldwide results, i.e., for all available locations; if you use this field, you don’t need to specify location_name or location_coordinate; you can receive the list of available locations of the search engines with their location_code by making a separate request to https://api.dataforseo.com/v3/keywords_data/google_ads/locations example: 2840",
        -    "type": "integer"
        -  },
        -  "location_coordinate": {
        -    "description": "GPS coordinates of a location optional field if you do not indicate the location, you will receive worldwide results, i.e., for all available locations; if you use this field, you don’t need to specify location_name or location_code; location_coordinate parameter should be specified in the “latitude,longitude” format; the data will be provided for the country the specified coordinates belong to; example: 52.6178549,-155.352142",
        -    "type": "string"
        -  },
        -  "location_name": {
        -    "description": "full name of search engine location optional field if you do not indicate the location, you will receive worldwide results, i.e., for all available locations; if you use this field, you don’t need to specify location_code or location_coordinate you can receive the list of available locations of the search engine with their location_name by making a separate request to https://api.dataforseo.com/v3/keywords_data/google_ads/locations example: London,England,United Kingdom",
        -    "type": "string"
        -  },
        -  "search_partners": {
        -    "description": "include Google search partners optional field if you specify true, the results will be delivered for owned, operated, and syndicated networks across Google and partner sites that host Google search; default value: false – results are returned for Google search sites",
        -    "type": "boolean"
        -  },
        -  "sort_by": {
        -    "description": "results sorting parameters optional field Use these parameters to sort the results by relevance, search_volume, competition_index, low_top_of_page_bid, or high_top_of_page_bid in descending order default value: relevance",
        -    "type": "string"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "keywords"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_keywords_gads_search_volume_live7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "date_from": "2021-08-01",
        +    "keywords": [
        +      "buy laptop",
        +      "cheap laptops for sale",
        +      "purchase laptop"
        +    ],
        +    "location_code": 2840,
        +    "search_partners": true
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "date_from": "2021-08-01",
        +        "keywords": [
        +          "buy laptop",
        +          "cheap laptops for sale",
        +          "purchase laptop"
        +        ],
        +        "location_code": 2840,
        +        "search_partners": true
        +      }
        +    ],
        +    "properties": {
        +      "date_from": {
        +        "description": "<em>starting date of the time range</em><br>optional field<br>date format: <code>\"yyyy-mm-dd\"</code><br>minimal value: 4 years from the current date<br>by default, data is returned for the past 12 months;<br><strong>Note</strong>: the indicated date cannot be greater than that specified in <code>date_to</code> and/or yesterday's date;if <a href=\"/v3/keywords_data/google_ads/status/\" target=\"_blank\" rel=\"noopener noreferrer\">Status endpoint</a> returns <code>false</code> in the <code>actual_data</code> field, <code>date_from</code> can be set to the month before last and prior;<br>if <a href=\"/v3/keywords_data/google_ads/status/\" target=\"_blank\" rel=\"noopener noreferrer\">Status endpoint</a> returns <code>true</code> in the <code>actual_data</code> field, <code>date_from</code> can be set to the last month and prior",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "date_to": {
        +        "description": "<em>ending date of the time range</em><br>optional field<br><strong>Note:</strong> the indicated date cannot be greater than the past month, Google Ads does not return data on the current month;<br>if you don't specify this field, yesterday's date will be used by default<br>date format: <code>\"yyyy-mm-dd\"</code><br>example:<br><code>\"2022-11-30\"</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "include_adult_keywords": {
        +        "description": "<em>include keywords associated with adult content<br></em>optional field<br>if set to_<code>true</code>, adult keywords will be included in the response<br>default value:_<code>false</code><br><strong>note</strong>_that the API may return no data for such keywords due to_<a href=\"https://support.google.com/adspolicy/answer/6008942?hl=en\" target=\"_blank\" rel=\"noopener noreferrer\">Google Ads restrictions</a>n",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "keywords": {
        +        "description": "<em>keywords</em><br><strong>required field</strong><br>The maximum number of keywords you can specify: 1000<br>The maximum number of characters for each keyword: 80<br>The maximum number of words for each keyword phrase: 10<br>the keywords you specify will be converted to a lowercase format<br><strong>Note #1:</strong> <a href=\"https://dataforseo.com/help-center/no-search-volume-data-for-some-keywords\" target=\"_blank\" rel=\"noopener noreferrer\">Google Ads may return no data for certain groups of keywords</a>;<br><strong>Note #2:</strong> <a href=\"https://dataforseo.com/help-center/sv-broad-exact-phrase-match\" target=\"_blank\" rel=\"noopener noreferrer\">Google Ads provides combined search volume values for groups of similar keywords</a><br>to obtain search volume for similar keywords, we recommend submitting such keywords in separate requests;<br><strong>Note #3:</strong> Google Ads doesn't allow using certain symbols and characters (e.g., UTF symbols, emojis), so you can't use them when setting a task;<br>to learn more about which symbols and characters can be used, please refer to <a href=\"https://dataforseo.com/help-center/using-symbols-in-keywords-when-setting-a-google-ads-task\" target=\"_blank\" rel=\"noopener noreferrer\">this article</a><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "language_code": {
        +        "description": "<em>search engine language code</em><br>optional field<br>you can receive the list of available languages of the search engine with their <code>language_code</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/google_ads/languages</code><br>example:<br><code class=\"long-string\">en</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "<em>full name of search engine language</em><br>optional field<br>you can receive the list of available languages of the search engine with their <code>language_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/google_ads/languages</code><br>example:<br><code class=\"long-string\">English</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "location_code": {
        +        "description": "<em>search engine location code</em><br>optional field<br>if you do not indicate the location, you will receive worldwide results, i.e., for all available locations;<br><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_coordinate</code></strong>;<br>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/google_ads/locations</code><br>example:<br><code class=\"long-string\">2840</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_coordinate": {
        +        "description": "<em>GPS coordinates of a location</em><br>optional field<br>if you do not indicate the location, you will receive worldwide results, i.e., for all available locations;<br><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_code</code></strong>;<br><code>location_coordinate</code> parameter should be specified in the <em>\"latitude,longitude\"</em> format;<br><strong>the data will be provided for the country the specified coordinates belong to</strong>;<br>example:<br><code class=\"long-string\">52.6178549,-155.352142</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "location_name": {
        +        "description": "<em>full name of search engine location</em><br>optional field<br>if you do not indicate the location, you will receive worldwide results, i.e., for all available locations;<br><strong>if you use this field, you don't need to specify <code>location_code</code> or <code>location_coordinate</code></strong><br>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/google_ads/locations</code><br>example:<br><code class=\"long-string\">London,England,United Kingdom</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "search_partners": {
        +        "description": "<em>include Google search partners</em><br>optional field<br>if you specify <code class=\"prettyprint\">true</code>, the results will be delivered for owned, operated, and syndicated networks across <a href=\"https://support.google.com/google-ads/answer/1722047?hl=en\" target=\"_blank\" rel=\"noopener noreferrer\">Google and partner sites</a> that host Google search;<br>default value: <code>false</code> - results are returned for Google search sites",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "sort_by": {
        +        "description": "<em>results sorting parameters</em><br>optional field<br>use these parameters to sort the results by <code>relevance</code>, <code>search_volume</code>, <code>competition_index</code>, <code>low_top_of_page_bid</code>, or <code>high_top_of_page_bid</code> in the descending order<br>default value: <code>relevance</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> array of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "date_from": {
        -    "description": "starting date of the time range optional field date format: \"yyyy-mm-dd\" minimal value: 4 years from the current date by default, data is returned for the past 12 months; Note: the indicated date cannot be greater than that specified in date_to and/or yesterday’s date;if Status endpoint returns false in the actual_data field, date_from can be set to the month before last and prior; if Status endpoint returns true in the actual_data field, date_from can be set to the last month and prior",
        -    "type": "string"
        -  },
        -  "date_to": {
        -    "description": "ending date of the time range optional field Note: the indicated date cannot be greater than the past month, Google Ads does not return data on the current month; if you don’t specify this field, yesterday’s date will be used by default date format: \"yyyy-mm-dd\" example: \"2022-11-30\"",
        -    "type": "string"
        -  },
        -  "include_adult_keywords": {
        -    "description": "include keywords associated with adult content optional field if set to_true, adult keywords will be included in the response default value:_false note_that the API may return no data for such keywords due to_Google Ads restrictions n",
        -    "type": "boolean"
        -  },
        -  "keywords": {
        -    "description": "keywords required field The maximum number of keywords you can specify: 1000 The maximum number of characters for each keyword: 80 The maximum number of words for each keyword phrase: 10 the keywords you specify will be converted to a lowercase format Note #1: Google Ads may return no data for certain groups of keywords; Note #2: Google Ads provides combined search volume values for groups of similar keywords to obtain search volume for similar keywords, we recommend submitting such keywords in separate requests; Note #3: Google Ads doesn’t allow using certain symbols and characters (e.g., UTF symbols, emojis), so you can’t use them when setting a task; to learn more about which symbols and characters can be used, please refer to this article learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "language_code": {
        -    "description": "search engine language code optional field you can receive the list of available languages of the search engine with their language_code by making a separate request to https://api.dataforseo.com/v3/keywords_data/google_ads/languages example: en",
        -    "type": "string"
        -  },
        -  "language_name": {
        -    "description": "full name of search engine language optional field you can receive the list of available languages of the search engine with their language_name by making a separate request to https://api.dataforseo.com/v3/keywords_data/google_ads/languages example: English",
        -    "type": "string"
        -  },
        -  "location_code": {
        -    "description": "search engine location code optional field if you do not indicate the location, you will receive worldwide results, i.e., for all available locations; if you use this field, you don’t need to specify location_name or location_coordinate; you can receive the list of available locations of the search engines with their location_code by making a separate request to https://api.dataforseo.com/v3/keywords_data/google_ads/locations example: 2840",
        -    "type": "integer"
        -  },
        -  "location_coordinate": {
        -    "description": "GPS coordinates of a location optional field if you do not indicate the location, you will receive worldwide results, i.e., for all available locations; if you use this field, you don’t need to specify location_name or location_code; location_coordinate parameter should be specified in the “latitude,longitude” format; the data will be provided for the country the specified coordinates belong to; example: 52.6178549,-155.352142",
        -    "type": "string"
        -  },
        -  "location_name": {
        -    "description": "full name of search engine location optional field if you do not indicate the location, you will receive worldwide results, i.e., for all available locations; if you use this field, you don’t need to specify location_code or location_coordinate you can receive the list of available locations of the search engine with their location_name by making a separate request to https://api.dataforseo.com/v3/keywords_data/google_ads/locations example: London,England,United Kingdom",
        -    "type": "string"
        -  },
        -  "search_partners": {
        -    "description": "include Google search partners optional field if you specify true, the results will be delivered for owned, operated, and syndicated networks across Google and partner sites that host Google search; default value: false – results are returned for Google search sites",
        -    "type": "boolean"
        -  },
        -  "sort_by": {
        -    "description": "results sorting parameters optional field use these parameters to sort the results by relevance, search_volume, competition_index, low_top_of_page_bid, or high_top_of_page_bid in the descending order default value: relevance",
        -    "type": "string"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data array of the response",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "keywords"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_keywords_trends_explore_live7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "keywords": [
        +      "iphone 14",
        +      "samsung s23"
        +    ],
        +    "location_code": 2840
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "keywords": [
        +          "iphone 14",
        +          "samsung s23"
        +        ],
        +        "location_code": 2840
        +      }
        +    ],
        +    "properties": {
        +      "date_from": {
        +        "description": "<em>starting date of the time range</em><br>optional field<br>if you don't specify this field, the current day and month of the preceding year will be used by default<br>minimal value for the <code>web</code> type: <code>2004-01-01</code><br>minimal value for other types: <code>2008-01-01</code><br>date format: <code>\"yyyy-mm-dd\"</code><br>example:<br><code>\"2019-01-15\"</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "date_to": {
        +        "description": "<em>ending date of the time range</em><br>optional field<br>if you don't specify this field, the today's date will be used by default<br>date format: <code>\"yyyy-mm-dd\"</code><br>example:<br><code>\"2019-01-15\"</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "keywords": {
        +        "description": "<em>keywords</em><br><strong>required field</strong><br>the maximum number of keywords you can specify: 5<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "location_code": {
        +        "description": "<em>search engine location code</em><br>optional field<br>if you don't use this field, you will recieve global results<br><strong>if you use this field, you don't need to specify <code>location_name</code></strong><br>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/dataforseo_trends/locations</code><br><strong>note that the data will be provided for the country the specified <code>location_code</code> belongs to;</strong><br>example:<br><code class=\"long-string\">2840</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_name": {
        +        "description": "<em>full name of search engine location</em><br>optional field<br>if you don't use this field, you will recieve global results<br><strong>if you use this field, you don't need to specify <code>location_code</code></strong><br>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/dataforseo_trends/locations</code><br><strong>note that the data will be provided for the country the specified <code>location_name</code> belongs to;</strong><br>example:<br><code class=\"long-string\">United Kingdom</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "time_range": {
        +        "description": "<em>preset time ranges</em><br>optional field<br>if you specify <code>date_from</code> or <code>date_to</code> parameters, this field will be ignored when setting a task<br><em>possible values for all <code>type</code> parameters:</em><br><code>past_4_hours</code>, <code>past_day</code>, <code>past_7_days</code>, <code>past_30_days</code>, <code>past_90_days</code>, <code>past_12_months</code>, <code>past_5_years</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "type": {
        +        "description": "type of element",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "date_from": {
        -    "description": "starting date of the time range optional field if you don’t specify this field, the current day and month of the preceding year will be used by default minimal value for the web type: 2004-01-01 minimal value for other types: 2008-01-01 date format: \"yyyy-mm-dd\" example: \"2019-01-15\"",
        -    "type": "string"
        -  },
        -  "date_to": {
        -    "description": "ending date of the time range optional field if you don’t specify this field, the today’s date will be used by default date format: \"yyyy-mm-dd\" example: \"2019-01-15\"",
        -    "type": "string"
        -  },
        -  "keywords": {
        -    "description": "keywords required field the maximum number of keywords you can specify: 5 learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "location_code": {
        -    "description": "search engine location code optional field if you don’t use this field, you will recieve global results if you use this field, you don’t need to specify location_name you can receive the list of available locations of the search engines with their location_code by making a separate request to https://api.dataforseo.com/v3/keywords_data/dataforseo_trends/locations note that the data will be provided for the country the specified location_code belongs to; example: 2840",
        -    "type": "integer"
        -  },
        -  "location_name": {
        -    "description": "full name of search engine location optional field if you don’t use this field, you will recieve global results if you use this field, you don’t need to specify location_code you can receive the list of available locations of the search engine with their location_name by making a separate request to https://api.dataforseo.com/v3/keywords_data/dataforseo_trends/locations note that the data will be provided for the country the specified location_name belongs to; example: United Kingdom",
        -    "type": "string"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  },
        -  "time_range": {
        -    "description": "preset time ranges optional field if you specify date_from or date_to parameters, this field will be ignored when setting a task possible values for all type parameters: past_4_hours, past_day, past_7_days, past_30_days, past_90_days, past_12_months, past_5_years",
        -    "type": "string"
        -  },
        -  "type": {
        -    "description": "type of element",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "keywords"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_labs_google_bulk_keyword_difficulty_live8 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "keywords": [
        +      "dentist new york",
        +      "pizza brooklyn",
        +      "car dealer los angeles"
        +    ],
        +    "language_code": "en",
        +    "location_code": 2840
        +  }
        +]
      • removedInput schema / properties / body / items / allOf
        Removed value: -[
        -  {
        -    "anyOf": [
        -      {
        -        "required": [
        -          "location_name"
        -        ]
        -      },
        -      {
        -        "required": [
        -          "location_code"
        -        ]
        -      }
        -    ]
        -  },
        -  {
        -    "anyOf": [
        -      {
        -        "required": [
        -          "language_name"
        -        ]
        -      },
        -      {
        -        "required": [
        -          "language_code"
        -        ]
        -      }
        -    ]
        -  }
        -]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "keywords": [
        +          "dentist new york",
        +          "pizza brooklyn",
        +          "car dealer los angeles"
        +        ],
        +        "language_code": "en",
        +        "location_code": 2840
        +      }
        +    ],
        +    "properties": {
        +      "keywords": {
        +        "description": "<em>target keywords</em><br><strong>required field</strong><br>UTF-8 encoding<br>maximum number of keywords you can specify in this array: 1000<br>the keywords will be converted to lowercase format<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "language_code": {
        +        "description": "<em>language code</em><br><strong>required field if don't specify <code>language_name</code></strong><br>you can receive the list of available languages with their <code>language_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">en</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "<em>full name of the language</em><br><strong>required field if don't specify <code>language_code</code></strong><br>you can receive the list of available languages with their <code>language_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">English</code>",
        +        "type": "string"
        +      },
        +      "location_code": {
        +        "description": "<em>location code</em><br><strong>required field if don't specify <code>location_name</code></strong><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">2840</code>",
        +        "type": "integer"
        +      },
        +      "location_name": {
        +        "description": "<em>full name of the location</em><br><strong>required field if don't specify <code>location_code</code></strong><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">United Kingdom</code>",
        +        "type": "string"
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "keywords": {
        -    "description": "target keywords required field UTF-8 encoding maximum number of keywords you can specify in this array: 1000 the keywords will be converted to lowercase format learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "language_code": {
        -    "description": "language code required field if don’t specify language_name you can receive the list of available languages with their language_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: en",
        -    "type": "string"
        -  },
        -  "language_name": {
        -    "description": "full name of the language required field if don’t specify language_code you can receive the list of available languages with their language_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: English",
        -    "type": "string"
        -  },
        -  "location_code": {
        -    "description": "location code required field if don’t specify location_name you can receive the list of available locations with their location_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: 2840",
        -    "type": "integer"
        -  },
        -  "location_name": {
        -    "description": "full name of the location required field if don’t specify location_code you can receive the list of available locations with their location_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: United Kingdom",
        -    "type": "string"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "keywords"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_labs_google_bulk_traffic_estimation_live7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "item_types": [
        +      "organic",
        +      "paid"
        +    ],
        +    "language_code": "en",
        +    "location_code": 2840,
        +    "targets": [
        +      "dataforseo.com",
        +      "cnn.com",
        +      "forbes.com"
        +    ]
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "item_types": [
        +          "organic",
        +          "paid"
        +        ],
        +        "language_code": "en",
        +        "location_code": 2840,
        +        "targets": [
        +          "dataforseo.com",
        +          "cnn.com",
        +          "forbes.com"
        +        ]
        +      }
        +    ],
        +    "properties": {
        +      "ignore_synonyms": {
        +        "description": "<em>ignore highly similar keywords</em><br>optional field<br>if set to_<code class=\"prettyprint\">true</code>, only core keywords will be returned, all highly similar keywords will be excluded;  <br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "item_types": {
        +        "description": "<em>display results by item type</em><br>optional field<br>indicates the type of search results included in the response<p><strong>Note:</strong> if the <code>item_types</code> array contains item types that are different from <code>organic</code>, the results will be ordered by the first item type in the array<p>possible values: <br><code>[\"organic\", \"paid\", \"featured_snippet\", \"local_pack\"]</code><br>default value: <br><code>[\"organic\", \"paid\"]</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "language_code": {
        +        "description": "<em>language code</em><br>if you use this field, you don’t need to specify <code>language_name</code><br>you can receive the list of available languages with their <code>language_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available languages<br>example:<br><code class=\"long-string\">en</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "<em>full name of the language</em><br>if you use this field, you don’t need to specify <code>language_code</code><br>you can receive the list of available languages with their <code>language_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available languages<br>example:<br><code class=\"long-string\">English</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "location_code": {
        +        "description": "<em>location code</em><br>if you use this field, you don't have to specify <code>location_name</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">2840</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_name": {
        +        "description": "<em>full name of the location</em><br>if you use this field, you don't have to specify <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">United Kingdom</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "targets": {
        +        "description": "<em>target domains, subdomains, and webpages</em><br><strong>required field</strong><br>you can specify domains, subdomains, and webpages in this field;<br>domains and subdomains should be specified without <code>https://</code> and <code>www.</code>;<br>pages should be specified with absolute URL, including <code>https://</code> and <code>www.</code>;<br>you can set up to 1000 domains, subdomains or webpages",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "ignore_synonyms": {
        -    "description": "ignore highly similar keywords optional field if set to_true, only core keywords will be returned, all highly similar keywords will be excluded; default value: false",
        -    "type": "boolean"
        -  },
        -  "item_types": {
        -    "description": "display results by item type optional field indicates the type of search results included in the response Note: if the item_types array contains item types that are different from organic, the results will be ordered by the first item type in the array possible values: [\"organic\", \"paid\", \"featured_snippet\", \"local_pack\"] default value: [\"organic\", \"paid\"]",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "language_code": {
        -    "description": "language code if you use this field, you don’t need to specify language_name you can receive the list of available languages with their language_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages ignore this field to get the results for all available languages example: en",
        -    "type": "string"
        -  },
        -  "language_name": {
        -    "description": "full name of the language if you use this field, you don’t need to specify language_code you can receive the list of available languages with their language_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages ignore this field to get the results for all available languages example: English",
        -    "type": "string"
        -  },
        -  "location_code": {
        -    "description": "location code if you use this field, you don’t have to specify location_name you can receive the list of available locations with their location_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages ignore this field to get the results for all available locations example: 2840",
        -    "type": "integer"
        -  },
        -  "location_name": {
        -    "description": "full name of the location if you use this field, you don’t have to specify location_code you can receive the list of available locations with their location_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages ignore this field to get the results for all available locations example: United Kingdom",
        -    "type": "string"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  },
        -  "targets": {
        -    "description": "target domains, subdomains, and webpages required field you can specify domains, subdomains, and webpages in this field; domains and subdomains should be specified without https:// and www.; pages should be specified with absolute URL, including https:// and www.; you can set up to 1000 domains, subdomains or webpages",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "targets"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_labs_google_domain_rank_overview_live7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "language_name": "English",
        +    "location_code": 2840,
        +    "target": "dataforseo.com"
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "language_name": "English",
        +        "location_code": 2840,
        +        "target": "dataforseo.com"
        +      }
        +    ],
        +    "properties": {
        +      "ignore_synonyms": {
        +        "description": "<em>ignore highly similar keywords</em><br>optional field<br>if set to_<code class=\"prettyprint\">true</code>, all highly similar keywords will be excluded from the ranking and traffic calculations, the results will be based on data for main keywords from groups of synonyms<br>default value: <code>false</code>n",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "language_code": {
        +        "description": "<em>language code</em><br>optional field<br>if you use this field, you don't need to specify <code>language_name</code><br>you can receive the list of available languages with their <code>language_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available languages<br>example:<br><code class=\"long-string\">en</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "<em>full name of the language</em><br>optional field<br>if you use this field, you don't need to specify <code>language_code</code><br>you can receive the list of available languages with their <code>language_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available languages<br>example:<br><code class=\"long-string\">English</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "limit": {
        +        "description": "<em>the maximum number of returned results for domain</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_code": {
        +        "description": "<em>location code</em><br>optional field<br>if you use this field, you don't need to specify <code>location_name</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">2840</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_name": {
        +        "description": "<em>full name of the location</em><br>optional field<br>if you use this field, you don't need to specify <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">United Kingdom</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "offset": {
        +        "description": "<em>offset in the results array of returned items</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten <code>items</code> in the results array will be omitted and the data will be provided for the successive items",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "target": {
        +        "description": "<em>domain</em><br><strong>required field</strong><br>the domain name of the target website<br>the domain should be specified without <code>https://</code> and <code>www.</code>",
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "ignore_synonyms": {
        -    "description": "ignore highly similar keywords optional field if set to_true, all highly similar keywords will be excluded from the ranking and traffic calculations, the results will be based on data for main keywords from groups of synonyms default value: falsen",
        -    "type": "boolean"
        -  },
        -  "language_code": {
        -    "description": "language code optional field if you use this field, you don’t need to specify language_name you can receive the list of available languages with their language_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages ignore this field to get the results for all available languages example: en",
        -    "type": "string"
        -  },
        -  "language_name": {
        -    "description": "full name of the language optional field if you use this field, you don’t need to specify language_code you can receive the list of available languages with their language_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages ignore this field to get the results for all available languages example: English",
        -    "type": "string"
        -  },
        -  "limit": {
        -    "description": "the maximum number of returned results for domain optional field default value: 100 maximum value: 1000",
        -    "type": "integer"
        -  },
        -  "location_code": {
        -    "description": "location code optional field if you use this field, you don’t need to specify location_name you can receive the list of available locations with their location_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages ignore this field to get the results for all available locations example: 2840",
        -    "type": "integer"
        -  },
        -  "location_name": {
        -    "description": "full name of the location optional field if you use this field, you don’t need to specify location_code you can receive the list of available locations with their location_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages ignore this field to get the results for all available locations example: United Kingdom",
        -    "type": "string"
        -  },
        -  "offset": {
        -    "description": "offset in the results array of returned items optional field default value: 0 if you specify the 10 value, the first ten items in the results array will be omitted and the data will be provided for the successive items",
        -    "type": "integer"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  },
        -  "target": {
        -    "description": "domain required field the domain name of the target website the domain should be specified without https:// and www.",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "target"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_labs_google_historical_keyword_data_live8 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "keywords": [
        +      "iphone"
        +    ],
        +    "language_code": "en",
        +    "location_code": 2840
        +  }
        +]
      • removedInput schema / properties / body / items / allOf
        Removed value: -[
        -  {
        -    "anyOf": [
        -      {
        -        "required": [
        -          "location_name"
        -        ]
        -      },
        -      {
        -        "required": [
        -          "location_code"
        -        ]
        -      }
        -    ]
        -  },
        -  {
        -    "anyOf": [
        -      {
        -        "required": [
        -          "language_name"
        -        ]
        -      },
        -      {
        -        "required": [
        -          "language_code"
        -        ]
        -      }
        -    ]
        -  }
        -]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "keywords": [
        +          "iphone"
        +        ],
        +        "language_code": "en",
        +        "location_code": 2840
        +      }
        +    ],
        +    "properties": {
        +      "keywords": {
        +        "description": "<em>keywords</em><br><strong>required field</strong><br>The maximum number of keywords you can specify: 700<br>The maximum number of characters for each keyword: 80<br>The maximum number of words for each keyword phrase: 10<br>the specified keywords will be converted to lowercase format, data will be provided in a separate array<p><strong>note</strong> that if some of the keywords specified in this array are omitted in the results you receive, then our database doesn't contain such keywords and cannot return data on them<br>you will not be charged for the keywords omitted in the results<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "language_code": {
        +        "description": "<em>language code</em><br><strong>required field if you don't specify</strong> <code>language_name</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available locations with their <code>language_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">en</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "<em>full name of the language</em><br><strong>required field if you don't specify</strong> <code>language_code</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available locations with their <code>language_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">English</code>",
        +        "type": "string"
        +      },
        +      "location_code": {
        +        "description": "<em>location code</em><br><strong>required field if you don't specify</strong> <code>location_name</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">2840</code>",
        +        "type": "integer"
        +      },
        +      "location_name": {
        +        "description": "<em>full name of the location</em><br><strong>required field if you don't specify</strong> <code>location_code</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">United Kingdom</code>",
        +        "type": "string"
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "keywords": {
        -    "description": "keywords required field The maximum number of keywords you can specify: 700 The maximum number of characters for each keyword: 80 The maximum number of words for each keyword phrase: 10 the specified keywords will be converted to lowercase format, data will be provided in a separate array note that if some of the keywords specified in this array are omitted in the results you receive, then our database doesn’t contain such keywords and cannot return data on them you will not be charged for the keywords omitted in the results learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "language_code": {
        -    "description": "language code required field if you don’t specify language_name Note: it is required to specify either language_name or language_code you can receive the list of available locations with their language_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: en",
        -    "type": "string"
        -  },
        -  "language_name": {
        -    "description": "full name of the language required field if you don’t specify language_code Note: it is required to specify either language_name or language_code you can receive the list of available locations with their language_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: English",
        -    "type": "string"
        -  },
        -  "location_code": {
        -    "description": "location code required field if you don’t specify location_name Note: it is required to specify either location_name or location_code you can receive the list of available locations with their location_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: 2840",
        -    "type": "integer"
        -  },
        -  "location_name": {
        -    "description": "full name of the location required field if you don’t specify location_code Note: it is required to specify either location_name or location_code you can receive the list of available locations with their location_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: United Kingdom",
        -    "type": "string"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "keywords"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_labs_google_historical_rank_live8 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "date_from": "2021-01-01",
        +    "date_to": "2021-03-29",
        +    "language_code": "en",
        +    "location_code": 2840,
        +    "target": "dataforseo.com"
        +  }
        +]
      • removedInput schema / properties / body / items / allOf
        Removed value: -[
        -  {
        -    "anyOf": [
        -      {
        -        "required": [
        -          "location_name"
        -        ]
        -      },
        -      {
        -        "required": [
        -          "location_code"
        -        ]
        -      }
        -    ]
        -  },
        -  {
        -    "anyOf": [
        -      {
        -        "required": [
        -          "language_name"
        -        ]
        -      },
        -      {
        -        "required": [
        -          "language_code"
        -        ]
        -      }
        -    ]
        -  }
        -]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "date_from": "2021-01-01",
        +        "date_to": "2021-03-29",
        +        "language_code": "en",
        +        "location_code": 2840,
        +        "target": "dataforseo.com"
        +      }
        +    ],
        +    "properties": {
        +      "correlate": {
        +        "description": "<em>correlate data with previously obtained datasets</em><br>optional field<br>default value: <code>true</code><br>if you use this parameter, our system will correlate data you obtain now with previously obtained datasets<br>this parameter is intended to mitigate any inconsistencies that may result from changes to our database<br>we recommend always setting <code>correlate</code> to <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "date_from": {
        +        "description": "<em>starting date of the time range</em><br>optional field<br>if you don't specify this field, the data will be provided for the previous 6 months<br>minimal possible value: <code>2020-10-01</code><br>date format: <code>\"yyyy-mm-dd\"</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "date_to": {
        +        "description": "<em>ending date of the time range</em><br>optional field<br>if you don't specify this field, the today's date will be used by default<br>date format: <code>\"yyyy-mm-dd\"</code><br>example:<br><code>\"2021-04-01\"</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "ignore_synonyms": {
        +        "description": "<em>ignore highly similar keywords</em><br>optional field<br>if set to <code class=\"prettyprint\">true</code>, only data based on core keywords will be returned, data for all highly similar keywords will be excluded;  <br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_clickstream_data": {
        +        "description": "<em>include or exclude data from clickstream-based metrics in the result</em><br>optional field<br>if the parameter is set to <code>true</code>, you will receive <code>clickstream_etv</code>, <code>clickstream_gender_distribution</code>, and <code>clickstream_age_distribution</code> fields with clickstream data in the response;<br>default value: <code>false</code>;<p><strong>Note:</strong> historical clickstream data is available from 2024/05 (May, 2024);<br><strong>with this parameter enabled, you will be charged double the price for the request;</strong><br>learn more about how clickstream-based metrics are calculated in this <a href=\"https://dataforseo.com/help-center/what-are-clickstream-based-metrics-and-how-do-we-calculate-them\" rel=\"noopener noreferrer\" target=\"_blank\">help center article</a>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "language_code": {
        +        "description": "<em>language code</em><br><strong>required field if you don't specify</strong> <code>language_name</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available locations with their <code>language_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">en</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "<em>full name of the language</em><br><strong>required field if you don't specify</strong> <code>language_code</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available locations with their <code>language_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">English</code>",
        +        "type": "string"
        +      },
        +      "location_code": {
        +        "description": "<em>location code</em><br><strong>required field if you don't specify</strong> <code>location_name</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">2840</code>",
        +        "type": "integer"
        +      },
        +      "location_name": {
        +        "description": "<em>full name of the location</em><br><strong>required field if you don't specify</strong> <code>location_code</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">United Kingdom</code>",
        +        "type": "string"
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "target": {
        +        "description": "<em>domain</em><br><strong>required field</strong><br>the domain name of the target website<br>the domain should be specified without <code>https://</code> and <code>www.</code>",
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "correlate": {
        -    "description": "correlate data with previously obtained datasets optional field default value: true if you use this parameter, our system will correlate data you obtain now with previously obtained datasets this parameter is intended to mitigate any inconsistencies that may result from changes to our database we recommend always setting correlate to true",
        -    "type": "boolean"
        -  },
        -  "date_from": {
        -    "description": "starting date of the time range optional field if you don’t specify this field, the data will be provided for the previous 6 months minimal possible value: 2020-10-01 date format: \"yyyy-mm-dd\"",
        -    "type": "string"
        -  },
        -  "date_to": {
        -    "description": "ending date of the time range optional field if you don’t specify this field, the today’s date will be used by default date format: \"yyyy-mm-dd\" example: \"2021-04-01\"",
        -    "type": "string"
        -  },
        -  "ignore_synonyms": {
        -    "description": "ignore highly similar keywords optional field if set to true, only data based on core keywords will be returned, data for all highly similar keywords will be excluded; default value: false",
        -    "type": "boolean"
        -  },
        -  "include_clickstream_data": {
        -    "description": "include or exclude data from clickstream-based metrics in the result optional field if the parameter is set to true, you will receive clickstream_etv, clickstream_gender_distribution, and clickstream_age_distribution fields with clickstream data in the response; default value: false; Note: historical clickstream data is available from 2024/05 (May, 2024); with this parameter enabled, you will be charged double the price for the request; learn more about how clickstream-based metrics are calculated in this help center article",
        -    "type": "boolean"
        -  },
        -  "language_code": {
        -    "description": "language code required field if you don’t specify language_name Note: it is required to specify either language_name or language_code you can receive the list of available locations with their language_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: en",
        -    "type": "string"
        -  },
        -  "language_name": {
        -    "description": "full name of the language required field if you don’t specify language_code Note: it is required to specify either language_name or language_code you can receive the list of available locations with their language_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: English",
        -    "type": "string"
        -  },
        -  "location_code": {
        -    "description": "location code required field if you don’t specify location_name Note: it is required to specify either location_name or location_code you can receive the list of available locations with their location_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: 2840",
        -    "type": "integer"
        -  },
        -  "location_name": {
        -    "description": "full name of the location required field if you don’t specify location_code Note: it is required to specify either location_name or location_code you can receive the list of available locations with their location_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: United Kingdom",
        -    "type": "string"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  },
        -  "target": {
        -    "description": "domain required field the domain name of the target website the domain should be specified without https:// and www.",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "target"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_labs_google_keyword_ideas_live6 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "include_serp_info": true,
        +    "keywords": [
        +      "phone",
        +      "watch"
        +    ],
        +    "language_code": "en",
        +    "limit": 3,
        +    "location_code": 2840
        +  }
        +]
      • changedInput schema / properties / body / items / anyOf
        Previous value: -[
        -  {
        -    "allOf": [
        -      {
        -        "anyOf": [
        -          {
        -            "required": [
        -              "location_name"
        -            ]
        -          },
        -          {
        -            "required": [
        -              "location_code"
        -            ]
        -          }
        -        ]
        -      }
        -    ],
        -    "required": [
        -      "keywords"
        -    ]
        -  },
        -  {
        -    "required": [
        -      "offset_token"
        -    ]
        -  }
        -]New value: +[
        +  {
        +    "example": [
        +      {
        +        "include_serp_info": true,
        +        "keywords": [
        +          "phone",
        +          "watch"
        +        ],
        +        "language_code": "en",
        +        "limit": 3,
        +        "location_code": 2840
        +      }
        +    ],
        +    "properties": {
        +      "closely_variants": {
        +        "description": "<em>search mode</em><br>optional field<br>if set to_<code class=\"prettyprint\">true</code> the results will be based on the phrase-match search algorithm<br>if set to <code class=\"prettyprint\">false</code> the results will be based on the broad-match search algorithm<br>default value: <code>false</code>n",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "filters": {
        +        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>match</code>, <code>not_match</code>, <code>ilike</code>, <code>not_ilike</code>, <code>like</code>, <code>not_like</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code>,as well as <code>ilike</code>, <code>not_ilike</code> to match any string of zero or more characters<br><strong>note that you can not filter the results by <code>relevance</code></strong><br>example:<br><code>[\"keyword_info.search_volume\",\"&gt;\",0]</code><p><code>[[\"keyword_info.search_volume\",\"in\",[0,1000]],<br>\"and\",<br>[\"keyword_info.competition_level\",\"=\",\"LOW\"]]</code><p><code>[[\"keyword_info.search_volume\",\"&gt;\",100],<br>\"and\",<br>[[\"keyword_info.cpc\",\"&lt;\",0.5],<br>\"or\",<p>[\"keyword_info.high_top_of_page_bid\",\"&lt;=\",0.5]]]</code><br>for more information about filters, please refer to <a href=\"/v3/dataforseo_labs/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Dataforseo Labs - Filters</a> or this <a href=\"https://dataforseo.com/help-center/how-to-use-filters-in-dataforseo-labs-api\" rel=\"noopener noreferrer\" target=\"_blank\">help center guide</a>",
        +        "items": {
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "ignore_synonyms": {
        +        "description": "<em>ignore highly similar keywords</em><br>optional field<br>if set to_<code class=\"prettyprint\">true</code> only core keywords will be returned, all highly similar keywords will be excluded;  <br>default value: <code>false</code>n",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_clickstream_data": {
        +        "description": "<em>include or exclude data from clickstream-based metrics in the result</em><br>optional field<br>if the parameter is set to <code>true</code>, you will receive <code>clickstream_keyword_info</code>, <code>keyword_info_normalized_with_clickstream</code>, and <code>keyword_info_normalized_with_bing</code> fields in the response<br>default value: <code>false</code><br>with this parameter enabled, you will be charged double the price for the request<p>learn more about how clickstream-based metrics are calculated in this <a href=\"https://dataforseo.com/help-center/what-are-clickstream-based-metrics-and-how-do-we-calculate-them\" rel=\"noopener noreferrer\" target=\"_blank\">help center article</a>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_serp_info": {
        +        "description": "<em>include data from SERP for each keyword</em><br>optional field<br>if set to <code>true</code>, we will return a <code>serp_info</code> array containing SERP data (number of search results, relevant URL, and SERP features) for every keyword in the response<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "keywords": {
        +        "description": "<em>keywords</em><br><strong>required field</strong><br>UTF-8 encoding<br>The maximum number of keywords you can specify: 200.<br>The keywords will be converted to lowercase format<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "language_code": {
        +        "description": "<em>language code</em><br>optional field<br>if you use this field, you don't need to specify <code>language_name</code><br>you can receive the list of available languages with their <code>language_code</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">en</code><br><strong>Note:</strong> if omitted, results default to the language with the most keyword records in the specified location;<br>refer to the <code>available_languages.keywords</code> field of the <a href=\"https://docs.dataforseo.com/v3/dataforseo_labs/locations_and_languages\" target=\"_blank\">Locations and Languages endpoint</a> to determine the default language",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "<em>full name of the language</em><br>optional field<br>if you use this field, you don't need to specify <code>language_code</code><br>you can receive the list of available languages with their <code>language_name</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">English</code><br><strong>Note:</strong> if omitted, results default to the language with the most keyword records in the specified location;<br>refer to the <code>available_languages.keywords</code> field of the <a href=\"https://docs.dataforseo.com/v3/dataforseo_labs/locations_and_languages\" target=\"_blank\">Locations and Languages endpoint</a> to determine the default language",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "limit": {
        +        "description": "<em>the maximum number of keywords in the results array</em><br>optional field<br>default value: <code>700</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_code": {
        +        "description": "<em>unique location identifier</em><br><strong>required field if you don't specify</strong> <code>location_name</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">2840</code>",
        +        "type": "integer"
        +      },
        +      "location_name": {
        +        "description": "<em>full name of the location</em><br><strong>required field if you don't specify</strong> <code>location_code</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">United Kingdom</code>",
        +        "type": "string"
        +      },
        +      "offset": {
        +        "description": "<em>offset in the results array of returned keywords</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten keywords in the results array will be omitted and the data will be provided for the successive keywords<br><strong>Note:</strong> we recommend using this parameter only when retrieving up to 10,000 results<br>for retrieving over 10,000 results, use the <code>offset_token</code> instead.",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "offset_token": {
        +        "description": "<em>offset token for subsequent requests</em><br>optional field<br>provided in the identical filed of the response to each request;<br>use this parameter to avoid timeouts while trying to obtain over 10,000 results in a single request;<br>by specifying the unique <code>offset_token</code> value from the response array, you will get the subsequent results of the initial task;<br><code>offset_token</code> values are unique for each subsequent task <br><strong>Note:</strong> if the <code>offset_token</code> is specified in the request, all other parameters except <code>limit</code> will not be taken into account when processing a task.<br>learn more about this parameter on our <a href=\"https://dataforseo.com/help-center/what-is-the-difference-between-the-offset-and-offset_token-parameters#offset_token\" target=\"_blank\">Help Center</a>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "order_by": {
        +        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to set up a sorting parameter<p>default rule:<br><code>[\"relevance,desc\"]</code><br>relevance is used as the default sorting rule to provide you with the closest keyword ideas. We recommend using this sorting rule to get highly-relevant search terms. <strong>Note</strong> that <code>relevance</code> is only our internal system identifier, so <strong>it can not be used as a filter</strong>, and you will not find this field in the <code>result</code> array. The relevance score is based on a similar principle as used in <a href=\"/v3/keywords_data/google/keywords_for_keywords/live/?php\">the Keywords For Keywords</a> endpoint.<p><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"relevance,desc\",\"keyword_info.search_volume,desc\"]</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "closely_variants": {
        -    "description": "search mode optional field if set to_true the results will be based on the phrase-match search algorithm if set to false the results will be based on the broad-match search algorithm default value: falsen",
        -    "type": "boolean"
        -  },
        -  "filters": {
        -    "description": "array of results filtering parameters optional field you can add several filters at once (8 filters maximum) you should set a logical operator and, or between the conditions the following operators are supported: regex, not_regex, <, <=, >, >=, =, <>, in, not_in, match, not_match, ilike, not_ilike, like, not_like you can use the % operator with like and not_like,as well as ilike, not_ilike to match any string of zero or more characters note that you can not filter the results by relevance example: [\"keyword_info.search_volume\",\">\",0] [[\"keyword_info.search_volume\",\"in\",[0,1000]], \"and\", [\"keyword_info.competition_level\",\"=\",\"LOW\"]] [[\"keyword_info.search_volume\",\">\",100], \"and\", [[\"keyword_info.cpc\",\"<\",0.5], \"or\", [\"keyword_info.high_top_of_page_bid\",\"<=\",0.5]]] for more information about filters, please refer to Dataforseo Labs - Filters or this help center guide",
        -    "items": {},
        -    "type": "array"
        -  },
        -  "ignore_synonyms": {
        -    "description": "ignore highly similar keywords optional field if set to_true only core keywords will be returned, all highly similar keywords will be excluded; default value: falsen",
        -    "type": "boolean"
        -  },
        -  "include_clickstream_data": {
        -    "description": "include or exclude data from clickstream-based metrics in the result optional field if the parameter is set to true, you will receive clickstream_keyword_info, keyword_info_normalized_with_clickstream, and keyword_info_normalized_with_bing fields in the response default value: false with this parameter enabled, you will be charged double the price for the request learn more about how clickstream-based metrics are calculated in this help center article",
        -    "type": "boolean"
        -  },
        -  "include_serp_info": {
        -    "description": "include data from SERP for each keyword optional field if set to true, we will return a serp_info array containing SERP data (number of search results, relevant URL, and SERP features) for every keyword in the response default value: false",
        -    "type": "boolean"
        -  },
        -  "keywords": {
        -    "description": "keywords required field UTF-8 encoding The maximum number of keywords you can specify: 200. The keywords will be converted to lowercase format learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "language_code": {
        -    "description": "language code optional field if you use this field, you don’t need to specify language_name you can receive the list of available languages with their language_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: en Note: if omitted, results default to the language with the most keyword records in the specified location; refer to the available_languages.keywords field of the Locations and Languages endpoint to determine the default language",
        -    "type": "string"
        -  },
        -  "language_name": {
        -    "description": "full name of the language optional field if you use this field, you don’t need to specify language_code you can receive the list of available languages with their language_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: English Note: if omitted, results default to the language with the most keyword records in the specified location; refer to the available_languages.keywords field of the Locations and Languages endpoint to determine the default language",
        -    "type": "string"
        -  },
        -  "limit": {
        -    "description": "the maximum number of keywords in the results array optional field default value: 700 maximum value: 1000",
        -    "type": "integer"
        -  },
        -  "location_code": {
        -    "description": "unique location identifier required field if you don’t specify location_name Note: it is required to specify either location_name or location_code you can receive the list of available locations with their location_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: 2840",
        -    "type": "integer"
        -  },
        -  "location_name": {
        -    "description": "full name of the location required field if you don’t specify location_code Note: it is required to specify either location_name or location_code you can receive the list of available locations with their location_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: United Kingdom",
        -    "type": "string"
        -  },
        -  "offset": {
        -    "description": "offset in the results array of returned keywords optional field default value: 0 if you specify the 10 value, the first ten keywords in the results array will be omitted and the data will be provided for the successive keywords Note: we recommend using this parameter only when retrieving up to 10,000 results for retrieving over 10,000 results, use the offset_token instead.",
        -    "type": "integer"
        -  },
        -  "offset_token": {
        -    "description": "offset token for subsequent requests optional field provided in the identical filed of the response to each request; use this parameter to avoid timeouts while trying to obtain over 10,000 results in a single request; by specifying the unique offset_token value from the response array, you will get the subsequent results of the initial task; offset_token values are unique for each subsequent task Note: if the offset_token is specified in the request, all other parameters except limit will not be taken into account when processing a task. learn more about this parameter on our Help Center",
        -    "type": "string"
        -  },
        -  "order_by": {
        -    "description": "results sorting rules optional field you can use the same values as in the filters array to sort the results possible sorting types: asc – results will be sorted in the ascending order desc – results will be sorted in the descending order you should use a comma to set up a sorting parameter default rule: [\"relevance,desc\"] relevance is used as the default sorting rule to provide you with the closest keyword ideas. We recommend using this sorting rule to get highly-relevant search terms. Note that relevance is only our internal system identifier, so it can not be used as a filter, and you will not find this field in the result array. The relevance score is based on a similar principle as used in the Keywords For Keywords endpoint. note that you can set no more than three sorting rules in a single request you should use a comma to separate several sorting rules example: [\"relevance,desc\",\"keyword_info.search_volume,desc\"]",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  }
        -}
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_labs_google_keyword_overview_live8 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "include_clickstream_data": true,
        +    "include_serp_info": true,
        +    "keywords": [
        +      "iphone"
        +    ],
        +    "language_code": "en",
        +    "location_code": 2840
        +  }
        +]
      • removedInput schema / properties / body / items / allOf
        Removed value: -[
        -  {
        -    "anyOf": [
        -      {
        -        "required": [
        -          "location_name"
        -        ]
        -      },
        -      {
        -        "required": [
        -          "location_code"
        -        ]
        -      }
        -    ]
        -  },
        -  {
        -    "anyOf": [
        -      {
        -        "required": [
        -          "language_name"
        -        ]
        -      },
        -      {
        -        "required": [
        -          "language_code"
        -        ]
        -      }
        -    ]
        -  }
        -]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "include_clickstream_data": true,
        +        "include_serp_info": true,
        +        "keywords": [
        +          "iphone"
        +        ],
        +        "language_code": "en",
        +        "location_code": 2840
        +      }
        +    ],
        +    "properties": {
        +      "include_clickstream_data": {
        +        "description": "<em>include or exclude data from clickstream-based metrics in the result</em><br>optional field<br>if the parameter is set to <code>true</code>, you will receive <code>clickstream_keyword_info</code>, <code>keyword_info_normalized_with_clickstream</code>, and <code>keyword_info_normalized_with_bing</code> fields in the response<br>default value: <code>false</code><br>with this parameter enabled, you will be charged double the price for the request<p>learn more about how clickstream-based metrics are calculated in this <a href=\"https://dataforseo.com/help-center/what-are-clickstream-based-metrics-and-how-do-we-calculate-them\" rel=\"noopener noreferrer\" target=\"_blank\">help center article</a>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_serp_info": {
        +        "description": "<em>include data from SERP for each keyword</em><br>optional field<br>if set to <code>true</code>, we will return a <code>serp_info</code> array containing SERP data (number of search results, relevant URL, and SERP features) for every keyword in the response<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "keywords": {
        +        "description": "<em>keywords</em><br><strong>required field</strong><br>The maximum number of keywords you can specify: 700<br>The maximum number of characters for each keyword: 80<br>The maximum number of words for each keyword phrase: 10<br>the specified keywords will be converted to lowercase format, data will be provided in a separate array<p><strong>note</strong> that if some of the keywords specified in this array are omitted in the results you receive, then our database doesn't contain such keywords and cannot return data on them<br>you will not be charged for the keywords omitted in the results<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "language_code": {
        +        "description": "<em>language code</em><br><strong>required field if you don't specify</strong> <code>language_name</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available locations with their <code>language_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">en</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "<em>full name of the language</em><br><strong>required field if you don't specify</strong> <code>language_code</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available locations with their <code>language_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">English</code>",
        +        "type": "string"
        +      },
        +      "location_code": {
        +        "description": "<em>location code</em><br><strong>required field if you don't specify</strong> <code>location_name</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">2840</code>",
        +        "type": "integer"
        +      },
        +      "location_name": {
        +        "description": "<em>full name of the location</em><br><strong>required field if you don't specify</strong> <code>location_code</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">United Kingdom</code>",
        +        "type": "string"
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "include_clickstream_data": {
        -    "description": "include or exclude data from clickstream-based metrics in the result optional field if the parameter is set to true, you will receive clickstream_keyword_info, keyword_info_normalized_with_clickstream, and keyword_info_normalized_with_bing fields in the response default value: false with this parameter enabled, you will be charged double the price for the request learn more about how clickstream-based metrics are calculated in this help center article",
        -    "type": "boolean"
        -  },
        -  "include_serp_info": {
        -    "description": "include data from SERP for each keyword optional field if set to true, we will return a serp_info array containing SERP data (number of search results, relevant URL, and SERP features) for every keyword in the response default value: false",
        -    "type": "boolean"
        -  },
        -  "keywords": {
        -    "description": "keywords required field The maximum number of keywords you can specify: 700 The maximum number of characters for each keyword: 80 The maximum number of words for each keyword phrase: 10 the specified keywords will be converted to lowercase format, data will be provided in a separate array note that if some of the keywords specified in this array are omitted in the results you receive, then our database doesn’t contain such keywords and cannot return data on them you will not be charged for the keywords omitted in the results learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "language_code": {
        -    "description": "language code required field if you don’t specify language_name Note: it is required to specify either language_name or language_code you can receive the list of available locations with their language_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: en",
        -    "type": "string"
        -  },
        -  "language_name": {
        -    "description": "full name of the language required field if you don’t specify language_code Note: it is required to specify either language_name or language_code you can receive the list of available locations with their language_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: English",
        -    "type": "string"
        -  },
        -  "location_code": {
        -    "description": "location code required field if you don’t specify location_name Note: it is required to specify either location_name or location_code you can receive the list of available locations with their location_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: 2840",
        -    "type": "integer"
        -  },
        -  "location_name": {
        -    "description": "full name of the location required field if you don’t specify location_code Note: it is required to specify either location_name or location_code you can receive the list of available locations with their location_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: United Kingdom",
        -    "type": "string"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "keywords"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_labs_google_keyword_suggestions_live6 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "include_seed_keyword": true,
        +    "include_serp_info": true,
        +    "keyword": "phone",
        +    "language_code": "en",
        +    "limit": 1,
        +    "location_code": 2840
        +  }
        +]
      • changedInput schema / properties / body / items / anyOf
        Previous value: -[
        -  {
        -    "required": [
        -      "keyword"
        -    ]
        -  },
        -  {
        -    "required": [
        -      "offset_token"
        -    ]
        -  }
        -]New value: +[
        +  {
        +    "example": [
        +      {
        +        "include_seed_keyword": true,
        +        "include_serp_info": true,
        +        "keyword": "phone",
        +        "language_code": "en",
        +        "limit": 1,
        +        "location_code": 2840
        +      }
        +    ],
        +    "properties": {
        +      "exact_match": {
        +        "description": "<em>search for the exact phrase</em><br>optional field<br>if set to <code>true</code>, the returned keywords will include the exact keyword phrase you specified, with potentially other words before or after that phrase<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "filters": {
        +        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>match</code>, <code>not_match</code>, <code>ilike</code>, <code>not_ilike</code>, <code>like</code>, <code>not_like</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code>, as well as <code>ilike</code> and <code>not_ilike</code> to match any string of zero or more characters<br>example:<br><code>[\"keyword_info.search_volume\",\"&gt;\",0]</code><br><code>[[\"keyword_info.search_volume\",\"in\",[0,1000]],<br>\"and\",<br>[\"keyword_info.competition_level\",\"=\",\"LOW\"]]</code><code>[[\"keyword_info.search_volume\",\"&gt;\",100],<br>\"and\",<br>[[\"keyword_info.cpc\",\"&lt;\",0.5],<br>\"or\",<br>[\"keyword_info.high_top_of_page_bid\",\"&lt;=\",0.5]]]</code><br>for more information about filters, please refer to <a href=\"/v3/dataforseo_labs/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Dataforseo Labs - Filters</a> or this <a href=\"https://dataforseo.com/help-center/how-to-use-filters-in-dataforseo-labs-api\" target=\"_blank\" rel=\"noopener noreferrer\">help center guide</a>",
        +        "items": {
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "ignore_synonyms": {
        +        "description": "<em>ignore highly similar keywords</em><br>optional field<br>if set to <code class=\"prettyprint\">true</code> only core keywords will be returned, all highly similar keywords will be excluded;<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_clickstream_data": {
        +        "description": "<em>include or exclude data from clickstream-based metrics in the result</em><br>optional field<br>if the parameter is set to <code>true</code>, you will receive <code>clickstream_keyword_info</code>, <code>keyword_info_normalized_with_clickstream</code>, and <code>keyword_info_normalized_with_bing</code> fields in the response<br>default value: <code>false</code><br>with this parameter enabled, you will be charged double the price for the request<p>learn more about how clickstream-based metrics are calculated in this <a href=\"https://dataforseo.com/help-center/what-are-clickstream-based-metrics-and-how-do-we-calculate-them\" rel=\"noopener noreferrer\" target=\"_blank\">help center article</a>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_seed_keyword": {
        +        "description": "<em>include data for the seed keyword</em><br>optional field<br>if set to <code>true</code>, data for the seed keyword specified in the <code>keyword</code> field will be provided in the <code>seed_keyword_data</code> array of the response<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_serp_info": {
        +        "description": "<em>include data from SERP for each keyword</em><br>optional field<br>if set to <code>true</code>, we will return a <code>serp_info</code> array containing SERP data (number of search results, relevant URL, and SERP features) for every keyword in the response<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "keyword": {
        +        "description": "<em>keyword</em><br><strong>required field</strong><br>UTF-8 encoding<br>the keywords will be converted to lowercase format;<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        +        "type": "string"
        +      },
        +      "language_code": {
        +        "description": "<em>language code</em><br>optional field<br>if you use this field, you don't need to specify <code>language_name</code><br>you can receive the list of available languages with their <code>language_code</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">en</code><br><strong>Note:</strong> if omitted, results default to the language with the most keyword records in the specified location;<br>refer to the <code>available_languages.keywords</code> field of the <a href=\"https://docs.dataforseo.com/v3/dataforseo_labs/locations_and_languages\" target=\"_blank\">Locations and Languages endpoint</a> to determine the default language",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "<em>full name of the language</em><br>optional field<br>if you use this field, you don't need to specify <code>language_code</code><br>you can receive the list of available languages with their <code>language_name</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">English</code><br><strong>Note:</strong> if omitted, results default to the language with the most keyword records in the specified location;<br>refer to the <code>available_languages.keywords</code> field of the <a href=\"https://docs.dataforseo.com/v3/dataforseo_labs/locations_and_languages\" target=\"_blank\">Locations and Languages endpoint</a> to determine the default language",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "limit": {
        +        "description": "<em>the maximum number of returned keywords</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_code": {
        +        "description": "<em>location code</em><br>optional field<br>if you use this field, you don't need to specify <code>location_name</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">2840</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_name": {
        +        "description": "<em>full name of the location</em><br>optional field<br>if you use this field, you don't need to specify <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">United Kingdom</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "offset": {
        +        "description": "<em>offset in the results array of returned keywords</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten keywords in the results array will be omitted and the data will be provided for the successive keywords<br><strong>Note:</strong> we recommend using this parameter only when retrieving up to 10,000 results<br>for retrieving over 10,000 results, use the <code>offset_token</code> instead.",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "offset_token": {
        +        "description": "<em>offset token for subsequent requests</em><br>optional field<br>provided in the identical filed of the response to each request;<br>use this parameter to avoid timeouts while trying to obtain over 10,000 results in a single request;<br>by specifying the unique <code>offset_token</code> value from the response array, you will get the subsequent results of the initial task;<br><code>offset_token</code> values are unique for each subsequent task<br><strong>Note:</strong> if the <code>offset_token</code> is specified in the request, all other parameters except <code>limit</code> will not be taken into account when processing a task.<br>learn more about this parameter on our <a href=\"https://dataforseo.com/help-center/what-is-the-difference-between-the-offset-and-offset_token-parameters#offset_token\" target=\"_blank\">Help Center</a>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "order_by": {
        +        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>a comma is used as a separator<br>example:<br><code>[\"keyword_info.competition,desc\"]</code><br>default rule:<br><code>[\"keyword_info.search_volume,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"keyword_info.search_volume,desc\",\"keyword_info.cpc,desc\"]</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "exact_match": {
        -    "description": "search for the exact phrase optional field if set to true, the returned keywords will include the exact keyword phrase you specified, with potentially other words before or after that phrase default value: false",
        -    "type": "boolean"
        -  },
        -  "filters": {
        -    "description": "array of results filtering parameters optional field you can add several filters at once (8 filters maximum) you should set a logical operator and, or between the conditions the following operators are supported: regex, not_regex, <, <=, >, >=, =, <>, in, not_in, match, not_match, ilike, not_ilike, like, not_like you can use the % operator with like and not_like, as well as ilike and not_ilike to match any string of zero or more characters example: [\"keyword_info.search_volume\",\">\",0] [[\"keyword_info.search_volume\",\"in\",[0,1000]], \"and\", [\"keyword_info.competition_level\",\"=\",\"LOW\"]][[\"keyword_info.search_volume\",\">\",100], \"and\", [[\"keyword_info.cpc\",\"<\",0.5], \"or\", [\"keyword_info.high_top_of_page_bid\",\"<=\",0.5]]] for more information about filters, please refer to Dataforseo Labs - Filters or this help center guide",
        -    "items": {},
        -    "type": "array"
        -  },
        -  "ignore_synonyms": {
        -    "description": "ignore highly similar keywords optional field if set to true only core keywords will be returned, all highly similar keywords will be excluded; default value: false",
        -    "type": "boolean"
        -  },
        -  "include_clickstream_data": {
        -    "description": "include or exclude data from clickstream-based metrics in the result optional field if the parameter is set to true, you will receive clickstream_keyword_info, keyword_info_normalized_with_clickstream, and keyword_info_normalized_with_bing fields in the response default value: false with this parameter enabled, you will be charged double the price for the request learn more about how clickstream-based metrics are calculated in this help center article",
        -    "type": "boolean"
        -  },
        -  "include_seed_keyword": {
        -    "description": "include data for the seed keyword optional field if set to true, data for the seed keyword specified in the keyword field will be provided in the seed_keyword_data array of the response default value: false",
        -    "type": "boolean"
        -  },
        -  "include_serp_info": {
        -    "description": "include data from SERP for each keyword optional field if set to true, we will return a serp_info array containing SERP data (number of search results, relevant URL, and SERP features) for every keyword in the response default value: false",
        -    "type": "boolean"
        -  },
        -  "keyword": {
        -    "description": "keyword required field UTF-8 encoding the keywords will be converted to lowercase format; learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        -    "type": "string"
        -  },
        -  "language_code": {
        -    "description": "language code optional field if you use this field, you don’t need to specify language_name you can receive the list of available languages with their language_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: en Note: if omitted, results default to the language with the most keyword records in the specified location; refer to the available_languages.keywords field of the Locations and Languages endpoint to determine the default language",
        -    "type": "string"
        -  },
        -  "language_name": {
        -    "description": "full name of the language optional field if you use this field, you don’t need to specify language_code you can receive the list of available languages with their language_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: English Note: if omitted, results default to the language with the most keyword records in the specified location; refer to the available_languages.keywords field of the Locations and Languages endpoint to determine the default language",
        -    "type": "string"
        -  },
        -  "limit": {
        -    "description": "the maximum number of returned keywords optional field default value: 100 maximum value: 1000",
        -    "type": "integer"
        -  },
        -  "location_code": {
        -    "description": "location code optional field if you use this field, you don’t need to specify location_name you can receive the list of available locations with their location_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages ignore this field to get the results for all available locations example: 2840",
        -    "type": "integer"
        -  },
        -  "location_name": {
        -    "description": "full name of the location optional field if you use this field, you don’t need to specify location_code you can receive the list of available locations with their location_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages ignore this field to get the results for all available locations example: United Kingdom",
        -    "type": "string"
        -  },
        -  "offset": {
        -    "description": "offset in the results array of returned keywords optional field default value: 0 if you specify the 10 value, the first ten keywords in the results array will be omitted and the data will be provided for the successive keywords Note: we recommend using this parameter only when retrieving up to 10,000 results for retrieving over 10,000 results, use the offset_token instead.",
        -    "type": "integer"
        -  },
        -  "offset_token": {
        -    "description": "offset token for subsequent requests optional field provided in the identical filed of the response to each request; use this parameter to avoid timeouts while trying to obtain over 10,000 results in a single request; by specifying the unique offset_token value from the response array, you will get the subsequent results of the initial task; offset_token values are unique for each subsequent task Note: if the offset_token is specified in the request, all other parameters except limit will not be taken into account when processing a task. learn more about this parameter on our Help Center",
        -    "type": "string"
        -  },
        -  "order_by": {
        -    "description": "results sorting rules optional field you can use the same values as in the filters array to sort the results possible sorting types: asc – results will be sorted in the ascending order desc – results will be sorted in the descending order a comma is used as a separator example: [\"keyword_info.competition,desc\"] default rule: [\"keyword_info.search_volume,desc\"] note that you can set no more than three sorting rules in a single request you should use a comma to separate several sorting rules example: [\"keyword_info.search_volume,desc\",\"keyword_info.cpc,desc\"]",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  }
        -}
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_labs_google_related_keywords_live8 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "keyword": "phone",
        +    "language_name": "English",
        +    "limit": 3,
        +    "location_code": 2840
        +  }
        +]
      • removedInput schema / properties / body / items / allOf
        Removed value: -[
        -  {
        -    "anyOf": [
        -      {
        -        "required": [
        -          "location_name"
        -        ]
        -      },
        -      {
        -        "required": [
        -          "location_code"
        -        ]
        -      }
        -    ]
        -  },
        -  {
        -    "anyOf": [
        -      {
        -        "required": [
        -          "language_name"
        -        ]
        -      },
        -      {
        -        "required": [
        -          "language_code"
        -        ]
        -      }
        -    ]
        -  }
        -]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "keyword": "phone",
        +        "language_name": "English",
        +        "limit": 3,
        +        "location_code": 2840
        +      }
        +    ],
        +    "properties": {
        +      "depth": {
        +        "description": "<em>keyword search depth</em><br>optional field<br>default value: <code>1</code><p>number of the returned results depends on the value you set in this field<br>you can specify a level from 0 to 4<br>estimated number of keywords for each level (maximum):<br>0 - the keyword set in the <code>keyword</code> field<br>1 – 8 keywords<br>2 – 72 keywords<br>3 – 584 keywords<br>4 – 4680 keywords",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "filters": {
        +        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>match</code>, <code>not_match</code>, <code>ilike</code>, <code>not_ilike</code>, <code>like</code>,<code>not_like</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code>, as well as <code>ilike</code> and <code>not_ilike</code> to match any string of zero or more characters<br>example:<br><code>[\"keyword_data.keyword_info.search_volume\",\"&gt;\",0]</code><p><code>[[\"keyword_info.search_volume\",\"in\",[0,1000]],<br>\"and\",<br>[\"keyword_data.keyword_info.competition_level\",\"=\",\"LOW\"]]</code><p><code>[[\"keyword_data.keyword_info.search_volume\",\"&gt;\",100],<br>\"and\",<br>[[\"keyword_data.keyword_info.cpc\",\"&lt;\",0.5],<br>\"or\",<p>[\"keyword_info.high_top_of_page_bid\",\"&lt;=\",0.5]]]</code><br>for more information about filters, please refer to <a href=\"/v3/dataforseo_labs/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Dataforseo Labs - Filters</a> or this <a href=\"https://dataforseo.com/help-center/how-to-use-filters-in-dataforseo-labs-api\" rel=\"noopener noreferrer\" target=\"_blank\">help center guide</a>",
        +        "items": {
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "ignore_synonyms": {
        +        "description": "",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_clickstream_data": {
        +        "description": "",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_seed_keyword": {
        +        "description": "<em>include data for the seed keyword</em><br>optional field<br>if set to <code>true</code>, data for the seed keyword specified in the <code>keyword</code> field will be provided in the <code>seed_keyword_data</code> array of the response<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_serp_info": {
        +        "description": "<em>include data from SERP for each keyword</em><br>optional field<br>if set to <code>true</code>, we will return a <code>serp_info</code> array containing SERP data (number of search results, relevant URL, and SERP features) for every keyword in the response<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "keyword": {
        +        "description": "<em>keyword</em><br><strong>required field</strong><br>UTF-8 encoding<br>the keywords will be converted to lowercase format<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        +        "type": "string"
        +      },
        +      "language_code": {
        +        "description": "<em>language code</em><br><strong>required field if you don't specify</strong> <code>language_name</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available locations with their <code>language_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">en</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "<em>full name of the language</em><br><strong>required field if you don't specify</strong> <code>language_code</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available locations with their <code>language_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">English</code>",
        +        "type": "string"
        +      },
        +      "limit": {
        +        "description": "<em>the maximum number of returned keywords</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_code": {
        +        "description": "<em>location code</em><br><strong>required field if you don't specify</strong> <code>location_name</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">2840</code>",
        +        "type": "integer"
        +      },
        +      "location_name": {
        +        "description": "<em>full name of the location</em><br><strong>required field if you don't specify</strong> <code>location_code</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">United Kingdom</code>",
        +        "type": "string"
        +      },
        +      "offset": {
        +        "description": "<em>offset in the results array of returned keywords</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten keywords in the results array will be omitted and the data will be provided for the successive keywords",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "order_by": {
        +        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to set up a sorting type<br>example:<br><code>[\"keyword_data.keyword_info.competition,desc\"]</code><br>default rule:<br><code>[\"keyword_data.keyword_info.search_volume,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"keyword_data.keyword_info.search_volume,desc\",\"keyword_data.keyword_info.cpc,desc\"]</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "replace_with_core_keyword": {
        +        "description": "<em>return data for core keyword</em><br>optional field<br>if <code>true</code>, <code>serp_info</code> and <code>related_keywords</code> will be returned for the main keyword in the group that the specified <code>keyword</code> belongs to;<br>if <code>false</code>, <code>serp_info</code> and <code>related_keywords</code> will be returned for the specified <code>keyword</code> (if available);<br>refer to <a href=\"https://dataforseo.com/help-center/replace_with_core_keyword\" rel=\"noopener noreferrer\" target=\"_blank\">this help center article</a> for more details;<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "depth": {
        -    "description": "keyword search depth optional field default value: 1 number of the returned results depends on the value you set in this field you can specify a level from 0 to 4 estimated number of keywords for each level (maximum): 0 – the keyword set in the keyword field 1 – 8 keywords 2 – 72 keywords 3 – 584 keywords 4 – 4680 keywords",
        -    "type": "integer"
        -  },
        -  "filters": {
        -    "description": "array of results filtering parameters optional field you can add several filters at once (8 filters maximum) you should set a logical operator and, or between the conditions the following operators are supported: regex, not_regex, <, <=, >, >=, =, <>, in, not_in, match, not_match, ilike, not_ilike, like,not_like you can use the % operator with like and not_like, as well as ilike and not_ilike to match any string of zero or more characters example: [\"keyword_data.keyword_info.search_volume\",\">\",0] [[\"keyword_info.search_volume\",\"in\",[0,1000]], \"and\", [\"keyword_data.keyword_info.competition_level\",\"=\",\"LOW\"]] [[\"keyword_data.keyword_info.search_volume\",\">\",100], \"and\", [[\"keyword_data.keyword_info.cpc\",\"<\",0.5], \"or\", [\"keyword_info.high_top_of_page_bid\",\"<=\",0.5]]] for more information about filters, please refer to Dataforseo Labs - Filters or this help center guide",
        -    "items": {},
        -    "type": "array"
        -  },
        -  "ignore_synonyms": {
        -    "description": "ignore highly similar keywords optional field if set to true only core keywords will be returned, all highly similar keywords will be excluded; default value: false",
        -    "type": "boolean"
        -  },
        -  "include_clickstream_data": {
        -    "description": "include or exclude data from clickstream-based metrics in the result optional field if the parameter is set to true, you will receive clickstream_keyword_info, keyword_info_normalized_with_clickstream, and keyword_info_normalized_with_bing fields in the response default value: false with this parameter enabled, you will be charged double the price for the request learn more about how clickstream-based metrics are calculated in this help center article",
        -    "type": "boolean"
        -  },
        -  "include_seed_keyword": {
        -    "description": "include data for the seed keyword optional field if set to true, data for the seed keyword specified in the keyword field will be provided in the seed_keyword_data array of the response default value: false",
        -    "type": "boolean"
        -  },
        -  "include_serp_info": {
        -    "description": "include data from SERP for each keyword optional field if set to true, we will return a serp_info array containing SERP data (number of search results, relevant URL, and SERP features) for every keyword in the response default value: false",
        -    "type": "boolean"
        -  },
        -  "keyword": {
        -    "description": "keyword required field UTF-8 encoding the keywords will be converted to lowercase format learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        -    "type": "string"
        -  },
        -  "language_code": {
        -    "description": "language code required field if you don’t specify language_name Note: it is required to specify either language_name or language_code you can receive the list of available locations with their language_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: en",
        -    "type": "string"
        -  },
        -  "language_name": {
        -    "description": "full name of the language required field if you don’t specify language_code Note: it is required to specify either language_name or language_code you can receive the list of available locations with their language_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: English",
        -    "type": "string"
        -  },
        -  "limit": {
        -    "description": "the maximum number of returned keywords optional field default value: 100 maximum value: 1000",
        -    "type": "integer"
        -  },
        -  "location_code": {
        -    "description": "location code required field if you don’t specify location_name Note: it is required to specify either location_name or location_code you can receive the list of available locations with their location_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: 2840",
        -    "type": "integer"
        -  },
        -  "location_name": {
        -    "description": "full name of the location required field if you don’t specify location_code Note: it is required to specify either location_name or location_code you can receive the list of available locations with their location_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: United Kingdom",
        -    "type": "string"
        -  },
        -  "offset": {
        -    "description": "offset in the results array of returned keywords optional field default value: 0 if you specify the 10 value, the first ten keywords in the results array will be omitted and the data will be provided for the successive keywords",
        -    "type": "integer"
        -  },
        -  "order_by": {
        -    "description": "results sorting rules optional field you can use the same values as in the filters array to sort the results possible sorting types: asc – results will be sorted in the ascending order desc – results will be sorted in the descending order you should use a comma to set up a sorting type example: [\"keyword_data.keyword_info.competition,desc\"] default rule: [\"keyword_data.keyword_info.search_volume,desc\"] note that you can set no more than three sorting rules in a single request you should use a comma to separate several sorting rules example: [\"keyword_data.keyword_info.search_volume,desc\",\"keyword_data.keyword_info.cpc,desc\"]",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "replace_with_core_keyword": {
        -    "description": "return data for core keyword optional field if true, serp_info and related_keywords will be returned for the main keyword in the group that the specified keyword belongs to; if false, serp_info and related_keywords will be returned for the specified keyword (if available); refer to this help center article for more details; default value: false",
        -    "type": "boolean"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "keyword"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_labs_google_relevant_pages_live7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "filters": [
        +      [
        +        "metrics.organic.pos_1",
        +        "<>",
        +        0
        +      ],
        +      "or",
        +      [
        +        "metrics.organic.pos_2_3",
        +        "<>",
        +        0
        +      ]
        +    ],
        +    "language_name": "English",
        +    "limit": 3,
        +    "location_code": 2840,
        +    "target": "amazon.com"
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "filters": [
        +          [
        +            "metrics.organic.pos_1",
        +            "<>",
        +            0
        +          ],
        +          "or",
        +          [
        +            "metrics.organic.pos_2_3",
        +            "<>",
        +            0
        +          ]
        +        ],
        +        "language_name": "English",
        +        "limit": 3,
        +        "location_code": 2840,
        +        "target": "amazon.com"
        +      }
        +    ],
        +    "properties": {
        +      "filters": {
        +        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code><p>example:<br><code>[\"metrics.paid.count\",\"&gt;\",0]</code><p><code>[[\"metrics.organic.count\",\"&gt;\",50],\"and\",[\"metrics.organic.pos_1\",\"&lt;&gt;\",0]]</code><p><code>[[\"\"metrics.organic.count\",\"&gt;\",50\"],<br>\"and\",<br>[[\"metrics.organic.pos_1\",\"&lt;&gt;\",0],\"or\",[\"metrics.organic.pos_2_3\",\"&lt;&gt;\",0]]]</code><br>for more information about filters, please refer to <a href=\"/v3/dataforseo_labs/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Dataforseo Labs - Filters</a> or this <a href=\"https://dataforseo.com/help-center/how-to-use-filters-in-dataforseo-labs-api\" rel=\"noopener noreferrer\" target=\"_blank\">help center guide</a>",
        +        "items": {
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "historical_serp_mode": {
        +        "description": "<em>data collection mode</em><br>optional field<br>you can use this field to filter the results;<br>possible types of filtering:<br><code>live</code> — return metrics for SERPs in which the specified <code>target</code> currently has ranking results;<br><code>lost</code> — return metrics for SERPs in which the specified <code>target</code> had previously had ranking results, but didn't have them during the last check;<br><code>all</code> — return metrics for both types of SERPs.<br>default value: <code>live</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "ignore_synonyms": {
        +        "description": "<em>ignore highly similar keywords</em><br>optional field<br>if set to <code class=\"prettyprint\">true</code>, only core keywords will be returned, all highly similar keywords will be excluded;  <br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_clickstream_data": {
        +        "description": "<em>include or exclude data from clickstream-based metrics in the result</em><br>optional field<br>if the parameter is set to <code>true</code>, you will receive <code>clickstream_etv</code>, <code>clickstream_gender_distribution</code>, and <code>clickstream_age_distribution</code> fields with clickstream data in the response<br>default value: <code>false</code><br>with this parameter enabled, you will be charged double the price for the request<p>learn more about how clickstream-based metrics are calculated in this <a href=\"https://dataforseo.com/help-center/what-are-clickstream-based-metrics-and-how-do-we-calculate-them\" rel=\"noopener noreferrer\" target=\"_blank\">help center article</a>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "item_types": {
        +        "description": "<em>display results by item type</em><br>optional field<br>indicates the type of search results included in the response<p><strong>Note:</strong> if the <code>item_types</code> array contains item types that are different from <code>organic</code>, the results will be ordered by the first item type in the array; you will not be able to sort and filter results by the types of search results not included in the response;<p>possible values: <br><code>[\"organic\", \"paid\", \"featured_snippet\", \"local_pack\"]</code><br>default value: <br><code>[\"organic\", \"paid\"]</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "language_code": {
        +        "description": "<em>language code</em><br>optional field<br>if you use this field, you don't need to specify <code>language_name</code><br>you can receive the list of available languages with their <code>language_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available languages<br>example:<br><code class=\"long-string\">en</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "<em>full name of the language</em><br>optional field<br>if you use this field, you don't need to specify <code>language_code</code><br>you can receive the list of available languages with their <code>language_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available languages<br>example:<br><code class=\"long-string\">English</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "limit": {
        +        "description": "<em>the maximum number of returned pages</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_code": {
        +        "description": "<em>location code</em><br>optional field<br>if you use this field, you don't need to specify <code>location_name</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">2840</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_name": {
        +        "description": "<em>full name of the location</em><br>optional field<br>if you use this field, you don't need to specify <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">United Kingdom</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "offset": {
        +        "description": "<em>offset in the results array of returned pages</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten pages in the results array will be omitted and the data will be provided for the successive pages",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "order_by": {
        +        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to specify a sorting type<br>example:<br><code>[\"metrics.paid.etv,asc\"]</code><br><strong>Note:</strong> you can set no more than three sorting rules in a single request<br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"metrics.organic.etv,desc\",\"metrics.paid.count,asc\"]</code><p>default rule:<br><code>[\"metrics.organic.count,desc\"]</code><br><strong>Note:</strong> if the <code>item_types</code> array contains item types that are different from <code>organic</code>, the results will be ordered by the first item type in the array",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "target": {
        +        "description": "<em>domain</em><br><strong>required field</strong><br>the domain name of the target website<br>the domain should be specified without <code>https://</code> and <code>www.</code>",
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "filters": {
        -    "description": "array of results filtering parameters optional field you can add several filters at once (8 filters maximum) you should set a logical operator and, or between the conditions the following operators are supported: regex, not_regex, , , >, >=, =, , in, not_in example: [\"metrics.paid.count\",\">\",0] [[\"metrics.organic.count\",\">\",50],\"and\",[\"metrics.organic.pos_1\",\"\",0]] [[\"\"metrics.organic.count\",\">\",50\"], \"and\", [[\"metrics.organic.pos_1\",\"\",0],\"or\",[\"metrics.organic.pos_2_3\",\"\",0]]] for more information about filters, please refer to Dataforseo Labs – Filters or this help center guide",
        -    "items": {},
        -    "type": "array"
        -  },
        -  "historical_serp_mode": {
        -    "description": "data collection mode optional field you can use this field to filter the results; possible types of filtering: live — return metrics for SERPs in which the specified target currently has ranking results; lost — return metrics for SERPs in which the specified target had previously had ranking results, but didn’t have them during the last check; all — return metrics for both types of SERPs. default value: live",
        -    "type": "string"
        -  },
        -  "ignore_synonyms": {
        -    "description": "ignore highly similar keywords optional field if set to true, only core keywords will be returned, all highly similar keywords will be excluded; default value: false",
        -    "type": "boolean"
        -  },
        -  "include_clickstream_data": {
        -    "description": "include or exclude data from clickstream-based metrics in the result optional field if the parameter is set to true, you will receive clickstream_etv, clickstream_gender_distribution, and clickstream_age_distribution fields with clickstream data in the response default value: false with this parameter enabled, you will be charged double the price for the request learn more about how clickstream-based metrics are calculated in this help center article",
        -    "type": "boolean"
        -  },
        -  "item_types": {
        -    "description": "display results by item type optional field indicates the type of search results included in the response Note: if the item_types array contains item types that are different from organic, the results will be ordered by the first item type in the array; you will not be able to sort and filter results by the types of search results not included in the response; possible values: [\"organic\", \"paid\", \"featured_snippet\", \"local_pack\"] default value: [\"organic\", \"paid\"]",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "language_code": {
        -    "description": "language code optional field if you use this field, you don’t need to specify language_name you can receive the list of available languages with their language_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages ignore this field to get the results for all available languages example: en",
        -    "type": "string"
        -  },
        -  "language_name": {
        -    "description": "full name of the language optional field if you use this field, you don’t need to specify language_code you can receive the list of available languages with their language_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages ignore this field to get the results for all available languages example: English",
        -    "type": "string"
        -  },
        -  "limit": {
        -    "description": "the maximum number of returned pages optional field default value: 100 maximum value: 1000",
        -    "type": "integer"
        -  },
        -  "location_code": {
        -    "description": "location code optional field if you use this field, you don’t need to specify location_name you can receive the list of available locations with their location_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages ignore this field to get the results for all available locations example: 2840",
        -    "type": "integer"
        -  },
        -  "location_name": {
        -    "description": "full name of the location optional field if you use this field, you don’t need to specify location_code you can receive the list of available locations with their location_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages ignore this field to get the results for all available locations example: United Kingdom",
        -    "type": "string"
        -  },
        -  "offset": {
        -    "description": "offset in the results array of returned pages optional field default value: 0 if you specify the 10 value, the first ten pages in the results array will be omitted and the data will be provided for the successive pages",
        -    "type": "integer"
        -  },
        -  "order_by": {
        -    "description": "results sorting rules optional field you can use the same values as in the filters array to sort the results possible sorting types: asc – results will be sorted in the ascending order desc – results will be sorted in the descending order you should use a comma to specify a sorting type example: [\"metrics.paid.etv,asc\"] Note: you can set no more than three sorting rules in a single request you should use a comma to separate several sorting rules example: [\"metrics.organic.etv,desc\",\"metrics.paid.count,asc\"] default rule: [\"metrics.organic.count,desc\"] Note: if the item_types array contains item types that are different from organic, the results will be ordered by the first item type in the array",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  },
        -  "target": {
        -    "description": "domain required field the domain name of the target website the domain should be specified without https:// and www.",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "target"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_labs_google_search_intent_live8 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "keywords": [
        +      "login page",
        +      "audi a7",
        +      "elon musk",
        +      "milk store new york"
        +    ]
        +  }
        +]
      • removedInput schema / properties / body / items / allOf
        Removed value: -[
        -  {
        -    "anyOf": [
        -      {
        -        "required": [
        -          "language_name"
        -        ]
        -      },
        -      {
        -        "required": [
        -          "language_code"
        -        ]
        -      }
        -    ]
        -  }
        -]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "keywords": [
        +          "login page",
        +          "audi a7",
        +          "elon musk",
        +          "milk store new york"
        +        ]
        +      }
        +    ],
        +    "properties": {
        +      "keywords": {
        +        "description": "<em>target keywords</em><br><strong>required field</strong><br>UTF-8 encoding<br>maximum number of keywords you can specify in this array: 1000;<br>the keywords will be converted to lowercase format<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "keywords": {
        -    "description": "target keywords required field UTF-8 encoding maximum number of keywords you can specify in this array: 1000; the keywords will be converted to lowercase format learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "language_code": {
        -    "description": "language code required field if don’t specify language_name you can receive the list of available languages with their language_code by making a separate request to https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages Note: this endpoint currently supports these languages only; example: en",
        -    "type": "string"
        -  },
        -  "language_name": {
        -    "description": "full name of the language required field if don’t specify language_code you can receive the list of available languages with their language_name by making a separate request to https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages Note: this endpoint currently supports the following languages only: Arabic, ar, Chinese(Traditional), zh-TW, Czech, cs, Danish, da, Dutch, nl, English, en, Finnish, fi, French, fr, German, de, Hebrew, he, Hindi, hi, Italian, it, Japanese, ja, Korean, ko, Malay, ms, Norwegian(Bokmål), nb, Polish, pl, Portuguese, pt, Romanian, ro, Russian, ru, Spanish, es, Swedish, sv, Thai, th, Ukrainian, uk, Vietnamese, vi, Bulgarian, bg, Croatian, hr, Serbian, sr, Slovenian, sl, Bosnian, bs, Greek, el, Hungarian, hu, Slovak, sk, Turkish, tr example: English",
        -    "type": "string"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "keywords"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_labs_google_serp_competitors_live8 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "item_types": [
        +      "organic"
        +    ],
        +    "keywords": [
        +      "phone"
        +    ],
        +    "language_name": "English",
        +    "limit": 5,
        +    "location_code": 2840
        +  }
        +]
      • removedInput schema / properties / body / items / allOf
        Removed value: -[
        -  {
        -    "anyOf": [
        -      {
        -        "required": [
        -          "location_name"
        -        ]
        -      },
        -      {
        -        "required": [
        -          "location_code"
        -        ]
        -      }
        -    ]
        -  },
        -  {
        -    "anyOf": [
        -      {
        -        "required": [
        -          "language_name"
        -        ]
        -      },
        -      {
        -        "required": [
        -          "language_code"
        -        ]
        -      }
        -    ]
        -  }
        -]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "item_types": [
        +          "organic"
        +        ],
        +        "keywords": [
        +          "phone"
        +        ],
        +        "language_name": "English",
        +        "limit": 5,
        +        "location_code": 2840
        +      }
        +    ],
        +    "properties": {
        +      "filters": {
        +        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>match</code>, <code>not_match</code>, <code>ilike</code>, <code>not_ilike</code>, <code>like</code>, <code>not_like</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code>, as well as <code>ilike</code> and <code>not_ilike</code> to match any string of zero or more characters<br>example:<br><code>[\"median_position\",\"in\",[1,10]]</code><p><code>[[\"median_position\",\"in\",[1,10]],\"and\",[\"domain\",\"not_like\",\"%wikipedia.org%\"]]</code><p><code>[[\"domain\",\"not_like\",\"%wikipedia.org%\"],<br>\"and\",<br>[[\"relevant_serp_items\",\"&gt;\",0],\"or\",[\"median_position\",\"in\",[1,10]]]]</code><br>for more information about filters, please refer to <a href=\"/v3/dataforseo_labs/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Dataforseo Labs - Filters</a> or this <a href=\"https://dataforseo.com/help-center/how-to-use-filters-in-dataforseo-labs-api\" rel=\"noopener noreferrer\" target=\"_blank\">help center guide</a>",
        +        "items": {
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "include_subdomains": {
        +        "description": "<em>indicates if the subdomains will be included in the search</em><br>optional field<br>if set to <code>false</code>, the subdomains will be ignored<br>default value: <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "item_types": {
        +        "description": "<em>search results type</em><br>indicates type of search results included in the response<br>optional field<p>possible values: <br><code>[\"organic\", \"paid\", \"featured_snippet\", \"local_pack\"]</code><br>default value: <br><code>[\"organic\", \"paid\"]</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "keywords": {
        +        "description": "<em>keywords array</em><br><strong>required field</strong><br>the results will be based on the keywords you specify in this array<br>UTF-8 encoding;<br>the keywords will be converted to lowercase format;<br><strong>you can specify the maximum of 200 keywords</strong><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "language_code": {
        +        "description": "<em>unique language identifier</em><br><strong>required field if you don't specify</strong> <code>language_name</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available languages with their <code>language_code</code> parameters by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">en</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "<em>full name of the language</em><br><strong>required field if you don't specify</strong> <code>language_code</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available languages with their <code>language_name</code> parameters by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">English</code>",
        +        "type": "string"
        +      },
        +      "limit": {
        +        "description": "<em>the maximum number of returned domains</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_code": {
        +        "description": "<em>unique location identifier</em><br><strong>required field if you don't specify</strong> <code>location_name</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_code</code> parameters by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">2840</code>",
        +        "type": "integer"
        +      },
        +      "location_name": {
        +        "description": "<em>full name of the location</em><br><strong>required field if you don't specify</strong> <code>location_code</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with <code>location_name</code> parameters by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">United Kingdom</code>",
        +        "type": "string"
        +      },
        +      "offset": {
        +        "description": "<em>offset in the results array of returned domains</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten domains in the results array will be omitted and the data will be provided for the successive domains",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "order_by": {
        +        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>the comma is used as a separator<br>example:<br><code>[\"avg_position,asc\"]</code><br>default rule:<br><code>[\"rating,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"avg_position,asc\",\"etv,desc\"]</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "filters": {
        -    "description": "array of results filtering parameters optional field you can add several filters at once (8 filters maximum) you should set a logical operator and, or between the conditions the following operators are supported: regex, not_regex, , , >, >=, =, , in, not_in, match, not_match, ilike, not_ilike, like, not_like you can use the % operator with like and not_like, as well as ilike and not_ilike to match any string of zero or more characters example: [\"median_position\",\"in\",[1,10]] [[\"median_position\",\"in\",[1,10]],\"and\",[\"domain\",\"not_like\",\"%wikipedia.org%\"]] [[\"domain\",\"not_like\",\"%wikipedia.org%\"], \"and\", [[\"relevant_serp_items\",\">\",0],\"or\",[\"median_position\",\"in\",[1,10]]]] for more information about filters, please refer to Dataforseo Labs – Filters or this help center guide",
        -    "items": {},
        -    "type": "array"
        -  },
        -  "include_subdomains": {
        -    "description": "indicates if the subdomains will be included in the search optional field if set to false, the subdomains will be ignored default value: true",
        -    "type": "boolean"
        -  },
        -  "item_types": {
        -    "description": "search results type indicates type of search results included in the response optional field possible values: [\"organic\", \"paid\", \"featured_snippet\", \"local_pack\"] default value: [\"organic\", \"paid\"]",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "keywords": {
        -    "description": "keywords array required field the results will be based on the keywords you specify in this array UTF-8 encoding; the keywords will be converted to lowercase format; you can specify the maximum of 200 keywords learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "language_code": {
        -    "description": "unique language identifier required field if you don’t specify language_name Note: it is required to specify either language_name or language_code you can receive the list of available languages with their language_code parameters by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: en",
        -    "type": "string"
        -  },
        -  "language_name": {
        -    "description": "full name of the language required field if you don’t specify language_code Note: it is required to specify either language_name or language_code you can receive the list of available languages with their language_name parameters by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: English",
        -    "type": "string"
        -  },
        -  "limit": {
        -    "description": "the maximum number of returned domains optional field default value: 100 maximum value: 1000",
        -    "type": "integer"
        -  },
        -  "location_code": {
        -    "description": "unique location identifier required field if you don’t specify location_name Note: it is required to specify either location_name or location_code you can receive the list of available locations with their location_code parameters by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: 2840",
        -    "type": "integer"
        -  },
        -  "location_name": {
        -    "description": "full name of the location required field if you don’t specify location_code Note: it is required to specify either location_name or location_code you can receive the list of available locations with location_name parameters by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: United Kingdom",
        -    "type": "string"
        -  },
        -  "offset": {
        -    "description": "offset in the results array of returned domains optional field default value: 0 if you specify the 10 value, the first ten domains in the results array will be omitted and the data will be provided for the successive domains",
        -    "type": "integer"
        -  },
        -  "order_by": {
        -    "description": "results sorting rules optional field you can use the same values as in the filters array to sort the results possible sorting types: asc – results will be sorted in the ascending order desc – results will be sorted in the descending order the comma is used as a separator example: [\"avg_position,asc\"] default rule: [\"rating,desc\"] note that you can set no more than three sorting rules in a single request you should use a comma to separate several sorting rules example: [\"avg_position,asc\",\"etv,desc\"]",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "keywords"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_labs_google_subdomains_live7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "filters": [
        +      [
        +        "metrics.organic.pos_1",
        +        "<>",
        +        0
        +      ],
        +      "or",
        +      [
        +        "metrics.organic.pos_2_3",
        +        "<>",
        +        0
        +      ]
        +    ],
        +    "language_name": "English",
        +    "location_code": 2840,
        +    "target": "dataforseo.com"
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "filters": [
        +          [
        +            "metrics.organic.pos_1",
        +            "<>",
        +            0
        +          ],
        +          "or",
        +          [
        +            "metrics.organic.pos_2_3",
        +            "<>",
        +            0
        +          ]
        +        ],
        +        "language_name": "English",
        +        "location_code": 2840,
        +        "target": "dataforseo.com"
        +      }
        +    ],
        +    "properties": {
        +      "filters": {
        +        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code><br>example:<br><code>[\"metrics.paid.count\",\"&gt;\",0]</code><p><code>[[\"metrics.paid.count\",\"&gt;\",0],\"and\",[\"metrics.paid.etv\",\"&gt;\",\"50\"]]</code><p><code>[[\"metrics.organic.count\",\"&gt;\",\"10\"],<br>\"and\",<br>[[\"metrics.organic.pos_1\",\"&lt;&gt;\",0],\"or\",[\"metrics.organic.pos_2_3\",\"&lt;&gt;\",0]]]</code><br>for more information about filters, please refer to <a href=\"/v3/dataforseo_labs/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Dataforseo Labs - Filters</a> or this <a href=\"https://dataforseo.com/help-center/how-to-use-filters-in-dataforseo-labs-api\" rel=\"noopener noreferrer\" target=\"_blank\">help center guide</a>",
        +        "items": {
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "historical_serp_mode": {
        +        "description": "<em>data collection mode</em><br>optional field<br>you can use this field to filter the results;<br>possible types of filtering:<br><code>live</code> — return metrics for SERPs in which the specified <code>target</code> currently has ranking results;<br><code>lost</code> — return metrics for SERPs in which the specified <code>target</code> had previously had ranking results, but didn't have them during the last check;<br><code>all</code> — return metrics for both types of SERPs.<br>default value: <code>live</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "ignore_synonyms": {
        +        "description": "<em>ignore highly similar keywords</em><br>optional field<br>if set to <code class=\"prettyprint\">true</code>, only core keywords will be returned, all highly similar keywords will be excluded;  <br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_clickstream_data": {
        +        "description": "<em>include or exclude data from clickstream-based metrics in the result</em><br>optional field<br>if the parameter is set to <code>true</code>, you will receive <code>clickstream_etv</code>, <code>clickstream_gender_distribution</code>, and <code>clickstream_age_distribution</code> fields with clickstream data in the response<br>default value: <code>false</code><br>with this parameter enabled, you will be charged double the price for the request<p>learn more about how clickstream-based metrics are calculated in this <a href=\"https://dataforseo.com/help-center/what-are-clickstream-based-metrics-and-how-do-we-calculate-them\" rel=\"noopener noreferrer\" target=\"_blank\">help center article</a>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "item_types": {
        +        "description": "<em>display results by item type</em><br>optional field<br>indicates the type of search results included in the response<p><strong>Note:</strong> if the <code>item_types</code> array contains item types that are different from <code>organic</code>, the results will be ordered by the first item type in the array; you will not be able to sort and filter results by the types of search results not included in the response;<p>possible values: <br><code>[\"organic\", \"paid\", \"featured_snippet\", \"local_pack\"]</code><br>default value: <br><code>[\"organic\", \"paid\"]</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "language_code": {
        +        "description": "<em>language code</em><br>optional field<br>if you use this field, you don't need to specify <code>language_name</code><br>you can receive the list of available languages with their <code>language_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available languages<br>example:<br><code class=\"long-string\">en</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "<em>full name of the language</em><br>optional field<br>if you use this field, you don't need to specify <code>language_code</code><br>you can receive the list of available languages with their <code>language_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available languages<br>example:<br><code class=\"long-string\">English</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "limit": {
        +        "description": "<em>the maximum number of returned keywords</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_code": {
        +        "description": "<em>location code</em><br>optional field<br>if you use this field, you don't need to specify <code>location_name</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">2840</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_name": {
        +        "description": "<em>full name of the location</em><br>optional field<br>if you use this field, you don't need to specify <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">United Kingdom</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "offset": {
        +        "description": "<em>offset in the results array of returned keywords</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten keywords in the results array will be omitted and the data will be provided for the successive keywords",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "order_by": {
        +        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to specify a sorting type<br>example:<br><code>[\"metrics.paid.etv,asc\"]</code><br><strong>Note:</strong> you can set no more than three sorting rules in a single request<br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"metrics.organic.etv,desc\",\"metrics.paid.count,asc\"]</code><p>default rule:<br><code>[\"metrics.organic.count,desc\"]</code><br><strong>Note:</strong> if the <code>item_types</code> array contains item types that are different from <code>organic</code>, the results will be ordered by the first item type in the array",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "target": {
        +        "description": "<em>domain</em><br><strong>required field</strong><br>the domain name of the target website<br>the domain should be specified without <code>https://</code> and <code>www.</code>",
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "filters": {
        -    "description": "array of results filtering parameters optional field you can add several filters at once (8 filters maximum) you should set a logical operator and, or between the conditions the following operators are supported: regex, not_regex, , , >, >=, =, , in, not_in example: [\"metrics.paid.count\",\">\",0] [[\"metrics.paid.count\",\">\",0],\"and\",[\"metrics.paid.etv\",\">\",\"50\"]] [[\"metrics.organic.count\",\">\",\"10\"], \"and\", [[\"metrics.organic.pos_1\",\"\",0],\"or\",[\"metrics.organic.pos_2_3\",\"\",0]]] for more information about filters, please refer to Dataforseo Labs – Filters or this help center guide",
        -    "items": {},
        -    "type": "array"
        -  },
        -  "historical_serp_mode": {
        -    "description": "data collection mode optional field you can use this field to filter the results; possible types of filtering: live — return metrics for SERPs in which the specified target currently has ranking results; lost — return metrics for SERPs in which the specified target had previously had ranking results, but didn’t have them during the last check; all — return metrics for both types of SERPs. default value: live",
        -    "type": "string"
        -  },
        -  "ignore_synonyms": {
        -    "description": "ignore highly similar keywords optional field if set to true, only core keywords will be returned, all highly similar keywords will be excluded; default value: false",
        -    "type": "boolean"
        -  },
        -  "include_clickstream_data": {
        -    "description": "include or exclude data from clickstream-based metrics in the result optional field if the parameter is set to true, you will receive clickstream_etv, clickstream_gender_distribution, and clickstream_age_distribution fields with clickstream data in the response default value: false with this parameter enabled, you will be charged double the price for the request learn more about how clickstream-based metrics are calculated in this help center article",
        -    "type": "boolean"
        -  },
        -  "item_types": {
        -    "description": "display results by item type optional field indicates the type of search results included in the response Note: if the item_types array contains item types that are different from organic, the results will be ordered by the first item type in the array; you will not be able to sort and filter results by the types of search results not included in the response; possible values: [\"organic\", \"paid\", \"featured_snippet\", \"local_pack\"] default value: [\"organic\", \"paid\"]",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "language_code": {
        -    "description": "language code optional field if you use this field, you don’t need to specify language_name you can receive the list of available languages with their language_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages ignore this field to get the results for all available languages example: en",
        -    "type": "string"
        -  },
        -  "language_name": {
        -    "description": "full name of the language optional field if you use this field, you don’t need to specify language_code you can receive the list of available languages with their language_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages ignore this field to get the results for all available languages example: English",
        -    "type": "string"
        -  },
        -  "limit": {
        -    "description": "the maximum number of returned keywords optional field default value: 100 maximum value: 1000",
        -    "type": "integer"
        -  },
        -  "location_code": {
        -    "description": "location code optional field if you use this field, you don’t need to specify location_name you can receive the list of available locations with their location_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages ignore this field to get the results for all available locations example: 2840",
        -    "type": "integer"
        -  },
        -  "location_name": {
        -    "description": "full name of the location optional field if you use this field, you don’t need to specify location_code you can receive the list of available locations with their location_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages ignore this field to get the results for all available locations example: United Kingdom",
        -    "type": "string"
        -  },
        -  "offset": {
        -    "description": "offset in the results array of returned keywords optional field default value: 0 if you specify the 10 value, the first ten keywords in the results array will be omitted and the data will be provided for the successive keywords",
        -    "type": "integer"
        -  },
        -  "order_by": {
        -    "description": "results sorting rules optional field you can use the same values as in the filters array to sort the results possible sorting types: asc – results will be sorted in the ascending order desc – results will be sorted in the descending order you should use a comma to specify a sorting type example: [\"metrics.paid.etv,asc\"] Note: you can set no more than three sorting rules in a single request you should use a comma to separate several sorting rules example: [\"metrics.organic.etv,desc\",\"metrics.paid.count,asc\"] default rule: [\"metrics.organic.count,desc\"] Note: if the item_types array contains item types that are different from organic, the results will be ordered by the first item type in the array",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  },
        -  "target": {
        -    "description": "domain required field the domain name of the target website the domain should be specified without https:// and www.",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "target"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_on_page_duplicate_content7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "id": "07281559-0695-0216-0000-c269be8b7592",
        +    "url": "https://www.etsy.com/"
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "id": "07281559-0695-0216-0000-c269be8b7592",
        +        "url": "https://www.etsy.com/"
        +      }
        +    ],
        +    "properties": {
        +      "id": {
        +        "description": "<em>ID of the task</em><br><strong>required field</strong><br>you can get this ID in the response of the <a href=\"https://docs.dataforseo.com/v3/on_page/task_post/\">Task POST</a> endpoint<br>example:<br>\"07131248-1535-0216-1000-17384017ad04\"",
        +        "type": "string"
        +      },
        +      "limit": {
        +        "description": "<em>the maximum number of returned pages</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "offset": {
        +        "description": "<em>offset in the results array of returned pages</em><br>optional field<br>default value: <code>0</code><br>maximum value: <code>2000000</code><br>if you specify the <code>10</code> value, the first ten pages in the results array will be omitted and the data will be provided for the successive pages",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "similarity": {
        +        "description": "<em>content similarity score</em><br>by default, the content is considered duplicate if the value is greater than or equals <code>6</code><br>you can specify any similarity score in the 0-to-10 range",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "url": {
        +        "description": "<em>page URL</em><br><strong>required field</strong><br>specify the initial page you want to receive duplicate content for",
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "id": {
        -    "description": "ID of the task required field you can get this ID in the response of the Task POST endpoint example: “07131248-1535-0216-1000-17384017ad04”",
        -    "type": "string"
        -  },
        -  "limit": {
        -    "description": "the maximum number of returned pages optional field default value: 100 maximum value: 1000",
        -    "type": "integer"
        -  },
        -  "offset": {
        -    "description": "offset in the results array of returned pages optional field default value: 0 maximum value: 2000000 if you specify the 10 value, the first ten pages in the results array will be omitted and the data will be provided for the successive pages",
        -    "type": "integer"
        -  },
        -  "similarity": {
        -    "description": "content similarity score by default, the content is considered duplicate if the value is greater than or equals 6 you can specify any similarity score in the 0-to-10 range",
        -    "type": "integer"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  },
        -  "url": {
        -    "description": "page URL required field specify the initial page you want to receive duplicate content for",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "id",
        -  "url"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_on_page_lighthouse_live_json7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "for_mobile": true,
        +    "tag": "some_string_123",
        +    "url": "https://dataforseo.com"
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "for_mobile": true,
        +        "tag": "some_string_123",
        +        "url": "https://dataforseo.com"
        +      }
        +    ],
        +    "properties": {
        +      "audits": {
        +        "description": "<em>Lighthouse audits</em><br>optional field<br>audits are individual tests Lighthouse runs for each specific feature/optimization/metric to produce a numeric score (<a href=\"https://github.com/GoogleChrome/lighthouse/blob/master/docs/architecture.md#components--terminology\" rel=\"noopener noreferrer\" target=\"_blank\">see official definition</a>);  <p><strong>if you ignore this field, we will return data for all audits</strong>;<br>use this field to get data for specific audits you indicate here;<p><strong>Note:</strong> that some audits do not belong to a specific category and are stand-alone page quality measurements;<p>in general, there can be several use cases:<p>1. if you ignore <code>categories</code>, you can use this field to get data for the specified audits only<br>for example, if you ignore <code>\"categories\"</code> and specify <code>\"audits\": [\"metrics/cumulative-layout-shift\",\"metrics/largest-contentful-paint\",\"metrics/total-blocking-time\"]</code>, you will get data only for these audits<p>2. if you specify a category, you can use this field to additionally receive audits that do not belong to the category(-ies) you specified<br>for example, if you specify <code>\"categories\": [\"seo\"]</code> and <code>\"audits\": [\"metrics/cumulative-layout-shift\",\"metrics/largest-contentful-paint\",\"metrics/total-blocking-time\"]</code>, you will get only these audits under \"performance\" and all audits under \"seo\"<p>you can get <a href=\"/v3/on_page/lighthouse/audits/\">the full list of possible audits here</a>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "browser_cpu_throttling_multiplier": {
        +        "description": "<em>browser CPU throttling multiplier</em><br><strong>required if <code>browser_network_throttling_method</code> is set to <code>devtools</code>;</strong><br>set the CPU throttling multiplier to simulate device performance conditions during the Lighthouse audit;<br>can be specified within the following range: <code>1–4</code>;<br><strong>Note:</strong> this parameter is applied only when <code>browser_network_throttling_method</code> is set to <code>devtools</code>;",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "browser_network_throttling": {
        +        "description": "<em>browser network throttling</em><br><strong>required if <code>browser_network_throttling_method</code> is set to <code>devtools</code>;</strong><br>set the network throttling profile to simulate connection speed conditions during the Lighthouse audit;<br>possible values: <code>no_throttling</code>, <code>fast_4g</code>, <code>slow_4g</code>, <code>regular_3g</code>, <code>pc</code>;<br><strong>Note:</strong> this parameter is applied only when <code>browser_network_throttling_method</code> is set to <code>devtools</code>;",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "browser_network_throttling_method": {
        +        "description": "<em>browser network throttling method</em><br>optional field<br>defines the method used to apply throttling during the Lighthouse audit;<br>possible vaules:<br><code>simulate</code> - calculates estimated performance metrics without applying explicit throttling;<br><code>devtools</code> -  applies the throttling settings specified in <code>browser_network_throttling</code> and <code>browser_cpu_throttling_multiplier</code>;<br><code>provided</code> - uses the network conditions of the crawling environment;",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "browser_screen_height": {
        +        "description": "<em>browser screen height</em><br>optional field<br>set the screen height of the browser used for the Lighthouse audit to emulate a specific device;<br>can be specified within the following range: <code>240–9999</code>;",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "browser_screen_scale_factor": {
        +        "description": "<em>browser screen scale factor</em><br>optional field<br>set the device pixel ratio of the browser used for the Lighthouse audit;<br>can be specified within the following range: <code>0.5–3</code>;",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "browser_screen_width": {
        +        "description": "<em>browser screen width</em><br>optional field<br>set the screen width of the browser used for the Lighthouse audit to emulate a specific device;<br>can be specified within the following range: <code>240–9999</code>;",
        +        "format": "int64",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "categories": {
        +        "description": "<em>categories of Lighthouse audits</em><br>optional field<br>each category is a collection of audits and audit groups that applies weighting and scoring to the section (<a href=\"https://github.com/GoogleChrome/lighthouse/blob/master/docs/architecture.md#auditreport-terminology\" rel=\"noopener noreferrer\" target=\"_blank\">see official definition</a>)<p><strong>if you ignore this field, we will return data for all categories unless you specify <code>audits</code></strong><br>use this field to get data for specific categories you indicate here<p>possible values:<br><code>seo</code>, <code>performance</code>, <code>best_practices</code>, <code>accessibility</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "custom_user_agent": {
        +        "description": "<em>custom user agent</em><br>optional field<br>specify the custom user agent used by the browser when running the Lighthouse audit;<br>can be specified with up to 254 characters;",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "for_mobile": {
        +        "description": "<em>applies mobile emulation</em><br>optional field<br>if set to <code>true</code>, Lighthouse will use mobile device and screen emulation to test the page against mobile environment<br>if set to <code>false</code>, the results will be provided for desktop<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "language_code": {
        +        "description": "<em>lighthouse language code</em><br>optional field<br>you can receive the list of available languages of the search engine with their <code>language_code</code> by making a separate request to <code>https://api.dataforseo.com/v3/on_page/lighthouse/languages</code><br>default value:<br><code class=\"long-string\">en</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "<em>lighthouse language name</em><br>optional field<br>you can receive the list of available languages of the search engine with their <code>language_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/on_page/lighthouse/languages</code><br>default value:<br><code class=\"long-string\">English</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "url": {
        +        "description": "<em>target URL</em><br><strong>required field</strong><br>target page should be specified with its absolute URL (including http:// or https://)<br>example:<br><code>https://dataforseo.com/</code>",
        +        "type": "string"
        +      },
        +      "version": {
        +        "description": "<em>lighthouse version</em><br>optional field<br>you can obtain the results specific to a certain Lighthouse version by specifying its number<br>the list of available versions is available through the <a href=\"/v3/on_page/lighthouse/versions/\" rel=\"noopener noreferrer\" target=\"_blank\">Lighthouse Versions endpoint</a>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "audits": {
        -    "description": "Lighthouse audits optional field audits are individual tests Lighthouse runs for each specific feature/optimization/metric to produce a numeric score (see official definition); if you ignore this field, we will return data for all audits; use this field to get data for specific audits you indicate here; Note: that some audits do not belong to a specific category and are stand-alone page quality measurements; in general, there can be several use cases: 1. if you ignore categories, you can use this field to get data for the specified audits only for example, if you ignore \"categories\" and specify \"audits\": [\"metrics/cumulative-layout-shift\",\"metrics/largest-contentful-paint\",\"metrics/total-blocking-time\"], you will get data only for these audits 2. if you specify a category, you can use this field to additionally receive audits that do not belong to the category(-ies) you specified for example, if you specify \"categories\": [\"seo\"] and \"audits\": [\"metrics/cumulative-layout-shift\",\"metrics/largest-contentful-paint\",\"metrics/total-blocking-time\"], you will get only these audits under “performance” and all audits under “seo” you can get the full list of possible audits here",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "categories": {
        -    "description": "categories of Lighthouse audits optional field each category is a collection of audits and audit groups that applies weighting and scoring to the section (see official definition) if you ignore this field, we will return data for all categories unless you specify audits use this field to get data for specific categories you indicate here possible values: seo, performance, best_practices, accessibility",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "for_mobile": {
        -    "description": "applies mobile emulation optional field if set to true, Lighthouse will use mobile device and screen emulation to test the page against mobile environment if set to false, the results will be provided for desktop default value: false",
        -    "type": "boolean"
        -  },
        -  "language_code": {
        -    "description": "lighthouse language code optional field you can receive the list of available languages of the search engine with their language_code by making a separate request to https://api.dataforseo.com/v3/on_page/lighthouse/languages default value: en",
        -    "type": "string"
        -  },
        -  "language_name": {
        -    "description": "lighthouse language name optional field you can receive the list of available languages of the search engine with their language_name by making a separate request to https://api.dataforseo.com/v3/on_page/lighthouse/languages default value: English",
        -    "type": "string"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  },
        -  "url": {
        -    "description": "target URL required field target page should be specified with its absolute URL (including http:// or https://) example: https://dataforseo.com/",
        -    "type": "string"
        -  },
        -  "version": {
        -    "description": "lighthouse version optional field you can obtain the results specific to a certain Lighthouse version by specifying its number the list of available versions is available through the Lighthouse Versions endpoint",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "url"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_on_page_links7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "filters": [
        +      [
        +        "dofollow",
        +        "=",
        +        true
        +      ],
        +      "and",
        +      [
        +        "direction",
        +        "=",
        +        "external"
        +      ]
        +    ],
        +    "id": "07281559-0695-0216-0000-c269be8b7592",
        +    "limit": 10,
        +    "page_from": "/apis/google-trends-api"
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "filters": [
        +          [
        +            "dofollow",
        +            "=",
        +            true
        +          ],
        +          "and",
        +          [
        +            "direction",
        +            "=",
        +            "external"
        +          ]
        +        ],
        +        "id": "07281559-0695-0216-0000-c269be8b7592",
        +        "limit": 10,
        +        "page_from": "/apis/google-trends-api"
        +      }
        +    ],
        +    "properties": {
        +      "filters": {
        +        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>, <code>not_like</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters<br>example:<br><code>[\"direction\",\"=\",\"external\"]</code><p><code>[[\"domain_to\",\"&lt;&gt;\",\"example.com\"],<br>\"and\",<br>[\"link_from\",\"not_like\",\"%example.com/blog%\"]]</code><p><code>[[\"direction\",\"=\",\"external\"],<br>\"and\",<br>[[\"link_from\",\"like\",\"%example.com/blog%\"],\"or\",[\"link_from\",\"like\",\"%example.com/help%\"]]]</code><p>The full list of possible filters is available <a href=\"/v3/on_page/filters_and_thresholds/?bash\" rel=\"noopener noreferrer\" target=\"_blank\">by this link.</a>",
        +        "items": {
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "id": {
        +        "description": "<em>ID of the task</em><br><strong>required field</strong><br>you can get this ID in the response of the <a href=\"https://docs.dataforseo.com/v3/on_page/task_post/\">Task POST</a> endpoint<br>example:<br>\"07131248-1535-0216-1000-17384017ad04\"",
        +        "type": "string"
        +      },
        +      "limit": {
        +        "description": "<em>the maximum number of returned links</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "offset": {
        +        "description": "<em>offset in the results array of returned links</em><br>optional field<br>default value: <code>0</code><br>maximum value: <code>2000000</code><br>if you specify the <code>10</code> value, the first ten links in the results array will be omitted and the data will be provided for the successive links",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "page_from": {
        +        "description": "<em>relative page URL</em><br>optional field<br>if you use this field, the API response will contain only links from the specified page<br>note that in this field you can specify relative URLs only",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "page_to": {
        +        "description": "<em>relative page URL</em><br>optional field<br>if you use this field, the API response will contain only internal links pointing to the specified page<br>note that in this field you can specify relative URLs only",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "search_after_token": {
        +        "description": "<em>token for subsequent requests</em><br>optional field<br>provided in the identical filed of the response to each request;<br>use this parameter to avoid timeouts while trying to obtain over <code>20,000</code> results in a single request;<br>by specifying the unique <code>search_after_token</code> value from the response array, you will get the subsequent results of the initial task;<br><code>search_after_token</code> values are unique for each subsequent task ;<br><strong>Note:</strong> if the <code>search_after_token</code> is specified in the request, all other parameters should be identical to the previous request",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "filters": {
        -    "description": "array of results filtering parameters optional field you can add several filters at once (8 filters maximum) you should set a logical operator and, or between the conditions the following operators are supported: regex, not_regex, =, , in, not_in, like, not_like you can use the % operator with like and not_like to match any string of zero or more characters example: [\"direction\",\"=\",\"external\"] [[\"domain_to\",\"\",\"example.com\"], \"and\", [\"link_from\",\"not_like\",\"%example.com/blog%\"]] [[\"direction\",\"=\",\"external\"], \"and\", [[\"link_from\",\"like\",\"%example.com/blog%\"],\"or\",[\"link_from\",\"like\",\"%example.com/help%\"]]] The full list of possible filters is available by this link.",
        -    "items": {},
        -    "type": "array"
        -  },
        -  "id": {
        -    "description": "ID of the task required field you can get this ID in the response of the Task POST endpoint example: “07131248-1535-0216-1000-17384017ad04”",
        -    "type": "string"
        -  },
        -  "limit": {
        -    "description": "the maximum number of returned links optional field default value: 100 maximum value: 1000",
        -    "type": "integer"
        -  },
        -  "offset": {
        -    "description": "offset in the results array of returned links optional field default value: 0 maximum value: 2000000 if you specify the 10 value, the first ten links in the results array will be omitted and the data will be provided for the successive links",
        -    "type": "integer"
        -  },
        -  "page_from": {
        -    "description": "relative page URL optional field if you use this field, the API response will contain only links from the specified page note that in this field you can specify relative URLs only",
        -    "type": "string"
        -  },
        -  "page_to": {
        -    "description": "relative page URL optional field if you use this field, the API response will contain only internal links pointing to the specified page note that in this field you can specify relative URLs only",
        -    "type": "string"
        -  },
        -  "search_after_token": {
        -    "description": "token for subsequent requests optional field provided in the identical filed of the response to each request; use this parameter to avoid timeouts while trying to obtain over 20,000 results in a single request; by specifying the unique search_after_token value from the response array, you will get the subsequent results of the initial task; search_after_token values are unique for each subsequent task ; Note: if the search_after_token is specified in the request, all other parameters should be identical to the previous request",
        -    "type": "string"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "id"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_on_page_non_indexable7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "filters": [
        +      [
        +        "reason",
        +        "=",
        +        "robots_txt"
        +      ],
        +      "and",
        +      [
        +        "url",
        +        "like",
        +        "%go%"
        +      ]
        +    ],
        +    "id": "07281559-0695-0216-0000-c269be8b7592",
        +    "limit": 10
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "filters": [
        +          [
        +            "reason",
        +            "=",
        +            "robots_txt"
        +          ],
        +          "and",
        +          [
        +            "url",
        +            "like",
        +            "%go%"
        +          ]
        +        ],
        +        "id": "07281559-0695-0216-0000-c269be8b7592",
        +        "limit": 10
        +      }
        +    ],
        +    "properties": {
        +      "filters": {
        +        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>, <code>not_like</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters<br>example:<br><code>[[\"reason\",\"&lt;&gt;\",\"robots_txt\"],<br>\"and\",<br>[\"url\",\"not_like\",\"%/wp-admin/%\"]]</code><p><code>[[\"url\",\"not_like\",\"%/wp-admin/%\"],<br>\"and\",<br>[[\"reason\",\"&lt;&gt;\",\"meta_tag\"],\"or\",[\"reason\",\"&lt;&gt;\",\"http_header\"]]]</code><p>The full list of possible filters is available <a href=\"/v3/on_page/filters_and_thresholds/?bash\" target=\"_blank\" rel=\"noopener noreferrer\">by this link.</a>",
        +        "items": {
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "id": {
        +        "description": "<em>ID of the task</em><br><strong>required field</strong><br>you can get this ID in the response of the <a href=\"/v3/on_page/task_post/\">Task POST</a> endpoint<br>example:<br>\"07131248-1535-0216-1000-17384017ad04\"",
        +        "type": "string"
        +      },
        +      "limit": {
        +        "description": "<em>the maximum number of returned pages</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "offset": {
        +        "description": "<em>offset in the results array of returned pages</em><br>optional field<br>default value: <code>0</code><br>maximum value: <code>2000000</code><br>if you specify the <code>10</code> value, the first ten pages in the results array will be omitted and the data will be provided for the successive pages",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "filters": {
        -    "description": "array of results filtering parameters optional field you can add several filters at once (8 filters maximum) you should set a logical operator and, or between the conditions the following operators are supported: regex, not_regex, <, <=, >, >=, =, <>, in, not_in, like, not_like you can use the % operator with like and not_like to match any string of zero or more characters example: [[\"reason\",\"<>\",\"robots_txt\"], \"and\", [\"url\",\"not_like\",\"%/wp-admin/%\"]] [[\"url\",\"not_like\",\"%/wp-admin/%\"], \"and\", [[\"reason\",\"<>\",\"meta_tag\"],\"or\",[\"reason\",\"<>\",\"http_header\"]]] The full list of possible filters is available by this link.",
        -    "items": {},
        -    "type": "array"
        -  },
        -  "id": {
        -    "description": "ID of the task required field you can get this ID in the response of the Task POST endpoint example: “07131248-1535-0216-1000-17384017ad04”",
        -    "type": "string"
        -  },
        -  "limit": {
        -    "description": "the maximum number of returned pages optional field default value: 100 maximum value: 1000",
        -    "type": "integer"
        -  },
        -  "offset": {
        -    "description": "offset in the results array of returned pages optional field default value: 0 maximum value: 2000000 if you specify the 10 value, the first ten pages in the results array will be omitted and the data will be provided for the successive pages",
        -    "type": "integer"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "id"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_on_page_submit7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "custom_js": "meta = {}; meta.url = document.URL; meta;",
        +    "enable_javascript": true,
        +    "load_resources": true,
        +    "max_crawl_pages": 10,
        +    "pingback_url": "https://your-server.com/pingscript?id=$id&tag=$tag",
        +    "tag": "some_string_123",
        +    "target": "dataforseo.com"
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "custom_js": "meta = {}; meta.url = document.URL; meta;",
        +        "enable_javascript": true,
        +        "load_resources": true,
        +        "max_crawl_pages": 10,
        +        "pingback_url": "https://your-server.com/pingscript?id=$id&tag=$tag",
        +        "tag": "some_string_123",
        +        "target": "dataforseo.com"
        +      }
        +    ],
        +    "properties": {
        +      "accept_language": {
        +        "description": "<em>language header for accessing the website</em><br>optional field<br>all locale formats are supported (xx, xx-XX, xxx-XX, etc.)<br><strong>Note:</strong> if you do not specify this parameter, some websites may deny access; in this case, pages will be returned with the <code>\"type\":\"broken</code> in the response array",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "allow_subdomains": {
        +        "description": "<em>include pages on subdomains</em><br>optional field<br>set to <code>true</code> if you want to crawl all subdomains of a target website<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "allowed_subdomains": {
        +        "description": "<em>subdomains to crawl</em><br>optional field<br>specify subdomains that you want to crawl<br>example: <code>[\"blog.site.com\", \"my.site.com\", \"shop.site.com\"]</code><br><strong>Note:</strong> to use this parameter, the <code>allow_subdomains</code> parameter should be set to <code>false</code>;<br>otherwise, the content of <code>allowed_subdomains</code> field will be ignored and the results will be returned for all subdomains",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "browser_preset": {
        +        "description": "<em>preset for browser screen parameters</em><br>optional field<br>if you use this field, you don't need to indicate <code>browser_screen_width</code>, <code>browser_screen_height</code>, <code>browser_screen_scale_factor</code>possible values:<br><code>desktop</code>, <code>mobile</code>, <code>tablet</code><code>desktop</code> preset will apply the following values:<code>browser_screen_width: 1920</code><br><code>browser_screen_height: 1080</code><br><code>browser_screen_scale_factor: 1</code><code>mobile</code> preset will apply the following values:<code>browser_screen_width: 390</code><br><code>browser_screen_height: 844</code><br><code>browser_screen_scale_factor: 3</code><code>tablet</code> preset will apply the following values:<code>browser_screen_width: 1024</code><br><code>browser_screen_height: 1366</code><br><code>browser_screen_scale_factor: 2</code><br><strong>Note:</strong> to use this parameter, set <code>enable_javascript</code> or <code>enable_browser_rendering</code> to <code>true</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "browser_screen_height": {
        +        "description": "<em>browser screen height</em><br>optional field<br>you can set a custom browser screen height to perform an audit for a particular device;<br>if you use this field, you don't need to indicate <code>browser_preset</code> as it will be ignored;<br><strong>Note:</strong> to use this parameter, set <code>enable_javascript</code> or <code>enable_browser_rendering</code> to <code>true</code>minimum value, in pixels: <code>240</code><br>maximum value, in pixels: <code>9999</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "browser_screen_scale_factor": {
        +        "description": "<em>browser screen scale factor</em><br>optional field<br>you can set a custom browser screen resolution ratio to perform audit for a particular device;<br>if you use this field, you don't need to indicate <code>browser_preset</code> as it will be ignored;<br><strong>Note:</strong> to use this parameter, set <code>enable_javascript</code> or <code>enable_browser_rendering</code> to <code>true</code>minimum value: <code>0.5</code><br>maximum value: <code>3</code>",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "browser_screen_width": {
        +        "description": "<em>browser screen width</em><br>optional field<br>you can set a custom browser screen width to perform audit for a particular device;<br>if you use this field, you don't need to indicate <code>browser_preset</code> as it will be ignored;<br><strong>Note:</strong> to use this parameter, set <code>enable_javascript</code> or <code>enable_browser_rendering</code> to <code>true</code>minimum value, in pixels: <code>240</code><br>maximum value, in pixels: <code>9999</code>",
        +        "format": "int64",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "calculate_keyword_density": {
        +        "description": "<em>calculate keyword density for the target domain</em><br>optional field<br>set to <code>true</code> if you want to calculate keyword density for website pages<br>default value: <code>false</code><br><strong>Note:</strong> if you use this parameter, additional charges will apply; learn more about the cost of tasks with this parameter <a href=\"https://dataforseo.com/help-center/cost-of-onpage-api-parameters\" target=\"_blank\" rel=\"noopener noreferrer\">in our help article</a><br>once the crawl is completed, you can obtain keyword density values with <a href=\"/v3/on_page/keyword_density?bash\" target=\"_blank\" rel=\"noopener noreferrer\">the Keyword Density endpoint</a>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "check_spell": {
        +        "description": "<em>check spelling</em><br>optional field<br>set to <code>true</code> to check spelling on a website using <a href=\"http://hunspell.github.io/\" target=\"_blank\" rel=\"noopener noreferrer\">Hunspell</a> library<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "check_spell_exceptions": {
        +        "description": "<em>words excluded from spell check</em><br>optional field<br>specify the words that you want to exclude from spell check<br>maximum word length: 100 characters<br>maximum amount of words: 1000<br>example: <code>\"SERP\", \"minifiers\", \"JavaScript\"</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "check_spell_language": {
        +        "description": "<em>language of the spell check</em><br>optional field<br>supported languages: 'hy', 'eu', 'bg', 'ca', 'hr', 'cs', 'da', 'nl', 'en', 'eo', 'et', 'fo', 'fa', 'fr', 'fy', 'gl', 'ka', 'de', 'el', 'he', 'hu', 'is', 'ia', 'ga', 'it', 'rw', 'la', 'lv', 'lt', 'mk', 'mn', 'ne', 'nb', 'nn', 'pl', 'pt', 'ro', 'gd', 'sr', 'sk', 'sl', 'es', 'sv', 'tr', 'tk', 'uk', 'vi'<br><strong>Note:</strong> if no language is specified, it will be set automatically based on page content",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "checks_threshold": {
        +        "additionalProperties": {
        +          "format": "int64",
        +          "type": [
        +            "integer",
        +            "null"
        +          ]
        +        },
        +        "description": "<em>custom threshold values for checks</em><br>optional field<br>you can specify custom threshold values for the parameters included in the <code>checks</code> object of OnPage API responses;<br><strong>Note:</strong> only integer threshold values can be modified;<br>for example, the <code>high_loading_time</code> and <code>large_page_size</code> parameters are set to 3 seconds and 1 megabyte respectively by default;<br>if you want to change these thresholds to 1 second and 1000 kbytes, use the following snippet:<br>`\"checks_threshold\": {<br>\"high_loading_time\": 1,<br>\"large_page_size\": 1000<br>}`<br>available customizable parameters with default values:<br>`\"title_too_short\", default value: 30, type: \"int\"<br>\"title_too_long\", default value: 65, type: \"int\"<br>\"small_page_size\", default value: 1024, type: \"int\"<br>\"large_page_size\", default value: 1048576 (1024 * 1024), type: \"int\"<br>\"low_character_count\", default value: 1024, type: \"int\"<br>\"high_character_count\", default value: 256000 (250 * 1024), type: \"int\"<br>\"low_content_rate\", default value: 0.1, type: \"float\"<br>\"high_content_rate\", default value: 0.9, type: \"float\"<br>\"high_loading_time\", default value: 3000, type: \"int\"<br>\"high_waiting_time\", default value: 1500, type: \"int\"<br>\"low_readability_rate\", default value: 15.0, type: \"float\"<br>\"irrelevant_description\", default value: 0.2, type: \"float\"<br>\"irrelevant_title\", default value: 0.3, type: \"float\"<br>\"irrelevant_meta_keywords\", default value: 0.6, type: \"float\"`",
        +        "type": [
        +          "object",
        +          "null"
        +        ]
        +      },
        +      "crawl_delay": {
        +        "description": "<em>delay between hits, ms</em><br>optional field<br>the custom delay between crawler hits to the server<br>default value: <code>2000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "crawl_sitemap_only": {
        +        "description": "<em>crawl only pages indicated in the sitemap</em><br>optional field<br>set to <code>true</code> if you want to crawl only the pages indicated in the sitemap<br>if you set this parameter to <code>true</code> and do not specify <code>custom_sitemap</code>, we will crawl the default sitemap<br>default value: <code>false</code><br><strong>Note:</strong> if you want to use this parameter, <code>respect_sitemap</code> should be <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "custom_js": {
        +        "description": "<em>custom javascript</em><br>optional field<br><strong>Note</strong> that the execution time for the script you enter here should be 700 ms maximum, for example, you can use the following JS snippet to check if the website contains Google Tag Manager as a <code>scr</code> attribute:<br><code>let meta = { haveGoogleAnalytics: false, haveTagManager: false };rnfor (var i = 0; i &lt; document.scripts.length; i++) {rn let src = document.scripts[i].getAttribute(\"src\");rn if (src != undefined) {rn if (src.indexOf(\"analytics.js\") &gt;= 0)rn      meta.haveGoogleAnalytics = true;rntif (src.indexOf(\"gtm.js\") &gt;= 0)rn      meta.haveTagManager = true;rn  }rn}rnmeta;</code>the returned value depends on what you specified in this field. For instance, if you specify the following script:<br>`meta = {}; meta.url = document.URL; meta.test = 'test'; meta;`<br>as a response you will receive the following data:<br>`\"custom_js_response\": {<br>\"url\": \"https://dataforseo.com/\",<br>\"test\": \"test\"<br>}`<br><strong>Note:</strong> the length of the script you enter must be no more than 2000 characters",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "custom_robots_txt": {
        +        "description": "<em>custom robots.txt settings</em><br>optional field<br>example: <code>Disallow: /directory1/</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "custom_sitemap": {
        +        "description": "<em>custom sitemap url</em><br>optional field<br>the URL of the page where the alternative sitemap is located<br><strong>Note:</strong> if you want to use this parameter, <code>respect_sitemap</code> should be <code>true</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "custom_user_agent": {
        +        "description": "<em>custom user agent</em><br>optional field<br>custom user agent for crawling a website<br>example: <code>Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36<br></code><br>default value: <code>Mozilla/5.0 (compatible; RSiteAuditor)</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "disable_cookie_popup": {
        +        "description": "<em>disable the cookie popup</em><br>optional field<br>set to <code>true</code> if you want to disable the popup requesting cookie consent from the user;<br>default value:<br><code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "disable_page_checks": {
        +        "description": "<em>prevent certain page checks from running</em><br>optional field<br>specify certain <code>checks</code> to prevent them from running and impacting the <code>onpage_score</code>example:<br><code>\"disable_page_checks\": [\"is_5xx_code\", \"is_4xx_code\"]</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "disable_sitewide_checks": {
        +        "description": "<em>prevent certain sitewide checks from running</em><br>optional field<br>specify the following <code>checks</code> to prevent them from running on the <code>target</code> website:<br><code>\"test_page_not_found\"</code><br><code>\"test_canonicalization\"</code><br><code>\"test_https_redirect\"</code><br><code>\"test_directory_browsing\"</code>example:<br><code>\"disable_sitewide_checks\": [\"test_directory_browsing\", \"test_page_not_found\"]</code>learn more on <a href=\"https://dataforseo.com/help-center/how-to-disable-sitewide-checks-in-onpage-api\" target=\"_blank\" rel=\"noopener noreferrer\">our help center</a>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "disallowed_subdomains": {
        +        "description": "<em>subdomains not to crawl</em><br>optional field<br>specify subdomains that you don't want to crawl<br>example: <code>[\"status.site.com\", \"docs.site.com\"]</code><br><strong>Note:</strong> to use this parameter, the <code>allow_subdomains</code> parameter should be set to <code>true</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "enable_browser_rendering": {
        +        "description": "<em>emulate browser rendering to measure Core Web Vitals</em><br>optional field<br>by using this parameter you will be able to emulate a browser when loading a web page;<br><code>enable_browser_rendering</code> loads styles, images, fonts, animations, videos, and other resources on a page;<br>default value: <code>false</code><br>set to <code>true</code> to obtain Core Web Vitals (FID, CLS, LCP) metrics in the response;<br><strong>if you use this field, <code>enable_javascript</code>, and <code>load_resources</code> parameters must be set to <code>true</code></strong><br><strong>Note:</strong> if you use this parameter, additional charges will apply; learn more about the cost of tasks with this parameter <a href=\"https://dataforseo.com/help-center/cost-of-onpage-api-parameters\" target=\"_blank\" rel=\"noopener noreferrer\">in our help article</a>; the cost can be calculated on the <a href=\"https://dataforseo.com/pricing/on-page/onpage-api\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing Page</a>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "enable_content_parsing": {
        +        "description": "<em>parse content on crawled pages</em><br>optional field<br>set to <code>true</code> to use the <a href=\"/v3/on_page/content_parsing/live/\" target=\"_blank\" rel=\"noopener noreferrer\">OnPage Content Parsing endpoint</a><br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "enable_javascript": {
        +        "description": "<em>load javascript on a page</em><br>optional field<br>set to <code>true</code> if you want to load the scripts available on a page<br>default value: <code>false</code><br><strong>Note:</strong> if you use this parameter, additional charges will apply; learn more about the cost of tasks with this parameter <a href=\"https://dataforseo.com/help-center/cost-of-onpage-api-parameters\" target=\"_blank\" rel=\"noopener noreferrer\">in our help article</a>; the cost can be calculated on the <a href=\"https://dataforseo.com/pricing/on-page/onpage-api\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing Page</a>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "enable_www_redirect_check": {
        +        "description": "<em>check if the domain implemented the www redirection</em><br>optional field<br>set to <code>true</code> if you want to check if the requested domain implemented the www to non-www or non-www to www redirect;<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "enable_xhr": {
        +        "description": "<em>enable XMLHttpRequest on a page</em><br>optional field<br>set to <code>true</code> if you want our crawler to request data from a web server using the XMLHttpRequest object<br>default value: <code>false</code>;if you use this field, <code>enable_javascript</code> must be set to <code>true</code>;",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "force_sitewide_checks": {
        +        "description": "<em>enable sitewide checks when crawling a single page</em><br>optional field<br>set to <code>true</code> to get data on sitewide checks when crawling a single page;<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "load_resources": {
        +        "description": "<em>load resources</em><br>optional field<br>set to <code>true</code> if you want to load image, stylesheets, scripts, and broken resources<br>default value: <code>false</code><br><strong>Note:</strong> if you use this parameter, additional charges will apply; learn more about the cost of tasks with this parameter <a href=\"https://dataforseo.com/help-center/cost-of-onpage-api-parameters\" target=\"_blank\" rel=\"noopener noreferrer\">in our help article</a>; the cost can be calculated on the <a href=\"https://dataforseo.com/pricing/on-page/onpage-api\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing Page</a>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "max_crawl_depth": {
        +        "description": "<em>crawl depth</em><br>optional field<br>the linking depth of the pages to crawl;<br>for example, starting page of the crawl is level 0, pages that have links from that page are level 1, etc.",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "max_crawl_pages": {
        +        "description": "<em>crawled pages limit</em><br><strong>required field</strong><br>the number of pages to crawl on the specified domain<br><strong>Note:</strong><br>if you set <code>max_crawl_pages</code> to 1 and do not specify <code>start_url</code> or set a homepage in it, the following sitewide checks will be disabled:<br><code>test_canonicalization</code>, <code>enable_www_redirect_check</code>, <code>test_hidden_server_signature</code>, <code>test_page_not_found</code>, <code>test_directory_browsing</code>, <code>test_https_redirect</code><br>to enable them anyway, set <code>force_sitewide_checks</code> to <code>true</code>if you set <code>max_crawl_pages</code> to 1 and specify <code>start_url</code> other than a homepage, all sitewide checks will be disabled;<br>to enable them anyway, set <code>force_sitewide_checks</code> to <code>true</code>",
        +        "type": "integer"
        +      },
        +      "pingback_url": {
        +        "description": "<em>notification URL of a completed task</em><br>optional field<br>when a task is completed we will notify you by GET request sent to the URL you have specified<br>you can use the ‘$id’ string as a <code>$id</code> variable and ‘$tag’ as urlencoded <code>$tag</code> variable. We will set the necessary values before sending the request.<br>example:<br><code>http://your-server.com/pingscript?id=$id</code><br><code>http://your-server.com/pingscript?id=$id&amp;tag=$tag</code><br><strong>Note:</strong> special characters in <code>pingback_url</code> will be urlencoded;<br>i.a., the <code>#</code> character will be encoded into <code>%23</code><p>learn more on our <a href=\"https://dataforseo.com/help-center/pingbacks-postbacks-with-dataforseo-api\" target=\"_blank\" rel=\"noopener noreferrer\">Help Center</a>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "priority_urls": {
        +        "description": "<em>urls to be crawled bypassing the queue</em><br>optional field<br>URLs specified in this array will be crawled in the first instance, bypassing the crawling queue;<br><strong>Note:</strong> you should specify the absolute URL;<br>you can specify up to <strong>20 URLs</strong>;<br>all URLs in the array must belong to the <code>target</code> domain;<br>subdomains will be ignored unless the <code>allow_subdomains</code> parameter is set to <code>true</code>example:<br>`\"priority_urls\": [<br>\"https://dataforseo.com/apis/serp-api\",<br>\"https://dataforseo.com/contact\"<br>]`",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "respect_sitemap": {
        +        "description": "<em>respect sitemap when crawling</em><br>optional field<br>set to <code>true</code> if you want to follow the order of pages indicated in the primary sitemap when crawling;<br>default value: <code>false</code><br><strong>Note:</strong> if set to <code>true</code>, the <code>click_depth</code> value in the API response will equal <code>0</code>;<br>the <code>max_crawl_depth</code> field of the request will be ignored, you can specify the number of pages to crawl using the <code>max_crawl_pages</code> parameter",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "return_despite_timeout": {
        +        "description": "<em>return data on pages despite the timeout error</em><br>optional field<br>if <code>true</code>, the data will be provided on pages that failed to load within 120 seconds and responded with a timeout error;<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "robots_txt_merge_mode": {
        +        "description": "<em>merge with or override robots.txt settings</em><br>optional field<br>possible values: <code>merge</code>, <code>override</code>;<br>set to <code>override</code> if you want to ignore website crawling restrictions and other robots.txt settings<br>default value: <code>merge</code>;<br><strong>Note:</strong> if set to <code>override</code>, specify the <code>custom_robots_txt</code> parameter",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "start_url": {
        +        "description": "<em>the first url to crawl </em><br>optional field<br><strong>Note:</strong> you should specify an absolute URL<br>if you want to crawl a single page, specify its URL in this field and additionally set the <code>max_crawl_pages</code> parameter to <code>1</code><br>you can also use the <a href=\"/v3/on_page/instant_pages/?bash\" target=\"_blank\" rel=\"noopener noreferrer\">live Instant Pages endpoint</a> to get page-specific data",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "store_raw_html": {
        +        "description": "<em>store HTML of crawled pages</em><br>optional field<br>set to <code>true</code> if you want to get the HTML of the page using the <a href=\"/v3/on_page/raw_html/\" target=\"_blank\" rel=\"noopener noreferrer\">OnPage Raw HTML endpoint</a><br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "support_cookies": {
        +        "description": "<em>support cookies on crawled pages</em><br>optional field<br>set to <code>true</code> to support cookies when crawling the pages<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "switch_pool": {
        +        "description": "<em>switch proxy pool</em><br>optional field<br>if <code>true</code>, additional proxy pools will be used to obtain the requested data;<br>the parameter can be used if a multitude of tasks is set simultaneously, resulting in occasional <code>rate-limit</code> and/or <code>site_unreachable</code> errors",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "target": {
        +        "description": "<em>target domain</em><br><strong>required field</strong><br>domain name should be specified without <code>https://</code> and <code>www.</code><br>if you specify the page URL, the results will be returned for the domain included in the URL",
        +        "type": "string"
        +      },
        +      "validate_micromarkup": {
        +        "description": "<em>enable microdata validation</em><br>optional field<br>set to <code>true</code> if you want to use the <a href=\"/v3/on_page/microdata/\" target=\"_blank\" rel=\"noopener noreferrer\">OnPage API Microdata endpoint</a><br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "accept_language": {
        -    "description": "language header for accessing the website optional field all locale formats are supported (xx, xx-XX, xxx-XX, etc.) Note: if you do not specify this parameter, some websites may deny access; in this case, pages will be returned with the \"type\":\"broken in the response array",
        -    "type": "string"
        -  },
        -  "allow_subdomains": {
        -    "description": "include pages on subdomains optional field set to true if you want to crawl all subdomains of a target website default value: false",
        -    "type": "boolean"
        -  },
        -  "allowed_subdomains": {
        -    "description": "subdomains to crawl optional field specify subdomains that you want to crawl example: [\"blog.site.com\", \"my.site.com\", \"shop.site.com\"] Note: to use this parameter, the allow_subdomains parameter should be set to false; otherwise, the content of allowed_subdomains field will be ignored and the results will be returned for all subdomains",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "browser_preset": {
        -    "description": "preset for browser screen parameters optional field if you use this field, you don’t need to indicate browser_screen_width, browser_screen_height, browser_screen_scale_factorpossible values: desktop, mobile, tabletdesktop preset will apply the following values:browser_screen_width: 1920 browser_screen_height: 1080 browser_screen_scale_factor: 1mobile preset will apply the following values:browser_screen_width: 390 browser_screen_height: 844 browser_screen_scale_factor: 3tablet preset will apply the following values:browser_screen_width: 1024 browser_screen_height: 1366 browser_screen_scale_factor: 2 Note: to use this parameter, set enable_javascript or enable_browser_rendering to true",
        -    "type": "string"
        -  },
        -  "browser_screen_height": {
        -    "description": "browser screen height optional field you can set a custom browser screen height to perform an audit for a particular device; if you use this field, you don’t need to indicate browser_preset as it will be ignored; Note: to use this parameter, set enable_javascript or enable_browser_rendering to trueminimum value, in pixels: 240 maximum value, in pixels: 9999",
        -    "type": "integer"
        -  },
        -  "browser_screen_scale_factor": {
        -    "description": "browser screen scale factor optional field you can set a custom browser screen resolution ratio to perform audit for a particular device; if you use this field, you don’t need to indicate browser_preset as it will be ignored; Note: to use this parameter, set enable_javascript or enable_browser_rendering to trueminimum value: 0.5 maximum value: 3",
        -    "type": "number"
        -  },
        -  "browser_screen_width": {
        -    "description": "browser screen width optional field you can set a custom browser screen width to perform audit for a particular device; if you use this field, you don’t need to indicate browser_preset as it will be ignored; Note: to use this parameter, set enable_javascript or enable_browser_rendering to trueminimum value, in pixels: 240 maximum value, in pixels: 9999",
        -    "type": "integer"
        -  },
        -  "calculate_keyword_density": {
        -    "description": "calculate keyword density for the target domain optional field set to true if you want to calculate keyword density for website pages default value: false Note: if you use this parameter, additional charges will apply; learn more about the cost of tasks with this parameter in our help article once the crawl is completed, you can obtain keyword density values with the Keyword Density endpoint",
        -    "type": "boolean"
        -  },
        -  "check_spell": {
        -    "description": "check spelling optional field set to true to check spelling on a website using Hunspell library default value: false",
        -    "type": "boolean"
        -  },
        -  "check_spell_exceptions": {
        -    "description": "words excluded from spell check optional field specify the words that you want to exclude from spell check maximum word length: 100 characters maximum amount of words: 1000 example: \"SERP\", \"minifiers\", \"JavaScript\"",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "check_spell_language": {
        -    "description": "language of the spell check optional field supported languages: ‘hy’, ‘eu’, ‘bg’, ‘ca’, ‘hr’, ‘cs’, ‘da’, ‘nl’, ‘en’, ‘eo’, ‘et’, ‘fo’, ‘fa’, ‘fr’, ‘fy’, ‘gl’, ‘ka’, ‘de’, ‘el’, ‘he’, ‘hu’, ‘is’, ‘ia’, ‘ga’, ‘it’, ‘rw’, ‘la’, ‘lv’, ‘lt’, ‘mk’, ‘mn’, ‘ne’, ‘nb’, ‘nn’, ‘pl’, ‘pt’, ‘ro’, ‘gd’, ‘sr’, ‘sk’, ‘sl’, ‘es’, ‘sv’, ‘tr’, ‘tk’, ‘uk’, ‘vi’ Note: if no language is specified, it will be set automatically based on page content",
        -    "type": "string"
        -  },
        -  "checks_threshold": {
        -    "description": "custom threshold values for checks optional field you can specify custom threshold values for the parameters included in the checks object of OnPage API responses; Note: only integer threshold values can be modified; for example, the high_loading_time and large_page_size parameters are set to 3 seconds and 1 megabyte respectively by default; if you want to change these thresholds to 1 second and 1000 kbytes, use the following snippet: \"checks_threshold\": { \"high_loading_time\": 1, \"large_page_size\": 1000 }available customizable parameters with default values: \"title_too_short\", default value: 30, type: \"int\" \"title_too_long\", default value: 65, type: \"int\" \"small_page_size\", default value: 1024, type: \"int\" \"large_page_size\", default value: 1048576 (1024 * 1024), type: \"int\" \"low_character_count\", default value: 1024, type: \"int\" \"high_character_count\", default value: 256000 (250 * 1024), type: \"int\" \"low_content_rate\", default value: 0.1, type: \"float\" \"high_content_rate\", default value: 0.9, type: \"float\" \"high_loading_time\", default value: 3000, type: \"int\" \"high_waiting_time\", default value: 1500, type: \"int\" \"low_readability_rate\", default value: 15.0, type: \"float\" \"irrelevant_description\", default value: 0.2, type: \"float\" \"irrelevant_title\", default value: 0.3, type: \"float\" \"irrelevant_meta_keywords\", default value: 0.6, type: \"float\"",
        -    "type": "object"
        -  },
        -  "crawl_delay": {
        -    "description": "delay between hits, ms optional field the custom delay between crawler hits to the server default value: 2000",
        -    "type": "integer"
        -  },
        -  "crawl_sitemap_only": {
        -    "description": "crawl only pages indicated in the sitemap optional field set to true if you want to crawl only the pages indicated in the sitemap if you set this parameter to true and do not specify custom_sitemap, we will crawl the default sitemap default value: false Note: if you want to use this parameter, respect_sitemap should be true",
        -    "type": "boolean"
        -  },
        -  "custom_js": {
        -    "description": "custom javascript optional field Note that the execution time for the script you enter here should be 700 ms maximum, for example, you can use the following JS snippet to check if the website contains Google Tag Manager as a scr attribute: let meta = { haveGoogleAnalytics: false, haveTagManager: false };rnfor (var i = 0; i < document.scripts.length; i++) {rn let src = document.scripts[i].getAttribute(\"src\");rn if (src!= undefined) {rn if (src.indexOf(\"analytics.js\") >= 0)rn meta.haveGoogleAnalytics = true;rntif (src.indexOf(\"gtm.js\") >= 0)rn meta.haveTagManager = true;rn }rn}rnmeta;the returned value depends on what you specified in this field. For instance, if you specify the following script: `meta = {}; meta.url = document.URL; meta.test = 'test'; meta;` as a response you will receive the following data: `\"custom_js_response\": { \"url\": \"https://dataforseo.com/\", \"test\": \"test\" }` Note: the length of the script you enter must be no more than 2000 characters",
        -    "type": "string"
        -  },
        -  "custom_robots_txt": {
        -    "description": "custom robots.txt settings optional field example: Disallow: /directory1/",
        -    "type": "string"
        -  },
        -  "custom_sitemap": {
        -    "description": "custom sitemap url optional field the URL of the page where the alternative sitemap is located Note: if you want to use this parameter, respect_sitemap should be true",
        -    "type": "string"
        -  },
        -  "custom_user_agent": {
        -    "description": "custom user agent optional field custom user agent for crawling a website example: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36 default value: Mozilla/5.0 (compatible; RSiteAuditor)",
        -    "type": "string"
        -  },
        -  "disable_cookie_popup": {
        -    "description": "disable the cookie popup optional field set to true if you want to disable the popup requesting cookie consent from the user; default value: false",
        -    "type": "boolean"
        -  },
        -  "disable_page_checks": {
        -    "description": "prevent certain page checks from running optional field specify certain checks to prevent them from running and impacting the onpage_scoreexample: \"disable_page_checks\": [\"is_5xx_code\", \"is_4xx_code\"]",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "disable_sitewide_checks": {
        -    "description": "prevent certain sitewide checks from running optional field specify the following checks to prevent them from running on the target website: \"test_page_not_found\" \"test_canonicalization\" \"test_https_redirect\" \"test_directory_browsing\"example: \"disable_sitewide_checks\": [\"test_directory_browsing\", \"test_page_not_found\"]learn more on our help center",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "disallowed_subdomains": {
        -    "description": "subdomains not to crawl optional field specify subdomains that you don’t want to crawl example: [\"status.site.com\", \"docs.site.com\"] Note: to use this parameter, the allow_subdomains parameter should be set to true",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "enable_browser_rendering": {
        -    "description": "emulate browser rendering to measure Core Web Vitals optional field by using this parameter you will be able to emulate a browser when loading a web page; enable_browser_rendering loads styles, images, fonts, animations, videos, and other resources on a page; default value: false set to true to obtain Core Web Vitals (FID, CLS, LCP) metrics in the response; if you use this field, enable_javascript, and load_resources parameters must be set to true Note: if you use this parameter, additional charges will apply; learn more about the cost of tasks with this parameter in our help article",
        -    "type": "boolean"
        -  },
        -  "enable_content_parsing": {
        -    "description": "parse content on crawled pages optional field set to true to use the OnPage Content Parsing endpoint default value: false",
        -    "type": "boolean"
        -  },
        -  "enable_javascript": {
        -    "description": "load javascript on a page optional field set to true if you want to load the scripts available on a page default value: false Note: if you use this parameter, additional charges will apply; learn more about the cost of tasks with this parameter in our help article",
        -    "type": "boolean"
        -  },
        -  "enable_www_redirect_check": {
        -    "description": "check if the domain implemented the www redirection optional field set to true if you want to check if the requested domain implemented the www to non-www or non-www to www redirect; default value: false",
        -    "type": "boolean"
        -  },
        -  "enable_xhr": {
        -    "description": "enable XMLHttpRequest on a page optional field set to true if you want our crawler to request data from a web server using the XMLHttpRequest object default value: false;if you use this field, enable_javascript must be set to true;",
        -    "type": "boolean"
        -  },
        -  "force_sitewide_checks": {
        -    "description": "enable sitewide checks when crawling a single page optional field set to true to get data on sitewide checks when crawling a single page; default value: false",
        -    "type": "boolean"
        -  },
        -  "load_resources": {
        -    "description": "load resources optional field set to true if you want to load image, stylesheets, scripts, and broken resources default value: false Note: if you use this parameter, additional charges will apply; learn more about the cost of tasks with this parameter in our help article",
        -    "type": "boolean"
        -  },
        -  "max_crawl_depth": {
        -    "description": "crawl depth optional field the linking depth of the pages to crawl; for example, starting page of the crawl is level 0, pages that have links from that page are level 1, etc.",
        -    "type": "integer"
        -  },
        -  "max_crawl_pages": {
        -    "description": "crawled pages limit required field the number of pages to crawl on the specified domain Note: if you set max_crawl_pages to 1 and do not specify start_url or set a homepage in it, the following sitewide checks will be disabled: test_canonicalization, enable_www_redirect_check, test_hidden_server_signature, test_page_not_found, test_directory_browsing, test_https_redirect to enable them anyway, set force_sitewide_checks to trueif you set max_crawl_pages to 1 and specify start_url other than a homepage, all sitewide checks will be disabled; to enable them anyway, set force_sitewide_checks to true",
        -    "type": "integer"
        -  },
        -  "pingback_url": {
        -    "description": "notification URL of a completed task optional field when a task is completed we will notify you by GET request sent to the URL you have specified you can use the ‘$id’ string as a $id variable and ‘$tag’ as urlencoded $tag variable. We will set the necessary values before sending the request. example: http://your-server.com/pingscript?id=$id http://your-server.com/pingscript?id=$id&tag=$tag Note: special characters in pingback_url will be urlencoded; i.a., the # character will be encoded into %23 learn more on our Help Center",
        -    "type": "string"
        -  },
        -  "priority_urls": {
        -    "description": "urls to be crawled bypassing the queue optional field URLs specified in this array will be crawled in the first instance, bypassing the crawling queue; Note: you should specify the absolute URL; you can specify up to 20 URLs; all URLs in the array must belong to the target domain; subdomains will be ignored unless the allow_subdomains parameter is set to trueexample: \"priority_urls\": [ \"https://dataforseo.com/apis/serp-api\", \"https://dataforseo.com/contact\" ]",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "respect_sitemap": {
        -    "description": "respect sitemap when crawling optional field set to true if you want to follow the order of pages indicated in the primary sitemap when crawling; default value: false Note: if set to true, the click_depth value in the API response will equal 0; the max_crawl_depth field of the request will be ignored, you can specify the number of pages to crawl using the max_crawl_pages parameter",
        -    "type": "boolean"
        -  },
        -  "return_despite_timeout": {
        -    "description": "return data on pages despite the timeout error optional field if true, the data will be provided on pages that failed to load within 120 seconds and responded with a timeout error; default value: false",
        -    "type": "boolean"
        -  },
        -  "robots_txt_merge_mode": {
        -    "description": "merge with or override robots.txt settings optional field possible values: merge, override; set to override if you want to ignore website crawling restrictions and other robots.txt settings default value: merge; Note: if set to override, specify the custom_robots_txt parameter",
        -    "type": "string"
        -  },
        -  "start_url": {
        -    "description": "the first url to crawl optional field Note: you should specify an absolute URL if you want to crawl a single page, specify its URL in this field and additionally set the max_crawl_pages parameter to 1 you can also use the live Instant Pages endpoint to get page-specific data",
        -    "type": "string"
        -  },
        -  "store_raw_html": {
        -    "description": "store HTML of crawled pages optional field set to true if you want to get the HTML of the page using the OnPage Raw HTML endpoint default value: false",
        -    "type": "boolean"
        -  },
        -  "support_cookies": {
        -    "description": "support cookies on crawled pages optional field set to true to support cookies when crawling the pages default value: false",
        -    "type": "boolean"
        -  },
        -  "switch_pool": {
        -    "description": "switch proxy pool optional field if true, additional proxy pools will be used to obtain the requested data; the parameter can be used if a multitude of tasks is set simultaneously, resulting in occasional rate-limit and/or site_unreachable errors",
        -    "type": "boolean"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  },
        -  "target": {
        -    "description": "target domain required field domain name should be specified without https:// and www. if you specify the page URL, the results will be returned for the domain included in the URL",
        -    "type": "string"
        -  },
        -  "validate_micromarkup": {
        -    "description": "enable microdata validation optional field set to true if you want to use the OnPage API Microdata endpoint default value: false",
        -    "type": "boolean"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "target",
        -  "max_crawl_pages"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_serp_ai_summary7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "fetch_content": true,
        +    "include_links": true,
        +    "prompt": "explain what DataForSEO is",
        +    "task_id": "07031739-1535-0139-0000-9d1e639a5b7d"
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "fetch_content": true,
        +        "include_links": true,
        +        "prompt": "explain what DataForSEO is",
        +        "task_id": "07031739-1535-0139-0000-9d1e639a5b7d"
        +      }
        +    ],
        +    "properties": {
        +      "fetch_content": {
        +        "description": "<em>fetch content from pages in SERPs</em><br>optional field<br>if set to <code>true</code>, the API will fetch the content from pages featured in SERP results, and the AI model will consider this content when generating the summary in the result;<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_links": {
        +        "description": "<em>include source links in the summary</em><br>optional field<br>if set to <code>true</code>, the <code>summary</code> field in the API response will contain links to sources of the generated summary;<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "prompt": {
        +        "description": "<em>AI prompt</em><br>optional field<br>additional task for AI summariser;<br>any form of text, question or information that communicates to AI what response you're looking for;<br>max number of symbols or characters you can specify: <code>2000</code>;<br><strong>note:</strong> your prompt has to be relevant to the keyword specified in the POST request to SERP API",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "support_extra": {
        +        "description": "<em>support extra SERP features</em><br>optional field<br>if set to <code>true</code>, the AI model will consider the following extra SERP features, in addition to <code>organic</code> results: <code>answer_box</code>, <code>knowledge_graph</code>, <code>featured_snippet</code>;<br>default value: <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "task_id": {
        +        "description": "<em>task identifier</em><br><strong>required field</strong><br>unique identifier of the associated task in the <a href=\"https://en.wikipedia.org/wiki/Universally_unique_identifier\">UUID</a> format<br>you will be able to use it within <strong>30 days</strong> to request the results of the task at any time",
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "fetch_content": {
        -    "description": "fetch content from pages in SERPs optional field if set to true, the API will fetch the content from pages featured in SERP results, and the AI model will consider this content when generating the summary in the result; default value: false",
        -    "type": "boolean"
        -  },
        -  "include_links": {
        -    "description": "include source links in the summary optional field if set to true, the summary field in the API response will contain links to sources of the generated summary; default value: false",
        -    "type": "boolean"
        -  },
        -  "prompt": {
        -    "description": "AI prompt optional field additional task for AI summariser; any form of text, question or information that communicates to AI what response you're looking for; max number of symbols or characters you can specify: 2000; note: your prompt has to be relevant to the keyword specified in the POST request to SERP API",
        -    "type": "string"
        -  },
        -  "support_extra": {
        -    "description": "support extra SERP features optional field if set to true, the AI model will consider the following extra SERP features, in addition to organic results: answer_box, knowledge_graph, featured_snippet; default value: true",
        -    "type": "boolean"
        -  },
        -  "task_id": {
        -    "description": "task identifier required field unique identifier of the associated task in the UUID format you will be able to use it within 30 days to request the results of the task at any time",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "task_id"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_serp_bing_organic_live7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "keyword": "flight ticket new york san francisco",
        +    "language_code": "en",
        +    "location_code": 2840
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "keyword": "flight ticket new york san francisco",
        +        "language_code": "en",
        +        "location_code": 2840
        +      }
        +    ],
        +    "properties": {
        +      "browser_screen_height": {
        +        "description": "<p><em>browser screen height</em><p>optional field<p>you can set a custom browser screen height to calculate pixel rankings for a particular device;<p>can be specified within the following range: <code>240-9999</code>;<p>by default, the parameter is set to:<p><code>1080</code> for <code>desktop</code>;<p><code>640</code> for <code>mobile</code> on <code>android</code>;<p><code>812</code> for <code>mobile</code> on <code>iOS</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "browser_screen_resolution_ratio": {
        +        "description": "<p><em>browser screen resolution ratio</em><p>optional field<p>you can set a custom browser screen resolution ratio to calculate pixel rankings for a particular device;<p>can be specified within the following range: <code>0.5-3</code>;<p>by default, the parameter is set to:<p><code>1</code> for <code>desktop</code>;<p><code>3</code> for <code>mobile</code> on <code>android</code>;<p><code>3</code> for <code>mobile</code> on <code>iOS</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "browser_screen_width": {
        +        "description": "<p><em>browser screen width</em><p>optional field<p>you can set a custom browser screen width to calculate pixel rankings for a particular device;<p>can be specified within the following range: <code>240-9999</code>;<p>by default, the parameter is set to:<p><code>1920</code> for <code>desktop</code>;<p><code>360</code> for <code>mobile</code> on <code>android</code>;<p><code>375</code> for <code>mobile</code> on <code>iOS</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
        +        "format": "int64",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "calculate_rectangles": {
        +        "description": "<p><em>calculate pixel rankings for SERP elements in advanced results</em><p>optional field<p>pixel ranking refers to the distance between the result snippet and top left corner of the screen;<p><a href=\"https://dataforseo.com/help-center/pixel-ranking-in-serp-api\">Visit Help Center to learn more&gt;&gt;</a><p>by default, the parameter is set to <code>false</code><p><strong></p>\n\nFor current API pricing, see the published x-aisa-pricing metadata. Where supported, obtain a quote for your exact request.",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "depth": {
        +        "description": "<p><em>parsing depth</em><p>optional field<p>number of results in SERP<p>default value: <code>10</code><p>max value: <code>200</code></p><br><strong>Your account will be billed per each SERP containing up to 10 results;</strong><p>Setting depth above 10 may result in additional charges <a href=\"https://dataforseo.com/help-center/how-many-results-scraped\" rel=\"noopener noreferrer\" target=\"_blank\">if the search engine returns more than 10 results</a>;<p>The cost can be calculated on the <a title=\"Pricing\" href=\"https://dataforseo.com/pricing/serp/bing-organic-serp-api\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page.",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "device": {
        +        "description": "<p><em>device type</em><p>optional field<p>return results for a specific device type<p>can take the values:<code>desktop</code>, <code>mobile</code><p>default value: <code>desktop</code></p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "keyword": {
        +        "description": "<p><em>keyword</em><p><strong>required field</strong><p>you can specify <strong>up to 700 characters</strong> in the <code>keyword</code> field<p><strong>all %## will be decoded (plus character '+' will be decoded to a space character)</strong><p>if you need to use the \"%\" character for your <code>keyword</code>, please specify it as \"%25\";<p>if you need to use the “+” character for your <code>keyword</code>, please specify it as “%2B”;</p><br><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" target=\"_blank\" rel=\"noopener noreferrer\">Help Center article</a></p>",
        +        "type": "string"
        +      },
        +      "language_code": {
        +        "description": "<p><em>search engine language code</em><p><strong>required field if you don't specify</strong> <code>language_name</code><p><strong>if you use this field, you don't need to specify <code>language_name</code></strong><p>you can receive the list of available languages of the search engine with their <code>language_code</code>&nbsp;by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages</code><em><p></em>example:<em><p></em><code class=\"long-string\">en</code></p>",
        +        "type": "string"
        +      },
        +      "language_name": {
        +        "description": "<p><em>full name of search engine language</em><p><strong>required field if you don't specify</strong> <code>language_code</code><p><strong>if you use this field, you don't need to specify <code>language_code</code></strong><p>you can receive the list of available languages of the search engine with their <code>language_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages</code><p>example:<p><code class=\"long-string\">English</code></p>",
        +        "type": "string"
        +      },
        +      "location_code": {
        +        "description": "<p><em>search engine location code</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations</code><p>example:<p><code class=\"long-string\">2840</code></p>",
        +        "type": "integer"
        +      },
        +      "location_coordinate": {
        +        "description": "<p><em>GPS coordinates of a location</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_code</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_code</code></strong><p><code>location_coordinate</code> parameter should be specified in the <em>\"latitude,longitude\"</em> format<p>the maximum number of decimal digits for <em>\"latitude\"</em> and <em>\"longitude\"</em>: 7<p>example:<p><code class=\"long-string\">53.476225,-2.243572</code></p>",
        +        "type": "string"
        +      },
        +      "location_name": {
        +        "description": "<p><em>full name of search engine location</em><p><strong>required field if you don't specify</strong> <code>location_code</code> or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_code</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations</code><p>example:<p><code class=\"long-string\">London,England,United Kingdom</code></p>",
        +        "type": "string"
        +      },
        +      "match_type": {
        +        "description": "<p><em>target match type</em><p><strong>required field if <code>stop_crawl_on_match</code> is specified</strong><p>type of match for the <code>match_value</code><p>possible values:<p><code>domain</code> – specific domain or subdomain<p><code>with_subdomains</code> – main domain and subdomains<p><code>wildcard</code> –  wildcard pattern</p>",
        +        "type": "string"
        +      },
        +      "match_value": {
        +        "description": "<p><em>target domain, subdomain, or wildcard value</em><p><strong>required field if <code>stop_crawl_on_match</code> is specified</strong><p>specify a target domain, subdomain, or wildcard value;<p><strong>Note:</strong> domain or subdomain must be specified without a request protocol;<p>example: <code>\"match_value\": \"dataforseo.com\"</code>,<p><code>\"match_value\": \"/blog/post-*\"</code></p>",
        +        "type": "string"
        +      },
        +      "max_crawl_pages": {
        +        "description": "<p><em>page crawl limit</em><p>optional field<p>number of search results pages to crawl<p>default value: <code>1</code><p>max value: <code>100</code><p><strong>Note:</strong> the <code>max_crawl_pages</code> and <code>depth</code> parameters complement each other;<p>learn more at <a href=\"https://dataforseo.com/help-center/what-is-max-crawl-pages-and-how-does-it-work\" rel=\"noopener noreferrer\" target=\"_blank\">our help center</a></p>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "os": {
        +        "description": "<p><em>device operating system</em><p>optional field<p>if you specify <code>desktop</code> in the <code>device</code> field, choose from the following values: <code>windows</code>, <code>macos</code><p>default value: <code>windows</code><p>if you specify <code>mobile</code> in the <code>device</code> field, choose from the following values: <code>android</code>, <code>ios</code><p>default value: <code>android</code></p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "search_param": {
        +        "description": "<p><em>additional parameters of the search query</em><p>optional field<p><a href=\"https://dataforseo.com/help-center/bing-search-engine-parameters-and-how-to-use-them\">get the list of available parameters and additional details here</a></p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "stop_crawl_on_match": {
        +        "description": "array of targets to stop crawling\noptional field\nif specified, the response will contain SERP results up to and including the specified match_value;\nyou can specify up to 10 target values in this array\nexample:\n\"stop_crawl_on_match\":[{\"match_value\":\"dataforseo.com\",\"match_type\":\"with_subdomains\"}]\nlearn more about this parameter on our Help Center - https://dataforseo.com/help-center/using-the-stop_crawl_on_match-parameter-in-serp-api\nYour account will be billed per each SERP crawled through the specified targets",
        +        "items": {
        +          "anyOf": [
        +            {
        +              "properties": {
        +                "match_type": {
        +                  "description": "target match type\nrequired field if stop_crawl_on_match is specified;\ntype of match for the match_value\npossible values: domain, with_subdomains, wildcard",
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                },
        +                "match_value": {
        +                  "description": "arget domain or wildcard value\nrequired field if stop_crawl_on_match is specified;\nspecify a target domain or wildcard value;\nNote: domain name must be specified without a request protocol;\nexample: dataforseo.com",
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                }
        +              },
        +              "type": "object"
        +            }
        +          ],
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<p><em>user-defined task identifier</em><p>optional field<p><em>the character limit is 255</em><p>you can use this parameter to identify the task and match it with the result<p>you will find the specified <code>tag</code> value in the <code>data</code> object of the response</p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "target": {
        +        "description": "<p><em>target domain, subdomain, or webpage to get results for</em><p>optional field<p>a domain or a subdomain should be specified without <code>https://</code> and <code>www.</code><p>note that the results of <code>target</code>-specific tasks will only include SERP elements that contain a <code>url</code> string;<p>you can also use a wildcard (‘*’) character to specify the search pattern in SERP and narrow down the results;<p>examples:<p><strong><code class=\"long-string\">example.com</code></strong>  - returns results for the website's home page with URLs, such as <code class=\"long-string\">https://example.com</code>, or <code class=\"long-string\">https://www.example.com/</code>, or <code class=\"long-string\">https://example.com/</code>;<p><strong><code class=\"long-string\">example.com*</code></strong> - returns results for the domain, including all its pages;<p><strong><code class=\"long-string\">*example.com*</code></strong> - returns results for the entire domain, including all its pages and subdomains;<p><strong><code class=\"long-string\">*example.com</code></strong>  - returns results for the home page regardless of the subdomain, such as <code class=\"long-string\">https://en.example.com</code>;<p><strong><code class=\"long-string\">example.com/example-page</code></strong>  - returns results for the exact URL;<p><strong><code class=\"long-string\">example.com/example-page*</code></strong>  - returns results for all domain's URLs that start with the specified string</p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "url": {
        +        "description": "<p><em>direct URL of the search query</em><p>optional field<p>you can specify a direct URL and we will sort it out to the necessary fields. Note that this method is the most difficult for our API to process and also requires you to specify the exact language and location in the URL. In most cases, we wouldn’t recommend using this method.<p>example:<p><code class=\"long-string\">https://www.bing.com/search?q=rank%20checker&amp;count=50&amp;first=1&amp;setlang=en&amp;cc=US&amp;safesearch=Moderate&amp;FORM=SEPAGE</code></p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "device": {
        -    "description": "device type optional field return results for a specific device type can take the values:desktop, mobile default value: desktop",
        -    "type": "string"
        -  },
        -  "keyword": {
        -    "description": "keyword required field you can specify up to 700 characters in the keyword field all %## will be decoded (plus character '+' will be decoded to a space character) if you need to use the \"%\" character for your keyword, please specify it as \"%25\"; if you need to use the “+” character for your keyword, please specify it as “%2B”; learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        -    "type": "string"
        -  },
        -  "language_code": {
        -    "description": "search engine language code required field if you don't specify language_name if you use this field, you don't need to specify language_name. Use the AIsa tool [get_dataforseo_serp_bing_languages](https://aisa.one/docs/api-reference/dataforseo/get_dataforseo-serp-bing-languages) to retrieve supported Bing languages. Select a language from the returned list and use its `language_code` value exactly. When using MCP, discover this tool through `search` and obtain its schema with `batch_get_schema` if needed. example: en",
        -    "type": "string"
        -  },
        -  "language_name": {
        -    "description": "full name of search engine language required field if you don't specify language_code if you use this field, you don't need to specify language_code. Use the AIsa tool [get_dataforseo_serp_bing_languages](https://aisa.one/docs/api-reference/dataforseo/get_dataforseo-serp-bing-languages) to retrieve supported Bing languages. Select a language from the returned list and use its `language_name` value exactly. When using MCP, discover this tool through `search` and obtain its schema with `batch_get_schema` if needed. example: English",
        -    "type": "string"
        -  },
        -  "location_code": {
        -    "description": "search engine location code required field if you don't specify location_name or location_coordinate if you use this field, you don't need to specify location_name or location_coordinate. Use the AIsa tool [get_dataforseo_serp_bing_locations](https://aisa.one/docs/api-reference/dataforseo/get_dataforseo-serp-bing-locations) to retrieve supported Bing locations. Select a location from the returned list and use its `location_code` value exactly. When using MCP, discover this tool through `search` and obtain its schema with `batch_get_schema` if needed. example: 2840",
        -    "type": "integer"
        -  },
        -  "location_name": {
        -    "description": "full name of search engine location required field if you don't specify location_code or location_coordinate if you use this field, you don't need to specify location_code or location_coordinate. Use the AIsa tool [get_dataforseo_serp_bing_locations](https://aisa.one/docs/api-reference/dataforseo/get_dataforseo-serp-bing-locations) to retrieve supported Bing locations. Select a location from the returned list and use its `location_name` value exactly. When using MCP, discover this tool through `search` and obtain its schema with `batch_get_schema` if needed. example: London,England,United Kingdom",
        -    "type": "string"
        -  },
        -  "os": {
        -    "description": "device operating system optional field if you specify desktop in the device field, choose from the following values: windows, macos default value: windows if you specify mobile in the device field, choose from the following values: android, ios default value: android",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "keyword"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_serp_google_ai_mode_live7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "keyword": "what is google ai mode",
        +    "language_code": "en",
        +    "location_code": 2840
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "keyword": "what is google ai mode",
        +        "language_code": "en",
        +        "location_code": 2840
        +      }
        +    ],
        +    "properties": {
        +      "browser_screen_height": {
        +        "description": "<p><em>browser screen height</em><p>optional field<p>you can set a custom browser screen height to calculate pixel rankings for a particular device;<p>can be specified within the following range: <code>240-9999</code>;<p>by default, the parameter is set to:<p><code>1080</code> for <code>desktop</code>;<p><code>640</code> for <code>mobile</code> on <code>android</code>;<p><code>812</code> for <code>mobile</code> on <code>iOS</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "browser_screen_resolution_ratio": {
        +        "description": "<p><em>browser screen resolution ratio</em><p>optional field<p>you can set a custom browser screen resolution ratio to calculate pixel rankings for a particular device;<p>can be specified within the following range: <code>0.5-3</code>;<p>by default, the parameter is set to:<p><code>1</code> for <code>desktop</code>;<p><code>3</code> for <code>mobile</code> on <code>android</code>;<p><code>3</code> for <code>mobile</code> on <code>iOS</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "browser_screen_width": {
        +        "description": "<p><em>browser screen width</em><p>optional field<p>you can set a custom browser screen width to calculate pixel rankings for a particular device;<p>can be specified within the following range: <code>240-9999</code>;<p>by default, the parameter is set to:<p><code>1920</code> for <code>desktop</code>;<p><code>360</code> for <code>mobile</code> on <code>android</code>;<p><code>375</code> for <code>mobile</code> on <code>iOS</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
        +        "format": "int64",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "calculate_rectangles": {
        +        "description": "<p><em>calculate pixel rankings for SERP elements in advanced results</em><p>optional field<p>pixel ranking refers to the distance between the result snippet and top left corner of the screen;<p><a href=\"https://dataforseo.com/help-center/pixel-ranking-in-serp-api\">Visit Help Center to learn more&gt;&gt;</a><p>by default, the parameter is set to <code>false</code><p><strong>Note:</strong> if set to <code>true</code>, the charge per task will be multiplied by 2</p>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "device": {
        +        "description": "<p><em>device type</em><p>optional field<p>return results for a specific device type<p>can take the values:<code>desktop</code>, <code>mobile</code><p>default value: <code>desktop</code></p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "keyword": {
        +        "description": "<p><em>keyword</em><p><strong>required field</strong><p>you can specify <strong>up to 700 characters</strong> in the <code>keyword</code> field<p>all %## will be decoded (plus character ‘+’ will be decoded to a space character)<p>if you need to use the “%” character for your <code>keyword</code>, please specify it as “%25”;<p>if you need to use the “+” character for your <code>keyword</code>, please specify it as “%2B”</p><br><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a></p>",
        +        "type": "string"
        +      },
        +      "language_code": {
        +        "description": "<p><em>search engine language code</em><p>required field if you don't specify <code>language_name</code>;<p>if you use this field, you don't need to specify <code>language_name</code>;<p>you can receive the list of available languages of the search engine with their <code>language_code</code>&nbsp;by making a separate request to the <code>https://api.dataforseo.com/v3/serp/google/ai_mode/languages</code></p>",
        +        "type": "string"
        +      },
        +      "language_name": {
        +        "description": "<p><em>full name of search engine language</em><p>required field if you don't specify <code>language_code</code>;<p>if you use this field, you don't need to specify <code>language_code</code>;<p>you can receive the list of available languages of the search engine with their <code>language_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/google/ai_mode/languages</code>;</p>",
        +        "type": "string"
        +      },
        +      "location_code": {
        +        "description": "<p><em>search engine location code</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/google/locations</code><p><strong>Note:</strong> check <a href=\"https://support.google.com/websearch/answer/16011537?hl=en&amp;co=GENIE.Platform%3DAndroid#\" target=\"_blank\"> Google Search Help</a> for the list of countries where AI Mode is currently available</p>",
        +        "type": "integer"
        +      },
        +      "location_coordinate": {
        +        "description": "<p><em>GPS coordinates of a location</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_code</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_code</code></strong><p><code>location_coordinate</code> parameter should be specified in the <em>\"latitude,longitude,zoom\"</em> format<p>if <em>\"zoom\"</em> is not specified, <em>9z</em> will be applied as a default value<p>the maximum number of decimal digits for <em>\"latitude\"</em> and <em>\"longitude\"</em>: 7<p>the minimum value for <em>\"zoom\"</em>: 4z<p>the maximum value for <em>\"zoom\"</em>: 18z<p>example:<p><code class=\"long-string\">52.6178549,-155.352142,18z</code></p>",
        +        "type": "string"
        +      },
        +      "location_name": {
        +        "description": "<p><em>full name of search engine location</em><p><strong>required field if you don't specify</strong> <code>location_code</code> or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_code</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/google/locations</code><p><strong>Note:</strong> check <a href=\"https://support.google.com/websearch/answer/16011537?hl=en&amp;co=GENIE.Platform%3DAndroid#\" target=\"_blank\"> Google Search Help</a> for the list of countries where AI Mode is currently available</p>",
        +        "type": "string"
        +      },
        +      "os": {
        +        "description": "<p><em>device operating system</em><p>optional field<p>if you specify <code>desktop</code> in the <code>device</code> field, choose from the following values: <code>windows</code>, <code>macos</code><p>default value: <code>windows</code><p>if you specify <code>mobile</code> in the <code>device</code> field, choose from the following values: <code>android</code>, <code>ios</code><p>default value: <code>android</code></p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<p><em>user-defined task identifier</em><p>optional field<p><em>the character limit is 255</em><p>you can use this parameter to identify the task and match it with the result<p>you will find the specified <code>tag</code> value in the <code>data</code> object of the response</p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "browser_screen_height": {
        -    "description": "browser screen height optional field you can set a custom browser screen height to calculate pixel rankings for a particular device; can be specified within the following range: 240-9999; by default, the parameter is set to: 1080 for desktop; 640 for mobile on android; 812 for mobile on iOS; Note: to use this parameter, set calculate_rectangles to true",
        -    "type": "integer"
        -  },
        -  "browser_screen_resolution_ratio": {
        -    "description": "browser screen resolution ratio optional field you can set a custom browser screen resolution ratio to calculate pixel rankings for a particular device; can be specified within the following range: 0.5-3; by default, the parameter is set to: 1 for desktop; 3 for mobile on android; 3 for mobile on iOS; Note: to use this parameter, set calculate_rectangles to true",
        -    "type": "number"
        -  },
        -  "browser_screen_width": {
        -    "description": "browser screen width optional field you can set a custom browser screen width to calculate pixel rankings for a particular device; can be specified within the following range: 240-9999; by default, the parameter is set to: 1920 for desktop; 360 for mobile on android; 375 for mobile on iOS; Note: to use this parameter, set calculate_rectangles to true",
        -    "type": "integer"
        -  },
        -  "calculate_rectangles": {
        -    "description": "calculate pixel rankings for SERP elements in advanced results optional field pixel ranking refers to the distance between the result snippet and top left corner of the screen; Visit Help Center to learn more>> by default, the parameter is set to false Note: if set to true, the charge per task will be multiplied by 2",
        -    "type": "boolean"
        -  },
        -  "device": {
        -    "description": "device type optional field return results for a specific device type can take the values:desktop, mobile default value: desktop",
        -    "type": "string"
        -  },
        -  "keyword": {
        -    "description": "keyword required field you can specify up to 700 characters in the keyword field all %## will be decoded (plus character ‘+’ will be decoded to a space character) if you need to use the “%” character for your keyword, please specify it as “%25”; if you need to use the “+” character for your keyword, please specify it as “%2B” learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        -    "type": "string"
        -  },
        -  "language_code": {
        -    "description": "search engine language code required field if you don't specify language_name; if you use this field, you don't need to specify language_name; you can receive the list of available languages of the search engine with their language_code by making a separate request to the https://api.dataforseo.com/v3/serp/google/ai_mode/languages",
        -    "type": "string"
        -  },
        -  "language_name": {
        -    "description": "full name of search engine language required field if you don't specify language_code; if you use this field, you don't need to specify language_code; you can receive the list of available languages of the search engine with their language_name by making a separate request to the https://api.dataforseo.com/v3/serp/google/ai_mode/languages;",
        -    "type": "string"
        -  },
        -  "location_code": {
        -    "description": "search engine location code required field if you don't specify location_name or location_coordinate if you use this field, you don't need to specify location_name or location_coordinate you can receive the list of available locations of the search engines with their location_code by making a separate request to the https://api.dataforseo.com/v3/serp/google/locations Note: check Google Search Help for the list of countries where AI Mode is currently available",
        -    "type": "integer"
        -  },
        -  "location_coordinate": {
        -    "description": "GPS coordinates of a location required field if you don't specify location_name or location_code if you use this field, you don't need to specify location_name or location_code location_coordinate parameter should be specified in the \"latitude,longitude,zoom\" format if \"zoom\" is not specified, 9z will be applied as a default value the maximum number of decimal digits for \"latitude\" and \"longitude\": 7 the minimum value for \"zoom\": 4z the maximum value for \"zoom\": 18z example: 52.6178549,-155.352142,18z",
        -    "type": "string"
        -  },
        -  "location_name": {
        -    "description": "full name of search engine location required field if you don't specify location_code or location_coordinate if you use this field, you don't need to specify location_code or location_coordinate you can receive the list of available locations of the search engine with their location_name by making a separate request to the https://api.dataforseo.com/v3/serp/google/locations Note: check Google Search Help for the list of countries where AI Mode is currently available",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "keyword"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_serp_google_autocomplete_live7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "client": "gws-wiz-serp",
        +    "keyword": "albert einstein",
        +    "language_code": "en",
        +    "location_code": 2840
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "client": "gws-wiz-serp",
        +        "keyword": "albert einstein",
        +        "language_code": "en",
        +        "location_code": 2840
        +      }
        +    ],
        +    "properties": {
        +      "client": {
        +        "description": "<p><em>search client for autocomplete</em><p>optional field<p>autocomplete results may differ depending on the search client;<p>possible values:<p><code>chrome</code> — used when google search is opened in google chrome;<p><code>chrome-omni</code> — used in the address bar in chrome;<p><code>gws-wiz</code> — used in google search home page;<p><code>gws-wiz-serp</code> — used in google search engine results page;<p><code>safari</code> — used when google search is opened in safari browser;<p><code>firefox</code> — used when google search is opened in firefox browser;<p><code>psy-ab</code> — may be used when google search is opened in google chrome browser;<p><code>toolbar</code> — returns XML;<p><code>youtube</code> — returns JSONP;<p><code>gws-wiz-local</code> — used in google local;<p><code>img</code> — used in google's image search;<p><code>products-cc</code> — used in google shopping search</p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "cursor_pointer": {
        +        "description": "<p><em>search bar cursor pointer</em><p>optional field<p>the horizontal numerical position of the cursor pointer within the keyword in the search bar;<p>by modifying the position of the cursor pointer, you will obtain different autocomplete suggestions for the same seed keyword;<p>minimal value: <code>0</code><p>default value: the number of the last character of the specified <code>keyword</code><p>example:<p><code>|which query are s</code> - <code>\"cursor_pointer\": 0</code><p><code>which query is s|</code> - <code>\"cursor_pointer\": 16</code><p><code>which que|ry is s</code> - <code>\"cursor_pointer\": 9</code></p>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "keyword": {
        +        "description": "<p><em>keyword</em><p><strong>required field</strong><p>you can specify <strong>up to 700 characters</strong> in the <code>keyword</code> field<p>all %## will be decoded (plus character ‘+’ will be decoded to a space character)<p>if you need to use the “%” character for your <code>keyword</code>, please specify it as “%25”;<p>if you need to use the “+” character for your <code>keyword</code>, please specify it as “%2B”;</p><br><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a></p>",
        +        "type": "string"
        +      },
        +      "language_code": {
        +        "description": "<p><em>search engine language code</em><p><strong>required field if you don't specify</strong> <code>language_name</code><p><strong>if you use this field, you don't need to specify <code>language_name</code></strong>;<p>you can receive the list of available languages of the search engine with their <code>language_code</code>&nbsp;by making a separate request to the <code>https://api.dataforseo.com/v3/serp/google/languages</code><em><p></em>example:<em><p></em><code class=\"long-string\">en</code></p>",
        +        "type": "string"
        +      },
        +      "language_name": {
        +        "description": "<p><em>full name of search engine language</em><p><strong>required field if you don't specify</strong> <code>language_code</code><p><strong>if you use this field, you don't need to specify <code>language_code</code></strong>;<p>you can receive the list of available languages of the search engine with their <code>language_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/serp/google/languages</code><p>example:<p><code class=\"long-string\">English</code></p>",
        +        "type": "string"
        +      },
        +      "location_code": {
        +        "description": "<p><em>search engine location code</em><p><strong>required field if you don't specify</strong> <code>location_name</code>;<p>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to <code>https://api.dataforseo.com/v3/serp/google/locations</code><p>example:<p><code class=\"long-string\">2840</code></p>",
        +        "type": "integer"
        +      },
        +      "location_name": {
        +        "description": "<p><em>full name of search engine location</em><p><strong>required field if you don't specify</strong> <code>location_code</code><p><strong>if you use this field, you don't need to specify <code>location_code</code></strong>;<p>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/serp/google/autocomplete/locations</code><p>example:<p><code class=\"long-string\">London,England,United Kingdom</code></p>",
        +        "type": "string"
        +      },
        +      "tag": {
        +        "description": "<p><em>user-defined task identifier</em><p>optional field<p><em>the character limit is 255</em><p>you can use this parameter to identify the task and match it with the result<p>you will find the specified <code>tag</code> value in the <code>data</code> object of the response</p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "client": {
        -    "description": "search client for autocomplete optional field autocomplete results may differ depending on the search client; possible values: chrome — used when google search is opened in google chrome; chrome-omni — used in the address bar in chrome; gws-wiz — used in google search home page; gws-wiz-serp — used in google search engine results page; safari — used when google search is opened in safari browser; firefox — used when google search is opened in firefox browser; psy-ab — may be used when google search is opened in google chrome browser; toolbar — returns XML; youtube — returns JSONP; gws-wiz-local — used in google local; img — used in google's image search; products-cc — used in google shopping search",
        -    "type": "string"
        -  },
        -  "keyword": {
        -    "description": "keyword required field you can specify up to 700 characters in the keyword field all %## will be decoded (plus character ‘+’ will be decoded to a space character) if you need to use the “%” character for your keyword, please specify it as “%25”; if you need to use the “+” character for your keyword, please specify it as “%2B”; learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        -    "type": "string"
        -  },
        -  "language_code": {
        -    "description": "search engine language code required field if you don't specify language_name if you use this field, you don't need to specify language_name; you can receive the list of available languages of the search engine with their language_code by making a separate request to the https://api.dataforseo.com/v3/serp/google/languages example: en",
        -    "type": "string"
        -  },
        -  "language_name": {
        -    "description": "full name of search engine language required field if you don't specify language_code if you use this field, you don't need to specify language_code; you can receive the list of available languages of the search engine with their language_name by making a separate request to https://api.dataforseo.com/v3/serp/google/languages example: English",
        -    "type": "string"
        -  },
        -  "location_code": {
        -    "description": "search engine location code required field if you don't specify location_name; you can receive the list of available locations of the search engines with their location_code by making a separate request to https://api.dataforseo.com/v3/serp/google/locations example: 2840",
        -    "type": "integer"
        -  },
        -  "location_name": {
        -    "description": "full name of search engine location required field if you don't specify location_code if you use this field, you don't need to specify location_code; you can receive the list of available locations of the search engine with their location_name by making a separate request to https://api.dataforseo.com/v3/serp/google/autocomplete/locations example: London,England,United Kingdom",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "keyword"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_serp_google_local_finder_live7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "keyword": "local nail services",
        +    "language_code": "en",
        +    "location_code": 2840
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "keyword": "local nail services",
        +        "language_code": "en",
        +        "location_code": 2840
        +      }
        +    ],
        +    "properties": {
        +      "depth": {
        +        "description": "<p><em>parsing depth</em><p>optional field<p>number of results in SERP<br><p>default value: <code>10</code><p>max value: <code>100</code></p><br><strong>Your account will be billed per each SERP containing up to 10 results;</strong><p>Setting depth above 10 may result in additional charges if the search engine returns more than 10 results respectively;<p>If the specified depth is higher than the number of results in the response, the difference will be refunded to your account balance automatically<p>The cost can be calculated on the <a title=\"Pricing\" href=\"https://dataforseo.com/pricing/serp/google-local-finder-serp-api\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page.",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "device": {
        +        "description": "<p><em>device type</em><p>optional field<p>return results for a specific device type<p>can take the values:<code>desktop</code>, <code>mobile</code><p>default value: <code>desktop</code></p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "keyword": {
        +        "description": "<p><em>keyword</em><p><strong>required field</strong><p>you can specify <strong>up to 700 characters</strong> in the <code>keyword</code> field<p>all %## will be decoded (plus character ‘+’ will be decoded to a space character)<p>if you need to use the “%” character for your <code>keyword</code>, please specify it as “%25”;<p>if you need to use the “+” character for your <code>keyword</code>, please specify it as “%2B”</p><br><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a></p>",
        +        "type": "string"
        +      },
        +      "language_code": {
        +        "description": "<p><em>search engine language code</em><p><strong>required field if you don't specify</strong> <code>language_name</code><p><strong>if you use this field, you don't need to specify <code>language_name</code></strong><p>you can receive the list of available languages of the search engine with their <code>language_code</code>&nbsp;by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages</code><p>example:<code class=\"long-string\">en</code></p>",
        +        "type": "string"
        +      },
        +      "language_name": {
        +        "description": "<p><em>full name of search engine language</em><p><strong>required field if you don't specify</strong> <code>language_code</code><p><strong>if you use this field, you don't need to specify <code>language_code</code></strong><p>you can receive the list of available languages of the search engine with their <code>language_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages</code><p>example:<p><code class=\"long-string\">English</code></p>",
        +        "type": "string"
        +      },
        +      "location_code": {
        +        "description": "<p><em>search engine location code</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations</code><p>example:<p><code class=\"long-string\">2840</code></p>",
        +        "type": "integer"
        +      },
        +      "location_coordinate": {
        +        "description": "<p><em>GPS coordinates of a location</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_code</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_code</code></strong><p><code>location_coordinate</code> parameter should be specified in the <em>\"latitude,longitude,zoom\"</em> format<p>if <em>\"zoom\"</em> is not specified, <em>9z</em> will be applied as a default value<p>the maximum number of decimal digits for <em>\"latitude\"</em> and <em>\"longitude\"</em>: 7<p>the minimum value for <em>\"zoom\"</em>: 4z<p>the maximum value for <em>\"zoom\"</em>: 18z<p>example:<p><code class=\"long-string\">52.6178549,-155.352142,20z</code></p>",
        +        "type": "string"
        +      },
        +      "location_name": {
        +        "description": "<p><em>full name of search engine location</em><p><strong>required field if you don't specify</strong> <code>location_code</code> or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_code</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations</code><p>example:<p><code class=\"long-string\">London,England,United Kingdom</code></p>",
        +        "type": "string"
        +      },
        +      "os": {
        +        "description": "<p><em>device operating system</em><p>optional field<p>if you specify <code>desktop</code> in the <code>device</code> field, choose from the following values: <code>windows</code>, <code>macos</code><p>default value: <code>windows</code><p>if you specify <code>mobile</code> in the <code>device</code> field, choose from the following values: <code>android</code>, <code>ios</code><p>default value: <code>android</code></p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "priority": {
        +        "description": "<p><em>task priority</em><p>optional field<p>can take the following values:<p>1 – normal execution priority (set by default)<p>2 – high execution priority</p><br>You will be additionally charged for the tasks with high execution priority.<p>The cost can be calculated on the <a title=\"Pricing\" href=\"https://dataforseo.com/pricing/serp/google-local-finder-serp-api\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page.",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<p><em>user-defined task identifier</em><p>optional field<p><em>the character limit is 255</em><p>you can use this parameter to identify the task and match it with the result<p>you will find the specified <code>tag</code> value in the <code>data</code> object of the response</p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "keyword": {
        -    "description": "keyword required field you can specify up to 700 characters in the keyword field all %## will be decoded (plus character ‘+’ will be decoded to a space character) if you need to use the “%” character for your keyword, please specify it as “%25”; if you need to use the “+” character for your keyword, please specify it as “%2B” learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        -    "type": "string"
        -  },
        -  "language_code": {
        -    "description": "search engine language code required field if you don't specify language_name if you use this field, you don't need to specify language_name you can receive the list of available languages of the search engine with their language_code by making a separate request to the https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages example:en",
        -    "type": "string"
        -  },
        -  "language_name": {
        -    "description": "full name of search engine language required field if you don't specify language_code if you use this field, you don't need to specify language_code you can receive the list of available languages of the search engine with their language_name by making a separate request to the https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages example: English",
        -    "type": "string"
        -  },
        -  "location_code": {
        -    "description": "search engine location code required field if you don't specify location_name or location_coordinate if you use this field, you don't need to specify location_name or location_coordinate you can receive the list of available locations of the search engines with their location_code by making a separate request to the https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations example: 2840",
        -    "type": "integer"
        -  },
        -  "location_coordinate": {
        -    "description": "GPS coordinates of a location required field if you don't specify location_name or location_code if you use this field, you don't need to specify location_name or location_code location_coordinate parameter should be specified in the \"latitude,longitude,zoom\" format if \"zoom\" is not specified, 9z will be applied as a default value the maximum number of decimal digits for \"latitude\" and \"longitude\": 7 the minimum value for \"zoom\": 4z the maximum value for \"zoom\": 18z example: 52.6178549,-155.352142,20z",
        -    "type": "string"
        -  },
        -  "location_name": {
        -    "description": "full name of search engine location required field if you don't specify location_code or location_coordinate if you use this field, you don't need to specify location_code or location_coordinate you can receive the list of available locations of the search engine with their location_name by making a separate request to the https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations example: London,England,United Kingdom",
        -    "type": "string"
        -  },
        -  "min_rating": {
        -    "description": "filter results by minimum rating optional field possible values for desktop: 3.5, 4, 4.5; possible values for mobile: 2, 2.5, 3, 3.5, 4, 4.5",
        -    "type": "number"
        -  },
        -  "time_filter": {
        -    "description": "filter results by open hours optional field using this field, you can filter places in the results by the time a place is open for visitors note that Google may also provide results that do not match this filter possible values: \"open_now\", \"24_hours\", \"$day_value\", \"$day_value;$time_value\"; instead of $day_value use one of these values: \"monday\", \"tuesday\", \"wednesday\", \"thursday\", \"friday\", \"saturday\", \"sunday\"; instead of $time_value use one of these values: \"00\", \"01\", \"02\", \"03\", \"04\", \"05\", \"06\", \"07\", \"08\", \"09\", \"10\", \"11\", \"12\", \"13\", \"14\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", \"23\" example: \"tuesday;18\"",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "keyword"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_serp_google_maps_live7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "keyword": "albert einstein",
        +    "language_code": "en",
        +    "location_code": 2840
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "keyword": "albert einstein",
        +        "language_code": "en",
        +        "location_code": 2840
        +      }
        +    ],
        +    "properties": {
        +      "depth": {
        +        "description": "<p><em>parsing depth</em><p>optional field<p>number of results in SERP<p>default value: <code>100</code><p>max value: <code>700</code></p><br><strong>Your account will be billed per each SERP containing up to 100 results;</strong><p>Setting depth above 100 may result in additional charges <a href=\"https://dataforseo.com/help-center/how-many-results-scraped\" rel=\"noopener noreferrer\" target=\"_blank\">if the search engine returns more than 100 results</a>;<p>The cost can be calculated on the <a title=\"Pricing\" href=\"https://dataforseo.com/pricing/serp/google-maps-serp-api\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page.",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "device": {
        +        "description": "<p><em>device type</em><p>optional field<p>return results for a specific device type<p>can take the values:<code>desktop</code>, <code>mobile</code><p>default value: <code>desktop</code><p><strong>note:</strong> for <code>mobile</code> device, only 20 results are returned for every SERP</p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "keyword": {
        +        "description": "<p><em>keyword</em><p><strong>required field</strong><p>you can specify <strong>up to 700 characters</strong> in the <code>keyword</code> field<p>all %## will be decoded (plus character '+' will be decoded to a space character)<p>if you need to use the \"%\" character for your <code>keyword</code>, please specify it as \"%25\";<p>if you need to use the “+” character for your <code>keyword</code>, please specify it as “%2B”;<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a></p>",
        +        "type": "string"
        +      },
        +      "language_code": {
        +        "description": "<p><em>search engine language code</em><p><strong>required field if you don't specify</strong> <code>language_name</code><p><strong>if you use this field, you don't need to specify <code>language_name</code></strong><p>you can receive the list of available languages of the search engine with their <code>language_code</code>&nbsp;by making a separate request to the <code>https://api.dataforseo.com/v3/serp/google/languages</code><em><p></em>example:<em><p></em><code class=\"long-string\">en</code></p>",
        +        "type": "string"
        +      },
        +      "language_name": {
        +        "description": "<p><em>full name of search engine language</em><p><strong>required field if you don't specify</strong> <code>language_code</code><p><strong>if you use this field, you don't need to specify <code>language_code</code></strong><p>you can receive the list of available languages  of the search engine with their <code>language_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/google/languages</code><p>example:<p><code class=\"long-string\">English</code></p>",
        +        "type": "string"
        +      },
        +      "location_code": {
        +        "description": "<p><em>search engine location code</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/google/locations</code><p>example:<p><code class=\"long-string\">2840</code></p>",
        +        "type": "integer"
        +      },
        +      "location_coordinate": {
        +        "description": "<p><em>GPS coordinates of a location</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_code</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_code</code></strong><p><code>location_coordinate</code> parameter should be specified in the <em>\"latitude,longitude,zoom\"</em> format<p>if <em>\"zoom\"</em> is not specified, <em>17z</em> will be applied as a default value<p>the maximum number of decimal digits for <em>\"latitude\"</em> and <em>\"longitude\"</em>: 7<p>the minimum value for <em>\"zoom\"</em>: 3z<p>the maximum value for <em>\"zoom\"</em>: 21z<p>example:<p><code class=\"long-string\">52.6178549,-155.352142,20z</code></p>",
        +        "type": "string"
        +      },
        +      "location_name": {
        +        "description": "<p><em>full name of search engine location</em><p><strong>required field if you don't specify</strong> <code>location_code</code> or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_code</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/google/locations</code><p>example:<p><code class=\"long-string\">London,England,United Kingdom</code></p>",
        +        "type": "string"
        +      },
        +      "max_crawl_pages": {
        +        "description": "<p><em>page crawl limit</em><p>optional field<p>number of search results pages to crawl<p>max value: <code>100</code><p><strong>Note:</strong> the <code>max_crawl_pages</code> and <code>depth</code> parameters complement each other;<p>learn more at <a href=\"https://dataforseo.com/help-center/what-is-max-crawl-pages-and-how-does-it-work\" rel=\"noopener noreferrer\" target=\"_blank\">our help center</a></p>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "os": {
        +        "description": "<p><em>device operating system</em><p>optional field<p>if you specify <code>desktop</code> in the <code>device</code> field, choose from the following values: <code>windows</code>, <code>macos</code><p>default value: <code>windows</code><p>if you specify <code>mobile</code> in the <code>device</code> field, choose from the following values: <code>android</code>, <code>ios</code><p>default value: <code>android</code></p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "se_domain": {
        +        "description": "<p><em>search engine domain</em><p>optional field<p>we choose the relevant search engine domain automatically according to the location and language you specify<p>however, you can set a custom search engine domain in this field<p>example:<p><code><em>google.co.uk</em></code>, <code><em>google.com.au</em></code>, <code><em>google.de</em></code>, etc.</p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "search_places": {
        +        "description": "<p><em>search places mode</em><p>optional field<p>the search places mode allows to obtain Google Maps results on a certain place (e.g., Apple Store in New York)<p>however, due to the pecularities of our data mining algorithm, this mode might interfere with some local-intent queries - and display results for a location that is different from that specified in the request;<p>to prevent this interference and obtain correct results for keywords with local intent you may set this parameter to <code>false</code>;</p><br><p>default value: <code>true</code><p><strong>Note:</strong> if the <code>search_places</code> mode is turned off and no results were found in the search area, the <code>results</code> array will be empty</p>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "search_this_area": {
        +        "description": "<p><em>show results from the displayed area</em><p>optional field<p>can take the values:<code>true</code>, <code>false</code><p>default value: <code>true</code></p><br><p>if set to <code>false</code>, the <code>search_this_area</code> mode will be turned off</p><br><p><strong>Note:</strong> if the <code>search_this_area</code> mode is turned off, Google Maps listings might contain results beyond the displayed area</p>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<p><em>user-defined task identifier</em><p>optional field<p><em>the character limit is 255</em><p>you can use this parameter to identify the task and match it with the result<p>you will find the specified <code>tag</code> value in the <code>data</code> object of the response</p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "url": {
        +        "description": "<p><em>direct URL of the search query</em><p>optional field<p>you can specify a direct URL and we will sort it out to the necessary fields. Note that this method is the most difficult for our API to process and also requires you to specify the exact language and location in the URL. In most cases, we wouldn’t recommend using this method.<p>example:<p><code class=\"long-string\">https://google.com/maps/search/pizza/@37.09024,-95.712891,4z</code></p><br><strong>Note:</strong> the following search engine parameters are not supported and will be automatically unset if specified in the URL: <code>allinanchor:</code>, <code>allintext:</code>, <code>allintitle:</code>, <code>allinurl:</code>, <code>cache:</code>, <code>define:</code>, <code>definition:</code>, <code>filetype:</code>, <code>id:</code>, <code>inanchor:</code>, <code>info:</code>, <code>intext:</code>, <code>intitle:</code>, <code>inurl:</code>, <code>link:</code>, <code>site:</code>.",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "depth": {
        -    "description": "parsing depth optional field number of results in SERP default value: 100 max value: 700 Your account will be billed per each SERP containing up to 100 results; Setting depth above 100 may result in additional charges if the search engine returns more than 100 results.",
        -    "type": "integer"
        -  },
        -  "keyword": {
        -    "description": "keyword required field you can specify up to 700 characters in the keyword field all %## will be decoded (plus character '+' will be decoded to a space character) if you need to use the \"%\" character for your keyword, please specify it as \"%25\"; if you need to use the “+” character for your keyword, please specify it as “%2B”; learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        -    "type": "string"
        -  },
        -  "language_code": {
        -    "description": "search engine language code required field if you don't specify language_name if you use this field, you don't need to specify language_name you can receive the list of available languages of the search engine with their language_code by making a separate request to the https://api.dataforseo.com/v3/serp/google/languages example: en",
        -    "type": "string"
        -  },
        -  "language_name": {
        -    "description": "full name of search engine language required field if you don't specify language_code if you use this field, you don't need to specify language_code you can receive the list of available languages of the search engine with their language_name by making a separate request to the https://api.dataforseo.com/v3/serp/google/languages example: English",
        -    "type": "string"
        -  },
        -  "location_code": {
        -    "description": "search engine location code required field if you don't specify location_name or location_coordinate if you use this field, you don't need to specify location_name or location_coordinate you can receive the list of available locations of the search engines with their location_code by making a separate request to the https://api.dataforseo.com/v3/serp/google/locations example: 2840",
        -    "type": "integer"
        -  },
        -  "location_coordinate": {
        -    "description": "GPS coordinates of a location required field if you don't specify location_name or location_code if you use this field, you don't need to specify location_name or location_code location_coordinate parameter should be specified in the \"latitude,longitude,zoom\" format if \"zoom\" is not specified, 17z will be applied as a default value the maximum number of decimal digits for \"latitude\" and \"longitude\": 7 the minimum value for \"zoom\": 3z the maximum value for \"zoom\": 21z example: 52.6178549,-155.352142,20z",
        -    "type": "string"
        -  },
        -  "location_name": {
        -    "description": "full name of search engine location required field if you don't specify location_code or location_coordinate if you use this field, you don't need to specify location_code or location_coordinate you can receive the list of available locations of the search engine with their location_name by making a separate request to the https://api.dataforseo.com/v3/serp/google/locations example: London,England,United Kingdom",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "keyword"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_serp_google_news_live7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "keyword": "android",
        +    "language_code": "en",
        +    "location_code": 2840
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "keyword": "android",
        +        "language_code": "en",
        +        "location_code": 2840
        +      }
        +    ],
        +    "properties": {
        +      "browser_screen_height": {
        +        "description": "<p><em>browser screen height</em><p>optional field<p>you can set a custom browser screen height to calculate pixel rankings for a particular device;<p>by default, the parameter is set to <code>1080</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "browser_screen_resolution_ratio": {
        +        "description": "<p><em>browser screen resolution ratio</em><p>optional field<p>you can set a custom browser screen resolution ratio to calculate pixel rankings for a particular device;<p>by default, the parameter is set to <code>1</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "browser_screen_width": {
        +        "description": "<p><em>browser screen width</em><p>optional field<p>you can set a custom browser screen width to calculate pixel rankings for a particular device;<p>by default, the parameter is set to <code>1920</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
        +        "format": "int64",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "calculate_rectangles": {
        +        "description": "<p><em>calculate pixel rankings for SERP elements in advanced results</em><p>optional field<p>pixel ranking refers to the distance between the result snippet and top left corner of the screen;<p><a href=\"https://dataforseo.com/help-center/pixel-ranking-in-serp-api\">Visit Help Center to learn more&gt;&gt;</a><p>by default, the parameter is set to <code>false</code><p><strong>Note:</strong> if set to <code>true</code>, the charge per task will be multiplied by 2</p>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "depth": {
        +        "description": "<p><em>parsing depth</em><p>optional field<p>number of results in SERP<p>default value: <code>10</code><p>max value: <code>200</code></p><br><strong>Your account will be billed per each SERP containing up to 10 results;</strong><p>Setting depth above 10 may result in additional charges if the search engine returns more than 10 results;<p>If the specified depth is higher than the number of results in the response, the difference will be refunded to your account balance automatically<p>The cost can be calculated on the <a title=\"Pricing\" href=\"https://dataforseo.com/pricing/serp/google-news-serp-api\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page.",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "keyword": {
        +        "description": "<p><em>keyword</em><p><strong>required field</strong><p>you can specify <strong>up to 700 characters</strong> in the <code>keyword</code> field<p>all %## will be decoded (plus character '+' will be decoded to a space character)<p>if you need to use the \"%\" character for your <code>keyword</code>, please specify it as \"%25\";<p>if you need to use the “+” character for your <code>keyword</code>, please specify it as “%2B”;<p>if this field contains such parameters as <em>'allinanchor:', 'allintext:', 'allintitle:', 'allinurl:', 'define:', 'filetype:', 'id:', 'inanchor:', 'info:', 'intext:', 'intitle:', 'inurl:', 'link:', 'related:', 'site:'</em>, <strong>the charge per task will be multiplied by 5</strong><p><strong>Note:</strong> queries containing the ‘cache:’ parameter are not supported and will return a validation error</p><br><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a></p>",
        +        "type": "string"
        +      },
        +      "language_code": {
        +        "description": "<p><em>search engine language code</em><p><strong>required field if you don't specify</strong> <code>language_name</code><p><strong>if you use this field, you don't need to specify <code>language_name</code></strong><p>you can receive the list of available languages of the search engine with their <code>language_code</code>&nbsp;by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages</code><em><p></em>example:<em><p></em><code class=\"long-string\">en</code></p>",
        +        "type": "string"
        +      },
        +      "language_name": {
        +        "description": "<p><em>full name of search engine language</em><p><strong>required field if you don't specify</strong> <code>language_code</code><p><strong>if you use this field, you don't need to specify <code>language_code</code></strong><p>you can receive the list of available languages of the search engine with their <code>language_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages</code><p>example:<p><code class=\"long-string\">English</code></p>",
        +        "type": "string"
        +      },
        +      "location_code": {
        +        "description": "<p><em>search engine location code</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations</code><p>example:<p><code class=\"long-string\">2840</code></p>",
        +        "type": "integer"
        +      },
        +      "location_coordinate": {
        +        "description": "<p><em>GPS coordinates of a location</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_code</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_code</code></strong><p><code>location_coordinate</code> parameter should be specified in the <em>\"latitude,longitude,radius\"</em> format<p>the maximum number of decimal digits for <em>\"latitude\"</em> and <em>\"longitude\"</em>: 7<p>the minimum value for <em>\"radius\"</em>: 199.9 (mm)<p>the maximum value for <em>\"radius\"</em>: 199999 (mm)<p>example:<p><code class=\"long-string\">53.476225,-2.243572,200</code></p>",
        +        "type": "string"
        +      },
        +      "location_name": {
        +        "description": "<p><em>full name of search engine location</em><p><strong>required field if you don't specify</strong> <code>location_code</code> or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_code</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations</code><p>example:<p><code class=\"long-string\">London,England,United Kingdom</code></p>",
        +        "type": "string"
        +      },
        +      "max_crawl_pages": {
        +        "description": "<p><em>page crawl limit</em><p>optional field<p>number of search results pages to crawl<p>max value: <code>100</code><p><strong>Note:</strong> the <code>max_crawl_pages</code> and <code>depth</code> parameters complement each other;<p>learn more at <a href=\"https://dataforseo.com/help-center/what-is-max-crawl-pages-and-how-does-it-work\" rel=\"noopener noreferrer\" target=\"_blank\">our help center</a></p>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "os": {
        +        "description": "<p><em>device operating system</em><p>optional field<p><strong>note that this API provides results for desktop only</strong><p>choose from the following values: <code>windows</code>, <code>macos</code><p>default value: <code>windows</code></p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "se_domain": {
        +        "description": "<p><em>search engine domain</em><p>optional field<p>we choose the relevant search engine domain automatically according to the location and language you specify<p>however, you can set a custom search engine domain in this field<p>example:<p><code><em>google.co.uk</em></code>, <code><em>google.com.au</em></code>, <code><em>google.de</em></code>, etc.</p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "search_param": {
        +        "description": "<p><em>additional parameters of the search query</em><p>optional field<p><a href=\"https://dataforseo.com/help-center/google-search-engine-parameters-and-how-to-use-them\">Get the list of available parameters and additional details here.</a></p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "url": {
        +        "description": "<p><em>direct URL of the search query</em><p>optional field<p>you can specify a direct URL and we will sort it out to the necessary fields. Note that this method is the most difficult for our API to process and also requires you to specify the exact language and location in the URL. In most cases, we wouldn’t recommend using this method.<p>example:<p><code class=\"long-string\">https://www.google.co.uk/search?q=%20rank%20tracker%20api&amp;hl=en&amp;gl=GB&amp;uule=w+CAIQIFISCXXeIa8LoNhHEZkq1d1aOpZS</code></p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "depth": {
        -    "description": "parsing depth optional field number of results in SERP default value: 10 max value: 200 Your account will be billed per each SERP containing up to 10 results; Setting depth above 10 may result in additional charges if the search engine returns more than 10 results; If the specified depth is higher than the number of results in the response, the difference will be refunded to your account balance automatically.",
        -    "type": "integer"
        -  },
        -  "keyword": {
        -    "description": "keyword required field you can specify up to 700 characters in the keyword field all %## will be decoded (plus character '+' will be decoded to a space character) if you need to use the \"%\" character for your keyword, please specify it as \"%25\"; if you need to use the “+” character for your keyword, please specify it as “%2B”; if this field contains such parameters as 'allinanchor:', 'allintext:', 'allintitle:', 'allinurl:', 'define:', 'filetype:', 'id:', 'inanchor:', 'info:', 'intext:', 'intitle:', 'inurl:', 'link:', 'related:', 'site:', the charge per task will be multiplied by 5 Note: queries containing the ‘cache:’ parameter are not supported and will return a validation error learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        -    "type": "string"
        -  },
        -  "language_code": {
        -    "description": "search engine language code required field if you don't specify language_name if you use this field, you don't need to specify language_name you can receive the list of available languages of the search engine with their language_code by making a separate request to the https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages example: en",
        -    "type": "string"
        -  },
        -  "language_name": {
        -    "description": "full name of search engine language required field if you don't specify language_code if you use this field, you don't need to specify language_code you can receive the list of available languages of the search engine with their language_name by making a separate request to the https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages example: English",
        -    "type": "string"
        -  },
        -  "location_code": {
        -    "description": "search engine location code required field if you don't specify location_name or location_coordinate if you use this field, you don't need to specify location_name or location_coordinate you can receive the list of available locations of the search engines with their location_code by making a separate request to the https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations example: 2840",
        -    "type": "integer"
        -  },
        -  "location_coordinate": {
        -    "description": "GPS coordinates of a location required field if you don't specify location_name or location_code if you use this field, you don't need to specify location_name or location_code location_coordinate parameter should be specified in the \"latitude,longitude,radius\" format the maximum number of decimal digits for \"latitude\" and \"longitude\": 7 the minimum value for \"radius\": 199.9 (mm) the maximum value for \"radius\": 199999 (mm) example: 53.476225,-2.243572,200",
        -    "type": "string"
        -  },
        -  "location_name": {
        -    "description": "full name of search engine location required field if you don't specify location_code or location_coordinate if you use this field, you don't need to specify location_code or location_coordinate you can receive the list of available locations of the search engine with their location_name by making a separate request to the https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations example: London,England,United Kingdom",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "keyword"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_serp_google_organic_live7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "calculate_rectangles": true,
        +    "keyword": "albert einstein",
        +    "language_code": "en",
        +    "location_code": 2840
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "calculate_rectangles": true,
        +        "keyword": "albert einstein",
        +        "language_code": "en",
        +        "location_code": 2840
        +      }
        +    ],
        +    "properties": {
        +      "browser_screen_height": {
        +        "description": "browser screen heightoptional fieldyou can set a custom browser screen height to calculate pixel rankings for a particular device;can be specified within the following range: 240-9999;by default, the parameter is set to:1080 for desktop;640 for mobile on android;812 for mobile on iOS;Note: to use this parameter, set calculate_rectangles to true",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "browser_screen_resolution_ratio": {
        +        "description": "browser screen resolution ratiooptional fieldyou can set a custom browser screen resolution ratio to calculate pixel rankings for a particular device;can be specified within the following range: 0.5-3;by default, the parameter is set to:1 for desktop;3 for mobile on android;3 for mobile on iOS;Note: to use this parameter, set calculate_rectangles to true",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "browser_screen_width": {
        +        "description": "browser screen widthoptional fieldyou can set a custom browser screen width to calculate pixel rankings for a particular device;can be specified within the following range: 240-9999;by default, the parameter is set to:1920 for desktop;360 for mobile on android;375 for mobile on iOS;Note: to use this parameter, set calculate_rectangles to true",
        +        "format": "int64",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "calculate_rectangles": {
        +        "description": "calcualte pixel rankings for SERP elements in advanced resultsoptional fieldpixel ranking refers to the distance between the result snippet and top left corner of the screen;Visit Help Center to learn more>>by default, the parameter is set to false;\n\nFor current API pricing, see the published x-aisa-pricing metadata. Where supported, obtain a quote for your exact request.",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "depth": {
        +        "description": "parsing depthoptional fieldnumber of results in SERPdefault value: 10max value: 200Your account will be billed per each SERP containing up to 10 results;Setting depth above 10 may result in additional charges if the search engine returns more than 10 results;The cost can be calculated on the Pricing page.",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "device": {
        +        "description": "device typeoptional fieldreturn results for a specific device typecan take the values:desktop, mobiledefault value: desktop",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "find_targets_in": {
        +        "description": "SERP element types to check for targetsoptional fieldto enable this parameter, stop_crawl_on_match must also be enabledspecifies which SERP element types should be checked for target matchesif not specified, all first-level elements with url and domain fields are checked for targetspossible values: organic, paid, local_pack, featured_snippet, events, google_flights, images, jobs, knowledge_graph, local_service, map, scholarly_articles, third_party_reviews, twitterNote: cannot contain the same element types as ignore_targets_inexample:\"find_targets_in\": [\"organic\", \"featured_snippet\"]learn more about this parameter on our Help Center",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "group_organic_results": {
        +        "description": "display related resultsoptional fieldif set to true, the related_result element in the response will be provided as a snippet of its parent organic result;if set to false, the related_result element will be provided as a separate organic result;default value: true",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "ignore_targets_in": {
        +        "description": "SERP element types to exclude from target searchoptional fieldto enable this parameter, stop_crawl_on_match must also be enabledspecifies which SERP element types should be excluded when searching for target matchespossible values: organic, paid, local_pack, featured_snippet, events, google_flights, images, jobs, knowledge_graph, local_service, map, scholarly_articles, third_party_reviews, twitterNote: cannot contain the same element types as find_targets_inexample:\"ignore_targets_in\": [\"paid\", \"images\"]learn more about this parameter on our Help Center",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "keyword": {
        +        "description": "keywordrequired fieldyou can specify up to 700 characters in the keyword fieldall %## will be decoded (plus character ‘+’ will be decoded to a space character)if you need to use the “%” character for your keyword, please specify it as “%25”;if you need to use the “+” character for your keyword, please specify it as “%2B”;if this field contains such parameters as ‘allinanchor:’, ‘allintext:’, ‘allintitle:’, ‘allinurl:’, ‘cache:’, ‘define:’, ‘definition:’, ‘filetype:’, ‘id:’, ‘inanchor:’, ‘info:’, ‘intext:’, ‘intitle:’, ‘inurl:’, ‘link:’, ‘site:’, the charge per task will be multiplied by 5learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        +        "type": "string"
        +      },
        +      "language_code": {
        +        "description": "search engine language codeoptional field if you specify language_nameif you use this field, you don't need to specify language_nameyou can receive the list of available languages of the search engine with their language_code by making a separate request to the https://api.dataforseo.com/v3/serp/google/languagesexample:en",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "full name of search engine languageoptional field if you specify language_codeif you use this field, you don't need to specify language_codeyou can receive the list of available languages of the search engine with their language_name by making a separate request to the https://api.dataforseo.com/v3/serp/google/languagesexample:English",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "load_async_ai_overview": {
        +        "description": "load asynchronous ai overviewoptional fieldset to true to obtain ai_overview items is SERPs even if they are loaded asynchronously;if set to false, you will only obtain ai_overview items from cache;default value: falseif the element is absent or contains \"asynchronous_ai_overview\": false, all extra charges will be returned to your account balance\n\nFor current API pricing, see the published x-aisa-pricing metadata. Where supported, obtain a quote for your exact request.",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "location_code": {
        +        "description": "search engine location coderequired field if you don't specify location_name or location_coordinateif you use this field, you don't need to specify location_name or location_coordinateyou can receive the list of available locations of the search engines with their location_code by making a separate request to the https://api.dataforseo.com/v3/serp/google/locationsexample:2840",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_coordinate": {
        +        "description": "GPS coordinates of a locationoptional field if you specify location_name or location_codeif you use this field, you don't need to specify location_name or location_codelocation_coordinate parameter should be specified in the \"latitude,longitude,radius\" formatthe maximum number of decimal digits for \"latitude\" and \"longitude\": 7the minimum value for \"radius\": 199 (mm)the maximum value for \"radius\": 199999 (mm)example:53.476225,-2.243572,200",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "location_name": {
        +        "description": "full name of search engine locationrequired field if you don't specify location_code or location_coordinateif you use this field, you don't need to specify location_code or location_coordinateyou can receive the list of available locations of the search engine with their location_name by making a separate request to the https://api.dataforseo.com/v3/serp/google/locationsexample:London,England,United Kingdom",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "match_type": {
        +        "description": "target match typerequired field if stop_crawl_on_match is specifiedtype of match for the match_valuepossible values:domain – specific domain or subdomainwith_subdomains – main domain and subdomainswildcard –  wildcard pattern",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "match_value": {
        +        "description": "target domain, subdomain, or wildcard valuerequired field if stop_crawl_on_match is specifiedspecify a target domain, subdomain, or wildcard value;Note: domain or subdomain must be specified without a request protocol;example: \"match_value\": \"dataforseo.com\",\"match_value\": \"/blog/post-*\"",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "max_crawl_pages": {
        +        "description": "page crawl limitoptional fieldnumber of search results pages to crawlmax value: 100Note: you will be charged for each page crawled (10 organic results per page);learn more about pricing on our Pricing page;Note#2: the max_crawl_pages and depth parameters complement each other;learn more at our help center",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "os": {
        +        "description": "device operating systemoptional fieldif you specify desktop in the device field, choose from the following values: windows, macosdefault value: windowsif you specify mobile in the device field, choose from the following values: android, iosdefault value: android",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "people_also_ask_click_depth": {
        +        "description": "clicks on the corresponding elementoptional fieldspecify the click depth on the people_also_ask element to get additional people_also_ask_element items;if the element is absent or we perform fewer clicks than you specified, all extra charges will be returned to your account balancepossible values: from 1 to 4\n\nFor current API pricing, see the published x-aisa-pricing metadata. Where supported, obtain a quote for your exact request.",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "remove_from_url": {
        +        "description": "remove specific parameters from URLsoptional fieldusing this field, you can specify up to 10 parameters to remove from URLs in the resultexample:\"remove_from_url\": [\"srsltid\"]Note: if the target field is specified, the specified URL parameters will be removed before the search",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "se_domain": {
        +        "description": "search engine domainoptional fieldwe choose the relevant search engine domain automatically according to the location and language you specifyhowever, you can set a custom search engine domain in this fieldexample:google.co.uk, google.com.au, google.de, etc.",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "search_param": {
        +        "description": "additional parameters of the search queryoptional fieldget the list of available parameters and additional details hereNote: the following search engine parameters are not supported and will be automatically unset if specified: lr, cr, as_qdr, as_sitesearch, as_occt, as_filetype.",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "stop_crawl_on_match": {
        +        "description": "array of targets to stop crawling\noptional field\nif specified, the response will contain SERP results up to and including the specified match_value;\nyou can specify up to 10 target values in this array\nexample:\n\"stop_crawl_on_match\":[{\"match_value\":\"dataforseo.com\",\"match_type\":\"with_subdomains\"}]\nlearn more about this parameter on our Help Center - https://dataforseo.com/help-center/using-the-stop_crawl_on_match-parameter-in-serp-api\nYour account will be billed per each SERP crawled through the specified targets",
        +        "items": {
        +          "anyOf": [
        +            {
        +              "properties": {
        +                "match_type": {
        +                  "description": "target match type\nrequired field if stop_crawl_on_match is specified;\ntype of match for the match_value\npossible values: domain, with_subdomains, wildcard",
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                },
        +                "match_value": {
        +                  "description": "arget domain or wildcard value\nrequired field if stop_crawl_on_match is specified;\nspecify a target domain or wildcard value;\nNote: domain name must be specified without a request protocol;\nexample: dataforseo.com",
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                }
        +              },
        +              "type": "object"
        +            }
        +          ],
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "user-defined task identifieroptional fieldthe character limit is 255you can use this parameter to identify the task and match it with the resultyou will find the specified tag value in the data object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "target": {
        +        "description": "target domain, subdomain, or webpage to get results foroptional fielda domain or a subdomain should be specified without https:// and www.note that the results of target-specific tasks will only include SERP elements that contain a url string;you can also use a wildcard (‘*’) character to specify the search pattern in SERP and narrow down the results;examples:example.com - returns results for the website's home page with URLs, such as https://example.com, or https://www.example.com/, or https://example.com/;example.com* - returns results for the domain, including all its pages;*example.com* - returns results for the entire domain, including all its pages and subdomains;*example.com - returns results for the home page regardless of the subdomain, such as https://en.example.com;example.com/example-page - returns results for the exact URL;example.com/example-page* - returns results for all domain's URLs that start with the specified string",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "target_search_mode": {
        +        "description": "target matching modeoptional fieldto enable this parameter, stop_crawl_on_match must also be enableddefines how the crawl should stop when multiple targets are specified in stop_crawl_on_matchpossible values: all, anyall – the crawl stops only when all specified targets are foundany – the crawl stops when any single target is founddefault value: anylearn more about this parameter on our Help Center",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "url": {
        +        "description": "direct URL of the search queryoptional fieldyou can specify a direct URL and we will sort it out to the necessary fields. Note that this method is the most difficult for our API to process and also requires you to specify the exact language and location in the URL. In most cases, we wouldn’t recommend using this method.example:https://www.google.co.uk/search?q=%20rank%20tracker%20api&hl=en&gl=GB&uule=w+CAIQIFISCXXeIa8LoNhHEZkq1d1aOpZSNote: the following search engine parameters are not supported and will be automatically unset if specified in the URL: lr, cr, as_qdr, as_sitesearch, as_occt, as_filetype.",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "calculate_rectangles": {
        -    "description": "calcualte pixel rankings for SERP elements in advanced results optional field pixel ranking refers to the distance between the result snippet and top left corner of the screen; Visit Help Center to learn more>> by default, the parameter is set to false; Note: you will be charged extra for using this parameter",
        -    "type": "boolean"
        -  },
        -  "depth": {
        -    "description": "parsing depth optional field number of results in SERP default value: 10 max value: 200 Your account will be billed per each SERP containing up to 10 results; Setting depth above 10 may result in additional charges if the search engine returns more than 10 results.",
        -    "type": "integer"
        -  },
        -  "device": {
        -    "description": "device type optional field return results for a specific device type can take the values:desktop, mobile default value: desktop",
        -    "type": "string"
        -  },
        -  "keyword": {
        -    "description": "keyword required field you can specify up to 700 characters in the keyword field all %## will be decoded (plus character ‘+’ will be decoded to a space character) if you need to use the “%” character for your keyword, please specify it as “%25”; if you need to use the “+” character for your keyword, please specify it as “%2B”; if this field contains such parameters as ‘allinanchor:’, ‘allintext:’, ‘allintitle:’, ‘allinurl:’, ‘cache:’, ‘define:’, ‘definition:’, ‘filetype:’, ‘id:’, ‘inanchor:’, ‘info:’, ‘intext:’, ‘intitle:’, ‘inurl:’, ‘link:’, ‘site:’, the charge per task will be multiplied by 5 learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        -    "type": "string"
        -  },
        -  "language_code": {
        -    "description": "search engine language code optional field if you specify language_name if you use this field, you don't need to specify language_name you can receive the list of available languages of the search engine with their language_code by making a separate request to the https://api.dataforseo.com/v3/serp/google/languages example: en",
        -    "type": "string"
        -  },
        -  "language_name": {
        -    "description": "full name of search engine language optional field if you specify language_code if you use this field, you don't need to specify language_code you can receive the list of available languages of the search engine with their language_name by making a separate request to the https://api.dataforseo.com/v3/serp/google/languages example: English",
        -    "type": "string"
        -  },
        -  "location_code": {
        -    "description": "search engine location code required field if you don't specify location_name or location_coordinate if you use this field, you don't need to specify location_name or location_coordinate you can receive the list of available locations of the search engines with their location_code by making a separate request to the https://api.dataforseo.com/v3/serp/google/locations example: 2840",
        -    "type": "integer"
        -  },
        -  "location_coordinate": {
        -    "description": "GPS coordinates of a location optional field if you specify location_name or location_code if you use this field, you don't need to specify location_name or location_code location_coordinate parameter should be specified in the \"latitude,longitude,radius\" format the maximum number of decimal digits for \"latitude\" and \"longitude\": 7 the minimum value for \"radius\": 199 (mm) the maximum value for \"radius\": 199999 (mm) example: 53.476225,-2.243572,200",
        -    "type": "string"
        -  },
        -  "location_name": {
        -    "description": "full name of search engine location required field if you don't specify location_code or location_coordinate if you use this field, you don't need to specify location_code or location_coordinate you can receive the list of available locations of the search engine with their location_name by making a separate request to the https://api.dataforseo.com/v3/serp/google/locations example: London,England,United Kingdom",
        -    "type": "string"
        -  },
        -  "max_crawl_pages": {
        -    "description": "page crawl limit optional field number of search results pages to crawl max value: 100 Note: you will be charged for each page crawled (10 organic results per page); Note#2: the max_crawl_pages and depth parameters complement each other; learn more at our help center",
        -    "type": "integer"
        -  },
        -  "os": {
        -    "description": "device operating system optional field if you specify desktop in the device field, choose from the following values: windows, macos default value: windows if you specify mobile in the device field, choose from the following values: android, ios default value: android",
        -    "type": "string"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "keyword"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_serp_youtube_organic_live7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "keyword": "audi",
        +    "language_code": "en",
        +    "location_code": 2840
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "keyword": "audi",
        +        "language_code": "en",
        +        "location_code": 2840
        +      }
        +    ],
        +    "properties": {
        +      "block_depth": {
        +        "description": "parsing depth\noptional field\nnumber of blocks of results in SERP\ndefault value: 20\nmax value: 200\nNote: your account will be billed per each SERP containing up to 20 results;\nthus, setting a block depth above 20 may result in additional charges if the search engine returns more than 20 results;\nif the specified block depth is higher than the number of results in the response, the difference will be refunded automatically to your account balance",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "device": {
        +        "description": "device type\noptional field\nreturn results for a specific device type\navailable values: desktop, mobile",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "keyword": {
        +        "description": "keyword\nrequired field\nyou can specify up to 700 characters in the keyword field\nall %## will be decoded (plus character ‘+’ will be decoded to a space character)\nif you need to use the “%” character for your keyword, please specify it as “%25”;\nif you need to use the “+” character for your keyword, please specify it as “%2B”;\nlearn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        +        "type": "string"
        +      },
        +      "language_code": {
        +        "description": "search engine language code\nrequired field if you don't specify language_name\nif you use this field, you don't need to specify language_name\nyou can receive the list of available languages of the search engine with their language_code by making a separate request to the https://api.dataforseo.com/v3/serp/youtube/languages\nexample:\nen",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "full name of search engine language\nrequired field if you don't specify language_code\nif you use this field, you don't need to specify language_code\nyou can receive the list of available languages of the search engine with their language_name by making a separate request to the https://api.dataforseo.com/v3/serp/youtube/languages\nexample:\nEnglish",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "location_code": {
        +        "description": "search engine location code\nrequired field if you don't specify location_name \nif you use this field, you don't need to specify location_name\nyou can receive the list of available locations of the search engines with their location_code by making a separate request to the https://api.dataforseo.com/v3/serp/youtube/locations\nexample:\n2840",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_name": {
        +        "description": "full name of search engine location\nrequired field if you don't specify location_code\nif you use this field, you don't need to specify location_code\nyou can receive the list of available locations of the search engine with their location_name by making a separate request to the https://api.dataforseo.com/v3/serp/youtube/locations\nexample:\nUnited States",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "os": {
        +        "description": "device operating system\noptional field\nif you specify desktop in the device field, choose from the following values: windows, macos\ndefault value: windows\nif you specify mobile in the device field, choose from the following values: android, ios\ndefault value: android",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "search_param": {
        +        "description": "additional parameters of the search query\noptional field\nexample:\nsp=EgIQAg%253D%253D",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "user-defined task identifier\noptional field\nthe character limit is 255\nyou can use this parameter to identify the task and match it with the result\nyou will find the specified tag value in the data object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "keyword": {
        -    "description": "Keyword to search for",
        -    "type": "string"
        -  },
        -  "language_code": {
        -    "description": "Search engine language code",
        -    "type": "string"
        -  },
        -  "language_name": {
        -    "description": "Full name of search engine language",
        -    "type": "string"
        -  },
        -  "location_code": {
        -    "description": "Search engine location code",
        -    "type": "integer"
        -  },
        -  "location_name": {
        -    "description": "Full name of search engine location",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "keyword"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedsearch17 fields changed
      • addedInput schema / $schema
        Added value: +"https://json-schema.org/draft/2020-12/schema"
      • removedInput schema / properties / category / anyOf
        Removed value: -[
        -  {
        -    "enum": [
        -      "seo",
        -      "finance",
        -      "social",
        -      "search",
        -      "sales",
        -      "mail"
        -    ],
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / category / default
        Removed value: -null
      • changedInput schema / properties / category / description
        Previous value: -"Restrict to one category (seo, finance, social, search, sales, mail). Omit to search everything."New value: +"Restrict retrieval to one category. Omit to search everything. (AIsa-only: tool-router has no equivalent.)"
      • addedInput schema / properties / category / enum
        Added value: +[
        +  "seo",
        +  "finance",
        +  "social",
        +  "search",
        +  "sales",
        +  "mail"
        +]
      • addedInput schema / properties / category / type
        Added value: +"string"
      • addedInput schema / properties / known_fields
        Added value: +{
        +  "additionalProperties": true,
        +  "default": {},
        +  "description": "Known values such as ticker, URL, provider, or identifier that improve retrieval.",
        +  "type": "object"
        +}
      • changedInput schema / properties / limit / description
        Previous value: -"Maximum candidates, 1-10"New value: +"Maximum number of additional direct tool candidates."
      • addedInput schema / properties / limit / maximum
        Added value: +20
      • addedInput schema / properties / limit / minimum
        Added value: +1
      • addedInput schema / properties / provider_filters
        Added value: +{
        +  "default": [],
        +  "description": "Optional exact catalog provider keys used to narrow retrieval (for example similarweb). Do not use display brands. Omit this field if the exact key is unknown.",
        +  "items": {
        +    "type": "string"
        +  },
        +  "maxItems": 50,
        +  "type": "array",
        +  "uniqueItems": true
        +}
      • changedInput schema / properties / query / description
        Previous value: -"What you need, in plain language, e.g. 'backlinks of a domain', 'recent tweets by a user', 'insider trades for AAPL'. English works best."New value: +"Natural-language capability or task to discover."
      • addedInput schema / properties / query / maxLength
        Added value: +2000
      • addedInput schema / properties / query / minLength
        Added value: +1
      • addedInput schema / properties / session_id
        Added value: +{
        +  "description": "Reuse the session_id returned by Search in all subsequent tool calls for this task. If omitted, a new session is created.",
        +  "maxLength": 128,
        +  "pattern": "^[A-Za-z0-9_-]*$",
        +  "type": "string"
        +}
      • addedOutput schema / properties
        Added value: +{
        +  "next_steps_guidance": {
        +    "anyOf": [
        +      {
        +        "type": "null"
        +      },
        +      {
        +        "type": "array"
        +      }
        +    ],
        +    "items": {
        +      "type": "string"
        +    }
        +  },
        +  "plan": {
        +    "additionalProperties": false,
        +    "anyOf": [
        +      {
        +        "type": "null"
        +      },
        +      {
        +        "type": "object"
        +      }
        +    ],
        +    "properties": {
        +      "canonical_use_case": {
        +        "type": "string"
        +      },
        +      "description": {
        +        "type": "string"
        +      },
        +      "known_pitfalls": {
        +        "anyOf": [
        +          {
        +            "type": "null"
        +          },
        +          {
        +            "type": "array"
        +          }
        +        ],
        +        "items": {
        +          "type": "string"
        +        }
        +      },
        +      "plan_ref": {
        +        "type": "string"
        +      },
        +      "primary_tools": {
        +        "anyOf": [
        +          {
        +            "type": "null"
        +          },
        +          {
        +            "type": "array"
        +          }
        +        ],
        +        "items": {
        +          "type": "string"
        +        }
        +      },
        +      "recommended_steps": {
        +        "anyOf": [
        +          {
        +            "type": "null"
        +          },
        +          {
        +            "type": "array"
        +          }
        +        ],
        +        "items": {
        +          "type": "string"
        +        }
        +      },
        +      "related_tools": {
        +        "anyOf": [
        +          {
        +            "type": "null"
        +          },
        +          {
        +            "type": "array"
        +          }
        +        ],
        +        "items": {
        +          "type": "string"
        +        }
        +      }
        +    },
        +    "required": [
        +      "canonical_use_case",
        +      "description",
        +      "known_pitfalls",
        +      "plan_ref",
        +      "primary_tools",
        +      "recommended_steps",
        +      "related_tools"
        +    ]
        +  },
        +  "retrieval_mode": {
        +    "anyOf": [
        +      {
        +        "type": "null"
        +      },
        +      {
        +        "type": "string"
        +      }
        +    ]
        +  },
        +  "search_id": {
        +    "type": "string"
        +  },
        +  "session_id": {
        +    "description": "Reuse the session_id returned by Search in all subsequent tool calls for this task. If omitted, a new session is created.",
        +    "maxLength": 128,
        +    "minLength": 1,
        +    "pattern": "^[A-Za-z0-9_-]{1,128}$",
        +    "type": "string"
        +  },
        +  "tools": {
        +    "anyOf": [
        +      {
        +        "type": "null"
        +      },
        +      {
        +        "type": "array"
        +      }
        +    ],
        +    "items": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "arguments_schema": {
        +          "additionalProperties": true,
        +          "anyOf": [
        +            {
        +              "type": "null"
        +            },
        +            {
        +              "type": "object"
        +            }
        +          ]
        +        },
        +        "description": {
        +          "type": "string"
        +        },
        +        "execution_supported": {
        +          "description": "Whether this router can execute and quote the operation; false retains documentation and discovery only.",
        +          "type": "boolean"
        +        },
        +        "execution_unsupported_reason": {
        +          "description": "Why execution and quoting remain unavailable through this router.",
        +          "type": "string"
        +        },
        +        "has_full_schema": {
        +          "type": "boolean"
        +        },
        +        "match_reasons": {
        +          "anyOf": [
        +            {
        +              "type": "null"
        +            },
        +            {
        +              "type": "array"
        +            }
        +          ],
        +          "items": {
        +            "type": "string"
        +          }
        +        },
        +        "price": {
        +          "additionalProperties": true,
        +          "type": "object"
        +        },
        +        "retrieval_debug": {
        +          "additionalProperties": false,
        +          "anyOf": [
        +            {
        +              "type": "null"
        +            },
        +            {
        +              "type": "object"
        +            }
        +          ],
        +          "properties": {
        +            "fused_rank": {
        +              "type": "integer"
        +            },
        +            "fused_score": {
        +              "type": "number"
        +            },
        +            "lexical_rank": {
        +              "type": "integer"
        +            },
        +            "lexical_score": {
        +              "type": "number"
        +            },
        +            "rerank_admission_rank": {
        +              "type": "integer"
        +            },
        +            "rerank_rank": {
        +              "type": "integer"
        +            },
        +            "rerank_score": {
        +              "anyOf": [
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "type": "number"
        +                }
        +              ]
        +            },
        +            "runtime_availability": {
        +              "type": "string"
        +            },
        +            "vector_view_ranks": {
        +              "additionalProperties": {
        +                "type": "integer"
        +              },
        +              "type": "object"
        +            },
        +            "vector_view_scores": {
        +              "additionalProperties": {
        +                "type": "number"
        +              },
        +              "type": "object"
        +            }
        +          },
        +          "required": [
        +            "fused_rank",
        +            "fused_score",
        +            "lexical_rank",
        +            "lexical_score",
        +            "rerank_admission_rank",
        +            "rerank_rank",
        +            "runtime_availability",
        +            "vector_view_ranks",
        +            "vector_view_scores"
        +          ]
        +        },
        +        "summary": {
        +          "type": "string"
        +        },
        +        "tool": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "description",
        +        "has_full_schema",
        +        "price",
        +        "summary",
        +        "tool"
        +      ],
        +      "type": "object"
        +    }
        +  }
        +}
      • addedOutput schema / required
        Added value: +[
        +  "next_steps_guidance",
        +  "search_id",
        +  "session_id",
        +  "tools"
        +]
    • Changeduse1 field changed
      • changedInput schema / properties / max_price_usd / description
        Previous value: -"Refuse the call before any spend if it would cost more than this many USD"New value: +"Refuse the call before any spend if its quoted price is above this many USD"
  4. 63 tool updates
    • Removedbatch_get_schema
    • Removedbatch_quote
    • Changedbatch_use18 fields changed
      • removedInput schema / $schema
        Removed value: -"https://json-schema.org/draft/2020-12/schema"
      • addedInput schema / properties / calls / description
        Added value: +"Up to 20 items of {call_id, operation_id, arguments}; steps at the same execution_level of a plan go in one batch"
      • removedInput schema / properties / calls / items / $schema
        Removed value: -"https://json-schema.org/draft/2020-12/schema"
      • changedInput schema / properties / calls / items / additionalProperties
        Previous value: -falseNew value: +true
      • removedInput schema / properties / calls / items / properties
        Removed value: -{
        -  "arguments": {
        -    "additionalProperties": true,
        -    "description": "Strictly schema-compliant arguments using the exact field names and types from this tool's arguments_schema.",
        -    "type": "object"
        -  },
        -  "call_id": {
        -    "description": "Caller-chosen identifier unique within this batch.",
        -    "maxLength": 128,
        -    "minLength": 1,
        -    "type": "string"
        -  },
        -  "tool": {
        -    "description": "Exact tool name returned by search or batch_get_schema. Never invent a name.",
        -    "minLength": 1,
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / calls / items / required
        Removed value: -[
        -  "call_id",
        -  "tool",
        -  "arguments"
        -]
      • removedInput schema / properties / calls / maxItems
        Removed value: -20
      • removedInput schema / properties / calls / minItems
        Removed value: -1
      • addedInput schema / properties / max_price_usd
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "number"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Per-call price cap applied to every item"
        +}
      • addedInput schema / properties / search_id / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedInput schema / properties / search_id / default
        Added value: +null
      • changedInput schema / properties / search_id / description
        Previous value: -"Optional search correlation identifier returned by search."New value: +"search_id from the search that found these operations"
      • removedInput schema / properties / search_id / type
        Removed value: -"string"
      • removedInput schema / properties / session_id
        Removed value: -{
        -  "description": "Reuse the session_id returned by Search in all subsequent tool calls for this task. If omitted, a new session is created.",
        -  "maxLength": 128,
        -  "pattern": "^[A-Za-z0-9_-]*$",
        -  "type": "string"
        -}
      • removedOutput schema / $defs
        Removed value: -{
        -  "jsonValue": {
        -    "anyOf": [
        -      {
        -        "additionalProperties": {
        -          "$ref": "#/$defs/jsonValue"
        -        },
        -        "type": "object"
        -      },
        -      {
        -        "items": {
        -          "$ref": "#/$defs/jsonValue"
        -        },
        -        "type": "array"
        -      },
        -      {
        -        "type": "string"
        -      },
        -      {
        -        "type": "number"
        -      },
        -      {
        -        "type": "boolean"
        -      },
        -      {
        -        "type": "null"
        -      }
        -    ],
        -    "description": "JSON value returned by the upstream tool."
        -  }
        -}
      • removedOutput schema / $schema
        Removed value: -"https://json-schema.org/draft/2020-12/schema"
      • removedOutput schema / properties
        Removed value: -{
        -  "batch_id": {
        -    "type": "string"
        -  },
        -  "error_count": {
        -    "minimum": 0,
        -    "type": "integer"
        -  },
        -  "next_steps_guidance": {
        -    "description": "Deterministic next-step instructions derived from this result. Not an authorization grant.",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "results": {
        -    "items": {
        -      "$schema": "https://json-schema.org/draft/2020-12/schema",
        -      "additionalProperties": false,
        -      "properties": {
        -        "call_id": {
        -          "type": "string"
        -        },
        -        "customer_cost_micros_usd": {
        -          "description": "Actual customer charge settled by AIsaServices, in micro-USD. Omitted when the upstream response does not report it.",
        -          "minimum": 0,
        -          "type": "integer"
        -        },
        -        "data": {
        -          "$ref": "#/$defs/jsonValue"
        -        },
        -        "error": {
        -          "anyOf": [
        -            {
        -              "$schema": "https://json-schema.org/draft/2020-12/schema",
        -              "additionalProperties": false,
        -              "properties": {
        -                "message": {
        -                  "type": "string"
        -                },
        -                "retryable": {
        -                  "type": "boolean"
        -                },
        -                "status": {
        -                  "type": "integer"
        -                },
        -                "type": {
        -                  "enum": [
        -                    "validation",
        -                    "authentication",
        -                    "payment",
        -                    "permission",
        -                    "rate_limit",
        -                    "upstream",
        -                    "timeout",
        -                    "internal"
        -                  ],
        -                  "type": "string"
        -                }
        -              },
        -              "required": [
        -                "type",
        -                "status",
        -                "retryable"
        -              ],
        -              "type": "object"
        -            },
        -            {
        -              "type": "null"
        -            }
        -          ]
        -        },
        -        "request_id": {
        -          "type": "string"
        -        },
        -        "successful": {
        -          "type": "boolean"
        -        },
        -        "tool": {
        -          "type": "string"
        -        },
        -        "upstream_status": {
        -          "description": "HTTP status returned by AIsaServices when a request was dispatched.",
        -          "type": "integer"
        -        }
        -      },
        -      "required": [
        -        "call_id",
        -        "tool",
        -        "successful",
        -        "request_id"
        -      ],
        -      "type": "object"
        -    },
        -    "type": "array"
        -  },
        -  "session_id": {
        -    "description": "Reuse the session_id returned by Search in all subsequent tool calls for this task. If omitted, a new session is created.",
        -    "maxLength": 128,
        -    "minLength": 1,
        -    "pattern": "^[A-Za-z0-9_-]*$",
        -    "type": "string"
        -  },
        -  "success_count": {
        -    "minimum": 0,
        -    "type": "integer"
        -  },
        -  "total_count": {
        -    "minimum": 1,
        -    "type": "integer"
        -  }
        -}
      • removedOutput schema / required
        Removed value: -[
        -  "session_id",
        -  "batch_id",
        -  "total_count",
        -  "success_count",
        -  "error_count",
        -  "results",
        -  "next_steps_guidance"
        -]
    • Changedget_ahrefs_domain_rating2 fields changed
      • removedInput schema / properties / target / example
        Removed value: -"ahrefs.com"
      • changedInput schema / required
        Previous value: -[
        -  "date",
        -  "target"
        -]New value: +[
        +  "target",
        +  "date"
        +]
    • Changedget_ahrefs_site_metrics2 fields changed
      • removedInput schema / properties / target / example
        Removed value: -"ahrefs.com"
      • changedInput schema / required
        Previous value: -[
        -  "date",
        -  "target"
        -]New value: +[
        +  "target",
        +  "date"
        +]
    • Changedget_dataforseo_on_page_summary3 fields changed
      • changedInput schema / properties / id / description
        Previous value: -"<em>task identifier</em><br><strong>required field</strong><br>you can get this ID in the response of the <a href=\"/v3/on_page/task_post/\" target=\"_blank\" rel=\"noopener noreferrer\">Task POST</a> endpoint<br>example:<br>“07131248-1535-0216-1000-17384017ad04”"New value: +"task identifier required field you can get this ID in the response of the Task POST endpoint example: “07131248-1535-0216-1000-17384017ad04”"
      • removedInput schema / properties / id / example
        Removed value: -"00000000-0000-0000-0000-000000000000"
      • removedOutput schema / x-fastmcp-wrap-result
        Removed value: -true
    • Changedget_details13 fields changed
      • removedInput schema / $schema
        Removed value: -"https://json-schema.org/draft/2020-12/schema"
      • addedInput schema / properties / arguments
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": true,
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "The arguments the operation would be called with, for a price that reflects them. Keyed by operation_id for a batch, or passed flat for a single operation_id. Routes whose required parameters are validated before pricing have no price without them."
        +}
      • removedInput schema / properties / include_arguments_schema
        Removed value: -{
        -  "default": true,
        -  "description": "Return the complete arguments_schema. Defaults to true.",
        -  "type": "boolean"
        -}
      • changedInput schema / properties / include_documentation / description
        Previous value: -"Return the complete immutable public OpenAPI operation, referenced declarations, provenance and scoped completeness. Documentation does not change execution support."New value: +"Include the complete native public OpenAPI document, reference closure and scoped completeness. Existing execution schemas remain unchanged."
      • removedInput schema / properties / include_response_schema
        Removed value: -{
        -  "default": false,
        -  "description": "Return the complete response_schema. Defaults to false.",
        -  "type": "boolean"
        -}
      • addedInput schema / properties / operation_id
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "One operation_id from search"
        +}
      • addedInput schema / properties / operation_ids
        Added value: +{
        +  "anyOf": [
        +    {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Up to 20 operation_ids, for a batch"
        +}
      • removedInput schema / properties / session_id
        Removed value: -{
        -  "description": "Reuse the session_id returned by Search in all subsequent tool calls for this task. If omitted, a new session is created.",
        -  "maxLength": 128,
        -  "pattern": "^[A-Za-z0-9_-]*$",
        -  "type": "string"
        -}
      • removedInput schema / properties / tools
        Removed value: -{
        -  "description": "Exact tool names returned by search whose complete contracts are needed. Never invent tool names.",
        -  "items": {
        -    "minLength": 1,
        -    "pattern": "^\\S(?:.*\\S)?$",
        -    "type": "string"
        -  },
        -  "maxItems": 20,
        -  "minItems": 1,
        -  "type": "array",
        -  "uniqueItems": true
        -}
      • addedInput schema / properties / with_quote
        Added value: +{
        +  "default": true,
        +  "description": "Whether each operation is priced for this account before the answer. One round trip per operation; spends nothing.",
        +  "type": "boolean"
        +}
      • removedInput schema / required
        Removed value: -[
        -  "tools"
        -]
      • removedOutput schema / properties
        Removed value: -{
        -  "error_count": {
        -    "type": "integer"
        -  },
        -  "next_steps_guidance": {
        -    "anyOf": [
        -      {
        -        "type": "null"
        -      },
        -      {
        -        "type": "array"
        -      }
        -    ],
        -    "items": {
        -      "type": "string"
        -    }
        -  },
        -  "session_id": {
        -    "description": "Reuse the session_id returned by Search in all subsequent tool calls for this task. If omitted, a new session is created.",
        -    "maxLength": 128,
        -    "minLength": 1,
        -    "pattern": "^[A-Za-z0-9_-]{1,128}$",
        -    "type": "string"
        -  },
        -  "success_count": {
        -    "type": "integer"
        -  },
        -  "tools": {
        -    "additionalProperties": {
        -      "additionalProperties": false,
        -      "properties": {
        -        "arguments_schema": {
        -          "additionalProperties": true,
        -          "anyOf": [
        -            {
        -              "type": "null"
        -            },
        -            {
        -              "type": "object"
        -            }
        -          ]
        -        },
        -        "canonical_operation_id": {
        -          "type": "string"
        -        },
        -        "documentation": {
        -          "additionalProperties": true,
        -          "type": "object"
        -        },
        -        "error": {
        -          "additionalProperties": false,
        -          "anyOf": [
        -            {
        -              "type": "null"
        -            },
        -            {
        -              "type": "object"
        -            }
        -          ],
        -          "properties": {
        -            "code": {
        -              "type": "string"
        -            },
        -            "message": {
        -              "type": "string"
        -            }
        -          },
        -          "required": [
        -            "code",
        -            "message"
        -          ]
        -        },
        -        "execution_supported": {
        -          "description": "Whether this router can execute and quote the operation; false retains documentation and discovery only.",
        -          "type": "boolean"
        -        },
        -        "execution_unsupported_reason": {
        -          "description": "Why execution and quoting remain unavailable through this router.",
        -          "type": "string"
        -        },
        -        "idempotent": {
        -          "anyOf": [
        -            {
        -              "type": "null"
        -            },
        -            {
        -              "type": "boolean"
        -            }
        -          ]
        -        },
        -        "known_pitfalls": {
        -          "anyOf": [
        -            {
        -              "type": "null"
        -            },
        -            {
        -              "type": "array"
        -            }
        -          ],
        -          "items": {
        -            "type": "string"
        -          }
        -        },
        -        "read_only": {
        -          "anyOf": [
        -            {
        -              "type": "null"
        -            },
        -            {
        -              "type": "boolean"
        -            }
        -          ]
        -        },
        -        "response_schema": {
        -          "additionalProperties": true,
        -          "anyOf": [
        -            {
        -              "type": "null"
        -            },
        -            {
        -              "type": "object"
        -            }
        -          ]
        -        },
        -        "side_effects": {
        -          "anyOf": [
        -            {
        -              "type": "null"
        -            },
        -            {
        -              "type": "array"
        -            }
        -          ],
        -          "items": {
        -            "type": "string"
        -          }
        -        },
        -        "successful": {
        -          "type": "boolean"
        -        }
        -      },
        -      "required": [
        -        "successful"
        -      ],
        -      "type": "object"
        -    },
        -    "type": "object"
        -  },
        -  "total_count": {
        -    "type": "integer"
        -  }
        -}
      • removedOutput schema / required
        Removed value: -[
        -  "error_count",
        -  "next_steps_guidance",
        -  "session_id",
        -  "success_count",
        -  "tools",
        -  "total_count"
        -]
    • Changedget_semrush_backlinks_overview1 field changed
      • addedInput schema / properties / target / description
        Added value: +"Target root domain, e.g. `ahrefs.com`."
    • Changedget_semrush_domain_organic_keywords5 fields changed
      • addedInput schema / properties / database / description
        Added value: +"Regional database / country code, e.g. `us`."
      • addedInput schema / properties / database / example
        Added value: +"us"
      • addedInput schema / properties / domain / description
        Added value: +"Target domain, e.g. `ahrefs.com`."
      • addedInput schema / properties / domain / example
        Added value: +"ahrefs.com"
      • changedInput schema / required
        Previous value: -[
        -  "database",
        -  "domain"
        -]New value: +[
        +  "domain",
        +  "database"
        +]
    • Changedget_semrush_domain_overview2 fields changed
      • addedInput schema / properties / database / description
        Added value: +"Regional database / country code. Defaults to `us`. Examples: `us`, `uk`, `cn`."
      • addedInput schema / properties / domain / description
        Added value: +"Target domain, e.g. `ahrefs.com`."
    • Changedget_semrush_keyword_difficulty7 fields changed
      • addedInput schema / properties / database / default
        Added value: +"us"
      • addedInput schema / properties / database / description
        Added value: +"Regional database / country code. Defaults to `us`."
      • addedInput schema / properties / phrase / description
        Added value: +"One or more keywords separated by `;` (up to 20)."
      • addedInput schema / properties / phrase / example
        Added value: +"seo tools;ahrefs"
      • removedInput schema / properties / phrase / x-aisa-delimiter
        Removed value: -";"
      • removedInput schema / properties / phrase / x-aisa-maxItems
        Removed value: -20
      • removedInput schema / properties / phrase / x-aisa-minItems
        Removed value: -1
    • Changedget_semrush_keyword_overview3 fields changed
      • addedInput schema / properties / database / description
        Added value: +"Regional database / country code. Defaults to `us`."
      • addedInput schema / properties / phrase / description
        Added value: +"Keyword phrase. URL-encode spaces as `%20` or `+`."
      • addedInput schema / properties / phrase / example
        Added value: +"seo tools"
    • Changedget_semrush_organic_competitors5 fields changed
      • addedInput schema / properties / database / description
        Added value: +"Regional database / country code, e.g. `us`."
      • addedInput schema / properties / database / example
        Added value: +"us"
      • addedInput schema / properties / domain / description
        Added value: +"Target domain, e.g. `ahrefs.com`."
      • addedInput schema / properties / domain / example
        Added value: +"ahrefs.com"
      • changedInput schema / required
        Previous value: -[
        -  "database",
        -  "domain"
        -]New value: +[
        +  "domain",
        +  "database"
        +]
    • Changedget_semrush_organic_results4 fields changed
      • addedInput schema / properties / database / default
        Added value: +"us"
      • addedInput schema / properties / database / description
        Added value: +"Regional database / country code. Defaults to `us`."
      • addedInput schema / properties / phrase / description
        Added value: +"Keyword phrase. URL-encode spaces as `%20` or `+`."
      • addedInput schema / properties / phrase / example
        Added value: +"seo tools"
    • Changedget_semrush_referring_domains4 fields changed
      • addedInput schema / properties / target / description
        Added value: +"Target domain or URL."
      • addedInput schema / properties / target / example
        Added value: +"ahrefs.com"
      • addedInput schema / properties / target_type / description
        Added value: +"One of `root_domain`, `domain`, or `url`."
      • addedInput schema / properties / target_type / example
        Added value: +"root_domain"
    • Changedpost_dataforseo_ai_chat_gpt_llm_responses_live7 fields changed
      • removedInput schema / properties / body / example
        Removed value: -[
        -  {
        -    "max_output_tokens": 200,
        -    "message_chain": [
        -      {
        -        "message": "Hello, what’s up?",
        -        "role": "user"
        -      },
        -      {
        -        "message": "Hello! I’m doing well, thank you. How can I assist you today? Are there any specific topics or projects you’d like to discuss in our meeting?",
        -        "role": "ai"
        -      }
        -    ],
        -    "model_name": "gpt-4.1-mini",
        -    "system_message": "communicate as if we are in a business meeting",
        -    "temperature": 0.3,
        -    "top_p": 0.5,
        -    "user_prompt": "provide information on how relevant the amusement park business is in France now",
        -    "web_search": true,
        -    "web_search_city": "Paris",
        -    "web_search_country_iso_code": "FR"
        -  }
        -]
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "max_output_tokens": 200,
        -        "message_chain": [
        -          {
        -            "message": "Hello, what’s up?",
        -            "role": "user"
        -          },
        -          {
        -            "message": "Hello! I’m doing well, thank you. How can I assist you today? Are there any specific topics or projects you’d like to discuss in our meeting?",
        -            "role": "ai"
        -          }
        -        ],
        -        "model_name": "gpt-4.1-mini",
        -        "system_message": "communicate as if we are in a business meeting",
        -        "temperature": 0.3,
        -        "top_p": 0.5,
        -        "user_prompt": "provide information on how relevant the amusement park business is in France now",
        -        "web_search": true,
        -        "web_search_city": "Paris",
        -        "web_search_country_iso_code": "FR"
        -      }
        -    ],
        -    "properties": {
        -      "force_web_search": {
        -        "description": "<em>force AI agent to use web search</em><br>optional field<br>to enable this parameter, <code>web_search</code> must also be enabled;<br>when enabled, the AI model is forced to access and cite current web information;<br>default value: <code>false</code>;<br><strong>Note:</strong> even if the parameter is set to <code>true</code>, there is no guarantee web sources will be cited in the response <br><strong>Note #2:</strong> not supported in reasoning models",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "max_output_tokens": {
        -        "description": "<em>maximum number of tokens in the AI response</em><br>optional field<br>minimum value for reasoning models (e.g., <code>reasoning</code> is <code>true</code> in the <a href=\"/v3/ai_optimization/chat_gpt/llm_responses/models/\" target=\"_blank\">Models endpoint</a>): <code>1024</code>;<br>minimum value for non-reasoning models: <code>16</code>;<br>maximum value: <code>4096</code>;<br>default value: <code>2048</code><br><strong>Note:</strong> if <code>web_search</code> is set to <code>true</code> or the reasoning model is specified in the request, the output token count may exceed the specified <code>max_output_tokens</code> limit",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "message_chain": {
        -        "description": "conversation history\noptional field\narray of message objects representing previous conversation turns;\neach object must contain:\nrole string with either user or ai role;\nmessage string with message content (max 500 characters);\nyou can specify maximum of 10 message objects in the array;\nNote: for Perplexity models, messages must strictly alternate between user and AI roles (user → ai);\nexample:\n\"message_chain\": [{\"role\":\"user\",\"message\":\"Hello, what’s up?\"},{\"role\":\"ai\",\"message\":\"Hello! I’m doing well, thank you. How can I assist you today?\"}]",
        -        "items": {
        -          "anyOf": [
        -            {
        -              "properties": {
        -                "message": {
        -                  "description": "message text",
        -                  "type": [
        -                    "string",
        -                    "null"
        -                  ]
        -                },
        -                "role": {
        -                  "description": "role of the user from whom the message originates",
        -                  "type": [
        -                    "string",
        -                    "null"
        -                  ]
        -                }
        -              },
        -              "type": "object"
        -            }
        -          ],
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "model_name": {
        -        "description": "<em>name of the AI model</em><br><strong>required field</strong><br><code>model_name</code >consists of the actual model name and version name;<br>if the basic model name is specified, its latest version will be set by default;<br>for example, if <code>gpt-4.1</code> is specified, the <code>gpt-4.1-2025-04-14</code> will be set as <code>model_name</code> automatically;<br>you can receive the list of available LLM models by making a separate request to the <code>https://api.dataforseo.com/v3/ai_optimization/chat_gpt/llm_responses/models</code>",
        -        "type": "string"
        -      },
        -      "system_message": {
        -        "description": "<em>instructions for the AI behaviour</em><br>optional field<br>defines the AI's role, tone, or specific behavior <br>you can specify <strong>up to 500 characters</strong> in the <code>system_message</code> field",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "temperature": {
        -        "description": "<em>randomness of the AI response</em><br>optional field<br>higher values make output more diverse; <br>lower values make output more focused;<br>minimum value: <code>0</code><br>maximum value: <code>2</code><br>default value: <code>0.94</code><br><strong>Note:</strong> not supported in reasoning models",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "top_p": {
        -        "description": "<em>diversity of the AI response</em><br>optional field <br>controls diversity of the response by limiting token selection;<br>minimum value: <code>0</code><br>maximum value: <code>1</code> <br>default value: <code>0.92</code><p><strong>Note:</strong>  <code>top_p</code> cannot be used together with <code>temperature</code> in the same request",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "user_prompt": {
        -        "description": "<em>prompt for the AI model</em><br><strong>required field</strong><br>the question or task you want to send to the AI model;<br>you can specify <strong>up to 500 characters</strong> in the <code>user_prompt</code> field",
        -        "type": "string"
        -      },
        -      "web_search": {
        -        "description": "<em>enable web search</em><br>optional field<br>when enabled, the AI model can access and cite current web information;<br>default value: <code>false</code>;<br><strong>Note:</strong> refer to the <a href=\"https://docs.dataforseo.com/v3/ai_optimization/chat_gpt/llm_responses/models/\">Models endpoint</a> for a list of models that support <code>web_search</code>;",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "web_search_city": {
        -        "description": "<em>city name of the location</em><br>optional field<br><strong>Note:</strong> not supported in <code>o3-mini</code>, <code>o1-pro</code>, <code>o1</code> models",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "web_search_country_iso_code": {
        -        "description": "<em>ISO country code of the location</em><br>optional field<br>to enable this parameter, <code>web_search</code> must also be enabled;<br>when enabled, the AI model will search the web from the country you specify;<br><strong>Note:</strong> not supported in <code>o3-mini</code>, <code>o1-pro</code>, <code>o1</code> models",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / properties
        Added value: +{
        +  "force_web_search": {
        +    "description": "force AI agent to use web search optional field to enable this parameter, web_search must also be enabled; when enabled, the AI model is forced to access and cite current web information; default value: false; Note: even if the parameter is set to true, there is no guarantee web sources will be cited in the response Note #2: not supported in reasoning models",
        +    "type": "boolean"
        +  },
        +  "max_output_tokens": {
        +    "description": "maximum number of tokens in the AI response optional field minimum value for reasoning models (e.g., reasoning is true in the Models endpoint): 1024; minimum value for non-reasoning models: 16; maximum value: 4096; default value: 2048 Note: if web_search is set to true or the reasoning model is specified in the request, the output token count may exceed the specified max_output_tokens limit",
        +    "type": "integer"
        +  },
        +  "message_chain": {
        +    "description": "conversation history optional field array of message objects representing previous conversation turns; each object must contain: role string with either user or ai role; message string with message content (max 500 characters); you can specify maximum of 10 message objects in the array; Note: for Perplexity models, messages must strictly alternate between user and AI roles (user → ai); example: \"message_chain\": [{\"role\":\"user\",\"message\":\"Hello, what’s up?\"},{\"role\":\"ai\",\"message\":\"Hello! I’m doing well, thank you. How can I assist you today?\"}]",
        +    "items": {
        +      "properties": {
        +        "message": {
        +          "description": "message text",
        +          "type": "string"
        +        },
        +        "role": {
        +          "description": "role of the user from whom the message originates",
        +          "enum": [
        +            "user",
        +            "ai"
        +          ],
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "role",
        +        "message"
        +      ],
        +      "type": "object"
        +    },
        +    "type": "array"
        +  },
        +  "model_name": {
        +    "description": "name of the AI model required field model_nameconsists of the actual model name and version name; if the basic model name is specified, its latest version will be set by default; for example, if gpt-4.1 is specified, the gpt-4.1-2025-04-14 will be set as model_name automatically; you can receive the list of available LLM models by making a separate request to the https://api.dataforseo.com/v3/ai_optimization/chat_gpt/llm_responses/models",
        +    "type": "string"
        +  },
        +  "system_message": {
        +    "description": "instructions for the AI behaviour optional field defines the AI's role, tone, or specific behavior you can specify up to 500 characters in the system_message field",
        +    "type": "string"
        +  },
        +  "tag": {
        +    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        +    "type": "string"
        +  },
        +  "temperature": {
        +    "description": "randomness of the AI response optional field higher values make output more diverse; lower values make output more focused; minimum value: 0 maximum value: 2 default value: 0.94 Note: not supported in reasoning models",
        +    "type": "number"
        +  },
        +  "top_p": {
        +    "description": "diversity of the AI response optional field controls diversity of the response by limiting token selection; minimum value: 0 maximum value: 1 default value: 0.92 Note: top_p cannot be used together with temperature in the same request",
        +    "type": "number"
        +  },
        +  "user_prompt": {
        +    "description": "prompt for the AI model required field the question or task you want to send to the AI model; you can specify up to 500 characters in the user_prompt field",
        +    "type": "string"
        +  },
        +  "web_search": {
        +    "description": "enable web search optional field when enabled, the AI model can access and cite current web information; default value: false; Note: refer to the Models endpoint for a list of models that support web_search;",
        +    "type": "boolean"
        +  },
        +  "web_search_city": {
        +    "description": "city name of the location optional field Note: not supported in o3-mini, o1-pro, o1 models",
        +    "type": "string"
        +  },
        +  "web_search_country_iso_code": {
        +    "description": "ISO country code of the location optional field to enable this parameter, web_search must also be enabled; when enabled, the AI model will search the web from the country you specify; Note: not supported in o3-mini, o1-pro, o1 models",
        +    "type": "string"
        +  }
        +}
      • addedInput schema / properties / body / items / required
        Added value: +[
        +  "user_prompt",
        +  "model_name"
        +]
      • changedInput schema / properties / body / items / type
        Previous value: -[
        -  "object",
        -  "null"
        -]New value: +"object"
      • changedInput schema / required
        Previous value: -[]New value: +[
        +  "body"
        +]
      • removedOutput schema / x-fastmcp-wrap-result
        Removed value: -true
    • Changedpost_dataforseo_ai_claude_llm_responses_live7 fields changed
      • removedInput schema / properties / body / example
        Removed value: -[
        -  {
        -    "max_output_tokens": 200,
        -    "message_chain": [
        -      {
        -        "message": "Hello, what’s up?",
        -        "role": "user"
        -      },
        -      {
        -        "message": "Hello! I’m doing well, thank you. How can I assist you today? Are there any specific topics or projects you’d like to discuss in our meeting?",
        -        "role": "ai"
        -      }
        -    ],
        -    "model_name": "claude-opus-4-0",
        -    "system_message": "communicate as if we are in a business meeting",
        -    "temperature": 0.3,
        -    "user_prompt": "provide information on how relevant the amusement park business is in France now",
        -    "web_search": true,
        -    "web_search_country_iso_code": "FR"
        -  }
        -]
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "max_output_tokens": 200,
        -        "message_chain": [
        -          {
        -            "message": "Hello, what’s up?",
        -            "role": "user"
        -          },
        -          {
        -            "message": "Hello! I’m doing well, thank you. How can I assist you today? Are there any specific topics or projects you’d like to discuss in our meeting?",
        -            "role": "ai"
        -          }
        -        ],
        -        "model_name": "claude-opus-4-0",
        -        "system_message": "communicate as if we are in a business meeting",
        -        "temperature": 0.3,
        -        "user_prompt": "provide information on how relevant the amusement park business is in France now",
        -        "web_search": true,
        -        "web_search_country_iso_code": "FR"
        -      }
        -    ],
        -    "properties": {
        -      "force_web_search": {
        -        "description": "<em>force AI agent to use web search</em><br>optional field<br>to enable this parameter, <code>web_search</code> must also be enabled;<br>when enabled, the AI model is forced to access and cite current web information;<br>default value: <code>false</code>;<br><strong>Note:</strong> even if the parameter is set to <code>true</code>, there is no guarantee web sources will be cited in the response",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "max_output_tokens": {
        -        "description": "<em>maximum number of tokens in the AI response</em><br>optional field<br>minimum value: <code>1</code>;<br>maximum value: <code>4096</code>;<br>default value: <code>2048</code>;<br><strong>Note:</strong> if <code>web_search</code> is set to <code>true</code> or the reasoning model is specified in the request, the output token count may exceed the specified <code>max_output_tokens</code> limit<br><strong>Note #2:</strong> if <code>use_reasoning</code> is set to <code>true</code>, the minimum value for <code>max_output_tokens</code> is <code>1025</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "message_chain": {
        -        "description": "conversation history\noptional field\narray of message objects representing previous conversation turns;\neach object must contain:\nrole string with either user or ai role;\nmessage string with message content (max 500 characters);\nyou can specify maximum of 10 message objects in the array;\nNote: for Perplexity models, messages must strictly alternate between user and AI roles (user → ai);\nexample:\n\"message_chain\": [{\"role\":\"user\",\"message\":\"Hello, what’s up?\"},{\"role\":\"ai\",\"message\":\"Hello! I’m doing well, thank you. How can I assist you today?\"}]",
        -        "items": {
        -          "anyOf": [
        -            {
        -              "properties": {
        -                "message": {
        -                  "description": "message text",
        -                  "type": [
        -                    "string",
        -                    "null"
        -                  ]
        -                },
        -                "role": {
        -                  "description": "role of the user from whom the message originates",
        -                  "type": [
        -                    "string",
        -                    "null"
        -                  ]
        -                }
        -              },
        -              "type": "object"
        -            }
        -          ],
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "model_name": {
        -        "description": "<em>name of the AI model</em><br><strong>required field</strong><br><code>model_name</code >consists of the actual model name and version name;<br>if the basic model name is specified, its latest version will be set by default;<br>for example, if <code>claude-opus-4-0</code> is specified, the <code>claude-opus-4-20250514</code> will be set as <code>model_name</code> automatically;<br>you can receive the list of available LLM models by making a separate request to the <code>https://api.dataforseo.com/v3/ai_optimization/claude/llm_responses/models</code>",
        -        "type": "string"
        -      },
        -      "system_message": {
        -        "description": "<em>instructions for the AI behaviour</em><br>optional field<br>defines the AI's role, tone, or specific behavior;<br>you can specify <strong>up to 500 characters</strong> in the <code>system_message</code> field",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "temperature": {
        -        "description": "<em>randomness of the AI response</em><br>optional field<br>higher values make output more diverse; <br>lower values make output more focused;<br>minimum value: <code>0</code><br>maximum value: <code>1</code><br>default value: <code>0.7</code><p><strong>Note:</strong> <code>temperature</code> cannot be used together with <code>top_p</code> in the same request",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "top_p": {
        -        "description": "<em>diversity of the AI response</em><br>optional field <br>controls diversity of the response by limiting token selection;<br>minimum value: <code>0</code><br>maximum value: <code>1</code> <br>default value: <code>null</code><p><strong>Note:</strong> <code>top_p</code> cannot be used together with <code>temperature</code> in the same request",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "use_reasoning": {
        -        "description": "<em>enable reasoning for the AI model</em><br>optional field<br>when enabled, the model will perform reasoning before generating a response<br>refer to the <a href=\"https://docs.dataforseo.com/v3/ai_optimization/claude/llm_responses/models/\" target=\"_blank\">Models endpoint</a> for a list of models that support <code>reasoning</code><br>default value: <code>false</code><br><strong>Note:</strong> if set to <code>true</code>, the minimum value for <code>max_output_tokens</code> is <code>1025</code><br><strong>Note #2:</strong> if set to <code>true</code>, <code>force_web_search</code> must be set to <code>false</code><br><strong>Note #3:</strong> if set to <code>true</code>, the <code>temperature</code> and <code>top_p</code> cannot be used",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "user_prompt": {
        -        "description": "<em>prompt for the AI model</em><br><strong>required field</strong><br>the question or task you want to send to the AI model;<br>you can specify <strong>up to 500 characters</strong> in the <code>user_prompt</code> field",
        -        "type": "string"
        -      },
        -      "web_search": {
        -        "description": "<em>enable web search for current information</em><br>optional field<br>when enabled, the AI model can access and cite current web information;<br><strong>Note:</strong> refer to the <a href=\"https://docs.dataforseo.com/v3/ai_optimization/claude/llm_responses/models/\">Models endpoint</a> for a list of models that support <code>web_search</code>; <br>default value: <code>false</code>;<br>The cost of the parameter can be calculated on the <a title=\"Anthropic API Pricing\" href=\"https://docs.anthropic.com/en/docs/about-claude/pricing\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "web_search_city": {
        -        "description": "<em>city name of the location used for searching the web</em><br>optional field<br>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "web_search_country_iso_code": {
        -        "description": "<em>ISO country code of the location used for searching the web</em><br>optional field<br>possible values: <code>'AR','AT','AU','BE','BR','CA','CH','CL','CN','DE','DK','ES','FI','FR','GB','HK','ID','IN','IT','JP','KR','MX','MY','NL','NO','NZ','PH','PL','PT','RU','SA','SE','TR','TW','US','ZA'</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / properties
        Added value: +{
        +  "force_web_search": {
        +    "description": "force AI agent to use web search optional field to enable this parameter, web_search must also be enabled; when enabled, the AI model is forced to access and cite current web information; default value: false; Note: even if the parameter is set to true, there is no guarantee web sources will be cited in the response",
        +    "type": "boolean"
        +  },
        +  "max_output_tokens": {
        +    "description": "maximum number of tokens in the AI response optional field minimum value: 1; maximum value: 4096; default value: 2048; Note: if web_search is set to true or the reasoning model is specified in the request, the output token count may exceed the specified max_output_tokens limit Note #2: if use_reasoning is set to true, the minimum value for max_output_tokens is 1025",
        +    "type": "integer"
        +  },
        +  "message_chain": {
        +    "description": "conversation history optional field array of message objects representing previous conversation turns; each object must contain: role string with either user or ai role; message string with message content (max 500 characters); you can specify maximum of 10 message objects in the array; Note: for Perplexity models, messages must strictly alternate between user and AI roles (user → ai); example: \"message_chain\": [{\"role\":\"user\",\"message\":\"Hello, what’s up?\"},{\"role\":\"ai\",\"message\":\"Hello! I’m doing well, thank you. How can I assist you today?\"}]",
        +    "items": {
        +      "properties": {
        +        "message": {
        +          "description": "message text",
        +          "type": "string"
        +        },
        +        "role": {
        +          "description": "role of the user from whom the message originates",
        +          "enum": [
        +            "user",
        +            "ai"
        +          ],
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "role",
        +        "message"
        +      ],
        +      "type": "object"
        +    },
        +    "type": "array"
        +  },
        +  "model_name": {
        +    "description": "name of the AI model required field model_nameconsists of the actual model name and version name; if the basic model name is specified, its latest version will be set by default; for example, if claude-opus-4-0 is specified, the claude-opus-4-20250514 will be set as model_name automatically; you can receive the list of available LLM models by making a separate request to the https://api.dataforseo.com/v3/ai_optimization/claude/llm_responses/models",
        +    "type": "string"
        +  },
        +  "system_message": {
        +    "description": "instructions for the AI behaviour optional field defines the AI's role, tone, or specific behavior; you can specify up to 500 characters in the system_message field",
        +    "type": "string"
        +  },
        +  "tag": {
        +    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        +    "type": "string"
        +  },
        +  "temperature": {
        +    "description": "randomness of the AI response optional field higher values make output more diverse; lower values make output more focused; minimum value: 0 maximum value: 1 default value: 0.7Note: temperature cannot be used together with top_p in the same request",
        +    "type": "number"
        +  },
        +  "top_p": {
        +    "description": "diversity of the AI response optional field controls diversity of the response by limiting token selection; minimum value: 0 maximum value: 1 default value: nullNote: top_p cannot be used together with temperature in the same request",
        +    "type": "number"
        +  },
        +  "use_reasoning": {
        +    "description": "enable reasoning for the AI model optional field when enabled, the model will perform reasoning before generating a response refer to the Models endpoint for a list of models that support reasoning default value: false Note: if set to true, the minimum value for max_output_tokens is 1025 Note #2: if set to true, force_web_search must be set to false Note #3: if set to true, the temperature and top_p cannot be used",
        +    "type": "boolean"
        +  },
        +  "user_prompt": {
        +    "description": "prompt for the AI model required field the question or task you want to send to the AI model; you can specify up to 500 characters in the user_prompt field",
        +    "type": "string"
        +  },
        +  "web_search": {
        +    "description": "enable web search for current information optional field when enabled, the AI model can access and cite current web information; Note: refer to the Models endpoint for a list of models that support web_search; default value: false",
        +    "type": "boolean"
        +  },
        +  "web_search_city": {
        +    "description": "city name of the location used for searching the web optional field",
        +    "type": "string"
        +  },
        +  "web_search_country_iso_code": {
        +    "description": "ISO country code of the location used for searching the web optional field possible values: 'AR','AT','AU','BE','BR','CA','CH','CL','CN','DE','DK','ES','FI','FR','GB','HK','ID','IN','IT','JP','KR','MX','MY','NL','NO','NZ','PH','PL','PT','RU','SA','SE','TR','TW','US','ZA'",
        +    "type": "string"
        +  }
        +}
      • addedInput schema / properties / body / items / required
        Added value: +[
        +  "user_prompt",
        +  "model_name"
        +]
      • changedInput schema / properties / body / items / type
        Previous value: -[
        -  "object",
        -  "null"
        -]New value: +"object"
      • changedInput schema / required
        Previous value: -[]New value: +[
        +  "body"
        +]
      • removedOutput schema / x-fastmcp-wrap-result
        Removed value: -true
    • Changedpost_dataforseo_ai_gemini_llm_responses_live7 fields changed
      • removedInput schema / properties / body / example
        Removed value: -[
        -  {
        -    "max_output_tokens": 200,
        -    "message_chain": [
        -      {
        -        "message": "Hello, what’s up?",
        -        "role": "user"
        -      },
        -      {
        -        "message": "Hello! I’m doing well, thank you. How can I assist you today? Are there any specific topics or projects you’d like to discuss in our meeting?",
        -        "role": "ai"
        -      }
        -    ],
        -    "model_name": "gemini-2.5-flash",
        -    "system_message": "communicate as if we are in a business meeting",
        -    "temperature": 0.3,
        -    "top_p": 0.5,
        -    "user_prompt": "provide information on how relevant the amusement park business is in France now",
        -    "web_search": true
        -  }
        -]
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "max_output_tokens": 200,
        -        "message_chain": [
        -          {
        -            "message": "Hello, what’s up?",
        -            "role": "user"
        -          },
        -          {
        -            "message": "Hello! I’m doing well, thank you. How can I assist you today? Are there any specific topics or projects you’d like to discuss in our meeting?",
        -            "role": "ai"
        -          }
        -        ],
        -        "model_name": "gemini-2.5-flash",
        -        "system_message": "communicate as if we are in a business meeting",
        -        "temperature": 0.3,
        -        "top_p": 0.5,
        -        "user_prompt": "provide information on how relevant the amusement park business is in France now",
        -        "web_search": true
        -      }
        -    ],
        -    "properties": {
        -      "max_output_tokens": {
        -        "description": "<em>maximum number of tokens in the AI response</em><br>optional field<br>minimum value: <code>1</code><br>maximum value: <code>4096</code>;<br>default value: <code>2048</code>;<br><strong>Note:</strong> if <code>web_search</code> is set to <code>true</code> or the reasoning model is specified in the request, the output token count may exceed the specified <code>max_output_tokens</code> limit<br><strong>Note #2:</strong> if <code>use_reasoning</code> is set to <code>true</code>, the minimum value for <code>max_output_tokens</code> is <code>1024</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "message_chain": {
        -        "description": "conversation history\noptional field\narray of message objects representing previous conversation turns;\neach object must contain:\nrole string with either user or ai role;\nmessage string with message content (max 500 characters);\nyou can specify maximum of 10 message objects in the array;\nNote: for Perplexity models, messages must strictly alternate between user and AI roles (user → ai);\nexample:\n\"message_chain\": [{\"role\":\"user\",\"message\":\"Hello, what’s up?\"},{\"role\":\"ai\",\"message\":\"Hello! I’m doing well, thank you. How can I assist you today?\"}]",
        -        "items": {
        -          "anyOf": [
        -            {
        -              "properties": {
        -                "message": {
        -                  "description": "message text",
        -                  "type": [
        -                    "string",
        -                    "null"
        -                  ]
        -                },
        -                "role": {
        -                  "description": "role of the user from whom the message originates",
        -                  "type": [
        -                    "string",
        -                    "null"
        -                  ]
        -                }
        -              },
        -              "type": "object"
        -            }
        -          ],
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "model_name": {
        -        "description": "<em>name of the AI model</em><br><strong>required field</strong><br><code>model_name</code >consists of the actual model name and version name;<br>if the basic model name is specified, its latest version will be set by default;<br>for example, if <code>gemini-1.5-pro</code> is specified, the <code>gemini-1.5-pro-002</code> will be set as <code>model_name</code> automatically;<br>you can receive the list of available LLM models by making a separate request to the <code>https://api.dataforseo.com/v3/ai_optimization/gemini/llm_responses/models</code>",
        -        "type": "string"
        -      },
        -      "system_message": {
        -        "description": "<em>instructions for the AI behavior</em><br>optional field<br>defines the AI's role, tone, or specific behavior <br>you can specify <strong>up to 500 characters</strong> in the <code>system_message</code> field",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "temperature": {
        -        "description": "<em>randomness of the AI response</em><br>optional field<br>higher values make output more diverse <br>lower values make output more focused<br>minimum value: <code>0</code><br>maximum value: <code>2</code><br>default value: <code>1.3</code>",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "top_p": {
        -        "description": "<em>diversity of the AI response</em><br>optional field <br>controls diversity of the response by limiting token selection<br>minimum value: <code>0</code><br>maximum value: <code>1</code> <br>default value: <code>0.9</code>",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "use_reasoning": {
        -        "description": "<em>enable reasoning for the AI model</em><br>optional field<br>when enabled, the model will perform reasoning before generating a response<br>refer to the <a href=\"https://docs.dataforseo.com/v3/ai_optimization/gemini/llm_responses/models/\" target=\"_blank\">Models endpoint</a> for a list of models that support <code>reasoning</code><br>default value: <code>false</code><br><strong>Note:</strong> if set to <code>true</code>, the minimum value for <code>max_output_tokens</code> is <code>1024</code><br><strong>Note #2:</strong> for Gemini Pro models, the <code>use_reasoning</code> will automatically be set to <code>true</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "user_prompt": {
        -        "description": "<em>prompt for the AI model</em><br><strong>required field</strong><br>the question or task you want to send to the AI model;<br>you can specify <strong>up to 500 characters</strong> in the <code>user_prompt</code> field",
        -        "type": "string"
        -      },
        -      "web_search": {
        -        "description": "<em>enable web search for current information</em><br>optional field<br>when enabled, the AI model can access and cite current web information;<br><strong>Note:</strong> refer to the <a href=\"https://docs.dataforseo.com/v3/ai_optimization/gemini/llm_responses/models/\">Models endpoint</a> for a list of models that support <code>web_search</code>; <br>default value: <code>false</code>;<br>The cost of the parameter can be calculated on the <a title=\"Gemini API Pricing\" href=\"https://ai.google.dev/gemini-api/docs/pricing\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / properties
        Added value: +{
        +  "max_output_tokens": {
        +    "description": "maximum number of tokens in the AI response optional field minimum value: 1 maximum value: 4096; default value: 2048; Note: if web_search is set to true or the reasoning model is specified in the request, the output token count may exceed the specified max_output_tokens limit Note #2: if use_reasoning is set to true, the minimum value for max_output_tokens is 1024",
        +    "type": "integer"
        +  },
        +  "message_chain": {
        +    "description": "conversation history optional field array of message objects representing previous conversation turns; each object must contain: role string with either user or ai role; message string with message content (max 500 characters); you can specify maximum of 10 message objects in the array; Note: for Perplexity models, messages must strictly alternate between user and AI roles (user → ai); example: \"message_chain\": [{\"role\":\"user\",\"message\":\"Hello, what’s up?\"},{\"role\":\"ai\",\"message\":\"Hello! I’m doing well, thank you. How can I assist you today?\"}]",
        +    "items": {
        +      "properties": {
        +        "message": {
        +          "description": "message text",
        +          "type": "string"
        +        },
        +        "role": {
        +          "description": "role of the user from whom the message originates",
        +          "enum": [
        +            "user",
        +            "ai"
        +          ],
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "role",
        +        "message"
        +      ],
        +      "type": "object"
        +    },
        +    "type": "array"
        +  },
        +  "model_name": {
        +    "description": "name of the AI model required field model_nameconsists of the actual model name and version name; if the basic model name is specified, its latest version will be set by default; for example, if gemini-1.5-pro is specified, the gemini-1.5-pro-002 will be set as model_name automatically; you can receive the list of available LLM models by making a separate request to the https://api.dataforseo.com/v3/ai_optimization/gemini/llm_responses/models",
        +    "type": "string"
        +  },
        +  "system_message": {
        +    "description": "instructions for the AI behavior optional field defines the AI's role, tone, or specific behavior you can specify up to 500 characters in the system_message field",
        +    "type": "string"
        +  },
        +  "tag": {
        +    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        +    "type": "string"
        +  },
        +  "temperature": {
        +    "description": "randomness of the AI response optional field higher values make output more diverse lower values make output more focused minimum value: 0 maximum value: 2 default value: 1.3",
        +    "type": "number"
        +  },
        +  "top_p": {
        +    "description": "diversity of the AI response optional field controls diversity of the response by limiting token selection minimum value: 0 maximum value: 1 default value: 0.9",
        +    "type": "number"
        +  },
        +  "use_reasoning": {
        +    "description": "enable reasoning for the AI model optional field when enabled, the model will perform reasoning before generating a response refer to the Models endpoint for a list of models that support reasoning default value: false Note: if set to true, the minimum value for max_output_tokens is 1024 Note #2: for Gemini Pro models, the use_reasoning will automatically be set to true",
        +    "type": "boolean"
        +  },
        +  "user_prompt": {
        +    "description": "prompt for the AI model required field the question or task you want to send to the AI model; you can specify up to 500 characters in the user_prompt field",
        +    "type": "string"
        +  },
        +  "web_search": {
        +    "description": "enable web search for current information optional field when enabled, the AI model can access and cite current web information; Note: refer to the Models endpoint for a list of models that support web_search; default value: false",
        +    "type": "boolean"
        +  }
        +}
      • addedInput schema / properties / body / items / required
        Added value: +[
        +  "user_prompt",
        +  "model_name"
        +]
      • changedInput schema / properties / body / items / type
        Previous value: -[
        -  "object",
        -  "null"
        -]New value: +"object"
      • changedInput schema / required
        Previous value: -[]New value: +[
        +  "body"
        +]
      • removedOutput schema / x-fastmcp-wrap-result
        Removed value: -true
    • Changedpost_dataforseo_ai_keyword_volume_live8 fields changed
      • removedInput schema / properties / body / example
        Removed value: -[
        -  {
        -    "keywords": [
        -      "iphone",
        -      "seo"
        -    ],
        -    "language_name": "English",
        -    "location_code": 2840
        -  }
        -]
      • addedInput schema / properties / body / items / allOf
        Added value: +[
        +  {
        +    "anyOf": [
        +      {
        +        "required": [
        +          "location_name"
        +        ]
        +      },
        +      {
        +        "required": [
        +          "location_code"
        +        ]
        +      }
        +    ]
        +  },
        +  {
        +    "anyOf": [
        +      {
        +        "required": [
        +          "language_name"
        +        ]
        +      },
        +      {
        +        "required": [
        +          "language_code"
        +        ]
        +      }
        +    ]
        +  }
        +]
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "keywords": [
        -          "iphone",
        -          "seo"
        -        ],
        -        "language_name": "English",
        -        "location_code": 2840
        -      }
        -    ],
        -    "properties": {
        -      "keywords": {
        -        "description": "<em>keywords</em><br><strong>required field</strong><br>UTF-8 encoding<br>The maximum number of keywords you can specify: 1000;<br>The maximum number of characters in a single keyword: 250;<br>The keywords will be converted to lowercase format;<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "language_code": {
        -        "description": "<em>language code</em><br><strong>required field if you don't specify</strong> <code>language_name</code><br><strong>if you use this field, you don't need to specify</strong> <code>language_name</code><br>you can receive the list of available languages with their <code>language_code</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/ai_optimization/ai_keyword_data/locations_and_languages</code><br>example:<br><code class=\"long-string\">en</code>",
        -        "type": "string"
        -      },
        -      "language_name": {
        -        "description": "<em>full name of the language</em><br><strong>required field if you don't specify</strong> <code>language_code</code><br><strong>if you use this field, you don't need to specify</strong> <code>language_code</code><br>you can receive the list of available languages with their <code>language_name</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/ai_optimization/ai_keyword_data/locations_and_languages</code><br>example:<br><code class=\"long-string\">English</code>",
        -        "type": "string"
        -      },
        -      "location_code": {
        -        "description": "<em>unique location identifier</em><br><strong>required field if you don't specify</strong> <code>location_name</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/ai_optimization/ai_keyword_data/locations_and_languages</code><br>example:<br><code class=\"long-string\">2840</code>",
        -        "type": "integer"
        -      },
        -      "location_name": {
        -        "description": "<em>full name of the location</em><br><strong>required field if you don't specify</strong> <code>location_code</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/ai_optimization/ai_keyword_data/locations_and_languages</code><br>example:<br><code class=\"long-string\">United Kingdom</code>",
        -        "type": "string"
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / properties
        Added value: +{
        +  "keywords": {
        +    "description": "keywords required field UTF-8 encoding The maximum number of keywords you can specify: 1000; The maximum number of characters in a single keyword: 250; The keywords will be converted to lowercase format;learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        +    "items": {
        +      "type": "string"
        +    },
        +    "type": "array"
        +  },
        +  "language_code": {
        +    "description": "language code required field if you don't specify language_name if you use this field, you don't need to specify language_name you can receive the list of available languages with their language_code by making a separate request to the https://api.dataforseo.com/v3/ai_optimization/ai_keyword_data/locations_and_languages example: en",
        +    "type": "string"
        +  },
        +  "language_name": {
        +    "description": "full name of the language required field if you don't specify language_code if you use this field, you don't need to specify language_code you can receive the list of available languages with their language_name by making a separate request to the https://api.dataforseo.com/v3/ai_optimization/ai_keyword_data/locations_and_languages example: English",
        +    "type": "string"
        +  },
        +  "location_code": {
        +    "description": "unique location identifier required field if you don't specify location_name Note: it is required to specify either location_name or location_code you can receive the list of available locations with their location_code by making a separate request to the https://api.dataforseo.com/v3/ai_optimization/ai_keyword_data/locations_and_languages example: 2840",
        +    "type": "integer"
        +  },
        +  "location_name": {
        +    "description": "full name of the location required field if you don't specify location_code Note: it is required to specify either location_name or location_code you can receive the list of available locations with their location_name by making a separate request to the https://api.dataforseo.com/v3/ai_optimization/ai_keyword_data/locations_and_languages example: United Kingdom",
        +    "type": "string"
        +  },
        +  "tag": {
        +    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        +    "type": "string"
        +  }
        +}
      • addedInput schema / properties / body / items / required
        Added value: +[
        +  "keywords"
        +]
      • changedInput schema / properties / body / items / type
        Previous value: -[
        -  "object",
        -  "null"
        -]New value: +"object"
      • changedInput schema / required
        Previous value: -[]New value: +[
        +  "body"
        +]
      • removedOutput schema / x-fastmcp-wrap-result
        Removed value: -true
    • Changedpost_dataforseo_ai_perplexity_llm_responses_live7 fields changed
      • removedInput schema / properties / body / example
        Removed value: -[
        -  {
        -    "max_output_tokens": 200,
        -    "message_chain": [
        -      {
        -        "message": "Hello, what’s up?",
        -        "role": "user"
        -      },
        -      {
        -        "message": "Hello! I’m doing well, thank you. How can I assist you today? Are there any specific topics or projects you’d like to discuss in our meeting?",
        -        "role": "ai"
        -      }
        -    ],
        -    "model_name": "sonar",
        -    "system_message": "communicate as if we are in a business meeting",
        -    "temperature": 0.3,
        -    "top_p": 0.5,
        -    "user_prompt": "provide information on how relevant the amusement park business is in France now",
        -    "web_search_country_iso_code": "FR"
        -  }
        -]
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "max_output_tokens": 200,
        -        "message_chain": [
        -          {
        -            "message": "Hello, what’s up?",
        -            "role": "user"
        -          },
        -          {
        -            "message": "Hello! I’m doing well, thank you. How can I assist you today? Are there any specific topics or projects you’d like to discuss in our meeting?",
        -            "role": "ai"
        -          }
        -        ],
        -        "model_name": "sonar",
        -        "system_message": "communicate as if we are in a business meeting",
        -        "temperature": 0.3,
        -        "top_p": 0.5,
        -        "user_prompt": "provide information on how relevant the amusement park business is in France now",
        -        "web_search_country_iso_code": "FR"
        -      }
        -    ],
        -    "properties": {
        -      "max_output_tokens": {
        -        "description": "<em>maximum number of tokens in the AI response</em><br>optional field<br>minimum value: <code>1</code><br>maximum value: <code>4096</code>;<br>default value: <code>2048</code>;<br><strong>Note:</strong> if the reasoning model is specified in the request, the output token count may exceed the specified <code>max_output_tokens</code> limit",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "message_chain": {
        -        "description": "conversation history\noptional field\narray of message objects representing previous conversation turns;\neach object must contain:\nrole string with either user or ai role;\nmessage string with message content (max 500 characters);\nyou can specify maximum of 10 message objects in the array;\nNote: for Perplexity models, messages must strictly alternate between user and AI roles (user → ai);\nexample:\n\"message_chain\": [{\"role\":\"user\",\"message\":\"Hello, what’s up?\"},{\"role\":\"ai\",\"message\":\"Hello! I’m doing well, thank you. How can I assist you today?\"}]",
        -        "items": {
        -          "anyOf": [
        -            {
        -              "properties": {
        -                "message": {
        -                  "description": "message text",
        -                  "type": [
        -                    "string",
        -                    "null"
        -                  ]
        -                },
        -                "role": {
        -                  "description": "role of the user from whom the message originates",
        -                  "type": [
        -                    "string",
        -                    "null"
        -                  ]
        -                }
        -              },
        -              "type": "object"
        -            }
        -          ],
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "model_name": {
        -        "description": "<em>name of the AI model</em><br><strong>required field</strong><br><code>model_name</code >consists of the actual model name and version name;<br>if the basic model name is specified, its latest version will be set by default;<br>you can receive the list of available LLM models by making a separate request to the following endpoint: <code>https://api.dataforseo.com/v3/ai_optimization/perplexity/llm_responses/models</code>",
        -        "type": "string"
        -      },
        -      "system_message": {
        -        "description": "<em>instructions for the AI behavior</em><br>optional field<br>defines the AI's role, tone, or specific behavior <br>you can specify <strong>up to 500 characters</strong> in the <code>system_message</code> field",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "temperature": {
        -        "description": "<em>randomness of the AI response</em><br>optional field<br>higher values make output more diverse <br>lower values make output more focused<br>minimum value: <code>0</code><br>maximum value: <code>1.9</code><br>default value: <code>0.77</code>",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "top_p": {
        -        "description": "<em>diversity of the AI response</em><br>optional field <br>controls diversity of the response by limiting token selection<br>minimum value: <code>0</code><br>maximum value: <code>1</code> <br>default value: <code>0.9</code>",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "user_prompt": {
        -        "description": "<em>prompt for the AI model</em><br><strong>required field</strong><br>the question or task you want to send to the AI model;<br>you can specify <strong>up to 500 characters</strong> in the <code>user_prompt</code> field",
        -        "type": "string"
        -      },
        -      "web_search_country_iso_code": {
        -        "description": "<em>country code for web search localization</em><br>optional field<br>specify the country  ISO code to get localized web search results<br><strong>Note:</strong> available only for Perplexity Sonar models<br>example: <code>US</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / properties
        Added value: +{
        +  "max_output_tokens": {
        +    "description": "maximum number of tokens in the AI response optional field minimum value: 1 maximum value: 4096; default value: 2048; Note: if the reasoning model is specified in the request, the output token count may exceed the specified max_output_tokens limit",
        +    "type": "integer"
        +  },
        +  "message_chain": {
        +    "description": "conversation history optional field array of message objects representing previous conversation turns; each object must contain: role string with either user or ai role; message string with message content (max 500 characters); you can specify maximum of 10 message objects in the array; Note: for Perplexity models, messages must strictly alternate between user and AI roles (user → ai); example: \"message_chain\": [{\"role\":\"user\",\"message\":\"Hello, what’s up?\"},{\"role\":\"ai\",\"message\":\"Hello! I’m doing well, thank you. How can I assist you today?\"}]",
        +    "items": {
        +      "properties": {
        +        "message": {
        +          "description": "message text",
        +          "type": "string"
        +        },
        +        "role": {
        +          "description": "role of the user from whom the message originates",
        +          "enum": [
        +            "user",
        +            "ai"
        +          ],
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "role",
        +        "message"
        +      ],
        +      "type": "object"
        +    },
        +    "type": "array"
        +  },
        +  "model_name": {
        +    "description": "name of the AI model required field model_nameconsists of the actual model name and version name; if the basic model name is specified, its latest version will be set by default; you can receive the list of available LLM models by making a separate request to the following endpoint: https://api.dataforseo.com/v3/ai_optimization/perplexity/llm_responses/models",
        +    "type": "string"
        +  },
        +  "system_message": {
        +    "description": "instructions for the AI behavior optional field defines the AI's role, tone, or specific behavior you can specify up to 500 characters in the system_message field",
        +    "type": "string"
        +  },
        +  "tag": {
        +    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        +    "type": "string"
        +  },
        +  "temperature": {
        +    "description": "randomness of the AI response optional field higher values make output more diverse lower values make output more focused minimum value: 0 maximum value: 1.9 default value: 0.77",
        +    "type": "number"
        +  },
        +  "top_p": {
        +    "description": "diversity of the AI response optional field controls diversity of the response by limiting token selection minimum value: 0 maximum value: 1 default value: 0.9",
        +    "type": "number"
        +  },
        +  "user_prompt": {
        +    "description": "prompt for the AI model required field the question or task you want to send to the AI model; you can specify up to 500 characters in the user_prompt field",
        +    "type": "string"
        +  },
        +  "web_search_country_iso_code": {
        +    "description": "country code for web search localization optional field specify the country ISO code to get localized web search results Note: available only for Perplexity Sonar models example: US",
        +    "type": "string"
        +  }
        +}
      • addedInput schema / properties / body / items / required
        Added value: +[
        +  "user_prompt",
        +  "model_name"
        +]
      • changedInput schema / properties / body / items / type
        Previous value: -[
        -  "object",
        -  "null"
        -]New value: +"object"
      • changedInput schema / required
        Previous value: -[]New value: +[
        +  "body"
        +]
      • removedOutput schema / x-fastmcp-wrap-result
        Removed value: -true
    • Changedpost_dataforseo_backlinks_anchors_live7 fields changed
      • removedInput schema / properties / body / example
        Removed value: -[
        -  {
        -    "filters": [
        -      "anchor",
        -      "like",
        -      "%news%"
        -    ],
        -    "limit": 4,
        -    "order_by": [
        -      "backlinks,desc"
        -    ],
        -    "target": "forbes.com"
        -  }
        -]
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "filters": [
        -          "anchor",
        -          "like",
        -          "%news%"
        -        ],
        -        "limit": 4,
        -        "order_by": [
        -          "backlinks,desc"
        -        ],
        -        "target": "forbes.com"
        -      }
        -    ],
        -    "properties": {
        -      "backlinks_filters": {
        -        "description": "<em>filter the backlinks of your <code>target</code></em><br>optional field<br>you can use this field to filter the initial backlinks that will be included in the dataset for aggregated metrics for your <code>target</code><br>you can filter the backlinks by all fields available in the response of <a href=\"/v3/backlinks/backlinks/live/\">this endpoint</a><br>using this parameter, you can include only dofollow backlinks in the response and create a flexible backlinks dataset to calculate the metrics for<br>example:<br><code>\"backlinks_filters\": [[\"dofollow\", \"=\", true]]</code>",
        -        "items": {
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "backlinks_status_type": {
        -        "description": "<em>set what backlinks to return and count</em><br>optional field<br>you can use this field to choose what backlinks will be returned and used for aggregated metrics for your <code>target</code>;<br>possible values: <br><code>all</code> - all backlinks will be returned and counted;<br><code>live</code> - backlinks found during the last check will be returned and counted;<br><code>lost</code> - lost backlinks will be returned and counted;<p>default value: <code>live</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "exclude_internal_backlinks": {
        -        "description": "<em>indicates whether the backlinks from subdomains of the <code>target</code> are excluded</em><br>optional field<br>if set to <code>false</code>, the backlinks from subdomains of the <code>target</code> will be ommited and you won't receive the same domain in the response;<br>default value: <code>true</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "filters": {
        -        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>, <code>not_like</code>, <code>ilike</code>, <code>not_ilike</code>, <code>match</code>, <code>not_match</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters<br>example:<br><code>[\"referring_links_types.anchors\",\"&gt;\",\"1\"]</code><p><code>[[\"broken_pages\",\"&gt;\",\"2\"],<br>\"and\",<br>[\"backlinks\",\"&gt;\",\"10\"]]</code><p><code>[[\"first_seen\",\">\",\"2017-10-23 11:31:45 +00:00\"],<br>\"and\",<br>[[\"anchor\",\"like\",\"%seo%\"],\"or\",[\"referring_domains\",\"&gt;\",\"10\"]]]</code><p>The full list of possible filters is available <a href=\"/v3/backlinks/filters/?bash\">here.</a>",
        -        "items": {
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "include_indirect_links": {
        -        "description": "<em>indicates if indirect links to the <code>target</code> will be included in the results</em><br>optional field<br>if set to <code>true</code>, the results will include data on indirect links pointing to a page that either redirects to the target, or points to a canonical page<br>if set to <code>false</code>, indirect links will be ignored<br>default value: <code>true</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "include_subdomains": {
        -        "description": "<em>indicates if the subdomains of the <code>target</code> will be included in the search</em><br>optional field<br>if set to <code>false</code>, the subdomains will be ignored<br>default value: <code>true</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "internal_list_limit": {
        -        "description": "<em>maximum number of elements within internal arrays</em><br>optional field<br>you can use this field to limit the number of elements within the following arrays:<br><code>referring_links_tld</code><br><code>referring_links_types</code><br><code>referring_links_attributes</code><br><code>referring_links_platform_types</code><br><code>referring_links_semantic_locations</code><p>default value: <code>10</code><br>maximum value: <code>1000</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "limit": {
        -        "description": "<em>the maximum number of returned anchors</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "offset": {
        -        "description": "<em>offset in the results array of returned anchors</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten anchors in the results array will be omitted and the data will be provided for the successive anchors",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "order_by": {
        -        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to set up a sorting type<br>example:<br><code>[\"backlinks,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"backlinks,desc\",\"rank,asc\"]</code>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "rank_scale": {
        -        "description": "<em>defines the scale used for calculating and displaying the <code>rank</code>, <code>domain_from_rank</code>, and <code>page_from_rank</code> values</em><br>optional field<p>you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale<p>possible values:<br><code>one_hundred</code> — rank values are displayed on a 0–100 scale<br><code>one_thousand</code> — rank values are displayed on a 0–1000 scale<p>default value: <code>one_thousand</code><p>learn more about how this parameter works and how ranking metrics are calculated in <a href=\"https://dataforseo.com/help-center/what_is_rank_in_backlinks_api#rank_scale\">this Help Center article</a>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "target": {
        -        "description": "<em>domain, subdomain or webpage to get anchors for</em><br><strong>required field</strong><br>a domain or a subdomain should be specified without <code>https://</code> and <code>www.</code><br>a page should be specified with absolute URL (including <code>http://</code> or <code>https://</code>)",
        -        "type": "string"
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / properties
        Added value: +{
        +  "backlinks_filters": {
        +    "description": "filter the backlinks of your target optional field you can use this field to filter the initial backlinks that will be included in the dataset for aggregated metrics for your target you can filter the backlinks by all fields available in the response of this endpoint using this parameter, you can include only dofollow backlinks in the response and create a flexible backlinks dataset to calculate the metrics for example: \"backlinks_filters\": [[\"dofollow\", \"=\", true]]",
        +    "items": {},
        +    "type": "array"
        +  },
        +  "backlinks_status_type": {
        +    "description": "set what backlinks to return and count optional field you can use this field to choose what backlinks will be returned and used for aggregated metrics for your target; possible values: all – all backlinks will be returned and counted; live – backlinks found during the last check will be returned and counted; lost – lost backlinks will be returned and counted; default value: live",
        +    "type": "string"
        +  },
        +  "exclude_internal_backlinks": {
        +    "description": "indicates whether the backlinks from subdomains of the target are excluded optional field if set to false, the backlinks from subdomains of the target will be ommited and you won’t receive the same domain in the response; default value: true",
        +    "type": "boolean"
        +  },
        +  "filters": {
        +    "description": "array of results filtering parameters optional field you can add several filters at once (8 filters maximum) you should set a logical operator and, or between the conditions the following operators are supported: regex, not_regex, =, , in, not_in, like, not_like, ilike, not_ilike, match, not_match you can use the % operator with like and not_like to match any string of zero or more characters example: [\"referring_links_types.anchors\",\">\",\"1\"] [[\"broken_pages\",\">\",\"2\"], \"and\", [\"backlinks\",\">\",\"10\"]] [[\"first_seen\",\">\",\"2017-10-23 11:31:45 +00:00\"], \"and\", [[\"anchor\",\"like\",\"%seo%\"],\"or\",[\"referring_domains\",\">\",\"10\"]]] The full list of possible filters is available here.",
        +    "items": {},
        +    "type": "array"
        +  },
        +  "include_indirect_links": {
        +    "description": "indicates if indirect links to the target will be included in the results optional field if set to true, the results will include data on indirect links pointing to a page that either redirects to the target, or points to a canonical page if set to false, indirect links will be ignored default value: true",
        +    "type": "boolean"
        +  },
        +  "include_subdomains": {
        +    "description": "indicates if the subdomains of the target will be included in the search optional field if set to false, the subdomains will be ignored default value: true",
        +    "type": "boolean"
        +  },
        +  "internal_list_limit": {
        +    "description": "maximum number of elements within internal arrays optional field you can use this field to limit the number of elements within the following arrays: referring_links_tld referring_links_types referring_links_attributes referring_links_platform_types referring_links_semantic_locations default value: 10 maximum value: 1000",
        +    "type": "integer"
        +  },
        +  "limit": {
        +    "description": "the maximum number of returned anchors optional field default value: 100 maximum value: 1000",
        +    "type": "integer"
        +  },
        +  "offset": {
        +    "description": "offset in the results array of returned anchors optional field default value: 0 if you specify the 10 value, the first ten anchors in the results array will be omitted and the data will be provided for the successive anchors",
        +    "type": "integer"
        +  },
        +  "order_by": {
        +    "description": "results sorting rules optional field you can use the same values as in the filters array to sort the results possible sorting types: asc – results will be sorted in the ascending order desc – results will be sorted in the descending order you should use a comma to set up a sorting type example: [\"backlinks,desc\"] note that you can set no more than three sorting rules in a single request you should use a comma to separate several sorting rules example: [\"backlinks,desc\",\"rank,asc\"]",
        +    "items": {
        +      "type": "string"
        +    },
        +    "type": "array"
        +  },
        +  "rank_scale": {
        +    "description": "defines the scale used for calculating and displaying the rank, domain_from_rank, and page_from_rank values optional field you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale possible values: one_hundred — rank values are displayed on a 0–100 scale one_thousand — rank values are displayed on a 0–1000 scale default value: one_thousand learn more about how this parameter works and how ranking metrics are calculated in this Help Center article",
        +    "type": "string"
        +  },
        +  "tag": {
        +    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        +    "type": "string"
        +  },
        +  "target": {
        +    "description": "domain, subdomain or webpage to get anchors for required field a domain or a subdomain should be specified without https:// and www. a page should be specified with absolute URL (including http:// or https://)",
        +    "type": "string"
        +  }
        +}
      • addedInput schema / properties / body / items / required
        Added value: +[
        +  "target"
        +]
      • changedInput schema / properties / body / items / type
        Previous value: -[
        -  "object",
        -  "null"
        -]New value: +"object"
      • changedInput schema / required
        Previous value: -[]New value: +[
        +  "body"
        +]
      • removedOutput schema / x-fastmcp-wrap-result
        Removed value: -true
    • Changedpost_dataforseo_backlinks_backlinks_live7 fields changed
      • removedInput schema / properties / body / example
        Removed value: -[
        -  {
        -    "filters": [
        -      "dofollow",
        -      "=",
        -      true
        -    ],
        -    "limit": 5,
        -    "mode": "as_is",
        -    "target": "forbes.com"
        -  }
        -]
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "filters": [
        -          "dofollow",
        -          "=",
        -          true
        -        ],
        -        "limit": 5,
        -        "mode": "as_is",
        -        "target": "forbes.com"
        -      }
        -    ],
        -    "properties": {
        -      "backlinks_status_type": {
        -        "description": "<em>set what backlinks to return and count</em><br>optional field<br>you can use this field to choose what backlinks will be returned and used for aggregated metrics for your <code>target</code>;<br>possible values: <br><code>all</code> - all backlinks will be returned and counted;<br><code>live</code> - backlinks found during the last check will be returned and counted;<br><code>lost</code> - lost backlinks will be returned and counted;<p>default value: <code>live</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "custom_mode": {
        -        "additionalProperties": {
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "description": "<em>detailed results grouping type</em><br>optional field<br>use this object to get a specific number of backlinks per <code>field</code><br>if you use <code>custom_mode</code>, then <code>mode</code> will be ignored<br>example:<br><code>\"custom_mode\": {\"field\": \"domain\", \"value\": 100}</code>",
        -        "type": [
        -          "object",
        -          "null"
        -        ]
        -      },
        -      "exclude_internal_backlinks": {
        -        "description": "<em>indicates if internal backlinks from subdomains to the <code>target</code> will be excluded from the results</em><br>optional field<br>if set to <code>true</code>, the results will not include data on internal backlinks from subdomains of the same domain as <code>target</code><br>if set to <code>false</code>, internal links will be included in the results<br>default value: <code>true</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "filters": {
        -        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>, <code>not_like</code>, <code>ilike</code>, <code>not_ilike</code>, <code>regex</code>, <code>not_regex</code>, <code>match</code>, <code>not_match</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters<br>example:<br><code>[\"rank\",\"&gt;\",\"80\"]</code><p><code>[[\"page_from_rank\",\"&gt;\",\"55\"],<br>\"and\",<br>[\"dofollow\",\"=\",true]]</code><p><code>[[\"first_seen\",\">\",\"2017-10-23 11:31:45 +00:00\"],<br>\"and\",<br>[[\"anchor\",\"like\",\"%seo%\"],\"or\",[\"text_pre\",\"like\",\"%seo%\"]]]</code><p>The full list of possible filters is available <a href=\"/v3/backlinks/filters/?bash\" rel=\"noopener noreferrer\" target=\"_blank\">here.</a>",
        -        "items": {
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "include_subdomains": {
        -        "description": "<em>indicates if the subdomains of the <code>target</code> will be included in the search</em><br>optional field<br>if set to <code>false</code>, the subdomains will be ignored<br>default value: <code>true</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "limit": {
        -        "description": "<em>the maximum number of returned backlinks</em><br>optional field<p>default value: <code>100</code><br>maximum value: <code>1000</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "mode": {
        -        "description": "<em>results grouping type</em><br>optional field<br>possible grouping types:<br><code>as_is</code> - returns all backlinks<br><code>one_per_domain</code> - returns one backlink per domain<br><code>one_per_anchor</code> - returns one backlink per anchor<p>default value: <code>as_is</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "offset": {
        -        "description": "<em>offset in the results array of the returned backlinks</em><br>optional field<p>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten backlinks in the results array will be omitted and the data will be provided for the successive backlinks;<br><strong>Note:</strong> the maximum value is <code>20,000</code>, use the <code>search_after_token</code> if you would like to offset more results",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "order_by": {
        -        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to set up a sorting type<br>example:<br><code>[\"rank,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"domain_from_rank,desc\",\"page_from_rank,asc\"]</code>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "rank_scale": {
        -        "description": "<em>defines the scale used for calculating and displaying the <code>rank</code>, <code>domain_from_rank</code>, and <code>page_from_rank</code> values</em><br>optional field<p>you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale<p>possible values:<br><code>one_hundred</code> — rank values are displayed on a 0–100 scale<br><code>one_thousand</code> — rank values are displayed on a 0–1000 scale<p>default value: <code>one_thousand</code><p>learn more about how this parameter works and how ranking metrics are calculated in <a href=\"https://dataforseo.com/help-center/what_is_rank_in_backlinks_api#rank_scale\">this Help Center article</a>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "search_after_token": {
        -        "description": "<em>token for subsequent requests</em><br>optional field<br>provided in the identical filed of the response to each request;<br>use this parameter to avoid timeouts while trying to obtain over <code>20,000</code> results in a single request;<br>by specifying the unique <code>search_after_token</code> value from the response array, you will get the subsequent results of the initial task;<br><code>search_after_token</code> values are unique for each subsequent task ;<br><strong>Note:</strong> if the <code>search_after_token</code> is specified in the request, all other parameters should be identical to the previous request",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "target": {
        -        "description": "<em>domain, subdomain or webpage to get backlinks for</em><br><strong>required field</strong><br>a domain or a subdomain should be specified without <code>https://</code> and <code>www.</code><br>a page should be specified with absolute URL (including <code>http://</code> or <code>https://</code>)",
        -        "type": "string"
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / properties
        Added value: +{
        +  "backlinks_status_type": {
        +    "description": "set what backlinks to return and count optional field you can use this field to choose what backlinks will be returned and used for aggregated metrics for your target; possible values: all – all backlinks will be returned and counted; live – backlinks found during the last check will be returned and counted; lost – lost backlinks will be returned and counted; default value: live",
        +    "type": "string"
        +  },
        +  "custom_mode": {
        +    "description": "detailed results grouping type optional field use this object to get a specific number of backlinks per field if you use custom_mode, then mode will be ignored example: \"custom_mode\": {\"field\": \"domain\", \"value\": 100}",
        +    "properties": {
        +      "field": {
        +        "type": "string"
        +      },
        +      "value": {
        +        "type": "integer"
        +      }
        +    },
        +    "type": "object"
        +  },
        +  "exclude_internal_backlinks": {
        +    "description": "indicates if internal backlinks from subdomains to the target will be excluded from the results optional field if set to true, the results will not include data on internal backlinks from subdomains of the same domain as target if set to false, internal links will be included in the results default value: true",
        +    "type": "boolean"
        +  },
        +  "filters": {
        +    "description": "array of results filtering parameters optional field you can add several filters at once (8 filters maximum) you should set a logical operator and, or between the conditions the following operators are supported: =, , in, not_in, like, not_like, ilike, not_ilike, regex, not_regex, match, not_match you can use the % operator with like and not_like to match any string of zero or more characters example: [\"rank\",\">\",\"80\"] [[\"page_from_rank\",\">\",\"55\"], \"and\", [\"dofollow\",\"=\",true]] [[\"first_seen\",\">\",\"2017-10-23 11:31:45 +00:00\"], \"and\", [[\"anchor\",\"like\",\"%seo%\"],\"or\",[\"text_pre\",\"like\",\"%seo%\"]]] The full list of possible filters is available here.",
        +    "items": {},
        +    "type": "array"
        +  },
        +  "include_subdomains": {
        +    "description": "indicates if the subdomains of the target will be included in the search optional field if set to false, the subdomains will be ignored default value: true",
        +    "type": "boolean"
        +  },
        +  "limit": {
        +    "description": "the maximum number of returned backlinks optional field default value: 100 maximum value: 1000",
        +    "type": "integer"
        +  },
        +  "mode": {
        +    "description": "results grouping type optional field possible grouping types: as_is – returns all backlinks one_per_domain – returns one backlink per domain one_per_anchor – returns one backlink per anchor default value: as_is",
        +    "type": "string"
        +  },
        +  "offset": {
        +    "description": "offset in the results array of the returned backlinks optional field default value: 0 if you specify the 10 value, the first ten backlinks in the results array will be omitted and the data will be provided for the successive backlinks; Note: the maximum value is 20,000, use the search_after_token if you would like to offset more results",
        +    "type": "integer"
        +  },
        +  "order_by": {
        +    "description": "results sorting rules optional field you can use the same values as in the filters array to sort the results possible sorting types: asc – results will be sorted in the ascending order desc – results will be sorted in the descending order you should use a comma to set up a sorting type example: [\"rank,desc\"] note that you can set no more than three sorting rules in a single request you should use a comma to separate several sorting rules example: [\"domain_from_rank,desc\",\"page_from_rank,asc\"]",
        +    "items": {
        +      "type": "string"
        +    },
        +    "type": "array"
        +  },
        +  "rank_scale": {
        +    "description": "defines the scale used for calculating and displaying the rank, domain_from_rank, and page_from_rank values optional field you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale possible values: one_hundred — rank values are displayed on a 0–100 scale one_thousand — rank values are displayed on a 0–1000 scale default value: one_thousand learn more about how this parameter works and how ranking metrics are calculated in this Help Center article",
        +    "type": "string"
        +  },
        +  "search_after_token": {
        +    "description": "token for subsequent requests optional field provided in the identical filed of the response to each request; use this parameter to avoid timeouts while trying to obtain over 20,000 results in a single request; by specifying the unique search_after_token value from the response array, you will get the subsequent results of the initial task; search_after_token values are unique for each subsequent task ; Note: if the search_after_token is specified in the request, all other parameters should be identical to the previous request",
        +    "type": "string"
        +  },
        +  "tag": {
        +    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        +    "type": "string"
        +  },
        +  "target": {
        +    "description": "domain, subdomain or webpage to get backlinks for required field a domain or a subdomain should be specified without https:// and www. a page should be specified with absolute URL (including http:// or https://)",
        +    "type": "string"
        +  }
        +}
      • addedInput schema / properties / body / items / required
        Added value: +[
        +  "target"
        +]
      • changedInput schema / properties / body / items / type
        Previous value: -[
        -  "object",
        -  "null"
        -]New value: +"object"
      • changedInput schema / required
        Previous value: -[]New value: +[
        +  "body"
        +]
      • removedOutput schema / x-fastmcp-wrap-result
        Removed value: -true
    • Changedpost_dataforseo_backlinks_competitors_live7 fields changed
      • removedInput schema / properties / body / example
        Removed value: -[
        -  {
        -    "filters": [
        -      "rank",
        -      ">",
        -      100
        -    ],
        -    "limit": 5,
        -    "order_by": [
        -      "rank,desc"
        -    ],
        -    "target": "dataforseo.com"
        -  }
        -]
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "filters": [
        -          "rank",
        -          ">",
        -          100
        -        ],
        -        "limit": 5,
        -        "order_by": [
        -          "rank,desc"
        -        ],
        -        "target": "dataforseo.com"
        -      }
        -    ],
        -    "properties": {
        -      "exclude_internal_backlinks": {
        -        "description": "<em>indicates if internal backlinks from subdomains to the <code>target</code> will be excluded from the results</em><br>optional field<br>if set to <code>true</code>, the results will not include data on internal backlinks from subdomains of the same domain as <code>target</code><br>if set to <code>false</code>, internal links will be included in the results<br>default value: <code>true</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "exclude_large_domains": {
        -        "description": "<em>indicates whether large domain will appear in results</em><br>optional field<br>if set to <code>true</code>, the results from the large domain (google.com, amazon.com, etc.) will be omitted;<br>default value: <code>true</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "filters": {
        -        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>, <code>not_like</code>, <code>ilike</code>, <code>not_ilike</code>, <code>match</code>, <code>not_match</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters<br>example:<br><code>[\"rank\",\"&gt;\",\"100\"]</code><p><code>[[\"target\",\"like\",\"%forbes%\"],<br>\"and\",<br>[[\"rank\",\"&gt;\",\"100\"],\"or\",[\"intersections\",\"&gt;\",\"5\"]]]</code><p>The full list of possible filters is available <a href=\"/v3/backlinks/filters/?bash\" rel=\"noopener noreferrer\" target=\"_blank\">here.</a>",
        -        "items": {
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "limit": {
        -        "description": "<em>the maximum number of returned domains</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "main_domain": {
        -        "description": "<em>indicates if only main domain of the <code>target</code> will be included in the search</em><br>optional field<br>if set to <code>true</code>, only the main domain will be included in search;<br>default value: <code>true</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "offset": {
        -        "description": "<em>offset in the results array of returned domains</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten domains in the results array will be omitted and the data will be provided for the successive pages",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "order_by": {
        -        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to set up a sorting type<br>example:<br><code>[\"rank,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"intersections,desc\",\"rank,asc\"]</code>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "rank_scale": {
        -        "description": "<em>defines the scale used for calculating and displaying the <code>rank</code>, <code>domain_from_rank</code>, and <code>page_from_rank</code> values</em><br>optional field<p>you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale<p>possible values:<br><code>one_hundred</code> — rank values are displayed on a 0–100 scale<br><code>one_thousand</code> — rank values are displayed on a 0–1000 scale<p>default value: <code>one_thousand</code><p>learn more about how this parameter works and how ranking metrics are calculated in <a href=\"https://dataforseo.com/help-center/what_is_rank_in_backlinks_api#rank_scale\">this Help Center article</a>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "target": {
        -        "description": "<em>domain, subdomain or webpage to get competitor domains for</em><br><strong>required field</strong><br>a domain or a subdomain should be specified without <code>https://</code> and <code>www.</code><br>a page should be specified with absolute URL (including <code>http://</code> or <code>https://</code>)",
        -        "type": "string"
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / properties
        Added value: +{
        +  "exclude_internal_backlinks": {
        +    "description": "indicates if internal backlinks from subdomains to the target will be excluded from the results optional field if set to true, the results will not include data on internal backlinks from subdomains of the same domain as target if set to false, internal links will be included in the results default value: true",
        +    "type": "boolean"
        +  },
        +  "exclude_large_domains": {
        +    "description": "indicates whether large domain will appear in results optional field if set to true, the results from the large domain (google.com, amazon.com, etc.) will be omitted; default value: true",
        +    "type": "boolean"
        +  },
        +  "filters": {
        +    "description": "array of results filtering parameters optional field you can add several filters at once (8 filters maximum) you should set a logical operator and, or between the conditions the following operators are supported: regex, not_regex, =, , in, not_in, like, not_like, ilike, not_ilike, match, not_match you can use the % operator with like and not_like to match any string of zero or more characters example: [\"rank\",\">\",\"100\"] [[\"target\",\"like\",\"%forbes%\"], \"and\", [[\"rank\",\">\",\"100\"],\"or\",[\"intersections\",\">\",\"5\"]]] The full list of possible filters is available here.",
        +    "items": {},
        +    "type": "array"
        +  },
        +  "limit": {
        +    "description": "the maximum number of returned domains optional field default value: 100 maximum value: 1000",
        +    "type": "integer"
        +  },
        +  "main_domain": {
        +    "description": "indicates if only main domain of the target will be included in the search optional field if set to true, only the main domain will be included in search; default value: true",
        +    "type": "boolean"
        +  },
        +  "offset": {
        +    "description": "offset in the results array of returned domains optional field default value: 0 if you specify the 10 value, the first ten domains in the results array will be omitted and the data will be provided for the successive pages",
        +    "type": "integer"
        +  },
        +  "order_by": {
        +    "description": "results sorting rules optional field you can use the same values as in the filters array to sort the results possible sorting types: asc – results will be sorted in the ascending order desc – results will be sorted in the descending order you should use a comma to set up a sorting type example: [\"rank,desc\"] note that you can set no more than three sorting rules in a single request you should use a comma to separate several sorting rules example: [\"intersections,desc\",\"rank,asc\"]",
        +    "items": {
        +      "type": "string"
        +    },
        +    "type": "array"
        +  },
        +  "rank_scale": {
        +    "description": "defines the scale used for calculating and displaying the rank, domain_from_rank, and page_from_rank values optional field you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale possible values: one_hundred — rank values are displayed on a 0–100 scale one_thousand — rank values are displayed on a 0–1000 scale default value: one_thousand learn more about how this parameter works and how ranking metrics are calculated in this Help Center article",
        +    "type": "string"
        +  },
        +  "tag": {
        +    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        +    "type": "string"
        +  },
        +  "target": {
        +    "description": "domain, subdomain or webpage to get competitor domains for required field a domain or a subdomain should be specified without https:// and www. a page should be specified with absolute URL (including http:// or https://)",
        +    "type": "string"
        +  }
        +}
      • addedInput schema / properties / body / items / required
        Added value: +[
        +  "target"
        +]
      • changedInput schema / properties / body / items / type
        Previous value: -[
        -  "object",
        -  "null"
        -]New value: +"object"
      • changedInput schema / required
        Previous value: -[]New value: +[
        +  "body"
        +]
      • removedOutput schema / x-fastmcp-wrap-result
        Removed value: -true
    • Changedpost_dataforseo_backlinks_history_live7 fields changed
      • removedInput schema / properties / body / example
        Removed value: -[
        -  {
        -    "date_from": "2020-01-01",
        -    "date_to": "2021-01-01",
        -    "target": "cnn.com"
        -  }
        -]
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "date_from": "2020-01-01",
        -        "date_to": "2021-01-01",
        -        "target": "cnn.com"
        -      }
        -    ],
        -    "properties": {
        -      "date_from": {
        -        "description": "<em>starting date of the time range</em><br>optional field<br>minimum value <code>2019-01-01</code><br>if you don't specify this field, the minimum value will be used by default<br>date format: <code>\"yyyy-mm-dd\"</code><br>example:<br><code>\"2019-01-15\"</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "date_to": {
        -        "description": "<em>ending date of the time range</em><br>optional field<br>if you don't specify this field, the today's date will be used by default<br>date format: <code>\"yyyy-mm-dd\"</code><br>example:<br><code>\"2019-01-15\"</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "rank_scale": {
        -        "description": "<em>defines the scale used for calculating and displaying the <code>rank</code>, <code>domain_from_rank</code>, and <code>page_from_rank</code> values</em><br>optional field<p>you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale<p>possible values:<br><code>one_hundred</code> — rank values are displayed on a 0–100 scale<br><code>one_thousand</code> — rank values are displayed on a 0–1000 scale<p>default value: <code>one_thousand</code><p>learn more about how this parameter works and how ranking metrics are calculated in <a href=\"https://dataforseo.com/help-center/what_is_rank_in_backlinks_api#rank_scale\">this Help Center article</a>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "target": {
        -        "description": "<em>domain</em><br><strong>required field</strong><br>a domain should be specified without <code>https://</code> and <code>www.</code>",
        -        "type": "string"
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / properties
        Added value: +{
        +  "date_from": {
        +    "description": "starting date of the time range optional field minimum value 2019-01-01 if you don’t specify this field, the minimum value will be used by default date format: \"yyyy-mm-dd\" example: \"2019-01-15\"",
        +    "type": "string"
        +  },
        +  "date_to": {
        +    "description": "ending date of the time range optional field if you don’t specify this field, the today’s date will be used by default date format: \"yyyy-mm-dd\" example: \"2019-01-15\"",
        +    "type": "string"
        +  },
        +  "rank_scale": {
        +    "description": "defines the scale used for calculating and displaying the rank, domain_from_rank, and page_from_rank values optional field you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale possible values: one_hundred — rank values are displayed on a 0–100 scale one_thousand — rank values are displayed on a 0–1000 scale default value: one_thousand learn more about how this parameter works and how ranking metrics are calculated in this Help Center article",
        +    "type": "string"
        +  },
        +  "tag": {
        +    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        +    "type": "string"
        +  },
        +  "target": {
        +    "description": "domain required field a domain should be specified without https:// and www.",
        +    "type": "string"
        +  }
        +}
      • addedInput schema / properties / body / items / required
        Added value: +[
        +  "target"
        +]
      • changedInput schema / properties / body / items / type
        Previous value: -[
        -  "object",
        -  "null"
        -]New value: +"object"
      • changedInput schema / required
        Previous value: -[]New value: +[
        +  "body"
        +]
      • removedOutput schema / x-fastmcp-wrap-result
        Removed value: -true
    • Changedpost_dataforseo_backlinks_referring_domains_live7 fields changed
      • removedInput schema / properties / body / example
        Removed value: -[
        -  {
        -    "backlinks_filters": [
        -      "dofollow",
        -      "=",
        -      true
        -    ],
        -    "exclude_internal_backlinks": true,
        -    "filters": [
        -      "backlinks",
        -      ">",
        -      100
        -    ],
        -    "limit": 5,
        -    "order_by": [
        -      "rank,desc"
        -    ],
        -    "target": "backlinko.com"
        -  }
        -]
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "backlinks_filters": [
        -          "dofollow",
        -          "=",
        -          true
        -        ],
        -        "exclude_internal_backlinks": true,
        -        "filters": [
        -          "backlinks",
        -          ">",
        -          100
        -        ],
        -        "limit": 5,
        -        "order_by": [
        -          "rank,desc"
        -        ],
        -        "target": "backlinko.com"
        -      }
        -    ],
        -    "properties": {
        -      "backlinks_filters": {
        -        "description": "<em>filter the backlinks of your <code>target</code></em><br>optional field<br>you can use this field to filter the initial backlinks that will be included in the dataset for aggregated metrics for your <code>target</code><br>you can filter the backlinks by all fields available in the response of <a href=\"/v3/backlinks/backlinks/live\">this endpoint</a><br>using this parameter, you can include only dofollow backlinks in the response and create a flexible backlinks dataset to calculate the metrics for<br>example:<br><code>\"backlinks_filters\": [\"dofollow\", \"=\", true]</code>",
        -        "items": {
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "backlinks_status_type": {
        -        "description": "<em>set what backlinks to return and count</em><br>optional field<br>you can use this field to choose what backlinks will be returned and used for aggregated metrics for your <code>target</code>;<br>possible values: <br><code>all</code> - all backlinks will be returned and counted;<br><code>live</code> - backlinks found during the last check will be returned and counted;<br><code>lost</code> - lost backlinks will be returned and counted;<p>default value: <code>live</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "exclude_internal_backlinks": {
        -        "description": "<em>indicates whether the backlinks from subdomains of the <code>target</code> are excluded</em><br>optional field<br>if set to <code>false</code>, the backlinks from subdomains of the <code>target</code> will be ommited and you won't receive the same domain in the response;<br>default value: <code>true</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "filters": {
        -        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>, <code>not_like</code>, <code>match</code>, <code>not_match</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters<br>example:<br><code>[\"referring_pages\",\"&gt;\",\"1\"]</code><p><code>[[\"referring_pages\",\"&gt;\",\"2\"],<br>\"and\",<br>[\"backlinks\",\"&gt;\",\"10\"]]</code><p><code>[[\"first_seen\",\">\",\"2017-10-23 11:31:45 +00:00\"],<br>\"and\",<br>[[\"domain\",\"like\",\"%dataforseo.com%\"],\"or\",[\"referring_domains\",\"&gt;\",\"10\"]]]</code><p>The full list of possible filters is available <a href=\"/v3/backlinks/filters/?bash\" rel=\"noopener noreferrer\" target=\"_blank\">here.</a>",
        -        "items": {
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "include_indirect_links": {
        -        "description": "<em>indicates if indirect links to the <code>target</code> will be included in the results</em><br>optional field<br>if set to <code>true</code>, the results will include data on indirect links pointing to a page that either redirects to the target, or points to a canonical page<br>if set to <code>false</code>, indirect links will be ignored<br>default value: <code>true</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "include_subdomains": {
        -        "description": "<em>indicates if the subdomains of the <code>target</code> will be included in the search</em><br>optional field<br>if set to <code>false</code>, the subdomains will be ignored<br>default value: <code>true</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "internal_list_limit": {
        -        "description": "<em>maximum number of elements within internal arrays</em><br>optional field<br>you can use this field to limit the number of elements within the following arrays:<br><code>referring_links_tld</code><br><code>referring_links_types</code><br><code>referring_links_attributes</code><br><code>referring_links_platform_types</code><br><code>referring_links_semantic_locations</code><p>default value: <code>10</code><br>maximum value: <code>1000</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "limit": {
        -        "description": "<em>the maximum number of returned domains</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "offset": {
        -        "description": "<em>offset in the results array of returned domains</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten domains in the results array will be omitted and the data will be provided for the successive pages",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "order_by": {
        -        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to set up a sorting type<br>example:<br><code>[\"backlinks,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"backlinks,desc\",\"rank,asc\"]</code>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "rank_scale": {
        -        "description": "<em>defines the scale used for calculating and displaying the <code>rank</code>, <code>domain_from_rank</code>, and <code>page_from_rank</code> values</em><br>optional field<p>you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale<p>possible values:<br><code>one_hundred</code> — rank values are displayed on a 0–100 scale<br><code>one_thousand</code> — rank values are displayed on a 0–1000 scale<p>default value: <code>one_thousand</code><p>learn more about how this parameter works and how ranking metrics are calculated in <a href=\"https://dataforseo.com/help-center/what_is_rank_in_backlinks_api#rank_scale\">this Help Center article</a>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "target": {
        -        "description": "<em>domain, subdomain or webpage to get referring domains for</em><br><strong>required field</strong><br>a domain or a subdomain should be specified without <code>https://</code> and <code>www.</code><br>a page should be specified with absolute URL (including <code>http://</code> or <code>https://</code>)",
        -        "type": "string"
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / properties
        Added value: +{
        +  "backlinks_filters": {
        +    "description": "filter the backlinks of your target optional field you can use this field to filter the initial backlinks that will be included in the dataset for aggregated metrics for your target you can filter the backlinks by all fields available in the response of this endpoint using this parameter, you can include only dofollow backlinks in the response and create a flexible backlinks dataset to calculate the metrics for example: \"backlinks_filters\": [\"dofollow\", \"=\", true]",
        +    "items": {},
        +    "type": "array"
        +  },
        +  "backlinks_status_type": {
        +    "description": "set what backlinks to return and count optional field you can use this field to choose what backlinks will be returned and used for aggregated metrics for your target; possible values: all – all backlinks will be returned and counted; live – backlinks found during the last check will be returned and counted; lost – lost backlinks will be returned and counted; default value: live",
        +    "type": "string"
        +  },
        +  "exclude_internal_backlinks": {
        +    "description": "indicates whether the backlinks from subdomains of the target are excluded optional field if set to false, the backlinks from subdomains of the target will be ommited and you won’t receive the same domain in the response; default value: true",
        +    "type": "boolean"
        +  },
        +  "filters": {
        +    "description": "array of results filtering parameters optional field you can add several filters at once (8 filters maximum) you should set a logical operator and, or between the conditions the following operators are supported: regex, not_regex, =, , in, not_in, like, not_like, match, not_match you can use the % operator with like and not_like to match any string of zero or more characters example: [\"referring_pages\",\">\",\"1\"] [[\"referring_pages\",\">\",\"2\"], \"and\", [\"backlinks\",\">\",\"10\"]] [[\"first_seen\",\">\",\"2017-10-23 11:31:45 +00:00\"], \"and\", [[\"domain\",\"like\",\"%dataforseo.com%\"],\"or\",[\"referring_domains\",\">\",\"10\"]]] The full list of possible filters is available here.",
        +    "items": {},
        +    "type": "array"
        +  },
        +  "include_indirect_links": {
        +    "description": "indicates if indirect links to the target will be included in the results optional field if set to true, the results will include data on indirect links pointing to a page that either redirects to the target, or points to a canonical page if set to false, indirect links will be ignored default value: true",
        +    "type": "boolean"
        +  },
        +  "include_subdomains": {
        +    "description": "indicates if the subdomains of the target will be included in the search optional field if set to false, the subdomains will be ignored default value: true",
        +    "type": "boolean"
        +  },
        +  "internal_list_limit": {
        +    "description": "maximum number of elements within internal arrays optional field you can use this field to limit the number of elements within the following arrays: referring_links_tld referring_links_types referring_links_attributes referring_links_platform_types referring_links_semantic_locations default value: 10 maximum value: 1000",
        +    "type": "integer"
        +  },
        +  "limit": {
        +    "description": "the maximum number of returned domains optional field default value: 100 maximum value: 1000",
        +    "type": "integer"
        +  },
        +  "offset": {
        +    "description": "offset in the results array of returned domains optional field default value: 0 if you specify the 10 value, the first ten domains in the results array will be omitted and the data will be provided for the successive pages",
        +    "type": "integer"
        +  },
        +  "order_by": {
        +    "description": "results sorting rules optional field you can use the same values as in the filters array to sort the results possible sorting types: asc – results will be sorted in the ascending order desc – results will be sorted in the descending order you should use a comma to set up a sorting type example: [\"backlinks,desc\"] note that you can set no more than three sorting rules in a single request you should use a comma to separate several sorting rules example: [\"backlinks,desc\",\"rank,asc\"]",
        +    "items": {
        +      "type": "string"
        +    },
        +    "type": "array"
        +  },
        +  "rank_scale": {
        +    "description": "defines the scale used for calculating and displaying the rank, domain_from_rank, and page_from_rank values optional field you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale possible values: one_hundred — rank values are displayed on a 0–100 scale one_thousand — rank values are displayed on a 0–1000 scale default value: one_thousand learn more about how this parameter works and how ranking metrics are calculated in this Help Center article",
        +    "type": "string"
        +  },
        +  "tag": {
        +    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        +    "type": "string"
        +  },
        +  "target": {
        +    "description": "domain, subdomain or webpage to get referring domains for required field a domain or a subdomain should be specified without https:// and www. a page should be specified with absolute URL (including http:// or https://)",
        +    "type": "string"
        +  }
        +}
      • addedInput schema / properties / body / items / required
        Added value: +[
        +  "target"
        +]
      • changedInput schema / properties / body / items / type
        Previous value: -[
        -  "object",
        -  "null"
        -]New value: +"object"
      • changedInput schema / required
        Previous value: -[]New value: +[
        +  "body"
        +]
      • removedOutput schema / x-fastmcp-wrap-result
        Removed value: -true
    • Changedpost_dataforseo_backlinks_summary_live7 fields changed
      • removedInput schema / properties / body / example
        Removed value: -[
        -  {
        -    "backlinks_filters": [
        -      "dofollow",
        -      "=",
        -      true
        -    ],
        -    "backlinks_status_type": "all",
        -    "include_subdomains": true,
        -    "internal_list_limit": 10,
        -    "target": "explodingtopics.com"
        -  }
        -]
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "backlinks_filters": [
        -          "dofollow",
        -          "=",
        -          true
        -        ],
        -        "backlinks_status_type": "all",
        -        "include_subdomains": true,
        -        "internal_list_limit": 10,
        -        "target": "explodingtopics.com"
        -      }
        -    ],
        -    "properties": {
        -      "backlinks_filters": {
        -        "description": "<em>filter the backlinks of your <code>target</code></em><br>optional field<br>you can use this field to filter the initial backlinks that will be included in the dataset for aggregated metrics for your <code>target</code><br>you can filter the backlinks by all fields available in the response of <a href=\"/v3/backlinks/backlinks/live\">this endpoint</a><br>using this parameter, you can include only dofollow backlinks in the response and create a flexible backlinks dataset to calculate the metrics for<br>example:<br><code>\"backlinks_filters\": [\"dofollow\", \"=\", true]</code>",
        -        "items": {
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "backlinks_status_type": {
        -        "description": "<em>set what backlinks to return and count</em><br>optional field<br>you can use this field to choose what backlinks will be returned and used for aggregated metrics for your <code>target</code>;<br>possible values: <br><code>all</code> - all backlinks will be returned and counted;<br><code>live</code> - backlinks found during the last check will be returned and counted;<br><code>lost</code> - lost backlinks will be returned and counted;<p>default value: <code>live</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "exclude_internal_backlinks": {
        -        "description": "<em>indicates if internal backlinks from subdomains to the <code>target</code> will be excluded from the results</em><br>optional field<br>if set to <code>true</code>, the results will not include data on internal backlinks from subdomains of the same domain as <code>target</code><br>if set to <code>false</code>, internal links will be included in the results<br>default value: <code>true</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "include_indirect_links": {
        -        "description": "<em>indicates if indirect links to the <code>target</code> will be included in the results</em><br>optional field<br>if set to <code>true</code>, the results will include data on indirect links pointing to a page that either redirects to the target, or points to a canonical page<br>if set to <code>false</code>, indirect links will be ignored<br>default value: <code>true</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "include_subdomains": {
        -        "description": "<em>indicates if the subdomains of the <code>target</code> will be included in the search</em><br>optional field<br>if set to <code>false</code>, the subdomains will be ignored<br>default value: <code>true</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "internal_list_limit": {
        -        "description": "<em>maximum number of elements within internal arrays</em><br>optional field<br>you can use this field to limit the number of elements within the following arrays:<br><code>referring_links_tld</code><br><code>referring_links_types</code><br><code>referring_links_attributes</code><br><code>referring_links_platform_types</code><br><code>referring_links_semantic_locations</code><p>default value: <code>10</code><br>maximum value: <code>1000</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "rank_scale": {
        -        "description": "<em>defines the scale used for calculating and displaying the <code>rank</code>, <code>domain_from_rank</code>, and <code>page_from_rank</code> values</em><br>optional field<p>you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale<p>possible values:<br><code>one_hundred</code> — rank values are displayed on a 0–100 scale<br><code>one_thousand</code> — rank values are displayed on a 0–1000 scale<p>default value: <code>one_thousand</code><p>learn more about how this parameter works and how ranking metrics are calculated in <a href=\"https://dataforseo.com/help-center/what_is_rank_in_backlinks_api#rank_scale\">this Help Center article</a>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "target": {
        -        "description": "<em>domain, subdomain or webpage to get data for</em><br><strong>required field</strong><br>a domain or a subdomain should be specified without <code>https://</code> and <code>www.</code><br>a page should be specified with absolute URL (including <code>http://</code> or <code>https://</code>)",
        -        "type": "string"
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / properties
        Added value: +{
        +  "backlinks_filters": {
        +    "description": "filter the backlinks of your target optional field you can use this field to filter the initial backlinks that will be included in the dataset for aggregated metrics for your target you can filter the backlinks by all fields available in the response of this endpoint using this parameter, you can include only dofollow backlinks in the response and create a flexible backlinks dataset to calculate the metrics for example: \"backlinks_filters\": [\"dofollow\", \"=\", true]",
        +    "items": {},
        +    "type": "array"
        +  },
        +  "backlinks_status_type": {
        +    "description": "set what backlinks to return and count optional field you can use this field to choose what backlinks will be returned and used for aggregated metrics for your target; possible values: all – all backlinks will be returned and counted; live – backlinks found during the last check will be returned and counted; lost – lost backlinks will be returned and counted; default value: live",
        +    "type": "string"
        +  },
        +  "exclude_internal_backlinks": {
        +    "description": "indicates if internal backlinks from subdomains to the target will be excluded from the results optional field if set to true, the results will not include data on internal backlinks from subdomains of the same domain as target if set to false, internal links will be included in the results default value: true",
        +    "type": "boolean"
        +  },
        +  "include_indirect_links": {
        +    "description": "indicates if indirect links to the target will be included in the results optional field if set to true, the results will include data on indirect links pointing to a page that either redirects to the target, or points to a canonical page if set to false, indirect links will be ignored default value: true",
        +    "type": "boolean"
        +  },
        +  "include_subdomains": {
        +    "description": "indicates if the subdomains of the target will be included in the search optional field if set to false, the subdomains will be ignored default value: true",
        +    "type": "boolean"
        +  },
        +  "internal_list_limit": {
        +    "description": "maximum number of elements within internal arrays optional field you can use this field to limit the number of elements within the following arrays: referring_links_tld referring_links_types referring_links_attributes referring_links_platform_types referring_links_semantic_locations default value: 10 maximum value: 1000",
        +    "type": "integer"
        +  },
        +  "rank_scale": {
        +    "description": "defines the scale used for calculating and displaying the rank, domain_from_rank, and page_from_rank values optional field you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale possible values: one_hundred — rank values are displayed on a 0–100 scale one_thousand — rank values are displayed on a 0–1000 scale default value: one_thousand learn more about how this parameter works and how ranking metrics are calculated in this Help Center article",
        +    "type": "string"
        +  },
        +  "tag": {
        +    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        +    "type": "string"
        +  },
        +  "target": {
        +    "description": "domain, subdomain or webpage to get data for required field a domain or a subdomain should be specified without https:// and www. a page should be specified with absolute URL (including http:// or https://)",
        +    "type": "string"
        +  }
        +}
      • addedInput schema / properties / body / items / required
        Added value: +[
        +  "target"
        +]
      • changedInput schema / properties / body / items / type
        Previous value: -[
        -  "object",
        -  "null"
        -]New value: +"object"
      • changedInput schema / required
        Previous value: -[]New value: +[
        +  "body"
        +]
      • removedOutput schema / x-fastmcp-wrap-result
        Removed value: -true
    • Changedpost_dataforseo_content_search_live6 fields changed
      • removedInput schema / properties / body / example
        Removed value: -[
        -  {
        -    "filters": [
        -      "main_domain",
        -      "=",
        -      "reviewfinder.ca"
        -    ],
        -    "keyword": "logitech",
        -    "keyword_fields": {
        -      "snippet": "logitech"
        -    },
        -    "limit": 10,
        -    "order_by": [
        -      "content_info.sentiment_connotations.anger,desc"
        -    ],
        -    "page_type": [
        -      "ecommerce",
        -      "news",
        -      "blogs",
        -      "message-boards",
        -      "organization"
        -    ],
        -    "search_mode": "as_is"
        -  }
        -]
      • changedInput schema / properties / body / items / anyOf
        Previous value: -[
        -  {
        -    "example": [
        -      {
        -        "filters": [
        -          "main_domain",
        -          "=",
        -          "reviewfinder.ca"
        -        ],
        -        "keyword": "logitech",
        -        "keyword_fields": {
        -          "snippet": "logitech"
        -        },
        -        "limit": 10,
        -        "order_by": [
        -          "content_info.sentiment_connotations.anger,desc"
        -        ],
        -        "page_type": [
        -          "ecommerce",
        -          "news",
        -          "blogs",
        -          "message-boards",
        -          "organization"
        -        ],
        -        "search_mode": "as_is"
        -      }
        -    ],
        -    "properties": {
        -      "filters": {
        -        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>,<code>not_like</code>, <code>match</code>, <code>not_match</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters<br>example:<br><code>[\"country\",\"=\", \"US\"]</code><p><code>[[\"domain_rank\",\"&gt;\",800],\"and\",[\"content_info.connotation_types.negative\",\"&gt;\",0.9]]</code><p><code>[[\"domain_rank\",\"&gt;\",800],<br>\"and\",<br>[[\"page_types\",\"has\",\"ecommerce\"],<br>\"or\",<p>[\"content_info.text_category\",\"has\",10994]]]</code><br>for more information about filters, please refer to <a href=\"/v3/content_analysis/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Content Analysis API - Filters</a>",
        -        "items": {
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "keyword": {
        -        "description": "<em>target keyword</em><br><strong>required field</strong><br>UTF-8 encoding<br>the keywords will be converted to a lowercase format;<br><strong>Note</strong>: to match an exact phrase instead of a stand-alone keyword, use double quotes and backslashes; <br>example: <br>`\"keyword\": \"\\\"tesla palo alto\\\"\"`<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        -        "type": "string"
        -      },
        -      "keyword_fields": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "null"
        -          ]
        -        },
        -        "description": "<em>target keyword fields and target keywords</em><br>optional field<br>use this parameter to filter the dataset by keywords that certain fields should contain;<br>fields you can specify: <code>title</code>, <code>main_title</code>, <code>previous_title</code>, <code>snippet</code><br>you can indicate several fields;<br><strong>Note</strong>: to match an exact phrase instead of a stand-alone keyword, use double quotes and backslashes; <br>example:<br>`\"keyword_fields\": {<br>\"snippet\": \"\\\"logitech mouse\\\"\",<br>\"main_title\": \"sale\"<br>}\"`",
        -        "type": [
        -          "object",
        -          "null"
        -        ]
        -      },
        -      "limit": {
        -        "description": "<em>the maximum number of returned citations</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "offset": {
        -        "description": "<em>offset in the results array of returned citations</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten citations in the results array will be omitted and the data will be provided for the successive citations<br><strong>Note:</strong> we recommend using this parameter only when retrieving up to 10,000 results<br>for retrieving over 10,000 results, use the <code>offset_token</code> instead.",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "offset_token": {
        -        "description": "<em>offset token for subsequent requests</em><br>optional field<br>provided in the identical field of the response to each request;<br>use this parameter to avoid timeouts while trying to obtain over 10,000 results in a single request;<br>by specifying the unique <code>offset_token</code> value from the response array, you will get the subsequent results of the initial task;<br><code>offset_token</code> values are unique for each subsequent task <br><strong>Note:</strong> if the <code>offset_token</code> is specified in the request, all other parameters except <code>limit</code> will not be taken into account when processing a task<br>learn more about this parameter on our <a href=\"https://dataforseo.com/help-center/what-is-the-difference-between-the-offset-and-offset_token-parameters#offset_token\" target=\"_blank\">Help Center</a>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "order_by": {
        -        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to set up a sorting type<br>example:<br><code>[\"content_info.sentiment_connotations.anger,desc\"]</code><br>default rule:<br><code>[\"content_info.sentiment_connotations.anger,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"content_info.sentiment_connotations.anger,desc\",\"keyword_data.keyword_info.cpc,desc\"]</code>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "page_type": {
        -        "description": "<em>target page types</em><br>optional field<br>use this parameter to filter the dataset by page types<br>possible values: <br><code>\"ecommerce\"</code>, <code>\"news\"</code>, <code>\"blogs\"</code>, <code>\"message-boards\"</code>, <code>\"organization\"</code>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "rank_scale": {
        -        "description": "<em>defines the scale used for calculating and displaying the <code>domain_rank</code>, and <code>url_rank</code> values</em><br>optional field<p>you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale<p>possible values:<br><code>one_hundred</code> — rank values are displayed on a 0–100 scale<br><code>one_thousand</code> — rank values are displayed on a 0–1000 scale<p>default value: <code>one_thousand</code><p>learn more about how this parameter works in <a href=\"https://dataforseo.com/help-center/using-the-rank_scale-parameter-in-content-analysis-api\">this Help Center article</a>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "search_mode": {
        -        "description": "<em>results grouping type</em><br>optional field<br>possible grouping types:<br><code>as_is</code> - returns all citations for the target <code>keyword</code><br><code>one_per_domain</code> - returns one citation of the <code>keyword</code> per domain<br>default value: <code>as_is</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "required": [
        +      "keyword"
        +    ]
        +  },
        +  {
        +    "required": [
        +      "offset_token"
        +    ]
        +  }
        +]
      • addedInput schema / properties / body / items / properties
        Added value: +{
        +  "filters": {
        +    "description": "array of results filtering parameters optional field you can add several filters at once (8 filters maximum) you should set a logical operator and, or between the conditions the following operators are supported: regex, not_regex, , , >, >=, =, , in, not_in, like,not_like, match, not_match you can use the % operator with like and not_like to match any string of zero or more characters example: [\"country\",\"=\", \"US\"] [[\"domain_rank\",\">\",800],\"and\",[\"content_info.connotation_types.negative\",\">\",0.9]] [[\"domain_rank\",\">\",800], \"and\", [[\"page_types\",\"has\",\"ecommerce\"], \"or\", [\"content_info.text_category\",\"has\",10994]]] for more information about filters, please refer to Content Analysis API – Filters",
        +    "items": {},
        +    "type": "array"
        +  },
        +  "keyword": {
        +    "description": "target keyword required field UTF-8 encoding the keywords will be converted to a lowercase format; Note: to match an exact phrase instead of a stand-alone keyword, use double quotes and backslashes; example: \"keyword\": \"\\\"tesla palo alto\\\"\" learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        +    "type": "string"
        +  },
        +  "keyword_fields": {
        +    "description": "target keyword fields and target keywords optional field use this parameter to filter the dataset by keywords that certain fields should contain; fields you can specify: title, main_title, previous_title, snippet you can indicate several fields; Note: to match an exact phrase instead of a stand-alone keyword, use double quotes and backslashes; example: \"keyword_fields\": { \"snippet\": \"\\\"logitech mouse\\\"\", \"main_title\": \"sale\" }",
        +    "properties": {
        +      "main_title": {
        +        "type": "string"
        +      },
        +      "previous_title": {
        +        "type": "string"
        +      },
        +      "snippet": {
        +        "type": "string"
        +      },
        +      "title": {
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  },
        +  "limit": {
        +    "description": "the maximum number of returned citations optional field default value: 100 maximum value: 1000",
        +    "type": "integer"
        +  },
        +  "offset": {
        +    "description": "offset in the results array of returned citations optional field default value: 0 if you specify the 10 value, the first ten citations in the results array will be omitted and the data will be provided for the successive citations Note: we recommend using this parameter only when retrieving up to 10,000 results for retrieving over 10,000 results, use the offset_token instead.",
        +    "type": "integer"
        +  },
        +  "offset_token": {
        +    "description": "offset token for subsequent requests optional field provided in the identical field of the response to each request; use this parameter to avoid timeouts while trying to obtain over 10,000 results in a single request; by specifying the unique offset_token value from the response array, you will get the subsequent results of the initial task; offset_token values are unique for each subsequent task Note: if the offset_token is specified in the request, all other parameters except limit will not be taken into account when processing a task learn more about this parameter on our Help Center",
        +    "type": "string"
        +  },
        +  "order_by": {
        +    "description": "results sorting rules optional field you can use the same values as in the filters array to sort the results possible sorting types: asc – results will be sorted in the ascending order desc – results will be sorted in the descending order you should use a comma to set up a sorting type example: [\"content_info.sentiment_connotations.anger,desc\"] default rule: [\"content_info.sentiment_connotations.anger,desc\"] note that you can set no more than three sorting rules in a single request you should use a comma to separate several sorting rules example: [\"content_info.sentiment_connotations.anger,desc\",\"keyword_data.keyword_info.cpc,desc\"]",
        +    "items": {
        +      "type": "string"
        +    },
        +    "type": "array"
        +  },
        +  "page_type": {
        +    "description": "target page types optional field use this parameter to filter the dataset by page types possible values: \"ecommerce\", \"news\", \"blogs\", \"message-boards\", \"organization\"",
        +    "items": {
        +      "type": "string"
        +    },
        +    "type": "array"
        +  },
        +  "rank_scale": {
        +    "description": "defines the scale used for calculating and displaying the domain_rank, and url_rank values optional field you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale possible values: one_hundred — rank values are displayed on a 0–100 scale one_thousand — rank values are displayed on a 0–1000 scale default value: one_thousand learn more about how this parameter works in this Help Center article",
        +    "type": "string"
        +  },
        +  "search_mode": {
        +    "description": "results grouping type optional field possible grouping types: as_is – returns all citations for the target keyword one_per_domain – returns one citation of the keyword per domain default value: as_is",
        +    "type": "string"
        +  },
        +  "tag": {
        +    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        +    "type": "string"
        +  }
        +}
      • changedInput schema / properties / body / items / type
        Previous value: -[
        -  "object",
        -  "null"
        -]New value: +"object"
      • changedInput schema / required
        Previous value: -[]New value: +[
        +  "body"
        +]
      • removedOutput schema / x-fastmcp-wrap-result
        Removed value: -true
    • Changedpost_dataforseo_content_sentiment_analysis_live7 fields changed
      • removedInput schema / properties / body / example
        Removed value: -[
        -  {
        -    "internal_list_limit": 1,
        -    "keyword": "logitech"
        -  }
        -]
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "internal_list_limit": 1,
        -        "keyword": "logitech"
        -      }
        -    ],
        -    "properties": {
        -      "initial_dataset_filters": {
        -        "description": "initial dataset filtering parameters\noptional field\ninitial filtering parameters that apply to fields in the Search endpoint\nyou can add several filters at once (8 filters maximum)\nyou should set a logical operator and, or between the conditions\nthe following operators are supported:\nregex, not_regex, <, <=, >, >=, =, <>, in, not_in, like,not_like, has, has_not, match, not_match\nyou can use the % operator with like and not_like to match any string of zero or more characters\nexample:\n[\"domain\",\"<>\", \"logitech.com\"]\n[[\"domain\",\"<>\",\"logitech.com\"],\"and\",[\"content_info.connotation_types.negative\",\">\",1000]]\n[[\"domain\",\"<>\",\"logitech.com\"]],\n\"and\",\n[[\"content_info.connotation_types.negative\",\">\",1000],\n\"or\",\n[\"content_info.text_category\",\"has\",10994]]]\nfor more information about filters, please refer to Content Analysis API – Filters\nlearn more about the initial dataset filters in this help center article.",
        -        "items": {
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "internal_list_limit": {
        -        "description": "maximum number of elements within internal arrays\noptional field\nyou can use this field to limit the number of elements within the following arrays:\ntop_domains\ntext_categories\npage_categories\ncountries\nlanguages\ndefault value: 1\nmaximum value: 20",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "keyword": {
        -        "description": "target keyword\nrequired field\nUTF-8 encoding\nthe keywords will be converted to a lowercase format;\nNote: to match an exact phrase instead of a stand-alone keyword, use double quotes and backslashes;\nexample:\n\"keyword\": \"\\\"tesla palo alto\\\"\"\nlearn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        -        "type": "string"
        -      },
        -      "keyword_fields": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "null"
        -          ]
        -        },
        -        "description": "target keyword fields and target keywords\noptional field\nuse this parameter to filter the dataset by keywords that certain fields should contain;\nfields you can specify: title, main_title, previous_title, snippet\nyou can indicate several fields;\nNote: to match an exact phrase instead of a stand-alone keyword, use double quotes and backslashes;\nexample:\n\"keyword_fields\": {\n    \"snippet\": \"\\\"logitech mouse\\\"\",\n    \"main_title\": \"sale\"\n}",
        -        "type": [
        -          "object",
        -          "null"
        -        ]
        -      },
        -      "page_type": {
        -        "description": "target page types\noptional field\nuse this parameter to filter the dataset by page types\npossible values:\n\"ecommerce\", \"news\", \"blogs\", \"message-boards\", \"organization\"",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "positive_connotation_threshold": {
        -        "description": "positive connotation threshold\noptional field\nspecified as the probability index threshold for positive sentiment related to the citation content\nif you specify this field, connotation_types object in the response will only contain data on citations with positive sentiment probability more than or equal to the specified value\npossible values: from 0 to 1\ndefault value: 0.4",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "rank_scale": {
        -        "description": "defines the scale used for calculating and displaying the rank values\noptional field\nyou can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale\npossible values:\none_hundred — rank values are displayed on a 0–100 scale\none_thousand — rank values are displayed on a 0–1000 scale\ndefault value: one_thousand\nlearn more about how this parameter works in this Help Center article",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "sentiments_connotation_threshold": {
        -        "description": "sentiment connotation threshold\noptional field\nspecified as the probability index threshold for sentiment connotations related to the citation content\nif you specify this field, sentiment_connotations object in the response will only contain data on citations where the probability per each sentiment is more than or equal to the specified value\npossible values: from 0 to 1\ndefault value: 0.4",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "user-defined task identifier\noptional field\nthe character limit is 255\nyou can use this parameter to identify the task and match it with the result\nyou will find the specified tag value in the data object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / properties
        Added value: +{
        +  "initial_dataset_filters": {
        +    "description": "initial dataset filtering parameters optional field initial filtering parameters that apply to fields in the Search endpoint you can add several filters at once (8 filters maximum) you should set a logical operator and, or between the conditions the following operators are supported: regex, not_regex, , , >, >=, =, , in, not_in, like,not_like, has, has_not, match, not_match you can use the % operator with like and not_like to match any string of zero or more characters example: [\"domain\",\"\", \"logitech.com\"] [[\"domain\",\"\",\"logitech.com\"],\"and\",[\"content_info.connotation_types.negative\",\">\",1000]] [[\"domain\",\"\",\"logitech.com\"]], \"and\", [[\"content_info.connotation_types.negative\",\">\",1000], \"or\", [\"content_info.text_category\",\"has\",10994]]] for more information about filters, please refer to Content Analysis API – Filters learn more about the initial dataset filters in this help center article.",
        +    "items": {},
        +    "type": "array"
        +  },
        +  "internal_list_limit": {
        +    "description": "maximum number of elements within internal arrays optional field you can use this field to limit the number of elements within the following arrays: top_domains text_categories page_categories countries languages default value: 1 maximum value: 20",
        +    "type": "integer"
        +  },
        +  "keyword": {
        +    "description": "target keyword required field UTF-8 encoding the keywords will be converted to a lowercase format; Note: to match an exact phrase instead of a stand-alone keyword, use double quotes and backslashes; example: \"keyword\": \"\\\"tesla palo alto\\\"\" learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        +    "type": "string"
        +  },
        +  "keyword_fields": {
        +    "description": "target keyword fields and target keywords optional field use this parameter to filter the dataset by keywords that certain fields should contain; fields you can specify: title, main_title, previous_title, snippet you can indicate several fields; Note: to match an exact phrase instead of a stand-alone keyword, use double quotes and backslashes; example: \"keyword_fields\": { \"snippet\": \"\\\"logitech mouse\\\"\", \"main_title\": \"sale\" }",
        +    "properties": {
        +      "main_title": {
        +        "type": "string"
        +      },
        +      "previous_title": {
        +        "type": "string"
        +      },
        +      "snippet": {
        +        "type": "string"
        +      },
        +      "title": {
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  },
        +  "page_type": {
        +    "description": "target page types optional field use this parameter to filter the dataset by page types possible values: \"ecommerce\", \"news\", \"blogs\", \"message-boards\", \"organization\"",
        +    "items": {
        +      "type": "string"
        +    },
        +    "type": "array"
        +  },
        +  "positive_connotation_threshold": {
        +    "description": "positive connotation threshold optional field specified as the probability index threshold for positive sentiment related to the citation content if you specify this field, connotation_types object in the response will only contain data on citations with positive sentiment probability more than or equal to the specified value possible values: from 0 to 1 default value: 0.4",
        +    "type": "number"
        +  },
        +  "rank_scale": {
        +    "description": "defines the scale used for calculating and displaying the rank values optional field you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale possible values: one_hundred — rank values are displayed on a 0–100 scale one_thousand — rank values are displayed on a 0–1000 scale default value: one_thousand learn more about how this parameter works in this Help Center article",
        +    "type": "string"
        +  },
        +  "sentiments_connotation_threshold": {
        +    "description": "sentiment connotation threshold optional field specified as the probability index threshold for sentiment connotations related to the citation content if you specify this field, sentiment_connotations object in the response will only contain data on citations where the probability per each sentiment is more than or equal to the specified value possible values: from 0 to 1 default value: 0.4",
        +    "type": "number"
        +  },
        +  "tag": {
        +    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        +    "type": "string"
        +  }
        +}
      • addedInput schema / properties / body / items / required
        Added value: +[
        +  "keyword"
        +]
      • changedInput schema / properties / body / items / type
        Previous value: -[
        -  "object",
        -  "null"
        -]New value: +"object"
      • changedInput schema / required
        Previous value: -[]New value: +[
        +  "body"
        +]
      • removedOutput schema / x-fastmcp-wrap-result
        Removed value: -true
    • Changedpost_dataforseo_content_summary_live7 fields changed
      • removedInput schema / properties / body / example
        Removed value: -[
        -  {
        -    "internal_list_limit": 8,
        -    "keyword": "logitech",
        -    "page_type": [
        -      "ecommerce",
        -      "news",
        -      "blogs",
        -      "message-boards",
        -      "organization"
        -    ],
        -    "positive_connotation_threshold": 0.5
        -  }
        -]
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "internal_list_limit": 8,
        -        "keyword": "logitech",
        -        "page_type": [
        -          "ecommerce",
        -          "news",
        -          "blogs",
        -          "message-boards",
        -          "organization"
        -        ],
        -        "positive_connotation_threshold": 0.5
        -      }
        -    ],
        -    "properties": {
        -      "initial_dataset_filters": {
        -        "description": "<em>initial dataset filtering parameters</em><br>optional field<br>initial filtering parameters that apply to fields in the <a href=\"/v3/content_analysis/search/live/?bash\" target=\"_blank\">Search endpoint</a><br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>,<code>not_like</code>, <code>has</code>, <code>has_not</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters<br>example:<br><code>[\"domain\",\"&lt;&gt;\", \"logitech.com\"]</code><p><code>[[\"domain\",\"&lt;&gt;\",\"logitech.com\"],\"and\",[\"content_info.connotation_types.negative\",\"&gt;\",1000]]</code><p><code>[[\"domain\",\"&lt;&gt\",\"logitech.com\"]],<br>\"and\",<br>[[\"content_info.connotation_types.negative\",\"&gt;\",1000],<br>\"or\",<p>[\"content_info.text_category\",\"has\",10994]]]</code><br>for more information about filters, please refer to <a href=\"/v3/content_analysis/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Content Analysis API - Filters</a><br>learn more about the initial dataset filters in <a href=\"https://dataforseo.com/help-center/what-are-the-initial-dataset-filters-and-how-do-they-work\" rel=\"noopener noreferrer\" target=\"_blank\">this help center article.</a>",
        -        "items": {
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "internal_list_limit": {
        -        "description": "<em>maximum number of elements within internal arrays</em><br>optional field<br>you can use this field to limit the number of elements within the following arrays:<br><code>top_domains</code><br><code>text_categories</code><br><code>page_categories</code><br><code>countries</code><br><code>languages</code><br>default value: <code>1</code><br>maximum value: <code>20</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "keyword": {
        -        "description": "<em>target keyword</em><br><strong>required field</strong><br>UTF-8 encoding<br>the keywords will be converted to a lowercase format;<br><strong>Note</strong>: to match an exact phrase instead of a stand-alone keyword, use double quotes and backslashes; <br>example: <br><code>\"keyword\": \"\\\"tesla palo alto\\\"\"</code><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        -        "type": "string"
        -      },
        -      "keyword_fields": {
        -        "additionalProperties": {
        -          "type": [
        -            "string",
        -            "null"
        -          ]
        -        },
        -        "description": "<em>target keyword fields and target keywords</em><br>optional field<br>use this parameter to filter the dataset by keywords that certain fields should contain;<br>fields you can specify: <code>title</code>, <code>main_title</code>, <code>previous_title</code>, <code>snippet</code><br>you can indicate several fields;<br><strong>Note</strong>: to match an exact phrase instead of a stand-alone keyword, use double quotes and backslashes; <br>example:<br><code>\"keyword_fields\": {<br>\"snippet\": \"\\\"logitech mouse\\\"\",<br>\"main_title\": \"sale\"<br>}</code>",
        -        "type": [
        -          "object",
        -          "null"
        -        ]
        -      },
        -      "page_type": {
        -        "description": "<em>target page types</em><br>optional field<br>use this parameter to filter the dataset by page types<br>possible values: <br><code>\"ecommerce\"</code>, <code>\"news\"</code>, <code>\"blogs\"</code>, <code>\"message-boards\"</code>, <code>\"organization\"</code>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "positive_connotation_threshold": {
        -        "description": "<em>positive connotation threshold</em><br>optional field<br>specified as the probability index threshold for positive sentiment related to the citation content<br>if you specify this field, <code>connotation_types</code> object in the response will only contain data on citations with <code>positive</code> sentiment probability more than or equal to the specified value<br>possible values: from <code>0</code> to <code>1</code><br>default value: <code>0.4</code>",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "rank_scale": {
        -        "description": "<em>defines the scale used for calculating and displaying the <code>rank</code> values</em><br>optional field<p>you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale<p>possible values:<br><code>one_hundred</code> — rank values are displayed on a 0–100 scale<br><code>one_thousand</code> — rank values are displayed on a 0–1000 scale<p>default value: <code>one_thousand</code><p>learn more about how this parameter works in <a href=\"https://dataforseo.com/help-center/using-the-rank_scale-parameter-in-content-analysis-api\">this Help Center article</a>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "sentiments_connotation_threshold": {
        -        "description": "<em>sentiment connotation threshold</em><br>optional field<br>specified as the probability index threshold for sentiment connotations related to the citation content<br>if you specify this field, <code>sentiment_connotations</code> object in the response will only contain data on citations where the <br>probability per each sentiment is more than or equal to the specified value<br>possible values: from <code>0</code> to <code>1</code><br>default value: <code>0.4</code>",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / properties
        Added value: +{
        +  "initial_dataset_filters": {
        +    "description": "initial dataset filtering parameters optional field initial filtering parameters that apply to fields in the Search endpoint you can add several filters at once (8 filters maximum) you should set a logical operator and, or between the conditions the following operators are supported: regex, not_regex, , , >, >=, =, , in, not_in, like,not_like, has, has_not you can use the % operator with like and not_like to match any string of zero or more characters example: [\"domain\",\"\", \"logitech.com\"] [[\"domain\",\"\",\"logitech.com\"],\"and\",[\"content_info.connotation_types.negative\",\">\",1000]] [[\"domain\",\"\",\"logitech.com\"]], \"and\", [[\"content_info.connotation_types.negative\",\">\",1000], \"or\", [\"content_info.text_category\",\"has\",10994]]] for more information about filters, please refer to Content Analysis API – Filters learn more about the initial dataset filters in this help center article.",
        +    "items": {},
        +    "type": "array"
        +  },
        +  "internal_list_limit": {
        +    "description": "maximum number of elements within internal arrays optional field you can use this field to limit the number of elements within the following arrays: top_domains text_categories page_categories countries languages default value: 1 maximum value: 20",
        +    "type": "integer"
        +  },
        +  "keyword": {
        +    "description": "target keyword required field UTF-8 encoding the keywords will be converted to a lowercase format; Note: to match an exact phrase instead of a stand-alone keyword, use double quotes and backslashes; example: \"keyword\": \"\\\"tesla palo alto\\\"\" learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        +    "type": "string"
        +  },
        +  "keyword_fields": {
        +    "description": "target keyword fields and target keywords optional field use this parameter to filter the dataset by keywords that certain fields should contain; fields you can specify: title, main_title, previous_title, snippet you can indicate several fields; Note: to match an exact phrase instead of a stand-alone keyword, use double quotes and backslashes; example: \"keyword_fields\": { \"snippet\": \"\\\"logitech mouse\\\"\", \"main_title\": \"sale\" }",
        +    "properties": {
        +      "main_title": {
        +        "type": "string"
        +      },
        +      "previous_title": {
        +        "type": "string"
        +      },
        +      "snippet": {
        +        "type": "string"
        +      },
        +      "title": {
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  },
        +  "page_type": {
        +    "description": "target page types optional field use this parameter to filter the dataset by page types possible values: \"ecommerce\", \"news\", \"blogs\", \"message-boards\", \"organization\"",
        +    "items": {
        +      "type": "string"
        +    },
        +    "type": "array"
        +  },
        +  "positive_connotation_threshold": {
        +    "description": "positive connotation threshold optional field specified as the probability index threshold for positive sentiment related to the citation content if you specify this field, connotation_types object in the response will only contain data on citations with positive sentiment probability more than or equal to the specified value possible values: from 0 to 1 default value: 0.4",
        +    "type": "number"
        +  },
        +  "rank_scale": {
        +    "description": "defines the scale used for calculating and displaying the rank values optional field you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale possible values: one_hundred — rank values are displayed on a 0–100 scale one_thousand — rank values are displayed on a 0–1000 scale default value: one_thousand learn more about how this parameter works in this Help Center article",
        +    "type": "string"
        +  },
        +  "sentiments_connotation_threshold": {
        +    "description": "sentiment connotation threshold optional field specified as the probability index threshold for sentiment connotations related to the citation content if you specify this field, sentiment_connotations object in the response will only contain data on citations where the probability per each sentiment is more than or equal to the specified value possible values: from 0 to 1 default value: 0.4",
        +    "type": "number"
        +  },
        +  "tag": {
        +    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        +    "type": "string"
        +  }
        +}
      • addedInput schema / properties / body / items / required
        Added value: +[
        +  "keyword"
        +]
      • changedInput schema / properties / body / items / type
        Previous value: -[
        -  "object",
        -  "null"
        -]New value: +"object"
      • changedInput schema / required
        Previous value: -[]New value: +[
        +  "body"
        +]
      • removedOutput schema / x-fastmcp-wrap-result
        Removed value: -true
    • Changedpost_dataforseo_domains_tech_for_domain_live7 fields changed
      • removedInput schema / properties / body / example
        Removed value: -[
        -  {
        -    "target": "dataforseo.com"
        -  }
        -]
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "target": "dataforseo.com"
        -      }
        -    ],
        -    "properties": {
        -      "target": {
        -        "description": "<em>target domain</em><br><strong>required field</strong><br>domain name of the website to analyze<br><strong>Note:</strong> results will be returned for the specified domain only",
        -        "type": "string"
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / properties
        Added value: +{
        +  "target": {
        +    "description": "target domain required field domain name of the website to analyze Note: results will be returned for the specified domain only",
        +    "type": "string"
        +  }
        +}
      • addedInput schema / properties / body / items / required
        Added value: +[
        +  "target"
        +]
      • changedInput schema / properties / body / items / type
        Previous value: -[
        -  "object",
        -  "null"
        -]New value: +"object"
      • changedInput schema / required
        Previous value: -[]New value: +[
        +  "body"
        +]
      • removedOutput schema / x-fastmcp-wrap-result
        Removed value: -true
    • Changedpost_dataforseo_domains_whois_overview_live5 fields changed
      • removedInput schema / properties / body / example
        Removed value: -[
        -  {
        -    "filters": [
        -      [
        -        "epp_status_codes",
        -        "in",
        -        [
        -          "client_transfer_prohibited",
        -          "client_update_prohibited"
        -        ]
        -      ]
        -    ],
        -    "limit": 2
        -  }
        -]
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "filters": [
        -          [
        -            "epp_status_codes",
        -            "in",
        -            [
        -              "client_transfer_prohibited",
        -              "client_update_prohibited"
        -            ]
        -          ]
        -        ],
        -        "limit": 2
        -      }
        -    ],
        -    "properties": {
        -      "filters": {
        -        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>, <code>not_like</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters",
        -        "items": {
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "limit": {
        -        "description": "<em>the maximum number of returned domains</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "offset": {
        -        "description": "<em>offset in the results array of returned items</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten <code>items</code> in the results array will be omitted and the data will be provided for the successive items;<br><strong>Note:</strong> we recommend using this parameter only when retrieving up to 10,000 results for retrieving over 10,000 results, use the <code>offset_token</code> instead",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "offset_token": {
        -        "description": "<em>token for subsequent requests</em><br>optional field<br>provided in the identical filed of the response to each request;<br>use this parameter to avoid timeouts while trying to obtain over 100,000 results in a single request;<br>by specifying the unique <code>offset_token</code> value from the response array, you will get the subsequent results of the initial task;<br><code>offset_token</code> values are unique for each subsequent task<br><strong>Note:</strong> if the <code>offset_token</code> is specified in the request, all other parameters should be identical to the previous request<br>learn more about this parameter on our <a href=\"https://dataforseo.com/help-center/what-is-the-difference-between-the-offset-and-offset_token-parameters#offset_token\" target=\"_blank\">Help Center</a>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "order_by": {
        -        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>the comma is used as a separator<br>example:<br><code>[\"metrics.organic.pos_1,desc\"]</code><br>default rule:<br><code>[\"metrics.organic.count,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"expiration_datetime,asc\",\"metrics.organic.etv,desc\",\"metrics.organic.pos_1,desc\"]</code>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / properties
        Added value: +{
        +  "filters": {
        +    "description": "array of results filtering parameters optional field you can add several filters at once (8 filters maximum) you should set a logical operator and, or between the conditions the following operators are supported: regex, , , >, >=, =, , in, not_in, like, not_like you can use the % operator with like and not_like to match any string of zero or more characters",
        +    "items": {},
        +    "type": "array"
        +  },
        +  "limit": {
        +    "description": "the maximum number of returned domains optional field default value: 100 maximum value: 1000",
        +    "type": "integer"
        +  },
        +  "offset": {
        +    "description": "offset in the results array of returned items optional field default value: 0 if you specify the 10 value, the first ten items in the results array will be omitted and the data will be provided for the successive items; Note: we recommend using this parameter only when retrieving up to 10,000 results for retrieving over 10,000 results, use the offset_token instead",
        +    "type": "integer"
        +  },
        +  "offset_token": {
        +    "description": "token for subsequent requests optional field provided in the identical filed of the response to each request; use this parameter to avoid timeouts while trying to obtain over 100,000 results in a single request; by specifying the unique offset_token value from the response array, you will get the subsequent results of the initial task; offset_token values are unique for each subsequent task Note: if the offset_token is specified in the request, all other parameters should be identical to the previous request learn more about this parameter on our Help Center",
        +    "type": "string"
        +  },
        +  "order_by": {
        +    "description": "results sorting rules optional field you can use the same values as in the filters array to sort the results possible sorting types: asc - results will be sorted in the ascending order desc - results will be sorted in the descending order the comma is used as a separator example: [\"metrics.organic.pos_1,desc\"] default rule: [\"metrics.organic.count,desc\"] note that you can set no more than three sorting rules in a single request you should use a comma to separate several sorting rules example: [\"expiration_datetime,asc\",\"metrics.organic.etv,desc\",\"metrics.organic.pos_1,desc\"]",
        +    "items": {
        +      "type": "string"
        +    },
        +    "type": "array"
        +  },
        +  "tag": {
        +    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        +    "type": "string"
        +  }
        +}
      • changedInput schema / properties / body / items / type
        Previous value: -[
        -  "object",
        -  "null"
        -]New value: +"object"
      • removedOutput schema / x-fastmcp-wrap-result
        Removed value: -true
    • Changedpost_dataforseo_keywords_gads_kw_for_keywords_live7 fields changed
      • removedInput schema / properties / body / example
        Removed value: -[
        -  {
        -    "keywords": [
        -      "phone",
        -      "cellphone"
        -    ],
        -    "location_code": 2840
        -  }
        -]
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "keywords": [
        -          "phone",
        -          "cellphone"
        -        ],
        -        "location_code": 2840
        -      }
        -    ],
        -    "properties": {
        -      "date_from": {
        -        "description": "<em>starting date of the time range</em><br>optional field<br>date format: <code>\"yyyy-mm-dd\"</code><br>minimal value: 4 years from the current date<br>by default, data is returned for the past 12 months;<br><strong>Note</strong>: the indicated date cannot be greater than that specified in <code>date_to</code> and/or yesterday's date;if <a href=\"/v3/keywords_data/google_ads/status/\" target=\"_blank\" rel=\"noopener noreferrer\">Status endpoint</a> returns <code>false</code> in the <code>actual_data</code> field, <code>date_from</code> can be set to the month before last and prior;<br>if <a href=\"/v3/keywords_data/google_ads/status/\" target=\"_blank\" rel=\"noopener noreferrer\">Status endpoint</a> returns <code>true</code> in the <code>actual_data</code> field, <code>date_from</code> can be set to the last month and prior",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "date_to": {
        -        "description": "<em>ending date of the time range</em><br>optional field<br><strong>Note:</strong> the indicated date cannot be greater than yesterday's date;<br>if you don't specify this field, yesterday's date will be used by default<br>date format: <code>\"yyyy-mm-dd\"</code><br>example:<br><code>\"2022-11-30\"</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "include_adult_keywords": {
        -        "description": "<em>include keywords associated with adult content</em><br>optional field<br>if set to <code>true</code>, adult keywords will be included in the response<br>default value: <code>false</code><br><strong>note</strong> that the API may return no data for such keywords due to <a href=\"https://support.google.com/adspolicy/answer/6008942?hl=en\" target=\"_blank\" rel=\"noopener noreferrer\">Google Ads restrictions</a>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "keywords": {
        -        "description": "<em>keywords</em><br><strong>required field</strong><br>The maximum number of keywords you can specify: 20<br>The maximum number of characters for each keyword: 80<br>the keywords you specify will be converted to a lowercase format<br><strong>Note:</strong> Google Ads may return no data for certain groups of keywords<br><a href=\"https://dataforseo.com/help-center/no-search-volume-data-for-some-keywords\" target=\"_blank\" rel=\"noopener noreferrer\">visit our Help Center to learn more</a><br><strong>Also note</strong> that Google Ads doesn't allow using certain symbols and characters (e.g., UTF symbols, emojis), so you can't use them when setting a task;<br>to learn more about which symbols and characters can be used, please refer to <a href=\"https://dataforseo.com/help-center/using-symbols-in-keywords-when-setting-a-google-ads-task\" target=\"_blank\" rel=\"noopener noreferrer\">this article</a><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "language_code": {
        -        "description": "<em>search engine language code</em><br>optional field<br>you can receive the list of available languages of the search engine with their <code>language_code</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/google_ads/languages</code><br>example:<br><code class=\"long-string\">en</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "language_name": {
        -        "description": "<em>full name of search engine language</em><br>optional field<br>you can receive the list of available languages of the search engine with their <code>language_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/google_ads/languages</code><br>example:<br><code class=\"long-string\">English</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "location_code": {
        -        "description": "<em>search engine location code</em><br>optional field<br>if you do not indicate the location, you will receive worldwide results, i.e., for all available locations;<br><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_coordinate</code></strong>;<br>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/google_ads/locations</code><br>example:<br><code class=\"long-string\">2840</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "location_coordinate": {
        -        "description": "<em>GPS coordinates of a location</em><br>optional field<br>if you do not indicate the location, you will receive worldwide results, i.e., for all available locations;<br><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_code</code></strong>;<br><code>location_coordinate</code> parameter should be specified in the <em>\"latitude,longitude\"</em> format;<br><strong>the data will be provided for the country the specified coordinates belong to</strong>;<br>example:<br><code class=\"long-string\">52.6178549,-155.352142</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "location_name": {
        -        "description": "<em>full name of search engine location</em><br>optional field<br>if you do not indicate the location, you will receive worldwide results, i.e., for all available locations;<br><strong>if you use this field, you don't need to specify <code>location_code</code> or <code>location_coordinate</code></strong><br>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/google_ads/locations</code><br>example:<br><code class=\"long-string\">London,England,United Kingdom</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "search_partners": {
        -        "description": "<em>include Google search partners</em><br>optional field<br>if you specify <code class=\"prettyprint\">true</code>, the results will be delivered for owned, operated, and syndicated networks across <a href=\"https://support.google.com/google-ads/answer/1722047?hl=en\" target=\"_blank\" rel=\"noopener noreferrer\">Google and partner sites</a> that host Google search;<br>default value: <code>false</code> - results are returned for Google search sites",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "sort_by": {
        -        "description": "<em>results sorting parameters</em><br>optional field<br>Use these parameters to sort the results by <code>relevance</code>, <code>search_volume</code>, <code>competition_index</code>, <code>low_top_of_page_bid</code>, or <code>high_top_of_page_bid</code> in descending order<br>default value: <code>relevance</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / properties
        Added value: +{
        +  "date_from": {
        +    "description": "starting date of the time range optional field date format: \"yyyy-mm-dd\" minimal value: 4 years from the current date by default, data is returned for the past 12 months; Note: the indicated date cannot be greater than that specified in date_to and/or yesterday’s date;if Status endpoint returns false in the actual_data field, date_from can be set to the month before last and prior; if Status endpoint returns true in the actual_data field, date_from can be set to the last month and prior",
        +    "type": "string"
        +  },
        +  "date_to": {
        +    "description": "ending date of the time range optional field Note: the indicated date cannot be greater than yesterday’s date; if you don’t specify this field, yesterday’s date will be used by default date format: \"yyyy-mm-dd\" example: \"2022-11-30\"",
        +    "type": "string"
        +  },
        +  "include_adult_keywords": {
        +    "description": "include keywords associated with adult content optional field if set to true, adult keywords will be included in the response default value: false note that the API may return no data for such keywords due to Google Ads restrictions",
        +    "type": "boolean"
        +  },
        +  "keywords": {
        +    "description": "keywords required field The maximum number of keywords you can specify: 20 The maximum number of characters for each keyword: 80 the keywords you specify will be converted to a lowercase format Note: Google Ads may return no data for certain groups of keywords visit our Help Center to learn more Also note that Google Ads doesn’t allow using certain symbols and characters (e.g., UTF symbols, emojis), so you can’t use them when setting a task; to learn more about which symbols and characters can be used, please refer to this article learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        +    "items": {
        +      "type": "string"
        +    },
        +    "type": "array"
        +  },
        +  "language_code": {
        +    "description": "search engine language code optional field you can receive the list of available languages of the search engine with their language_code by making a separate request to https://api.dataforseo.com/v3/keywords_data/google_ads/languages example: en",
        +    "type": "string"
        +  },
        +  "language_name": {
        +    "description": "full name of search engine language optional field you can receive the list of available languages of the search engine with their language_name by making a separate request to https://api.dataforseo.com/v3/keywords_data/google_ads/languages example: English",
        +    "type": "string"
        +  },
        +  "location_code": {
        +    "description": "search engine location code optional field if you do not indicate the location, you will receive worldwide results, i.e., for all available locations; if you use this field, you don’t need to specify location_name or location_coordinate; you can receive the list of available locations of the search engines with their location_code by making a separate request to https://api.dataforseo.com/v3/keywords_data/google_ads/locations example: 2840",
        +    "type": "integer"
        +  },
        +  "location_coordinate": {
        +    "description": "GPS coordinates of a location optional field if you do not indicate the location, you will receive worldwide results, i.e., for all available locations; if you use this field, you don’t need to specify location_name or location_code; location_coordinate parameter should be specified in the “latitude,longitude” format; the data will be provided for the country the specified coordinates belong to; example: 52.6178549,-155.352142",
        +    "type": "string"
        +  },
        +  "location_name": {
        +    "description": "full name of search engine location optional field if you do not indicate the location, you will receive worldwide results, i.e., for all available locations; if you use this field, you don’t need to specify location_code or location_coordinate you can receive the list of available locations of the search engine with their location_name by making a separate request to https://api.dataforseo.com/v3/keywords_data/google_ads/locations example: London,England,United Kingdom",
        +    "type": "string"
        +  },
        +  "search_partners": {
        +    "description": "include Google search partners optional field if you specify true, the results will be delivered for owned, operated, and syndicated networks across Google and partner sites that host Google search; default value: false – results are returned for Google search sites",
        +    "type": "boolean"
        +  },
        +  "sort_by": {
        +    "description": "results sorting parameters optional field Use these parameters to sort the results by relevance, search_volume, competition_index, low_top_of_page_bid, or high_top_of_page_bid in descending order default value: relevance",
        +    "type": "string"
        +  },
        +  "tag": {
        +    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        +    "type": "string"
        +  }
        +}
      • addedInput schema / properties / body / items / required
        Added value: +[
        +  "keywords"
        +]
      • changedInput schema / properties / body / items / type
        Previous value: -[
        -  "object",
        -  "null"
        -]New value: +"object"
      • changedInput schema / required
        Previous value: -[]New value: +[
        +  "body"
        +]
      • removedOutput schema / x-fastmcp-wrap-result
        Removed value: -true
    • Changedpost_dataforseo_keywords_gads_search_volume_live7 fields changed
      • removedInput schema / properties / body / example
        Removed value: -[
        -  {
        -    "date_from": "2021-08-01",
        -    "keywords": [
        -      "buy laptop",
        -      "cheap laptops for sale",
        -      "purchase laptop"
        -    ],
        -    "location_code": 2840,
        -    "search_partners": true
        -  }
        -]
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "date_from": "2021-08-01",
        -        "keywords": [
        -          "buy laptop",
        -          "cheap laptops for sale",
        -          "purchase laptop"
        -        ],
        -        "location_code": 2840,
        -        "search_partners": true
        -      }
        -    ],
        -    "properties": {
        -      "date_from": {
        -        "description": "<em>starting date of the time range</em><br>optional field<br>date format: <code>\"yyyy-mm-dd\"</code><br>minimal value: 4 years from the current date<br>by default, data is returned for the past 12 months;<br><strong>Note</strong>: the indicated date cannot be greater than that specified in <code>date_to</code> and/or yesterday's date;if <a href=\"/v3/keywords_data/google_ads/status/\" target=\"_blank\" rel=\"noopener noreferrer\">Status endpoint</a> returns <code>false</code> in the <code>actual_data</code> field, <code>date_from</code> can be set to the month before last and prior;<br>if <a href=\"/v3/keywords_data/google_ads/status/\" target=\"_blank\" rel=\"noopener noreferrer\">Status endpoint</a> returns <code>true</code> in the <code>actual_data</code> field, <code>date_from</code> can be set to the last month and prior",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "date_to": {
        -        "description": "<em>ending date of the time range</em><br>optional field<br><strong>Note:</strong> the indicated date cannot be greater than the past month, Google Ads does not return data on the current month;<br>if you don't specify this field, yesterday's date will be used by default<br>date format: <code>\"yyyy-mm-dd\"</code><br>example:<br><code>\"2022-11-30\"</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "include_adult_keywords": {
        -        "description": "<em>include keywords associated with adult content<br></em>optional field<br>if set to_<code>true</code>, adult keywords will be included in the response<br>default value:_<code>false</code><br><strong>note</strong>_that the API may return no data for such keywords due to_<a href=\"https://support.google.com/adspolicy/answer/6008942?hl=en\" target=\"_blank\" rel=\"noopener noreferrer\">Google Ads restrictions</a>n",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "keywords": {
        -        "description": "<em>keywords</em><br><strong>required field</strong><br>The maximum number of keywords you can specify: 1000<br>The maximum number of characters for each keyword: 80<br>The maximum number of words for each keyword phrase: 10<br>the keywords you specify will be converted to a lowercase format<br><strong>Note #1:</strong> <a href=\"https://dataforseo.com/help-center/no-search-volume-data-for-some-keywords\" target=\"_blank\" rel=\"noopener noreferrer\">Google Ads may return no data for certain groups of keywords</a>;<br><strong>Note #2:</strong> <a href=\"https://dataforseo.com/help-center/sv-broad-exact-phrase-match\" target=\"_blank\" rel=\"noopener noreferrer\">Google Ads provides combined search volume values for groups of similar keywords</a><br>to obtain search volume for similar keywords, we recommend submitting such keywords in separate requests;<br><strong>Note #3:</strong> Google Ads doesn't allow using certain symbols and characters (e.g., UTF symbols, emojis), so you can't use them when setting a task;<br>to learn more about which symbols and characters can be used, please refer to <a href=\"https://dataforseo.com/help-center/using-symbols-in-keywords-when-setting-a-google-ads-task\" target=\"_blank\" rel=\"noopener noreferrer\">this article</a><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "language_code": {
        -        "description": "<em>search engine language code</em><br>optional field<br>you can receive the list of available languages of the search engine with their <code>language_code</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/google_ads/languages</code><br>example:<br><code class=\"long-string\">en</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "language_name": {
        -        "description": "<em>full name of search engine language</em><br>optional field<br>you can receive the list of available languages of the search engine with their <code>language_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/google_ads/languages</code><br>example:<br><code class=\"long-string\">English</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "location_code": {
        -        "description": "<em>search engine location code</em><br>optional field<br>if you do not indicate the location, you will receive worldwide results, i.e., for all available locations;<br><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_coordinate</code></strong>;<br>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/google_ads/locations</code><br>example:<br><code class=\"long-string\">2840</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "location_coordinate": {
        -        "description": "<em>GPS coordinates of a location</em><br>optional field<br>if you do not indicate the location, you will receive worldwide results, i.e., for all available locations;<br><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_code</code></strong>;<br><code>location_coordinate</code> parameter should be specified in the <em>\"latitude,longitude\"</em> format;<br><strong>the data will be provided for the country the specified coordinates belong to</strong>;<br>example:<br><code class=\"long-string\">52.6178549,-155.352142</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "location_name": {
        -        "description": "<em>full name of search engine location</em><br>optional field<br>if you do not indicate the location, you will receive worldwide results, i.e., for all available locations;<br><strong>if you use this field, you don't need to specify <code>location_code</code> or <code>location_coordinate</code></strong><br>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/google_ads/locations</code><br>example:<br><code class=\"long-string\">London,England,United Kingdom</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "search_partners": {
        -        "description": "<em>include Google search partners</em><br>optional field<br>if you specify <code class=\"prettyprint\">true</code>, the results will be delivered for owned, operated, and syndicated networks across <a href=\"https://support.google.com/google-ads/answer/1722047?hl=en\" target=\"_blank\" rel=\"noopener noreferrer\">Google and partner sites</a> that host Google search;<br>default value: <code>false</code> - results are returned for Google search sites",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "sort_by": {
        -        "description": "<em>results sorting parameters</em><br>optional field<br>use these parameters to sort the results by <code>relevance</code>, <code>search_volume</code>, <code>competition_index</code>, <code>low_top_of_page_bid</code>, or <code>high_top_of_page_bid</code> in the descending order<br>default value: <code>relevance</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> array of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / properties
        Added value: +{
        +  "date_from": {
        +    "description": "starting date of the time range optional field date format: \"yyyy-mm-dd\" minimal value: 4 years from the current date by default, data is returned for the past 12 months; Note: the indicated date cannot be greater than that specified in date_to and/or yesterday’s date;if Status endpoint returns false in the actual_data field, date_from can be set to the month before last and prior; if Status endpoint returns true in the actual_data field, date_from can be set to the last month and prior",
        +    "type": "string"
        +  },
        +  "date_to": {
        +    "description": "ending date of the time range optional field Note: the indicated date cannot be greater than the past month, Google Ads does not return data on the current month; if you don’t specify this field, yesterday’s date will be used by default date format: \"yyyy-mm-dd\" example: \"2022-11-30\"",
        +    "type": "string"
        +  },
        +  "include_adult_keywords": {
        +    "description": "include keywords associated with adult content optional field if set to_true, adult keywords will be included in the response default value:_false note_that the API may return no data for such keywords due to_Google Ads restrictions n",
        +    "type": "boolean"
        +  },
        +  "keywords": {
        +    "description": "keywords required field The maximum number of keywords you can specify: 1000 The maximum number of characters for each keyword: 80 The maximum number of words for each keyword phrase: 10 the keywords you specify will be converted to a lowercase format Note #1: Google Ads may return no data for certain groups of keywords; Note #2: Google Ads provides combined search volume values for groups of similar keywords to obtain search volume for similar keywords, we recommend submitting such keywords in separate requests; Note #3: Google Ads doesn’t allow using certain symbols and characters (e.g., UTF symbols, emojis), so you can’t use them when setting a task; to learn more about which symbols and characters can be used, please refer to this article learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        +    "items": {
        +      "type": "string"
        +    },
        +    "type": "array"
        +  },
        +  "language_code": {
        +    "description": "search engine language code optional field you can receive the list of available languages of the search engine with their language_code by making a separate request to https://api.dataforseo.com/v3/keywords_data/google_ads/languages example: en",
        +    "type": "string"
        +  },
        +  "language_name": {
        +    "description": "full name of search engine language optional field you can receive the list of available languages of the search engine with their language_name by making a separate request to https://api.dataforseo.com/v3/keywords_data/google_ads/languages example: English",
        +    "type": "string"
        +  },
        +  "location_code": {
        +    "description": "search engine location code optional field if you do not indicate the location, you will receive worldwide results, i.e., for all available locations; if you use this field, you don’t need to specify location_name or location_coordinate; you can receive the list of available locations of the search engines with their location_code by making a separate request to https://api.dataforseo.com/v3/keywords_data/google_ads/locations example: 2840",
        +    "type": "integer"
        +  },
        +  "location_coordinate": {
        +    "description": "GPS coordinates of a location optional field if you do not indicate the location, you will receive worldwide results, i.e., for all available locations; if you use this field, you don’t need to specify location_name or location_code; location_coordinate parameter should be specified in the “latitude,longitude” format; the data will be provided for the country the specified coordinates belong to; example: 52.6178549,-155.352142",
        +    "type": "string"
        +  },
        +  "location_name": {
        +    "description": "full name of search engine location optional field if you do not indicate the location, you will receive worldwide results, i.e., for all available locations; if you use this field, you don’t need to specify location_code or location_coordinate you can receive the list of available locations of the search engine with their location_name by making a separate request to https://api.dataforseo.com/v3/keywords_data/google_ads/locations example: London,England,United Kingdom",
        +    "type": "string"
        +  },
        +  "search_partners": {
        +    "description": "include Google search partners optional field if you specify true, the results will be delivered for owned, operated, and syndicated networks across Google and partner sites that host Google search; default value: false – results are returned for Google search sites",
        +    "type": "boolean"
        +  },
        +  "sort_by": {
        +    "description": "results sorting parameters optional field use these parameters to sort the results by relevance, search_volume, competition_index, low_top_of_page_bid, or high_top_of_page_bid in the descending order default value: relevance",
        +    "type": "string"
        +  },
        +  "tag": {
        +    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data array of the response",
        +    "type": "string"
        +  }
        +}
      • addedInput schema / properties / body / items / required
        Added value: +[
        +  "keywords"
        +]
      • changedInput schema / properties / body / items / type
        Previous value: -[
        -  "object",
        -  "null"
        -]New value: +"object"
      • changedInput schema / required
        Previous value: -[]New value: +[
        +  "body"
        +]
      • removedOutput schema / x-fastmcp-wrap-result
        Removed value: -true
    • Changedpost_dataforseo_keywords_trends_explore_live7 fields changed
      • removedInput schema / properties / body / example
        Removed value: -[
        -  {
        -    "keywords": [
        -      "iphone 14",
        -      "samsung s23"
        -    ],
        -    "location_code": 2840
        -  }
        -]
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "keywords": [
        -          "iphone 14",
        -          "samsung s23"
        -        ],
        -        "location_code": 2840
        -      }
        -    ],
        -    "properties": {
        -      "date_from": {
        -        "description": "<em>starting date of the time range</em><br>optional field<br>if you don't specify this field, the current day and month of the preceding year will be used by default<br>minimal value for the <code>web</code> type: <code>2004-01-01</code><br>minimal value for other types: <code>2008-01-01</code><br>date format: <code>\"yyyy-mm-dd\"</code><br>example:<br><code>\"2019-01-15\"</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "date_to": {
        -        "description": "<em>ending date of the time range</em><br>optional field<br>if you don't specify this field, the today's date will be used by default<br>date format: <code>\"yyyy-mm-dd\"</code><br>example:<br><code>\"2019-01-15\"</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "keywords": {
        -        "description": "<em>keywords</em><br><strong>required field</strong><br>the maximum number of keywords you can specify: 5<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "location_code": {
        -        "description": "<em>search engine location code</em><br>optional field<br>if you don't use this field, you will recieve global results<br><strong>if you use this field, you don't need to specify <code>location_name</code></strong><br>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/dataforseo_trends/locations</code><br><strong>note that the data will be provided for the country the specified <code>location_code</code> belongs to;</strong><br>example:<br><code class=\"long-string\">2840</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "location_name": {
        -        "description": "<em>full name of search engine location</em><br>optional field<br>if you don't use this field, you will recieve global results<br><strong>if you use this field, you don't need to specify <code>location_code</code></strong><br>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/dataforseo_trends/locations</code><br><strong>note that the data will be provided for the country the specified <code>location_name</code> belongs to;</strong><br>example:<br><code class=\"long-string\">United Kingdom</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "time_range": {
        -        "description": "<em>preset time ranges</em><br>optional field<br>if you specify <code>date_from</code> or <code>date_to</code> parameters, this field will be ignored when setting a task<br><em>possible values for all <code>type</code> parameters:</em><br><code>past_4_hours</code>, <code>past_day</code>, <code>past_7_days</code>, <code>past_30_days</code>, <code>past_90_days</code>, <code>past_12_months</code>, <code>past_5_years</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "type": {
        -        "description": "type of element",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / properties
        Added value: +{
        +  "date_from": {
        +    "description": "starting date of the time range optional field if you don’t specify this field, the current day and month of the preceding year will be used by default minimal value for the web type: 2004-01-01 minimal value for other types: 2008-01-01 date format: \"yyyy-mm-dd\" example: \"2019-01-15\"",
        +    "type": "string"
        +  },
        +  "date_to": {
        +    "description": "ending date of the time range optional field if you don’t specify this field, the today’s date will be used by default date format: \"yyyy-mm-dd\" example: \"2019-01-15\"",
        +    "type": "string"
        +  },
        +  "keywords": {
        +    "description": "keywords required field the maximum number of keywords you can specify: 5 learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        +    "items": {
        +      "type": "string"
        +    },
        +    "type": "array"
        +  },
        +  "location_code": {
        +    "description": "search engine location code optional field if you don’t use this field, you will recieve global results if you use this field, you don’t need to specify location_name you can receive the list of available locations of the search engines with their location_code by making a separate request to https://api.dataforseo.com/v3/keywords_data/dataforseo_trends/locations note that the data will be provided for the country the specified location_code belongs to; example: 2840",
        +    "type": "integer"
        +  },
        +  "location_name": {
        +    "description": "full name of search engine location optional field if you don’t use this field, you will recieve global results if you use this field, you don’t need to specify location_code you can receive the list of available locations of the search engine with their location_name by making a separate request to https://api.dataforseo.com/v3/keywords_data/dataforseo_trends/locations note that the data will be provided for the country the specified location_name belongs to; example: United Kingdom",
        +    "type": "string"
        +  },
        +  "tag": {
        +    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        +    "type": "string"
        +  },
        +  "time_range": {
        +    "description": "preset time ranges optional field if you specify date_from or date_to parameters, this field will be ignored when setting a task possible values for all type parameters: past_4_hours, past_day, past_7_days, past_30_days, past_90_days, past_12_months, past_5_years",
        +    "type": "string"
        +  },
        +  "type": {
        +    "description": "type of element",
        +    "type": "string"
        +  }
        +}
      • addedInput schema / properties / body / items / required
        Added value: +[
        +  "keywords"
        +]
      • changedInput schema / properties / body / items / type
        Previous value: -[
        -  "object",
        -  "null"
        -]New value: +"object"
      • changedInput schema / required
        Previous value: -[]New value: +[
        +  "body"
        +]
      • removedOutput schema / x-fastmcp-wrap-result
        Removed value: -true
    • Changedpost_dataforseo_labs_google_bulk_keyword_difficulty_live8 fields changed
      • removedInput schema / properties / body / example
        Removed value: -[
        -  {
        -    "keywords": [
        -      "dentist new york",
        -      "pizza brooklyn",
        -      "car dealer los angeles"
        -    ],
        -    "language_code": "en",
        -    "location_code": 2840
        -  }
        -]
      • addedInput schema / properties / body / items / allOf
        Added value: +[
        +  {
        +    "anyOf": [
        +      {
        +        "required": [
        +          "location_name"
        +        ]
        +      },
        +      {
        +        "required": [
        +          "location_code"
        +        ]
        +      }
        +    ]
        +  },
        +  {
        +    "anyOf": [
        +      {
        +        "required": [
        +          "language_name"
        +        ]
        +      },
        +      {
        +        "required": [
        +          "language_code"
        +        ]
        +      }
        +    ]
        +  }
        +]
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "keywords": [
        -          "dentist new york",
        -          "pizza brooklyn",
        -          "car dealer los angeles"
        -        ],
        -        "language_code": "en",
        -        "location_code": 2840
        -      }
        -    ],
        -    "properties": {
        -      "keywords": {
        -        "description": "<em>target keywords</em><br><strong>required field</strong><br>UTF-8 encoding<br>maximum number of keywords you can specify in this array: 1000<br>the keywords will be converted to lowercase format<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "language_code": {
        -        "description": "<em>language code</em><br><strong>required field if don't specify <code>language_name</code></strong><br>you can receive the list of available languages with their <code>language_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">en</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "language_name": {
        -        "description": "<em>full name of the language</em><br><strong>required field if don't specify <code>language_code</code></strong><br>you can receive the list of available languages with their <code>language_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">English</code>",
        -        "type": "string"
        -      },
        -      "location_code": {
        -        "description": "<em>location code</em><br><strong>required field if don't specify <code>location_name</code></strong><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">2840</code>",
        -        "type": "integer"
        -      },
        -      "location_name": {
        -        "description": "<em>full name of the location</em><br><strong>required field if don't specify <code>location_code</code></strong><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">United Kingdom</code>",
        -        "type": "string"
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / properties
        Added value: +{
        +  "keywords": {
        +    "description": "target keywords required field UTF-8 encoding maximum number of keywords you can specify in this array: 1000 the keywords will be converted to lowercase format learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        +    "items": {
        +      "type": "string"
        +    },
        +    "type": "array"
        +  },
        +  "language_code": {
        +    "description": "language code required field if don’t specify language_name you can receive the list of available languages with their language_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: en",
        +    "type": "string"
        +  },
        +  "language_name": {
        +    "description": "full name of the language required field if don’t specify language_code you can receive the list of available languages with their language_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: English",
        +    "type": "string"
        +  },
        +  "location_code": {
        +    "description": "location code required field if don’t specify location_name you can receive the list of available locations with their location_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: 2840",
        +    "type": "integer"
        +  },
        +  "location_name": {
        +    "description": "full name of the location required field if don’t specify location_code you can receive the list of available locations with their location_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: United Kingdom",
        +    "type": "string"
        +  },
        +  "tag": {
        +    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        +    "type": "string"
        +  }
        +}
      • addedInput schema / properties / body / items / required
        Added value: +[
        +  "keywords"
        +]
      • changedInput schema / properties / body / items / type
        Previous value: -[
        -  "object",
        -  "null"
        -]New value: +"object"
      • changedInput schema / required
        Previous value: -[]New value: +[
        +  "body"
        +]
      • removedOutput schema / x-fastmcp-wrap-result
        Removed value: -true
    • Changedpost_dataforseo_labs_google_bulk_traffic_estimation_live7 fields changed
      • removedInput schema / properties / body / example
        Removed value: -[
        -  {
        -    "item_types": [
        -      "organic",
        -      "paid"
        -    ],
        -    "language_code": "en",
        -    "location_code": 2840,
        -    "targets": [
        -      "dataforseo.com",
        -      "cnn.com",
        -      "forbes.com"
        -    ]
        -  }
        -]
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "item_types": [
        -          "organic",
        -          "paid"
        -        ],
        -        "language_code": "en",
        -        "location_code": 2840,
        -        "targets": [
        -          "dataforseo.com",
        -          "cnn.com",
        -          "forbes.com"
        -        ]
        -      }
        -    ],
        -    "properties": {
        -      "ignore_synonyms": {
        -        "description": "<em>ignore highly similar keywords</em><br>optional field<br>if set to_<code class=\"prettyprint\">true</code>, only core keywords will be returned, all highly similar keywords will be excluded;  <br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "item_types": {
        -        "description": "<em>display results by item type</em><br>optional field<br>indicates the type of search results included in the response<p><strong>Note:</strong> if the <code>item_types</code> array contains item types that are different from <code>organic</code>, the results will be ordered by the first item type in the array<p>possible values: <br><code>[\"organic\", \"paid\", \"featured_snippet\", \"local_pack\"]</code><br>default value: <br><code>[\"organic\", \"paid\"]</code>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "language_code": {
        -        "description": "<em>language code</em><br>if you use this field, you don’t need to specify <code>language_name</code><br>you can receive the list of available languages with their <code>language_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available languages<br>example:<br><code class=\"long-string\">en</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "language_name": {
        -        "description": "<em>full name of the language</em><br>if you use this field, you don’t need to specify <code>language_code</code><br>you can receive the list of available languages with their <code>language_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available languages<br>example:<br><code class=\"long-string\">English</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "location_code": {
        -        "description": "<em>location code</em><br>if you use this field, you don't have to specify <code>location_name</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">2840</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "location_name": {
        -        "description": "<em>full name of the location</em><br>if you use this field, you don't have to specify <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">United Kingdom</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "targets": {
        -        "description": "<em>target domains, subdomains, and webpages</em><br><strong>required field</strong><br>you can specify domains, subdomains, and webpages in this field;<br>domains and subdomains should be specified without <code>https://</code> and <code>www.</code>;<br>pages should be specified with absolute URL, including <code>https://</code> and <code>www.</code>;<br>you can set up to 1000 domains, subdomains or webpages",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / properties
        Added value: +{
        +  "ignore_synonyms": {
        +    "description": "ignore highly similar keywords optional field if set to_true, only core keywords will be returned, all highly similar keywords will be excluded; default value: false",
        +    "type": "boolean"
        +  },
        +  "item_types": {
        +    "description": "display results by item type optional field indicates the type of search results included in the response Note: if the item_types array contains item types that are different from organic, the results will be ordered by the first item type in the array possible values: [\"organic\", \"paid\", \"featured_snippet\", \"local_pack\"] default value: [\"organic\", \"paid\"]",
        +    "items": {
        +      "type": "string"
        +    },
        +    "type": "array"
        +  },
        +  "language_code": {
        +    "description": "language code if you use this field, you don’t need to specify language_name you can receive the list of available languages with their language_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages ignore this field to get the results for all available languages example: en",
        +    "type": "string"
        +  },
        +  "language_name": {
        +    "description": "full name of the language if you use this field, you don’t need to specify language_code you can receive the list of available languages with their language_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages ignore this field to get the results for all available languages example: English",
        +    "type": "string"
        +  },
        +  "location_code": {
        +    "description": "location code if you use this field, you don’t have to specify location_name you can receive the list of available locations with their location_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages ignore this field to get the results for all available locations example: 2840",
        +    "type": "integer"
        +  },
        +  "location_name": {
        +    "description": "full name of the location if you use this field, you don’t have to specify location_code you can receive the list of available locations with their location_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages ignore this field to get the results for all available locations example: United Kingdom",
        +    "type": "string"
        +  },
        +  "tag": {
        +    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        +    "type": "string"
        +  },
        +  "targets": {
        +    "description": "target domains, subdomains, and webpages required field you can specify domains, subdomains, and webpages in this field; domains and subdomains should be specified without https:// and www.; pages should be specified with absolute URL, including https:// and www.; you can set up to 1000 domains, subdomains or webpages",
        +    "items": {
        +      "type": "string"
        +    },
        +    "type": "array"
        +  }
        +}
      • addedInput schema / properties / body / items / required
        Added value: +[
        +  "targets"
        +]
      • changedInput schema / properties / body / items / type
        Previous value: -[
        -  "object",
        -  "null"
        -]New value: +"object"
      • changedInput schema / required
        Previous value: -[]New value: +[
        +  "body"
        +]
      • removedOutput schema / x-fastmcp-wrap-result
        Removed value: -true
    • Changedpost_dataforseo_labs_google_domain_rank_overview_live7 fields changed
      • removedInput schema / properties / body / example
        Removed value: -[
        -  {
        -    "language_name": "English",
        -    "location_code": 2840,
        -    "target": "dataforseo.com"
        -  }
        -]
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "language_name": "English",
        -        "location_code": 2840,
        -        "target": "dataforseo.com"
        -      }
        -    ],
        -    "properties": {
        -      "ignore_synonyms": {
        -        "description": "<em>ignore highly similar keywords</em><br>optional field<br>if set to_<code class=\"prettyprint\">true</code>, all highly similar keywords will be excluded from the ranking and traffic calculations, the results will be based on data for main keywords from groups of synonyms<br>default value: <code>false</code>n",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "language_code": {
        -        "description": "<em>language code</em><br>optional field<br>if you use this field, you don't need to specify <code>language_name</code><br>you can receive the list of available languages with their <code>language_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available languages<br>example:<br><code class=\"long-string\">en</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "language_name": {
        -        "description": "<em>full name of the language</em><br>optional field<br>if you use this field, you don't need to specify <code>language_code</code><br>you can receive the list of available languages with their <code>language_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available languages<br>example:<br><code class=\"long-string\">English</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "limit": {
        -        "description": "<em>the maximum number of returned results for domain</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "location_code": {
        -        "description": "<em>location code</em><br>optional field<br>if you use this field, you don't need to specify <code>location_name</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">2840</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "location_name": {
        -        "description": "<em>full name of the location</em><br>optional field<br>if you use this field, you don't need to specify <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">United Kingdom</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "offset": {
        -        "description": "<em>offset in the results array of returned items</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten <code>items</code> in the results array will be omitted and the data will be provided for the successive items",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "target": {
        -        "description": "<em>domain</em><br><strong>required field</strong><br>the domain name of the target website<br>the domain should be specified without <code>https://</code> and <code>www.</code>",
        -        "type": "string"
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / properties
        Added value: +{
        +  "ignore_synonyms": {
        +    "description": "ignore highly similar keywords optional field if set to_true, all highly similar keywords will be excluded from the ranking and traffic calculations, the results will be based on data for main keywords from groups of synonyms default value: falsen",
        +    "type": "boolean"
        +  },
        +  "language_code": {
        +    "description": "language code optional field if you use this field, you don’t need to specify language_name you can receive the list of available languages with their language_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages ignore this field to get the results for all available languages example: en",
        +    "type": "string"
        +  },
        +  "language_name": {
        +    "description": "full name of the language optional field if you use this field, you don’t need to specify language_code you can receive the list of available languages with their language_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages ignore this field to get the results for all available languages example: English",
        +    "type": "string"
        +  },
        +  "limit": {
        +    "description": "the maximum number of returned results for domain optional field default value: 100 maximum value: 1000",
        +    "type": "integer"
        +  },
        +  "location_code": {
        +    "description": "location code optional field if you use this field, you don’t need to specify location_name you can receive the list of available locations with their location_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages ignore this field to get the results for all available locations example: 2840",
        +    "type": "integer"
        +  },
        +  "location_name": {
        +    "description": "full name of the location optional field if you use this field, you don’t need to specify location_code you can receive the list of available locations with their location_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages ignore this field to get the results for all available locations example: United Kingdom",
        +    "type": "string"
        +  },
        +  "offset": {
        +    "description": "offset in the results array of returned items optional field default value: 0 if you specify the 10 value, the first ten items in the results array will be omitted and the data will be provided for the successive items",
        +    "type": "integer"
        +  },
        +  "tag": {
        +    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        +    "type": "string"
        +  },
        +  "target": {
        +    "description": "domain required field the domain name of the target website the domain should be specified without https:// and www.",
        +    "type": "string"
        +  }
        +}
      • addedInput schema / properties / body / items / required
        Added value: +[
        +  "target"
        +]
      • changedInput schema / properties / body / items / type
        Previous value: -[
        -  "object",
        -  "null"
        -]New value: +"object"
      • changedInput schema / required
        Previous value: -[]New value: +[
        +  "body"
        +]
      • removedOutput schema / x-fastmcp-wrap-result
        Removed value: -true
    • Changedpost_dataforseo_labs_google_historical_keyword_data_live8 fields changed
      • removedInput schema / properties / body / example
        Removed value: -[
        -  {
        -    "keywords": [
        -      "iphone"
        -    ],
        -    "language_code": "en",
        -    "location_code": 2840
        -  }
        -]
      • addedInput schema / properties / body / items / allOf
        Added value: +[
        +  {
        +    "anyOf": [
        +      {
        +        "required": [
        +          "location_name"
        +        ]
        +      },
        +      {
        +        "required": [
        +          "location_code"
        +        ]
        +      }
        +    ]
        +  },
        +  {
        +    "anyOf": [
        +      {
        +        "required": [
        +          "language_name"
        +        ]
        +      },
        +      {
        +        "required": [
        +          "language_code"
        +        ]
        +      }
        +    ]
        +  }
        +]
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "keywords": [
        -          "iphone"
        -        ],
        -        "language_code": "en",
        -        "location_code": 2840
        -      }
        -    ],
        -    "properties": {
        -      "keywords": {
        -        "description": "<em>keywords</em><br><strong>required field</strong><br>The maximum number of keywords you can specify: 700<br>The maximum number of characters for each keyword: 80<br>The maximum number of words for each keyword phrase: 10<br>the specified keywords will be converted to lowercase format, data will be provided in a separate array<p><strong>note</strong> that if some of the keywords specified in this array are omitted in the results you receive, then our database doesn't contain such keywords and cannot return data on them<br>you will not be charged for the keywords omitted in the results<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "language_code": {
        -        "description": "<em>language code</em><br><strong>required field if you don't specify</strong> <code>language_name</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available locations with their <code>language_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">en</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "language_name": {
        -        "description": "<em>full name of the language</em><br><strong>required field if you don't specify</strong> <code>language_code</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available locations with their <code>language_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">English</code>",
        -        "type": "string"
        -      },
        -      "location_code": {
        -        "description": "<em>location code</em><br><strong>required field if you don't specify</strong> <code>location_name</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">2840</code>",
        -        "type": "integer"
        -      },
        -      "location_name": {
        -        "description": "<em>full name of the location</em><br><strong>required field if you don't specify</strong> <code>location_code</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">United Kingdom</code>",
        -        "type": "string"
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / properties
        Added value: +{
        +  "keywords": {
        +    "description": "keywords required field The maximum number of keywords you can specify: 700 The maximum number of characters for each keyword: 80 The maximum number of words for each keyword phrase: 10 the specified keywords will be converted to lowercase format, data will be provided in a separate array note that if some of the keywords specified in this array are omitted in the results you receive, then our database doesn’t contain such keywords and cannot return data on them you will not be charged for the keywords omitted in the results learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        +    "items": {
        +      "type": "string"
        +    },
        +    "type": "array"
        +  },
        +  "language_code": {
        +    "description": "language code required field if you don’t specify language_name Note: it is required to specify either language_name or language_code you can receive the list of available locations with their language_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: en",
        +    "type": "string"
        +  },
        +  "language_name": {
        +    "description": "full name of the language required field if you don’t specify language_code Note: it is required to specify either language_name or language_code you can receive the list of available locations with their language_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: English",
        +    "type": "string"
        +  },
        +  "location_code": {
        +    "description": "location code required field if you don’t specify location_name Note: it is required to specify either location_name or location_code you can receive the list of available locations with their location_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: 2840",
        +    "type": "integer"
        +  },
        +  "location_name": {
        +    "description": "full name of the location required field if you don’t specify location_code Note: it is required to specify either location_name or location_code you can receive the list of available locations with their location_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: United Kingdom",
        +    "type": "string"
        +  },
        +  "tag": {
        +    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        +    "type": "string"
        +  }
        +}
      • addedInput schema / properties / body / items / required
        Added value: +[
        +  "keywords"
        +]
      • changedInput schema / properties / body / items / type
        Previous value: -[
        -  "object",
        -  "null"
        -]New value: +"object"
      • changedInput schema / required
        Previous value: -[]New value: +[
        +  "body"
        +]
      • removedOutput schema / x-fastmcp-wrap-result
        Removed value: -true
    • Changedpost_dataforseo_labs_google_historical_rank_live8 fields changed
      • removedInput schema / properties / body / example
        Removed value: -[
        -  {
        -    "date_from": "2021-01-01",
        -    "date_to": "2021-03-29",
        -    "language_code": "en",
        -    "location_code": 2840,
        -    "target": "dataforseo.com"
        -  }
        -]
      • addedInput schema / properties / body / items / allOf
        Added value: +[
        +  {
        +    "anyOf": [
        +      {
        +        "required": [
        +          "location_name"
        +        ]
        +      },
        +      {
        +        "required": [
        +          "location_code"
        +        ]
        +      }
        +    ]
        +  },
        +  {
        +    "anyOf": [
        +      {
        +        "required": [
        +          "language_name"
        +        ]
        +      },
        +      {
        +        "required": [
        +          "language_code"
        +        ]
        +      }
        +    ]
        +  }
        +]
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "date_from": "2021-01-01",
        -        "date_to": "2021-03-29",
        -        "language_code": "en",
        -        "location_code": 2840,
        -        "target": "dataforseo.com"
        -      }
        -    ],
        -    "properties": {
        -      "correlate": {
        -        "description": "<em>correlate data with previously obtained datasets</em><br>optional field<br>default value: <code>true</code><br>if you use this parameter, our system will correlate data you obtain now with previously obtained datasets<br>this parameter is intended to mitigate any inconsistencies that may result from changes to our database<br>we recommend always setting <code>correlate</code> to <code>true</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "date_from": {
        -        "description": "<em>starting date of the time range</em><br>optional field<br>if you don't specify this field, the data will be provided for the previous 6 months<br>minimal possible value: <code>2020-10-01</code><br>date format: <code>\"yyyy-mm-dd\"</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "date_to": {
        -        "description": "<em>ending date of the time range</em><br>optional field<br>if you don't specify this field, the today's date will be used by default<br>date format: <code>\"yyyy-mm-dd\"</code><br>example:<br><code>\"2021-04-01\"</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "ignore_synonyms": {
        -        "description": "<em>ignore highly similar keywords</em><br>optional field<br>if set to <code class=\"prettyprint\">true</code>, only data based on core keywords will be returned, data for all highly similar keywords will be excluded;  <br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "include_clickstream_data": {
        -        "description": "<em>include or exclude data from clickstream-based metrics in the result</em><br>optional field<br>if the parameter is set to <code>true</code>, you will receive <code>clickstream_etv</code>, <code>clickstream_gender_distribution</code>, and <code>clickstream_age_distribution</code> fields with clickstream data in the response;<br>default value: <code>false</code>;<p><strong>Note:</strong> historical clickstream data is available from 2024/05 (May, 2024);<br><strong>with this parameter enabled, you will be charged double the price for the request;</strong><br>learn more about how clickstream-based metrics are calculated in this <a href=\"https://dataforseo.com/help-center/what-are-clickstream-based-metrics-and-how-do-we-calculate-them\" rel=\"noopener noreferrer\" target=\"_blank\">help center article</a>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "language_code": {
        -        "description": "<em>language code</em><br><strong>required field if you don't specify</strong> <code>language_name</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available locations with their <code>language_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">en</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "language_name": {
        -        "description": "<em>full name of the language</em><br><strong>required field if you don't specify</strong> <code>language_code</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available locations with their <code>language_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">English</code>",
        -        "type": "string"
        -      },
        -      "location_code": {
        -        "description": "<em>location code</em><br><strong>required field if you don't specify</strong> <code>location_name</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">2840</code>",
        -        "type": "integer"
        -      },
        -      "location_name": {
        -        "description": "<em>full name of the location</em><br><strong>required field if you don't specify</strong> <code>location_code</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">United Kingdom</code>",
        -        "type": "string"
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "target": {
        -        "description": "<em>domain</em><br><strong>required field</strong><br>the domain name of the target website<br>the domain should be specified without <code>https://</code> and <code>www.</code>",
        -        "type": "string"
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / properties
        Added value: +{
        +  "correlate": {
        +    "description": "correlate data with previously obtained datasets optional field default value: true if you use this parameter, our system will correlate data you obtain now with previously obtained datasets this parameter is intended to mitigate any inconsistencies that may result from changes to our database we recommend always setting correlate to true",
        +    "type": "boolean"
        +  },
        +  "date_from": {
        +    "description": "starting date of the time range optional field if you don’t specify this field, the data will be provided for the previous 6 months minimal possible value: 2020-10-01 date format: \"yyyy-mm-dd\"",
        +    "type": "string"
        +  },
        +  "date_to": {
        +    "description": "ending date of the time range optional field if you don’t specify this field, the today’s date will be used by default date format: \"yyyy-mm-dd\" example: \"2021-04-01\"",
        +    "type": "string"
        +  },
        +  "ignore_synonyms": {
        +    "description": "ignore highly similar keywords optional field if set to true, only data based on core keywords will be returned, data for all highly similar keywords will be excluded; default value: false",
        +    "type": "boolean"
        +  },
        +  "include_clickstream_data": {
        +    "description": "include or exclude data from clickstream-based metrics in the result optional field if the parameter is set to true, you will receive clickstream_etv, clickstream_gender_distribution, and clickstream_age_distribution fields with clickstream data in the response; default value: false; Note: historical clickstream data is available from 2024/05 (May, 2024); with this parameter enabled, you will be charged double the price for the request; learn more about how clickstream-based metrics are calculated in this help center article",
        +    "type": "boolean"
        +  },
        +  "language_code": {
        +    "description": "language code required field if you don’t specify language_name Note: it is required to specify either language_name or language_code you can receive the list of available locations with their language_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: en",
        +    "type": "string"
        +  },
        +  "language_name": {
        +    "description": "full name of the language required field if you don’t specify language_code Note: it is required to specify either language_name or language_code you can receive the list of available locations with their language_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: English",
        +    "type": "string"
        +  },
        +  "location_code": {
        +    "description": "location code required field if you don’t specify location_name Note: it is required to specify either location_name or location_code you can receive the list of available locations with their location_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: 2840",
        +    "type": "integer"
        +  },
        +  "location_name": {
        +    "description": "full name of the location required field if you don’t specify location_code Note: it is required to specify either location_name or location_code you can receive the list of available locations with their location_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: United Kingdom",
        +    "type": "string"
        +  },
        +  "tag": {
        +    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        +    "type": "string"
        +  },
        +  "target": {
        +    "description": "domain required field the domain name of the target website the domain should be specified without https:// and www.",
        +    "type": "string"
        +  }
        +}
      • addedInput schema / properties / body / items / required
        Added value: +[
        +  "target"
        +]
      • changedInput schema / properties / body / items / type
        Previous value: -[
        -  "object",
        -  "null"
        -]New value: +"object"
      • changedInput schema / required
        Previous value: -[]New value: +[
        +  "body"
        +]
      • removedOutput schema / x-fastmcp-wrap-result
        Removed value: -true
    • Changedpost_dataforseo_labs_google_keyword_ideas_live6 fields changed
      • removedInput schema / properties / body / example
        Removed value: -[
        -  {
        -    "include_serp_info": true,
        -    "keywords": [
        -      "phone",
        -      "watch"
        -    ],
        -    "language_code": "en",
        -    "limit": 3,
        -    "location_code": 2840
        -  }
        -]
      • changedInput schema / properties / body / items / anyOf
        Previous value: -[
        -  {
        -    "example": [
        -      {
        -        "include_serp_info": true,
        -        "keywords": [
        -          "phone",
        -          "watch"
        -        ],
        -        "language_code": "en",
        -        "limit": 3,
        -        "location_code": 2840
        -      }
        -    ],
        -    "properties": {
        -      "closely_variants": {
        -        "description": "<em>search mode</em><br>optional field<br>if set to_<code class=\"prettyprint\">true</code> the results will be based on the phrase-match search algorithm<br>if set to <code class=\"prettyprint\">false</code> the results will be based on the broad-match search algorithm<br>default value: <code>false</code>n",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "filters": {
        -        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>match</code>, <code>not_match</code>, <code>ilike</code>, <code>not_ilike</code>, <code>like</code>, <code>not_like</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code>,as well as <code>ilike</code>, <code>not_ilike</code> to match any string of zero or more characters<br><strong>note that you can not filter the results by <code>relevance</code></strong><br>example:<br><code>[\"keyword_info.search_volume\",\"&gt;\",0]</code><p><code>[[\"keyword_info.search_volume\",\"in\",[0,1000]],<br>\"and\",<br>[\"keyword_info.competition_level\",\"=\",\"LOW\"]]</code><p><code>[[\"keyword_info.search_volume\",\"&gt;\",100],<br>\"and\",<br>[[\"keyword_info.cpc\",\"&lt;\",0.5],<br>\"or\",<p>[\"keyword_info.high_top_of_page_bid\",\"&lt;=\",0.5]]]</code><br>for more information about filters, please refer to <a href=\"/v3/dataforseo_labs/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Dataforseo Labs - Filters</a> or this <a href=\"https://dataforseo.com/help-center/how-to-use-filters-in-dataforseo-labs-api\" rel=\"noopener noreferrer\" target=\"_blank\">help center guide</a>",
        -        "items": {
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "ignore_synonyms": {
        -        "description": "<em>ignore highly similar keywords</em><br>optional field<br>if set to_<code class=\"prettyprint\">true</code> only core keywords will be returned, all highly similar keywords will be excluded;  <br>default value: <code>false</code>n",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "include_clickstream_data": {
        -        "description": "<em>include or exclude data from clickstream-based metrics in the result</em><br>optional field<br>if the parameter is set to <code>true</code>, you will receive <code>clickstream_keyword_info</code>, <code>keyword_info_normalized_with_clickstream</code>, and <code>keyword_info_normalized_with_bing</code> fields in the response<br>default value: <code>false</code><br>with this parameter enabled, you will be charged double the price for the request<p>learn more about how clickstream-based metrics are calculated in this <a href=\"https://dataforseo.com/help-center/what-are-clickstream-based-metrics-and-how-do-we-calculate-them\" rel=\"noopener noreferrer\" target=\"_blank\">help center article</a>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "include_serp_info": {
        -        "description": "<em>include data from SERP for each keyword</em><br>optional field<br>if set to <code>true</code>, we will return a <code>serp_info</code> array containing SERP data (number of search results, relevant URL, and SERP features) for every keyword in the response<br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "keywords": {
        -        "description": "<em>keywords</em><br><strong>required field</strong><br>UTF-8 encoding<br>The maximum number of keywords you can specify: 200.<br>The keywords will be converted to lowercase format<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "language_code": {
        -        "description": "<em>language code</em><br>optional field<br>if you use this field, you don't need to specify <code>language_name</code><br>you can receive the list of available languages with their <code>language_code</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">en</code><br><strong>Note:</strong> if omitted, results default to the language with the most keyword records in the specified location;<br>refer to the <code>available_languages.keywords</code> field of the <a href=\"https://docs.dataforseo.com/v3/dataforseo_labs/locations_and_languages\" target=\"_blank\">Locations and Languages endpoint</a> to determine the default language",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "language_name": {
        -        "description": "<em>full name of the language</em><br>optional field<br>if you use this field, you don't need to specify <code>language_code</code><br>you can receive the list of available languages with their <code>language_name</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">English</code><br><strong>Note:</strong> if omitted, results default to the language with the most keyword records in the specified location;<br>refer to the <code>available_languages.keywords</code> field of the <a href=\"https://docs.dataforseo.com/v3/dataforseo_labs/locations_and_languages\" target=\"_blank\">Locations and Languages endpoint</a> to determine the default language",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "limit": {
        -        "description": "<em>the maximum number of keywords in the results array</em><br>optional field<br>default value: <code>700</code><br>maximum value: <code>1000</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "location_code": {
        -        "description": "<em>unique location identifier</em><br><strong>required field if you don't specify</strong> <code>location_name</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">2840</code>",
        -        "type": "integer"
        -      },
        -      "location_name": {
        -        "description": "<em>full name of the location</em><br><strong>required field if you don't specify</strong> <code>location_code</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">United Kingdom</code>",
        -        "type": "string"
        -      },
        -      "offset": {
        -        "description": "<em>offset in the results array of returned keywords</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten keywords in the results array will be omitted and the data will be provided for the successive keywords<br><strong>Note:</strong> we recommend using this parameter only when retrieving up to 10,000 results<br>for retrieving over 10,000 results, use the <code>offset_token</code> instead.",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "offset_token": {
        -        "description": "<em>offset token for subsequent requests</em><br>optional field<br>provided in the identical filed of the response to each request;<br>use this parameter to avoid timeouts while trying to obtain over 10,000 results in a single request;<br>by specifying the unique <code>offset_token</code> value from the response array, you will get the subsequent results of the initial task;<br><code>offset_token</code> values are unique for each subsequent task <br><strong>Note:</strong> if the <code>offset_token</code> is specified in the request, all other parameters except <code>limit</code> will not be taken into account when processing a task.<br>learn more about this parameter on our <a href=\"https://dataforseo.com/help-center/what-is-the-difference-between-the-offset-and-offset_token-parameters#offset_token\" target=\"_blank\">Help Center</a>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "order_by": {
        -        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to set up a sorting parameter<p>default rule:<br><code>[\"relevance,desc\"]</code><br>relevance is used as the default sorting rule to provide you with the closest keyword ideas. We recommend using this sorting rule to get highly-relevant search terms. <strong>Note</strong> that <code>relevance</code> is only our internal system identifier, so <strong>it can not be used as a filter</strong>, and you will not find this field in the <code>result</code> array. The relevance score is based on a similar principle as used in <a href=\"/v3/keywords_data/google/keywords_for_keywords/live/?php\">the Keywords For Keywords</a> endpoint.<p><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"relevance,desc\",\"keyword_info.search_volume,desc\"]</code>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "allOf": [
        +      {
        +        "anyOf": [
        +          {
        +            "required": [
        +              "location_name"
        +            ]
        +          },
        +          {
        +            "required": [
        +              "location_code"
        +            ]
        +          }
        +        ]
        +      }
        +    ],
        +    "required": [
        +      "keywords"
        +    ]
        +  },
        +  {
        +    "required": [
        +      "offset_token"
        +    ]
        +  }
        +]
      • addedInput schema / properties / body / items / properties
        Added value: +{
        +  "closely_variants": {
        +    "description": "search mode optional field if set to_true the results will be based on the phrase-match search algorithm if set to false the results will be based on the broad-match search algorithm default value: falsen",
        +    "type": "boolean"
        +  },
        +  "filters": {
        +    "description": "array of results filtering parameters optional field you can add several filters at once (8 filters maximum) you should set a logical operator and, or between the conditions the following operators are supported: regex, not_regex, <, <=, >, >=, =, <>, in, not_in, match, not_match, ilike, not_ilike, like, not_like you can use the % operator with like and not_like,as well as ilike, not_ilike to match any string of zero or more characters note that you can not filter the results by relevance example: [\"keyword_info.search_volume\",\">\",0] [[\"keyword_info.search_volume\",\"in\",[0,1000]], \"and\", [\"keyword_info.competition_level\",\"=\",\"LOW\"]] [[\"keyword_info.search_volume\",\">\",100], \"and\", [[\"keyword_info.cpc\",\"<\",0.5], \"or\", [\"keyword_info.high_top_of_page_bid\",\"<=\",0.5]]] for more information about filters, please refer to Dataforseo Labs - Filters or this help center guide",
        +    "items": {},
        +    "type": "array"
        +  },
        +  "ignore_synonyms": {
        +    "description": "ignore highly similar keywords optional field if set to_true only core keywords will be returned, all highly similar keywords will be excluded; default value: falsen",
        +    "type": "boolean"
        +  },
        +  "include_clickstream_data": {
        +    "description": "include or exclude data from clickstream-based metrics in the result optional field if the parameter is set to true, you will receive clickstream_keyword_info, keyword_info_normalized_with_clickstream, and keyword_info_normalized_with_bing fields in the response default value: false with this parameter enabled, you will be charged double the price for the request learn more about how clickstream-based metrics are calculated in this help center article",
        +    "type": "boolean"
        +  },
        +  "include_serp_info": {
        +    "description": "include data from SERP for each keyword optional field if set to true, we will return a serp_info array containing SERP data (number of search results, relevant URL, and SERP features) for every keyword in the response default value: false",
        +    "type": "boolean"
        +  },
        +  "keywords": {
        +    "description": "keywords required field UTF-8 encoding The maximum number of keywords you can specify: 200. The keywords will be converted to lowercase format learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        +    "items": {
        +      "type": "string"
        +    },
        +    "type": "array"
        +  },
        +  "language_code": {
        +    "description": "language code optional field if you use this field, you don’t need to specify language_name you can receive the list of available languages with their language_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: en Note: if omitted, results default to the language with the most keyword records in the specified location; refer to the available_languages.keywords field of the Locations and Languages endpoint to determine the default language",
        +    "type": "string"
        +  },
        +  "language_name": {
        +    "description": "full name of the language optional field if you use this field, you don’t need to specify language_code you can receive the list of available languages with their language_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: English Note: if omitted, results default to the language with the most keyword records in the specified location; refer to the available_languages.keywords field of the Locations and Languages endpoint to determine the default language",
        +    "type": "string"
        +  },
        +  "limit": {
        +    "description": "the maximum number of keywords in the results array optional field default value: 700 maximum value: 1000",
        +    "type": "integer"
        +  },
        +  "location_code": {
        +    "description": "unique location identifier required field if you don’t specify location_name Note: it is required to specify either location_name or location_code you can receive the list of available locations with their location_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: 2840",
        +    "type": "integer"
        +  },
        +  "location_name": {
        +    "description": "full name of the location required field if you don’t specify location_code Note: it is required to specify either location_name or location_code you can receive the list of available locations with their location_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: United Kingdom",
        +    "type": "string"
        +  },
        +  "offset": {
        +    "description": "offset in the results array of returned keywords optional field default value: 0 if you specify the 10 value, the first ten keywords in the results array will be omitted and the data will be provided for the successive keywords Note: we recommend using this parameter only when retrieving up to 10,000 results for retrieving over 10,000 results, use the offset_token instead.",
        +    "type": "integer"
        +  },
        +  "offset_token": {
        +    "description": "offset token for subsequent requests optional field provided in the identical filed of the response to each request; use this parameter to avoid timeouts while trying to obtain over 10,000 results in a single request; by specifying the unique offset_token value from the response array, you will get the subsequent results of the initial task; offset_token values are unique for each subsequent task Note: if the offset_token is specified in the request, all other parameters except limit will not be taken into account when processing a task. learn more about this parameter on our Help Center",
        +    "type": "string"
        +  },
        +  "order_by": {
        +    "description": "results sorting rules optional field you can use the same values as in the filters array to sort the results possible sorting types: asc – results will be sorted in the ascending order desc – results will be sorted in the descending order you should use a comma to set up a sorting parameter default rule: [\"relevance,desc\"] relevance is used as the default sorting rule to provide you with the closest keyword ideas. We recommend using this sorting rule to get highly-relevant search terms. Note that relevance is only our internal system identifier, so it can not be used as a filter, and you will not find this field in the result array. The relevance score is based on a similar principle as used in the Keywords For Keywords endpoint. note that you can set no more than three sorting rules in a single request you should use a comma to separate several sorting rules example: [\"relevance,desc\",\"keyword_info.search_volume,desc\"]",
        +    "items": {
        +      "type": "string"
        +    },
        +    "type": "array"
        +  },
        +  "tag": {
        +    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        +    "type": "string"
        +  }
        +}
      • changedInput schema / properties / body / items / type
        Previous value: -[
        -  "object",
        -  "null"
        -]New value: +"object"
      • changedInput schema / required
        Previous value: -[]New value: +[
        +  "body"
        +]
      • removedOutput schema / x-fastmcp-wrap-result
        Removed value: -true
    • Changedpost_dataforseo_labs_google_keyword_overview_live8 fields changed
      • removedInput schema / properties / body / example
        Removed value: -[
        -  {
        -    "include_clickstream_data": true,
        -    "include_serp_info": true,
        -    "keywords": [
        -      "iphone"
        -    ],
        -    "language_code": "en",
        -    "location_code": 2840
        -  }
        -]
      • addedInput schema / properties / body / items / allOf
        Added value: +[
        +  {
        +    "anyOf": [
        +      {
        +        "required": [
        +          "location_name"
        +        ]
        +      },
        +      {
        +        "required": [
        +          "location_code"
        +        ]
        +      }
        +    ]
        +  },
        +  {
        +    "anyOf": [
        +      {
        +        "required": [
        +          "language_name"
        +        ]
        +      },
        +      {
        +        "required": [
        +          "language_code"
        +        ]
        +      }
        +    ]
        +  }
        +]
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "include_clickstream_data": true,
        -        "include_serp_info": true,
        -        "keywords": [
        -          "iphone"
        -        ],
        -        "language_code": "en",
        -        "location_code": 2840
        -      }
        -    ],
        -    "properties": {
        -      "include_clickstream_data": {
        -        "description": "<em>include or exclude data from clickstream-based metrics in the result</em><br>optional field<br>if the parameter is set to <code>true</code>, you will receive <code>clickstream_keyword_info</code>, <code>keyword_info_normalized_with_clickstream</code>, and <code>keyword_info_normalized_with_bing</code> fields in the response<br>default value: <code>false</code><br>with this parameter enabled, you will be charged double the price for the request<p>learn more about how clickstream-based metrics are calculated in this <a href=\"https://dataforseo.com/help-center/what-are-clickstream-based-metrics-and-how-do-we-calculate-them\" rel=\"noopener noreferrer\" target=\"_blank\">help center article</a>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "include_serp_info": {
        -        "description": "<em>include data from SERP for each keyword</em><br>optional field<br>if set to <code>true</code>, we will return a <code>serp_info</code> array containing SERP data (number of search results, relevant URL, and SERP features) for every keyword in the response<br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "keywords": {
        -        "description": "<em>keywords</em><br><strong>required field</strong><br>The maximum number of keywords you can specify: 700<br>The maximum number of characters for each keyword: 80<br>The maximum number of words for each keyword phrase: 10<br>the specified keywords will be converted to lowercase format, data will be provided in a separate array<p><strong>note</strong> that if some of the keywords specified in this array are omitted in the results you receive, then our database doesn't contain such keywords and cannot return data on them<br>you will not be charged for the keywords omitted in the results<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "language_code": {
        -        "description": "<em>language code</em><br><strong>required field if you don't specify</strong> <code>language_name</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available locations with their <code>language_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">en</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "language_name": {
        -        "description": "<em>full name of the language</em><br><strong>required field if you don't specify</strong> <code>language_code</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available locations with their <code>language_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">English</code>",
        -        "type": "string"
        -      },
        -      "location_code": {
        -        "description": "<em>location code</em><br><strong>required field if you don't specify</strong> <code>location_name</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">2840</code>",
        -        "type": "integer"
        -      },
        -      "location_name": {
        -        "description": "<em>full name of the location</em><br><strong>required field if you don't specify</strong> <code>location_code</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">United Kingdom</code>",
        -        "type": "string"
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / properties
        Added value: +{
        +  "include_clickstream_data": {
        +    "description": "include or exclude data from clickstream-based metrics in the result optional field if the parameter is set to true, you will receive clickstream_keyword_info, keyword_info_normalized_with_clickstream, and keyword_info_normalized_with_bing fields in the response default value: false with this parameter enabled, you will be charged double the price for the request learn more about how clickstream-based metrics are calculated in this help center article",
        +    "type": "boolean"
        +  },
        +  "include_serp_info": {
        +    "description": "include data from SERP for each keyword optional field if set to true, we will return a serp_info array containing SERP data (number of search results, relevant URL, and SERP features) for every keyword in the response default value: false",
        +    "type": "boolean"
        +  },
        +  "keywords": {
        +    "description": "keywords required field The maximum number of keywords you can specify: 700 The maximum number of characters for each keyword: 80 The maximum number of words for each keyword phrase: 10 the specified keywords will be converted to lowercase format, data will be provided in a separate array note that if some of the keywords specified in this array are omitted in the results you receive, then our database doesn’t contain such keywords and cannot return data on them you will not be charged for the keywords omitted in the results learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        +    "items": {
        +      "type": "string"
        +    },
        +    "type": "array"
        +  },
        +  "language_code": {
        +    "description": "language code required field if you don’t specify language_name Note: it is required to specify either language_name or language_code you can receive the list of available locations with their language_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: en",
        +    "type": "string"
        +  },
        +  "language_name": {
        +    "description": "full name of the language required field if you don’t specify language_code Note: it is required to specify either language_name or language_code you can receive the list of available locations with their language_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: English",
        +    "type": "string"
        +  },
        +  "location_code": {
        +    "description": "location code required field if you don’t specify location_name Note: it is required to specify either location_name or location_code you can receive the list of available locations with their location_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: 2840",
        +    "type": "integer"
        +  },
        +  "location_name": {
        +    "description": "full name of the location required field if you don’t specify location_code Note: it is required to specify either location_name or location_code you can receive the list of available locations with their location_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: United Kingdom",
        +    "type": "string"
        +  },
        +  "tag": {
        +    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        +    "type": "string"
        +  }
        +}
      • addedInput schema / properties / body / items / required
        Added value: +[
        +  "keywords"
        +]
      • changedInput schema / properties / body / items / type
        Previous value: -[
        -  "object",
        -  "null"
        -]New value: +"object"
      • changedInput schema / required
        Previous value: -[]New value: +[
        +  "body"
        +]
      • removedOutput schema / x-fastmcp-wrap-result
        Removed value: -true
    • Changedpost_dataforseo_labs_google_keyword_suggestions_live6 fields changed
      • removedInput schema / properties / body / example
        Removed value: -[
        -  {
        -    "include_seed_keyword": true,
        -    "include_serp_info": true,
        -    "keyword": "phone",
        -    "language_code": "en",
        -    "limit": 1,
        -    "location_code": 2840
        -  }
        -]
      • changedInput schema / properties / body / items / anyOf
        Previous value: -[
        -  {
        -    "example": [
        -      {
        -        "include_seed_keyword": true,
        -        "include_serp_info": true,
        -        "keyword": "phone",
        -        "language_code": "en",
        -        "limit": 1,
        -        "location_code": 2840
        -      }
        -    ],
        -    "properties": {
        -      "exact_match": {
        -        "description": "<em>search for the exact phrase</em><br>optional field<br>if set to <code>true</code>, the returned keywords will include the exact keyword phrase you specified, with potentially other words before or after that phrase<br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "filters": {
        -        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>match</code>, <code>not_match</code>, <code>ilike</code>, <code>not_ilike</code>, <code>like</code>, <code>not_like</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code>, as well as <code>ilike</code> and <code>not_ilike</code> to match any string of zero or more characters<br>example:<br><code>[\"keyword_info.search_volume\",\"&gt;\",0]</code><br><code>[[\"keyword_info.search_volume\",\"in\",[0,1000]],<br>\"and\",<br>[\"keyword_info.competition_level\",\"=\",\"LOW\"]]</code><code>[[\"keyword_info.search_volume\",\"&gt;\",100],<br>\"and\",<br>[[\"keyword_info.cpc\",\"&lt;\",0.5],<br>\"or\",<br>[\"keyword_info.high_top_of_page_bid\",\"&lt;=\",0.5]]]</code><br>for more information about filters, please refer to <a href=\"/v3/dataforseo_labs/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Dataforseo Labs - Filters</a> or this <a href=\"https://dataforseo.com/help-center/how-to-use-filters-in-dataforseo-labs-api\" target=\"_blank\" rel=\"noopener noreferrer\">help center guide</a>",
        -        "items": {
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "ignore_synonyms": {
        -        "description": "<em>ignore highly similar keywords</em><br>optional field<br>if set to <code class=\"prettyprint\">true</code> only core keywords will be returned, all highly similar keywords will be excluded;<br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "include_clickstream_data": {
        -        "description": "<em>include or exclude data from clickstream-based metrics in the result</em><br>optional field<br>if the parameter is set to <code>true</code>, you will receive <code>clickstream_keyword_info</code>, <code>keyword_info_normalized_with_clickstream</code>, and <code>keyword_info_normalized_with_bing</code> fields in the response<br>default value: <code>false</code><br>with this parameter enabled, you will be charged double the price for the request<p>learn more about how clickstream-based metrics are calculated in this <a href=\"https://dataforseo.com/help-center/what-are-clickstream-based-metrics-and-how-do-we-calculate-them\" rel=\"noopener noreferrer\" target=\"_blank\">help center article</a>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "include_seed_keyword": {
        -        "description": "<em>include data for the seed keyword</em><br>optional field<br>if set to <code>true</code>, data for the seed keyword specified in the <code>keyword</code> field will be provided in the <code>seed_keyword_data</code> array of the response<br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "include_serp_info": {
        -        "description": "<em>include data from SERP for each keyword</em><br>optional field<br>if set to <code>true</code>, we will return a <code>serp_info</code> array containing SERP data (number of search results, relevant URL, and SERP features) for every keyword in the response<br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "keyword": {
        -        "description": "<em>keyword</em><br><strong>required field</strong><br>UTF-8 encoding<br>the keywords will be converted to lowercase format;<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        -        "type": "string"
        -      },
        -      "language_code": {
        -        "description": "<em>language code</em><br>optional field<br>if you use this field, you don't need to specify <code>language_name</code><br>you can receive the list of available languages with their <code>language_code</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">en</code><br><strong>Note:</strong> if omitted, results default to the language with the most keyword records in the specified location;<br>refer to the <code>available_languages.keywords</code> field of the <a href=\"https://docs.dataforseo.com/v3/dataforseo_labs/locations_and_languages\" target=\"_blank\">Locations and Languages endpoint</a> to determine the default language",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "language_name": {
        -        "description": "<em>full name of the language</em><br>optional field<br>if you use this field, you don't need to specify <code>language_code</code><br>you can receive the list of available languages with their <code>language_name</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">English</code><br><strong>Note:</strong> if omitted, results default to the language with the most keyword records in the specified location;<br>refer to the <code>available_languages.keywords</code> field of the <a href=\"https://docs.dataforseo.com/v3/dataforseo_labs/locations_and_languages\" target=\"_blank\">Locations and Languages endpoint</a> to determine the default language",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "limit": {
        -        "description": "<em>the maximum number of returned keywords</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "location_code": {
        -        "description": "<em>location code</em><br>optional field<br>if you use this field, you don't need to specify <code>location_name</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">2840</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "location_name": {
        -        "description": "<em>full name of the location</em><br>optional field<br>if you use this field, you don't need to specify <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">United Kingdom</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "offset": {
        -        "description": "<em>offset in the results array of returned keywords</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten keywords in the results array will be omitted and the data will be provided for the successive keywords<br><strong>Note:</strong> we recommend using this parameter only when retrieving up to 10,000 results<br>for retrieving over 10,000 results, use the <code>offset_token</code> instead.",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "offset_token": {
        -        "description": "<em>offset token for subsequent requests</em><br>optional field<br>provided in the identical filed of the response to each request;<br>use this parameter to avoid timeouts while trying to obtain over 10,000 results in a single request;<br>by specifying the unique <code>offset_token</code> value from the response array, you will get the subsequent results of the initial task;<br><code>offset_token</code> values are unique for each subsequent task<br><strong>Note:</strong> if the <code>offset_token</code> is specified in the request, all other parameters except <code>limit</code> will not be taken into account when processing a task.<br>learn more about this parameter on our <a href=\"https://dataforseo.com/help-center/what-is-the-difference-between-the-offset-and-offset_token-parameters#offset_token\" target=\"_blank\">Help Center</a>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "order_by": {
        -        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>a comma is used as a separator<br>example:<br><code>[\"keyword_info.competition,desc\"]</code><br>default rule:<br><code>[\"keyword_info.search_volume,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"keyword_info.search_volume,desc\",\"keyword_info.cpc,desc\"]</code>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "required": [
        +      "keyword"
        +    ]
        +  },
        +  {
        +    "required": [
        +      "offset_token"
        +    ]
        +  }
        +]
      • addedInput schema / properties / body / items / properties
        Added value: +{
        +  "exact_match": {
        +    "description": "search for the exact phrase optional field if set to true, the returned keywords will include the exact keyword phrase you specified, with potentially other words before or after that phrase default value: false",
        +    "type": "boolean"
        +  },
        +  "filters": {
        +    "description": "array of results filtering parameters optional field you can add several filters at once (8 filters maximum) you should set a logical operator and, or between the conditions the following operators are supported: regex, not_regex, <, <=, >, >=, =, <>, in, not_in, match, not_match, ilike, not_ilike, like, not_like you can use the % operator with like and not_like, as well as ilike and not_ilike to match any string of zero or more characters example: [\"keyword_info.search_volume\",\">\",0] [[\"keyword_info.search_volume\",\"in\",[0,1000]], \"and\", [\"keyword_info.competition_level\",\"=\",\"LOW\"]][[\"keyword_info.search_volume\",\">\",100], \"and\", [[\"keyword_info.cpc\",\"<\",0.5], \"or\", [\"keyword_info.high_top_of_page_bid\",\"<=\",0.5]]] for more information about filters, please refer to Dataforseo Labs - Filters or this help center guide",
        +    "items": {},
        +    "type": "array"
        +  },
        +  "ignore_synonyms": {
        +    "description": "ignore highly similar keywords optional field if set to true only core keywords will be returned, all highly similar keywords will be excluded; default value: false",
        +    "type": "boolean"
        +  },
        +  "include_clickstream_data": {
        +    "description": "include or exclude data from clickstream-based metrics in the result optional field if the parameter is set to true, you will receive clickstream_keyword_info, keyword_info_normalized_with_clickstream, and keyword_info_normalized_with_bing fields in the response default value: false with this parameter enabled, you will be charged double the price for the request learn more about how clickstream-based metrics are calculated in this help center article",
        +    "type": "boolean"
        +  },
        +  "include_seed_keyword": {
        +    "description": "include data for the seed keyword optional field if set to true, data for the seed keyword specified in the keyword field will be provided in the seed_keyword_data array of the response default value: false",
        +    "type": "boolean"
        +  },
        +  "include_serp_info": {
        +    "description": "include data from SERP for each keyword optional field if set to true, we will return a serp_info array containing SERP data (number of search results, relevant URL, and SERP features) for every keyword in the response default value: false",
        +    "type": "boolean"
        +  },
        +  "keyword": {
        +    "description": "keyword required field UTF-8 encoding the keywords will be converted to lowercase format; learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        +    "type": "string"
        +  },
        +  "language_code": {
        +    "description": "language code optional field if you use this field, you don’t need to specify language_name you can receive the list of available languages with their language_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: en Note: if omitted, results default to the language with the most keyword records in the specified location; refer to the available_languages.keywords field of the Locations and Languages endpoint to determine the default language",
        +    "type": "string"
        +  },
        +  "language_name": {
        +    "description": "full name of the language optional field if you use this field, you don’t need to specify language_code you can receive the list of available languages with their language_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: English Note: if omitted, results default to the language with the most keyword records in the specified location; refer to the available_languages.keywords field of the Locations and Languages endpoint to determine the default language",
        +    "type": "string"
        +  },
        +  "limit": {
        +    "description": "the maximum number of returned keywords optional field default value: 100 maximum value: 1000",
        +    "type": "integer"
        +  },
        +  "location_code": {
        +    "description": "location code optional field if you use this field, you don’t need to specify location_name you can receive the list of available locations with their location_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages ignore this field to get the results for all available locations example: 2840",
        +    "type": "integer"
        +  },
        +  "location_name": {
        +    "description": "full name of the location optional field if you use this field, you don’t need to specify location_code you can receive the list of available locations with their location_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages ignore this field to get the results for all available locations example: United Kingdom",
        +    "type": "string"
        +  },
        +  "offset": {
        +    "description": "offset in the results array of returned keywords optional field default value: 0 if you specify the 10 value, the first ten keywords in the results array will be omitted and the data will be provided for the successive keywords Note: we recommend using this parameter only when retrieving up to 10,000 results for retrieving over 10,000 results, use the offset_token instead.",
        +    "type": "integer"
        +  },
        +  "offset_token": {
        +    "description": "offset token for subsequent requests optional field provided in the identical filed of the response to each request; use this parameter to avoid timeouts while trying to obtain over 10,000 results in a single request; by specifying the unique offset_token value from the response array, you will get the subsequent results of the initial task; offset_token values are unique for each subsequent task Note: if the offset_token is specified in the request, all other parameters except limit will not be taken into account when processing a task. learn more about this parameter on our Help Center",
        +    "type": "string"
        +  },
        +  "order_by": {
        +    "description": "results sorting rules optional field you can use the same values as in the filters array to sort the results possible sorting types: asc – results will be sorted in the ascending order desc – results will be sorted in the descending order a comma is used as a separator example: [\"keyword_info.competition,desc\"] default rule: [\"keyword_info.search_volume,desc\"] note that you can set no more than three sorting rules in a single request you should use a comma to separate several sorting rules example: [\"keyword_info.search_volume,desc\",\"keyword_info.cpc,desc\"]",
        +    "items": {
        +      "type": "string"
        +    },
        +    "type": "array"
        +  },
        +  "tag": {
        +    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        +    "type": "string"
        +  }
        +}
      • changedInput schema / properties / body / items / type
        Previous value: -[
        -  "object",
        -  "null"
        -]New value: +"object"
      • changedInput schema / required
        Previous value: -[]New value: +[
        +  "body"
        +]
      • removedOutput schema / x-fastmcp-wrap-result
        Removed value: -true
    • Changedpost_dataforseo_labs_google_related_keywords_live8 fields changed
      • removedInput schema / properties / body / example
        Removed value: -[
        -  {
        -    "keyword": "phone",
        -    "language_name": "English",
        -    "limit": 3,
        -    "location_code": 2840
        -  }
        -]
      • addedInput schema / properties / body / items / allOf
        Added value: +[
        +  {
        +    "anyOf": [
        +      {
        +        "required": [
        +          "location_name"
        +        ]
        +      },
        +      {
        +        "required": [
        +          "location_code"
        +        ]
        +      }
        +    ]
        +  },
        +  {
        +    "anyOf": [
        +      {
        +        "required": [
        +          "language_name"
        +        ]
        +      },
        +      {
        +        "required": [
        +          "language_code"
        +        ]
        +      }
        +    ]
        +  }
        +]
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "keyword": "phone",
        -        "language_name": "English",
        -        "limit": 3,
        -        "location_code": 2840
        -      }
        -    ],
        -    "properties": {
        -      "depth": {
        -        "description": "<em>keyword search depth</em><br>optional field<br>default value: <code>1</code><p>number of the returned results depends on the value you set in this field<br>you can specify a level from 0 to 4<br>estimated number of keywords for each level (maximum):<br>0 - the keyword set in the <code>keyword</code> field<br>1 – 8 keywords<br>2 – 72 keywords<br>3 – 584 keywords<br>4 – 4680 keywords",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "filters": {
        -        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>match</code>, <code>not_match</code>, <code>ilike</code>, <code>not_ilike</code>, <code>like</code>,<code>not_like</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code>, as well as <code>ilike</code> and <code>not_ilike</code> to match any string of zero or more characters<br>example:<br><code>[\"keyword_data.keyword_info.search_volume\",\"&gt;\",0]</code><p><code>[[\"keyword_info.search_volume\",\"in\",[0,1000]],<br>\"and\",<br>[\"keyword_data.keyword_info.competition_level\",\"=\",\"LOW\"]]</code><p><code>[[\"keyword_data.keyword_info.search_volume\",\"&gt;\",100],<br>\"and\",<br>[[\"keyword_data.keyword_info.cpc\",\"&lt;\",0.5],<br>\"or\",<p>[\"keyword_info.high_top_of_page_bid\",\"&lt;=\",0.5]]]</code><br>for more information about filters, please refer to <a href=\"/v3/dataforseo_labs/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Dataforseo Labs - Filters</a> or this <a href=\"https://dataforseo.com/help-center/how-to-use-filters-in-dataforseo-labs-api\" rel=\"noopener noreferrer\" target=\"_blank\">help center guide</a>",
        -        "items": {
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "ignore_synonyms": {
        -        "description": "",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "include_clickstream_data": {
        -        "description": "",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "include_seed_keyword": {
        -        "description": "<em>include data for the seed keyword</em><br>optional field<br>if set to <code>true</code>, data for the seed keyword specified in the <code>keyword</code> field will be provided in the <code>seed_keyword_data</code> array of the response<br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "include_serp_info": {
        -        "description": "<em>include data from SERP for each keyword</em><br>optional field<br>if set to <code>true</code>, we will return a <code>serp_info</code> array containing SERP data (number of search results, relevant URL, and SERP features) for every keyword in the response<br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "keyword": {
        -        "description": "<em>keyword</em><br><strong>required field</strong><br>UTF-8 encoding<br>the keywords will be converted to lowercase format<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        -        "type": "string"
        -      },
        -      "language_code": {
        -        "description": "<em>language code</em><br><strong>required field if you don't specify</strong> <code>language_name</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available locations with their <code>language_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">en</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "language_name": {
        -        "description": "<em>full name of the language</em><br><strong>required field if you don't specify</strong> <code>language_code</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available locations with their <code>language_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">English</code>",
        -        "type": "string"
        -      },
        -      "limit": {
        -        "description": "<em>the maximum number of returned keywords</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "location_code": {
        -        "description": "<em>location code</em><br><strong>required field if you don't specify</strong> <code>location_name</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">2840</code>",
        -        "type": "integer"
        -      },
        -      "location_name": {
        -        "description": "<em>full name of the location</em><br><strong>required field if you don't specify</strong> <code>location_code</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">United Kingdom</code>",
        -        "type": "string"
        -      },
        -      "offset": {
        -        "description": "<em>offset in the results array of returned keywords</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten keywords in the results array will be omitted and the data will be provided for the successive keywords",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "order_by": {
        -        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to set up a sorting type<br>example:<br><code>[\"keyword_data.keyword_info.competition,desc\"]</code><br>default rule:<br><code>[\"keyword_data.keyword_info.search_volume,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"keyword_data.keyword_info.search_volume,desc\",\"keyword_data.keyword_info.cpc,desc\"]</code>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "replace_with_core_keyword": {
        -        "description": "<em>return data for core keyword</em><br>optional field<br>if <code>true</code>, <code>serp_info</code> and <code>related_keywords</code> will be returned for the main keyword in the group that the specified <code>keyword</code> belongs to;<br>if <code>false</code>, <code>serp_info</code> and <code>related_keywords</code> will be returned for the specified <code>keyword</code> (if available);<br>refer to <a href=\"https://dataforseo.com/help-center/replace_with_core_keyword\" rel=\"noopener noreferrer\" target=\"_blank\">this help center article</a> for more details;<br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / properties
        Added value: +{
        +  "depth": {
        +    "description": "keyword search depth optional field default value: 1 number of the returned results depends on the value you set in this field you can specify a level from 0 to 4 estimated number of keywords for each level (maximum): 0 – the keyword set in the keyword field 1 – 8 keywords 2 – 72 keywords 3 – 584 keywords 4 – 4680 keywords",
        +    "type": "integer"
        +  },
        +  "filters": {
        +    "description": "array of results filtering parameters optional field you can add several filters at once (8 filters maximum) you should set a logical operator and, or between the conditions the following operators are supported: regex, not_regex, <, <=, >, >=, =, <>, in, not_in, match, not_match, ilike, not_ilike, like,not_like you can use the % operator with like and not_like, as well as ilike and not_ilike to match any string of zero or more characters example: [\"keyword_data.keyword_info.search_volume\",\">\",0] [[\"keyword_info.search_volume\",\"in\",[0,1000]], \"and\", [\"keyword_data.keyword_info.competition_level\",\"=\",\"LOW\"]] [[\"keyword_data.keyword_info.search_volume\",\">\",100], \"and\", [[\"keyword_data.keyword_info.cpc\",\"<\",0.5], \"or\", [\"keyword_info.high_top_of_page_bid\",\"<=\",0.5]]] for more information about filters, please refer to Dataforseo Labs - Filters or this help center guide",
        +    "items": {},
        +    "type": "array"
        +  },
        +  "ignore_synonyms": {
        +    "description": "ignore highly similar keywords optional field if set to true only core keywords will be returned, all highly similar keywords will be excluded; default value: false",
        +    "type": "boolean"
        +  },
        +  "include_clickstream_data": {
        +    "description": "include or exclude data from clickstream-based metrics in the result optional field if the parameter is set to true, you will receive clickstream_keyword_info, keyword_info_normalized_with_clickstream, and keyword_info_normalized_with_bing fields in the response default value: false with this parameter enabled, you will be charged double the price for the request learn more about how clickstream-based metrics are calculated in this help center article",
        +    "type": "boolean"
        +  },
        +  "include_seed_keyword": {
        +    "description": "include data for the seed keyword optional field if set to true, data for the seed keyword specified in the keyword field will be provided in the seed_keyword_data array of the response default value: false",
        +    "type": "boolean"
        +  },
        +  "include_serp_info": {
        +    "description": "include data from SERP for each keyword optional field if set to true, we will return a serp_info array containing SERP data (number of search results, relevant URL, and SERP features) for every keyword in the response default value: false",
        +    "type": "boolean"
        +  },
        +  "keyword": {
        +    "description": "keyword required field UTF-8 encoding the keywords will be converted to lowercase format learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        +    "type": "string"
        +  },
        +  "language_code": {
        +    "description": "language code required field if you don’t specify language_name Note: it is required to specify either language_name or language_code you can receive the list of available locations with their language_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: en",
        +    "type": "string"
        +  },
        +  "language_name": {
        +    "description": "full name of the language required field if you don’t specify language_code Note: it is required to specify either language_name or language_code you can receive the list of available locations with their language_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: English",
        +    "type": "string"
        +  },
        +  "limit": {
        +    "description": "the maximum number of returned keywords optional field default value: 100 maximum value: 1000",
        +    "type": "integer"
        +  },
        +  "location_code": {
        +    "description": "location code required field if you don’t specify location_name Note: it is required to specify either location_name or location_code you can receive the list of available locations with their location_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: 2840",
        +    "type": "integer"
        +  },
        +  "location_name": {
        +    "description": "full name of the location required field if you don’t specify location_code Note: it is required to specify either location_name or location_code you can receive the list of available locations with their location_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: United Kingdom",
        +    "type": "string"
        +  },
        +  "offset": {
        +    "description": "offset in the results array of returned keywords optional field default value: 0 if you specify the 10 value, the first ten keywords in the results array will be omitted and the data will be provided for the successive keywords",
        +    "type": "integer"
        +  },
        +  "order_by": {
        +    "description": "results sorting rules optional field you can use the same values as in the filters array to sort the results possible sorting types: asc – results will be sorted in the ascending order desc – results will be sorted in the descending order you should use a comma to set up a sorting type example: [\"keyword_data.keyword_info.competition,desc\"] default rule: [\"keyword_data.keyword_info.search_volume,desc\"] note that you can set no more than three sorting rules in a single request you should use a comma to separate several sorting rules example: [\"keyword_data.keyword_info.search_volume,desc\",\"keyword_data.keyword_info.cpc,desc\"]",
        +    "items": {
        +      "type": "string"
        +    },
        +    "type": "array"
        +  },
        +  "replace_with_core_keyword": {
        +    "description": "return data for core keyword optional field if true, serp_info and related_keywords will be returned for the main keyword in the group that the specified keyword belongs to; if false, serp_info and related_keywords will be returned for the specified keyword (if available); refer to this help center article for more details; default value: false",
        +    "type": "boolean"
        +  },
        +  "tag": {
        +    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        +    "type": "string"
        +  }
        +}
      • addedInput schema / properties / body / items / required
        Added value: +[
        +  "keyword"
        +]
      • changedInput schema / properties / body / items / type
        Previous value: -[
        -  "object",
        -  "null"
        -]New value: +"object"
      • changedInput schema / required
        Previous value: -[]New value: +[
        +  "body"
        +]
      • removedOutput schema / x-fastmcp-wrap-result
        Removed value: -true
    • Changedpost_dataforseo_labs_google_relevant_pages_live7 fields changed
      • removedInput schema / properties / body / example
        Removed value: -[
        -  {
        -    "filters": [
        -      [
        -        "metrics.organic.pos_1",
        -        "<>",
        -        0
        -      ],
        -      "or",
        -      [
        -        "metrics.organic.pos_2_3",
        -        "<>",
        -        0
        -      ]
        -    ],
        -    "language_name": "English",
        -    "limit": 3,
        -    "location_code": 2840,
        -    "target": "amazon.com"
        -  }
        -]
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "filters": [
        -          [
        -            "metrics.organic.pos_1",
        -            "<>",
        -            0
        -          ],
        -          "or",
        -          [
        -            "metrics.organic.pos_2_3",
        -            "<>",
        -            0
        -          ]
        -        ],
        -        "language_name": "English",
        -        "limit": 3,
        -        "location_code": 2840,
        -        "target": "amazon.com"
        -      }
        -    ],
        -    "properties": {
        -      "filters": {
        -        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code><p>example:<br><code>[\"metrics.paid.count\",\"&gt;\",0]</code><p><code>[[\"metrics.organic.count\",\"&gt;\",50],\"and\",[\"metrics.organic.pos_1\",\"&lt;&gt;\",0]]</code><p><code>[[\"\"metrics.organic.count\",\"&gt;\",50\"],<br>\"and\",<br>[[\"metrics.organic.pos_1\",\"&lt;&gt;\",0],\"or\",[\"metrics.organic.pos_2_3\",\"&lt;&gt;\",0]]]</code><br>for more information about filters, please refer to <a href=\"/v3/dataforseo_labs/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Dataforseo Labs - Filters</a> or this <a href=\"https://dataforseo.com/help-center/how-to-use-filters-in-dataforseo-labs-api\" rel=\"noopener noreferrer\" target=\"_blank\">help center guide</a>",
        -        "items": {
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "historical_serp_mode": {
        -        "description": "<em>data collection mode</em><br>optional field<br>you can use this field to filter the results;<br>possible types of filtering:<br><code>live</code> — return metrics for SERPs in which the specified <code>target</code> currently has ranking results;<br><code>lost</code> — return metrics for SERPs in which the specified <code>target</code> had previously had ranking results, but didn't have them during the last check;<br><code>all</code> — return metrics for both types of SERPs.<br>default value: <code>live</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "ignore_synonyms": {
        -        "description": "<em>ignore highly similar keywords</em><br>optional field<br>if set to <code class=\"prettyprint\">true</code>, only core keywords will be returned, all highly similar keywords will be excluded;  <br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "include_clickstream_data": {
        -        "description": "<em>include or exclude data from clickstream-based metrics in the result</em><br>optional field<br>if the parameter is set to <code>true</code>, you will receive <code>clickstream_etv</code>, <code>clickstream_gender_distribution</code>, and <code>clickstream_age_distribution</code> fields with clickstream data in the response<br>default value: <code>false</code><br>with this parameter enabled, you will be charged double the price for the request<p>learn more about how clickstream-based metrics are calculated in this <a href=\"https://dataforseo.com/help-center/what-are-clickstream-based-metrics-and-how-do-we-calculate-them\" rel=\"noopener noreferrer\" target=\"_blank\">help center article</a>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "item_types": {
        -        "description": "<em>display results by item type</em><br>optional field<br>indicates the type of search results included in the response<p><strong>Note:</strong> if the <code>item_types</code> array contains item types that are different from <code>organic</code>, the results will be ordered by the first item type in the array; you will not be able to sort and filter results by the types of search results not included in the response;<p>possible values: <br><code>[\"organic\", \"paid\", \"featured_snippet\", \"local_pack\"]</code><br>default value: <br><code>[\"organic\", \"paid\"]</code>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "language_code": {
        -        "description": "<em>language code</em><br>optional field<br>if you use this field, you don't need to specify <code>language_name</code><br>you can receive the list of available languages with their <code>language_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available languages<br>example:<br><code class=\"long-string\">en</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "language_name": {
        -        "description": "<em>full name of the language</em><br>optional field<br>if you use this field, you don't need to specify <code>language_code</code><br>you can receive the list of available languages with their <code>language_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available languages<br>example:<br><code class=\"long-string\">English</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "limit": {
        -        "description": "<em>the maximum number of returned pages</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "location_code": {
        -        "description": "<em>location code</em><br>optional field<br>if you use this field, you don't need to specify <code>location_name</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">2840</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "location_name": {
        -        "description": "<em>full name of the location</em><br>optional field<br>if you use this field, you don't need to specify <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">United Kingdom</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "offset": {
        -        "description": "<em>offset in the results array of returned pages</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten pages in the results array will be omitted and the data will be provided for the successive pages",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "order_by": {
        -        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to specify a sorting type<br>example:<br><code>[\"metrics.paid.etv,asc\"]</code><br><strong>Note:</strong> you can set no more than three sorting rules in a single request<br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"metrics.organic.etv,desc\",\"metrics.paid.count,asc\"]</code><p>default rule:<br><code>[\"metrics.organic.count,desc\"]</code><br><strong>Note:</strong> if the <code>item_types</code> array contains item types that are different from <code>organic</code>, the results will be ordered by the first item type in the array",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "target": {
        -        "description": "<em>domain</em><br><strong>required field</strong><br>the domain name of the target website<br>the domain should be specified without <code>https://</code> and <code>www.</code>",
        -        "type": "string"
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / properties
        Added value: +{
        +  "filters": {
        +    "description": "array of results filtering parameters optional field you can add several filters at once (8 filters maximum) you should set a logical operator and, or between the conditions the following operators are supported: regex, not_regex, , , >, >=, =, , in, not_in example: [\"metrics.paid.count\",\">\",0] [[\"metrics.organic.count\",\">\",50],\"and\",[\"metrics.organic.pos_1\",\"\",0]] [[\"\"metrics.organic.count\",\">\",50\"], \"and\", [[\"metrics.organic.pos_1\",\"\",0],\"or\",[\"metrics.organic.pos_2_3\",\"\",0]]] for more information about filters, please refer to Dataforseo Labs – Filters or this help center guide",
        +    "items": {},
        +    "type": "array"
        +  },
        +  "historical_serp_mode": {
        +    "description": "data collection mode optional field you can use this field to filter the results; possible types of filtering: live — return metrics for SERPs in which the specified target currently has ranking results; lost — return metrics for SERPs in which the specified target had previously had ranking results, but didn’t have them during the last check; all — return metrics for both types of SERPs. default value: live",
        +    "type": "string"
        +  },
        +  "ignore_synonyms": {
        +    "description": "ignore highly similar keywords optional field if set to true, only core keywords will be returned, all highly similar keywords will be excluded; default value: false",
        +    "type": "boolean"
        +  },
        +  "include_clickstream_data": {
        +    "description": "include or exclude data from clickstream-based metrics in the result optional field if the parameter is set to true, you will receive clickstream_etv, clickstream_gender_distribution, and clickstream_age_distribution fields with clickstream data in the response default value: false with this parameter enabled, you will be charged double the price for the request learn more about how clickstream-based metrics are calculated in this help center article",
        +    "type": "boolean"
        +  },
        +  "item_types": {
        +    "description": "display results by item type optional field indicates the type of search results included in the response Note: if the item_types array contains item types that are different from organic, the results will be ordered by the first item type in the array; you will not be able to sort and filter results by the types of search results not included in the response; possible values: [\"organic\", \"paid\", \"featured_snippet\", \"local_pack\"] default value: [\"organic\", \"paid\"]",
        +    "items": {
        +      "type": "string"
        +    },
        +    "type": "array"
        +  },
        +  "language_code": {
        +    "description": "language code optional field if you use this field, you don’t need to specify language_name you can receive the list of available languages with their language_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages ignore this field to get the results for all available languages example: en",
        +    "type": "string"
        +  },
        +  "language_name": {
        +    "description": "full name of the language optional field if you use this field, you don’t need to specify language_code you can receive the list of available languages with their language_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages ignore this field to get the results for all available languages example: English",
        +    "type": "string"
        +  },
        +  "limit": {
        +    "description": "the maximum number of returned pages optional field default value: 100 maximum value: 1000",
        +    "type": "integer"
        +  },
        +  "location_code": {
        +    "description": "location code optional field if you use this field, you don’t need to specify location_name you can receive the list of available locations with their location_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages ignore this field to get the results for all available locations example: 2840",
        +    "type": "integer"
        +  },
        +  "location_name": {
        +    "description": "full name of the location optional field if you use this field, you don’t need to specify location_code you can receive the list of available locations with their location_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages ignore this field to get the results for all available locations example: United Kingdom",
        +    "type": "string"
        +  },
        +  "offset": {
        +    "description": "offset in the results array of returned pages optional field default value: 0 if you specify the 10 value, the first ten pages in the results array will be omitted and the data will be provided for the successive pages",
        +    "type": "integer"
        +  },
        +  "order_by": {
        +    "description": "results sorting rules optional field you can use the same values as in the filters array to sort the results possible sorting types: asc – results will be sorted in the ascending order desc – results will be sorted in the descending order you should use a comma to specify a sorting type example: [\"metrics.paid.etv,asc\"] Note: you can set no more than three sorting rules in a single request you should use a comma to separate several sorting rules example: [\"metrics.organic.etv,desc\",\"metrics.paid.count,asc\"] default rule: [\"metrics.organic.count,desc\"] Note: if the item_types array contains item types that are different from organic, the results will be ordered by the first item type in the array",
        +    "items": {
        +      "type": "string"
        +    },
        +    "type": "array"
        +  },
        +  "tag": {
        +    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        +    "type": "string"
        +  },
        +  "target": {
        +    "description": "domain required field the domain name of the target website the domain should be specified without https:// and www.",
        +    "type": "string"
        +  }
        +}
      • addedInput schema / properties / body / items / required
        Added value: +[
        +  "target"
        +]
      • changedInput schema / properties / body / items / type
        Previous value: -[
        -  "object",
        -  "null"
        -]New value: +"object"
      • changedInput schema / required
        Previous value: -[]New value: +[
        +  "body"
        +]
      • removedOutput schema / x-fastmcp-wrap-result
        Removed value: -true
    • Changedpost_dataforseo_labs_google_search_intent_live8 fields changed
      • removedInput schema / properties / body / example
        Removed value: -[
        -  {
        -    "keywords": [
        -      "login page",
        -      "audi a7",
        -      "elon musk",
        -      "milk store new york"
        -    ]
        -  }
        -]
      • addedInput schema / properties / body / items / allOf
        Added value: +[
        +  {
        +    "anyOf": [
        +      {
        +        "required": [
        +          "language_name"
        +        ]
        +      },
        +      {
        +        "required": [
        +          "language_code"
        +        ]
        +      }
        +    ]
        +  }
        +]
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "keywords": [
        -          "login page",
        -          "audi a7",
        -          "elon musk",
        -          "milk store new york"
        -        ]
        -      }
        -    ],
        -    "properties": {
        -      "keywords": {
        -        "description": "<em>target keywords</em><br><strong>required field</strong><br>UTF-8 encoding<br>maximum number of keywords you can specify in this array: 1000;<br>the keywords will be converted to lowercase format<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / properties
        Added value: +{
        +  "keywords": {
        +    "description": "target keywords required field UTF-8 encoding maximum number of keywords you can specify in this array: 1000; the keywords will be converted to lowercase format learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        +    "items": {
        +      "type": "string"
        +    },
        +    "type": "array"
        +  },
        +  "language_code": {
        +    "description": "language code required field if don’t specify language_name you can receive the list of available languages with their language_code by making a separate request to https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages Note: this endpoint currently supports these languages only; example: en",
        +    "type": "string"
        +  },
        +  "language_name": {
        +    "description": "full name of the language required field if don’t specify language_code you can receive the list of available languages with their language_name by making a separate request to https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages Note: this endpoint currently supports the following languages only: Arabic, ar, Chinese(Traditional), zh-TW, Czech, cs, Danish, da, Dutch, nl, English, en, Finnish, fi, French, fr, German, de, Hebrew, he, Hindi, hi, Italian, it, Japanese, ja, Korean, ko, Malay, ms, Norwegian(Bokmål), nb, Polish, pl, Portuguese, pt, Romanian, ro, Russian, ru, Spanish, es, Swedish, sv, Thai, th, Ukrainian, uk, Vietnamese, vi, Bulgarian, bg, Croatian, hr, Serbian, sr, Slovenian, sl, Bosnian, bs, Greek, el, Hungarian, hu, Slovak, sk, Turkish, tr example: English",
        +    "type": "string"
        +  },
        +  "tag": {
        +    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        +    "type": "string"
        +  }
        +}
      • addedInput schema / properties / body / items / required
        Added value: +[
        +  "keywords"
        +]
      • changedInput schema / properties / body / items / type
        Previous value: -[
        -  "object",
        -  "null"
        -]New value: +"object"
      • changedInput schema / required
        Previous value: -[]New value: +[
        +  "body"
        +]
      • removedOutput schema / x-fastmcp-wrap-result
        Removed value: -true
    • Changedpost_dataforseo_labs_google_serp_competitors_live8 fields changed
      • removedInput schema / properties / body / example
        Removed value: -[
        -  {
        -    "item_types": [
        -      "organic"
        -    ],
        -    "keywords": [
        -      "phone"
        -    ],
        -    "language_name": "English",
        -    "limit": 5,
        -    "location_code": 2840
        -  }
        -]
      • addedInput schema / properties / body / items / allOf
        Added value: +[
        +  {
        +    "anyOf": [
        +      {
        +        "required": [
        +          "location_name"
        +        ]
        +      },
        +      {
        +        "required": [
        +          "location_code"
        +        ]
        +      }
        +    ]
        +  },
        +  {
        +    "anyOf": [
        +      {
        +        "required": [
        +          "language_name"
        +        ]
        +      },
        +      {
        +        "required": [
        +          "language_code"
        +        ]
        +      }
        +    ]
        +  }
        +]
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "item_types": [
        -          "organic"
        -        ],
        -        "keywords": [
        -          "phone"
        -        ],
        -        "language_name": "English",
        -        "limit": 5,
        -        "location_code": 2840
        -      }
        -    ],
        -    "properties": {
        -      "filters": {
        -        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>match</code>, <code>not_match</code>, <code>ilike</code>, <code>not_ilike</code>, <code>like</code>, <code>not_like</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code>, as well as <code>ilike</code> and <code>not_ilike</code> to match any string of zero or more characters<br>example:<br><code>[\"median_position\",\"in\",[1,10]]</code><p><code>[[\"median_position\",\"in\",[1,10]],\"and\",[\"domain\",\"not_like\",\"%wikipedia.org%\"]]</code><p><code>[[\"domain\",\"not_like\",\"%wikipedia.org%\"],<br>\"and\",<br>[[\"relevant_serp_items\",\"&gt;\",0],\"or\",[\"median_position\",\"in\",[1,10]]]]</code><br>for more information about filters, please refer to <a href=\"/v3/dataforseo_labs/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Dataforseo Labs - Filters</a> or this <a href=\"https://dataforseo.com/help-center/how-to-use-filters-in-dataforseo-labs-api\" rel=\"noopener noreferrer\" target=\"_blank\">help center guide</a>",
        -        "items": {
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "include_subdomains": {
        -        "description": "<em>indicates if the subdomains will be included in the search</em><br>optional field<br>if set to <code>false</code>, the subdomains will be ignored<br>default value: <code>true</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "item_types": {
        -        "description": "<em>search results type</em><br>indicates type of search results included in the response<br>optional field<p>possible values: <br><code>[\"organic\", \"paid\", \"featured_snippet\", \"local_pack\"]</code><br>default value: <br><code>[\"organic\", \"paid\"]</code>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "keywords": {
        -        "description": "<em>keywords array</em><br><strong>required field</strong><br>the results will be based on the keywords you specify in this array<br>UTF-8 encoding;<br>the keywords will be converted to lowercase format;<br><strong>you can specify the maximum of 200 keywords</strong><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "language_code": {
        -        "description": "<em>unique language identifier</em><br><strong>required field if you don't specify</strong> <code>language_name</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available languages with their <code>language_code</code> parameters by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">en</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "language_name": {
        -        "description": "<em>full name of the language</em><br><strong>required field if you don't specify</strong> <code>language_code</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available languages with their <code>language_name</code> parameters by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">English</code>",
        -        "type": "string"
        -      },
        -      "limit": {
        -        "description": "<em>the maximum number of returned domains</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "location_code": {
        -        "description": "<em>unique location identifier</em><br><strong>required field if you don't specify</strong> <code>location_name</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_code</code> parameters by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">2840</code>",
        -        "type": "integer"
        -      },
        -      "location_name": {
        -        "description": "<em>full name of the location</em><br><strong>required field if you don't specify</strong> <code>location_code</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with <code>location_name</code> parameters by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">United Kingdom</code>",
        -        "type": "string"
        -      },
        -      "offset": {
        -        "description": "<em>offset in the results array of returned domains</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten domains in the results array will be omitted and the data will be provided for the successive domains",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "order_by": {
        -        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>the comma is used as a separator<br>example:<br><code>[\"avg_position,asc\"]</code><br>default rule:<br><code>[\"rating,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"avg_position,asc\",\"etv,desc\"]</code>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / properties
        Added value: +{
        +  "filters": {
        +    "description": "array of results filtering parameters optional field you can add several filters at once (8 filters maximum) you should set a logical operator and, or between the conditions the following operators are supported: regex, not_regex, , , >, >=, =, , in, not_in, match, not_match, ilike, not_ilike, like, not_like you can use the % operator with like and not_like, as well as ilike and not_ilike to match any string of zero or more characters example: [\"median_position\",\"in\",[1,10]] [[\"median_position\",\"in\",[1,10]],\"and\",[\"domain\",\"not_like\",\"%wikipedia.org%\"]] [[\"domain\",\"not_like\",\"%wikipedia.org%\"], \"and\", [[\"relevant_serp_items\",\">\",0],\"or\",[\"median_position\",\"in\",[1,10]]]] for more information about filters, please refer to Dataforseo Labs – Filters or this help center guide",
        +    "items": {},
        +    "type": "array"
        +  },
        +  "include_subdomains": {
        +    "description": "indicates if the subdomains will be included in the search optional field if set to false, the subdomains will be ignored default value: true",
        +    "type": "boolean"
        +  },
        +  "item_types": {
        +    "description": "search results type indicates type of search results included in the response optional field possible values: [\"organic\", \"paid\", \"featured_snippet\", \"local_pack\"] default value: [\"organic\", \"paid\"]",
        +    "items": {
        +      "type": "string"
        +    },
        +    "type": "array"
        +  },
        +  "keywords": {
        +    "description": "keywords array required field the results will be based on the keywords you specify in this array UTF-8 encoding; the keywords will be converted to lowercase format; you can specify the maximum of 200 keywords learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        +    "items": {
        +      "type": "string"
        +    },
        +    "type": "array"
        +  },
        +  "language_code": {
        +    "description": "unique language identifier required field if you don’t specify language_name Note: it is required to specify either language_name or language_code you can receive the list of available languages with their language_code parameters by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: en",
        +    "type": "string"
        +  },
        +  "language_name": {
        +    "description": "full name of the language required field if you don’t specify language_code Note: it is required to specify either language_name or language_code you can receive the list of available languages with their language_name parameters by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: English",
        +    "type": "string"
        +  },
        +  "limit": {
        +    "description": "the maximum number of returned domains optional field default value: 100 maximum value: 1000",
        +    "type": "integer"
        +  },
        +  "location_code": {
        +    "description": "unique location identifier required field if you don’t specify location_name Note: it is required to specify either location_name or location_code you can receive the list of available locations with their location_code parameters by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: 2840",
        +    "type": "integer"
        +  },
        +  "location_name": {
        +    "description": "full name of the location required field if you don’t specify location_code Note: it is required to specify either location_name or location_code you can receive the list of available locations with location_name parameters by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: United Kingdom",
        +    "type": "string"
        +  },
        +  "offset": {
        +    "description": "offset in the results array of returned domains optional field default value: 0 if you specify the 10 value, the first ten domains in the results array will be omitted and the data will be provided for the successive domains",
        +    "type": "integer"
        +  },
        +  "order_by": {
        +    "description": "results sorting rules optional field you can use the same values as in the filters array to sort the results possible sorting types: asc – results will be sorted in the ascending order desc – results will be sorted in the descending order the comma is used as a separator example: [\"avg_position,asc\"] default rule: [\"rating,desc\"] note that you can set no more than three sorting rules in a single request you should use a comma to separate several sorting rules example: [\"avg_position,asc\",\"etv,desc\"]",
        +    "items": {
        +      "type": "string"
        +    },
        +    "type": "array"
        +  },
        +  "tag": {
        +    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        +    "type": "string"
        +  }
        +}
      • addedInput schema / properties / body / items / required
        Added value: +[
        +  "keywords"
        +]
      • changedInput schema / properties / body / items / type
        Previous value: -[
        -  "object",
        -  "null"
        -]New value: +"object"
      • changedInput schema / required
        Previous value: -[]New value: +[
        +  "body"
        +]
      • removedOutput schema / x-fastmcp-wrap-result
        Removed value: -true
    • Changedpost_dataforseo_labs_google_subdomains_live7 fields changed
      • removedInput schema / properties / body / example
        Removed value: -[
        -  {
        -    "filters": [
        -      [
        -        "metrics.organic.pos_1",
        -        "<>",
        -        0
        -      ],
        -      "or",
        -      [
        -        "metrics.organic.pos_2_3",
        -        "<>",
        -        0
        -      ]
        -    ],
        -    "language_name": "English",
        -    "location_code": 2840,
        -    "target": "dataforseo.com"
        -  }
        -]
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "filters": [
        -          [
        -            "metrics.organic.pos_1",
        -            "<>",
        -            0
        -          ],
        -          "or",
        -          [
        -            "metrics.organic.pos_2_3",
        -            "<>",
        -            0
        -          ]
        -        ],
        -        "language_name": "English",
        -        "location_code": 2840,
        -        "target": "dataforseo.com"
        -      }
        -    ],
        -    "properties": {
        -      "filters": {
        -        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code><br>example:<br><code>[\"metrics.paid.count\",\"&gt;\",0]</code><p><code>[[\"metrics.paid.count\",\"&gt;\",0],\"and\",[\"metrics.paid.etv\",\"&gt;\",\"50\"]]</code><p><code>[[\"metrics.organic.count\",\"&gt;\",\"10\"],<br>\"and\",<br>[[\"metrics.organic.pos_1\",\"&lt;&gt;\",0],\"or\",[\"metrics.organic.pos_2_3\",\"&lt;&gt;\",0]]]</code><br>for more information about filters, please refer to <a href=\"/v3/dataforseo_labs/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Dataforseo Labs - Filters</a> or this <a href=\"https://dataforseo.com/help-center/how-to-use-filters-in-dataforseo-labs-api\" rel=\"noopener noreferrer\" target=\"_blank\">help center guide</a>",
        -        "items": {
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "historical_serp_mode": {
        -        "description": "<em>data collection mode</em><br>optional field<br>you can use this field to filter the results;<br>possible types of filtering:<br><code>live</code> — return metrics for SERPs in which the specified <code>target</code> currently has ranking results;<br><code>lost</code> — return metrics for SERPs in which the specified <code>target</code> had previously had ranking results, but didn't have them during the last check;<br><code>all</code> — return metrics for both types of SERPs.<br>default value: <code>live</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "ignore_synonyms": {
        -        "description": "<em>ignore highly similar keywords</em><br>optional field<br>if set to <code class=\"prettyprint\">true</code>, only core keywords will be returned, all highly similar keywords will be excluded;  <br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "include_clickstream_data": {
        -        "description": "<em>include or exclude data from clickstream-based metrics in the result</em><br>optional field<br>if the parameter is set to <code>true</code>, you will receive <code>clickstream_etv</code>, <code>clickstream_gender_distribution</code>, and <code>clickstream_age_distribution</code> fields with clickstream data in the response<br>default value: <code>false</code><br>with this parameter enabled, you will be charged double the price for the request<p>learn more about how clickstream-based metrics are calculated in this <a href=\"https://dataforseo.com/help-center/what-are-clickstream-based-metrics-and-how-do-we-calculate-them\" rel=\"noopener noreferrer\" target=\"_blank\">help center article</a>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "item_types": {
        -        "description": "<em>display results by item type</em><br>optional field<br>indicates the type of search results included in the response<p><strong>Note:</strong> if the <code>item_types</code> array contains item types that are different from <code>organic</code>, the results will be ordered by the first item type in the array; you will not be able to sort and filter results by the types of search results not included in the response;<p>possible values: <br><code>[\"organic\", \"paid\", \"featured_snippet\", \"local_pack\"]</code><br>default value: <br><code>[\"organic\", \"paid\"]</code>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "language_code": {
        -        "description": "<em>language code</em><br>optional field<br>if you use this field, you don't need to specify <code>language_name</code><br>you can receive the list of available languages with their <code>language_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available languages<br>example:<br><code class=\"long-string\">en</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "language_name": {
        -        "description": "<em>full name of the language</em><br>optional field<br>if you use this field, you don't need to specify <code>language_code</code><br>you can receive the list of available languages with their <code>language_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available languages<br>example:<br><code class=\"long-string\">English</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "limit": {
        -        "description": "<em>the maximum number of returned keywords</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "location_code": {
        -        "description": "<em>location code</em><br>optional field<br>if you use this field, you don't need to specify <code>location_name</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">2840</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "location_name": {
        -        "description": "<em>full name of the location</em><br>optional field<br>if you use this field, you don't need to specify <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">United Kingdom</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "offset": {
        -        "description": "<em>offset in the results array of returned keywords</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten keywords in the results array will be omitted and the data will be provided for the successive keywords",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "order_by": {
        -        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to specify a sorting type<br>example:<br><code>[\"metrics.paid.etv,asc\"]</code><br><strong>Note:</strong> you can set no more than three sorting rules in a single request<br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"metrics.organic.etv,desc\",\"metrics.paid.count,asc\"]</code><p>default rule:<br><code>[\"metrics.organic.count,desc\"]</code><br><strong>Note:</strong> if the <code>item_types</code> array contains item types that are different from <code>organic</code>, the results will be ordered by the first item type in the array",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "target": {
        -        "description": "<em>domain</em><br><strong>required field</strong><br>the domain name of the target website<br>the domain should be specified without <code>https://</code> and <code>www.</code>",
        -        "type": "string"
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / properties
        Added value: +{
        +  "filters": {
        +    "description": "array of results filtering parameters optional field you can add several filters at once (8 filters maximum) you should set a logical operator and, or between the conditions the following operators are supported: regex, not_regex, , , >, >=, =, , in, not_in example: [\"metrics.paid.count\",\">\",0] [[\"metrics.paid.count\",\">\",0],\"and\",[\"metrics.paid.etv\",\">\",\"50\"]] [[\"metrics.organic.count\",\">\",\"10\"], \"and\", [[\"metrics.organic.pos_1\",\"\",0],\"or\",[\"metrics.organic.pos_2_3\",\"\",0]]] for more information about filters, please refer to Dataforseo Labs – Filters or this help center guide",
        +    "items": {},
        +    "type": "array"
        +  },
        +  "historical_serp_mode": {
        +    "description": "data collection mode optional field you can use this field to filter the results; possible types of filtering: live — return metrics for SERPs in which the specified target currently has ranking results; lost — return metrics for SERPs in which the specified target had previously had ranking results, but didn’t have them during the last check; all — return metrics for both types of SERPs. default value: live",
        +    "type": "string"
        +  },
        +  "ignore_synonyms": {
        +    "description": "ignore highly similar keywords optional field if set to true, only core keywords will be returned, all highly similar keywords will be excluded; default value: false",
        +    "type": "boolean"
        +  },
        +  "include_clickstream_data": {
        +    "description": "include or exclude data from clickstream-based metrics in the result optional field if the parameter is set to true, you will receive clickstream_etv, clickstream_gender_distribution, and clickstream_age_distribution fields with clickstream data in the response default value: false with this parameter enabled, you will be charged double the price for the request learn more about how clickstream-based metrics are calculated in this help center article",
        +    "type": "boolean"
        +  },
        +  "item_types": {
        +    "description": "display results by item type optional field indicates the type of search results included in the response Note: if the item_types array contains item types that are different from organic, the results will be ordered by the first item type in the array; you will not be able to sort and filter results by the types of search results not included in the response; possible values: [\"organic\", \"paid\", \"featured_snippet\", \"local_pack\"] default value: [\"organic\", \"paid\"]",
        +    "items": {
        +      "type": "string"
        +    },
        +    "type": "array"
        +  },
        +  "language_code": {
        +    "description": "language code optional field if you use this field, you don’t need to specify language_name you can receive the list of available languages with their language_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages ignore this field to get the results for all available languages example: en",
        +    "type": "string"
        +  },
        +  "language_name": {
        +    "description": "full name of the language optional field if you use this field, you don’t need to specify language_code you can receive the list of available languages with their language_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages ignore this field to get the results for all available languages example: English",
        +    "type": "string"
        +  },
        +  "limit": {
        +    "description": "the maximum number of returned keywords optional field default value: 100 maximum value: 1000",
        +    "type": "integer"
        +  },
        +  "location_code": {
        +    "description": "location code optional field if you use this field, you don’t need to specify location_name you can receive the list of available locations with their location_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages ignore this field to get the results for all available locations example: 2840",
        +    "type": "integer"
        +  },
        +  "location_name": {
        +    "description": "full name of the location optional field if you use this field, you don’t need to specify location_code you can receive the list of available locations with their location_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages ignore this field to get the results for all available locations example: United Kingdom",
        +    "type": "string"
        +  },
        +  "offset": {
        +    "description": "offset in the results array of returned keywords optional field default value: 0 if you specify the 10 value, the first ten keywords in the results array will be omitted and the data will be provided for the successive keywords",
        +    "type": "integer"
        +  },
        +  "order_by": {
        +    "description": "results sorting rules optional field you can use the same values as in the filters array to sort the results possible sorting types: asc – results will be sorted in the ascending order desc – results will be sorted in the descending order you should use a comma to specify a sorting type example: [\"metrics.paid.etv,asc\"] Note: you can set no more than three sorting rules in a single request you should use a comma to separate several sorting rules example: [\"metrics.organic.etv,desc\",\"metrics.paid.count,asc\"] default rule: [\"metrics.organic.count,desc\"] Note: if the item_types array contains item types that are different from organic, the results will be ordered by the first item type in the array",
        +    "items": {
        +      "type": "string"
        +    },
        +    "type": "array"
        +  },
        +  "tag": {
        +    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        +    "type": "string"
        +  },
        +  "target": {
        +    "description": "domain required field the domain name of the target website the domain should be specified without https:// and www.",
        +    "type": "string"
        +  }
        +}
      • addedInput schema / properties / body / items / required
        Added value: +[
        +  "target"
        +]
      • changedInput schema / properties / body / items / type
        Previous value: -[
        -  "object",
        -  "null"
        -]New value: +"object"
      • changedInput schema / required
        Previous value: -[]New value: +[
        +  "body"
        +]
      • removedOutput schema / x-fastmcp-wrap-result
        Removed value: -true
    • Changedpost_dataforseo_on_page_duplicate_content7 fields changed
      • removedInput schema / properties / body / example
        Removed value: -[
        -  {
        -    "id": "07281559-0695-0216-0000-c269be8b7592",
        -    "url": "https://www.etsy.com/"
        -  }
        -]
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "id": "07281559-0695-0216-0000-c269be8b7592",
        -        "url": "https://www.etsy.com/"
        -      }
        -    ],
        -    "properties": {
        -      "id": {
        -        "description": "<em>ID of the task</em><br><strong>required field</strong><br>you can get this ID in the response of the <a href=\"https://docs.dataforseo.com/v3/on_page/task_post/\">Task POST</a> endpoint<br>example:<br>\"07131248-1535-0216-1000-17384017ad04\"",
        -        "type": "string"
        -      },
        -      "limit": {
        -        "description": "<em>the maximum number of returned pages</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "offset": {
        -        "description": "<em>offset in the results array of returned pages</em><br>optional field<br>default value: <code>0</code><br>maximum value: <code>2000000</code><br>if you specify the <code>10</code> value, the first ten pages in the results array will be omitted and the data will be provided for the successive pages",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "similarity": {
        -        "description": "<em>content similarity score</em><br>by default, the content is considered duplicate if the value is greater than or equals <code>6</code><br>you can specify any similarity score in the 0-to-10 range",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "url": {
        -        "description": "<em>page URL</em><br><strong>required field</strong><br>specify the initial page you want to receive duplicate content for",
        -        "type": "string"
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / properties
        Added value: +{
        +  "id": {
        +    "description": "ID of the task required field you can get this ID in the response of the Task POST endpoint example: “07131248-1535-0216-1000-17384017ad04”",
        +    "type": "string"
        +  },
        +  "limit": {
        +    "description": "the maximum number of returned pages optional field default value: 100 maximum value: 1000",
        +    "type": "integer"
        +  },
        +  "offset": {
        +    "description": "offset in the results array of returned pages optional field default value: 0 maximum value: 2000000 if you specify the 10 value, the first ten pages in the results array will be omitted and the data will be provided for the successive pages",
        +    "type": "integer"
        +  },
        +  "similarity": {
        +    "description": "content similarity score by default, the content is considered duplicate if the value is greater than or equals 6 you can specify any similarity score in the 0-to-10 range",
        +    "type": "integer"
        +  },
        +  "tag": {
        +    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        +    "type": "string"
        +  },
        +  "url": {
        +    "description": "page URL required field specify the initial page you want to receive duplicate content for",
        +    "type": "string"
        +  }
        +}
      • addedInput schema / properties / body / items / required
        Added value: +[
        +  "id",
        +  "url"
        +]
      • changedInput schema / properties / body / items / type
        Previous value: -[
        -  "object",
        -  "null"
        -]New value: +"object"
      • changedInput schema / required
        Previous value: -[]New value: +[
        +  "body"
        +]
      • removedOutput schema / x-fastmcp-wrap-result
        Removed value: -true
    • Changedpost_dataforseo_on_page_lighthouse_live_json7 fields changed
      • removedInput schema / properties / body / example
        Removed value: -[
        -  {
        -    "for_mobile": true,
        -    "tag": "some_string_123",
        -    "url": "https://dataforseo.com"
        -  }
        -]
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "for_mobile": true,
        -        "tag": "some_string_123",
        -        "url": "https://dataforseo.com"
        -      }
        -    ],
        -    "properties": {
        -      "audits": {
        -        "description": "<em>Lighthouse audits</em><br>optional field<br>audits are individual tests Lighthouse runs for each specific feature/optimization/metric to produce a numeric score (<a href=\"https://github.com/GoogleChrome/lighthouse/blob/master/docs/architecture.md#components--terminology\" rel=\"noopener noreferrer\" target=\"_blank\">see official definition</a>);  <p><strong>if you ignore this field, we will return data for all audits</strong>;<br>use this field to get data for specific audits you indicate here;<p><strong>Note:</strong> that some audits do not belong to a specific category and are stand-alone page quality measurements;<p>in general, there can be several use cases:<p>1. if you ignore <code>categories</code>, you can use this field to get data for the specified audits only<br>for example, if you ignore <code>\"categories\"</code> and specify <code>\"audits\": [\"metrics/cumulative-layout-shift\",\"metrics/largest-contentful-paint\",\"metrics/total-blocking-time\"]</code>, you will get data only for these audits<p>2. if you specify a category, you can use this field to additionally receive audits that do not belong to the category(-ies) you specified<br>for example, if you specify <code>\"categories\": [\"seo\"]</code> and <code>\"audits\": [\"metrics/cumulative-layout-shift\",\"metrics/largest-contentful-paint\",\"metrics/total-blocking-time\"]</code>, you will get only these audits under \"performance\" and all audits under \"seo\"<p>you can get <a href=\"/v3/on_page/lighthouse/audits/\">the full list of possible audits here</a>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "browser_cpu_throttling_multiplier": {
        -        "description": "<em>browser CPU throttling multiplier</em><br><strong>required if <code>browser_network_throttling_method</code> is set to <code>devtools</code>;</strong><br>set the CPU throttling multiplier to simulate device performance conditions during the Lighthouse audit;<br>can be specified within the following range: <code>1–4</code>;<br><strong>Note:</strong> this parameter is applied only when <code>browser_network_throttling_method</code> is set to <code>devtools</code>;",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "browser_network_throttling": {
        -        "description": "<em>browser network throttling</em><br><strong>required if <code>browser_network_throttling_method</code> is set to <code>devtools</code>;</strong><br>set the network throttling profile to simulate connection speed conditions during the Lighthouse audit;<br>possible values: <code>no_throttling</code>, <code>fast_4g</code>, <code>slow_4g</code>, <code>regular_3g</code>, <code>pc</code>;<br><strong>Note:</strong> this parameter is applied only when <code>browser_network_throttling_method</code> is set to <code>devtools</code>;",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "browser_network_throttling_method": {
        -        "description": "<em>browser network throttling method</em><br>optional field<br>defines the method used to apply throttling during the Lighthouse audit;<br>possible vaules:<br><code>simulate</code> - calculates estimated performance metrics without applying explicit throttling;<br><code>devtools</code> -  applies the throttling settings specified in <code>browser_network_throttling</code> and <code>browser_cpu_throttling_multiplier</code>;<br><code>provided</code> - uses the network conditions of the crawling environment;",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "browser_screen_height": {
        -        "description": "<em>browser screen height</em><br>optional field<br>set the screen height of the browser used for the Lighthouse audit to emulate a specific device;<br>can be specified within the following range: <code>240–9999</code>;",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "browser_screen_scale_factor": {
        -        "description": "<em>browser screen scale factor</em><br>optional field<br>set the device pixel ratio of the browser used for the Lighthouse audit;<br>can be specified within the following range: <code>0.5–3</code>;",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "browser_screen_width": {
        -        "description": "<em>browser screen width</em><br>optional field<br>set the screen width of the browser used for the Lighthouse audit to emulate a specific device;<br>can be specified within the following range: <code>240–9999</code>;",
        -        "format": "int64",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "categories": {
        -        "description": "<em>categories of Lighthouse audits</em><br>optional field<br>each category is a collection of audits and audit groups that applies weighting and scoring to the section (<a href=\"https://github.com/GoogleChrome/lighthouse/blob/master/docs/architecture.md#auditreport-terminology\" rel=\"noopener noreferrer\" target=\"_blank\">see official definition</a>)<p><strong>if you ignore this field, we will return data for all categories unless you specify <code>audits</code></strong><br>use this field to get data for specific categories you indicate here<p>possible values:<br><code>seo</code>, <code>performance</code>, <code>best_practices</code>, <code>accessibility</code>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "custom_user_agent": {
        -        "description": "<em>custom user agent</em><br>optional field<br>specify the custom user agent used by the browser when running the Lighthouse audit;<br>can be specified with up to 254 characters;",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "for_mobile": {
        -        "description": "<em>applies mobile emulation</em><br>optional field<br>if set to <code>true</code>, Lighthouse will use mobile device and screen emulation to test the page against mobile environment<br>if set to <code>false</code>, the results will be provided for desktop<br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "language_code": {
        -        "description": "<em>lighthouse language code</em><br>optional field<br>you can receive the list of available languages of the search engine with their <code>language_code</code> by making a separate request to <code>https://api.dataforseo.com/v3/on_page/lighthouse/languages</code><br>default value:<br><code class=\"long-string\">en</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "language_name": {
        -        "description": "<em>lighthouse language name</em><br>optional field<br>you can receive the list of available languages of the search engine with their <code>language_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/on_page/lighthouse/languages</code><br>default value:<br><code class=\"long-string\">English</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "url": {
        -        "description": "<em>target URL</em><br><strong>required field</strong><br>target page should be specified with its absolute URL (including http:// or https://)<br>example:<br><code>https://dataforseo.com/</code>",
        -        "type": "string"
        -      },
        -      "version": {
        -        "description": "<em>lighthouse version</em><br>optional field<br>you can obtain the results specific to a certain Lighthouse version by specifying its number<br>the list of available versions is available through the <a href=\"/v3/on_page/lighthouse/versions/\" rel=\"noopener noreferrer\" target=\"_blank\">Lighthouse Versions endpoint</a>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / properties
        Added value: +{
        +  "audits": {
        +    "description": "Lighthouse audits optional field audits are individual tests Lighthouse runs for each specific feature/optimization/metric to produce a numeric score (see official definition); if you ignore this field, we will return data for all audits; use this field to get data for specific audits you indicate here; Note: that some audits do not belong to a specific category and are stand-alone page quality measurements; in general, there can be several use cases: 1. if you ignore categories, you can use this field to get data for the specified audits only for example, if you ignore \"categories\" and specify \"audits\": [\"metrics/cumulative-layout-shift\",\"metrics/largest-contentful-paint\",\"metrics/total-blocking-time\"], you will get data only for these audits 2. if you specify a category, you can use this field to additionally receive audits that do not belong to the category(-ies) you specified for example, if you specify \"categories\": [\"seo\"] and \"audits\": [\"metrics/cumulative-layout-shift\",\"metrics/largest-contentful-paint\",\"metrics/total-blocking-time\"], you will get only these audits under “performance” and all audits under “seo” you can get the full list of possible audits here",
        +    "items": {
        +      "type": "string"
        +    },
        +    "type": "array"
        +  },
        +  "categories": {
        +    "description": "categories of Lighthouse audits optional field each category is a collection of audits and audit groups that applies weighting and scoring to the section (see official definition) if you ignore this field, we will return data for all categories unless you specify audits use this field to get data for specific categories you indicate here possible values: seo, performance, best_practices, accessibility",
        +    "items": {
        +      "type": "string"
        +    },
        +    "type": "array"
        +  },
        +  "for_mobile": {
        +    "description": "applies mobile emulation optional field if set to true, Lighthouse will use mobile device and screen emulation to test the page against mobile environment if set to false, the results will be provided for desktop default value: false",
        +    "type": "boolean"
        +  },
        +  "language_code": {
        +    "description": "lighthouse language code optional field you can receive the list of available languages of the search engine with their language_code by making a separate request to https://api.dataforseo.com/v3/on_page/lighthouse/languages default value: en",
        +    "type": "string"
        +  },
        +  "language_name": {
        +    "description": "lighthouse language name optional field you can receive the list of available languages of the search engine with their language_name by making a separate request to https://api.dataforseo.com/v3/on_page/lighthouse/languages default value: English",
        +    "type": "string"
        +  },
        +  "tag": {
        +    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        +    "type": "string"
        +  },
        +  "url": {
        +    "description": "target URL required field target page should be specified with its absolute URL (including http:// or https://) example: https://dataforseo.com/",
        +    "type": "string"
        +  },
        +  "version": {
        +    "description": "lighthouse version optional field you can obtain the results specific to a certain Lighthouse version by specifying its number the list of available versions is available through the Lighthouse Versions endpoint",
        +    "type": "string"
        +  }
        +}
      • addedInput schema / properties / body / items / required
        Added value: +[
        +  "url"
        +]
      • changedInput schema / properties / body / items / type
        Previous value: -[
        -  "object",
        -  "null"
        -]New value: +"object"
      • changedInput schema / required
        Previous value: -[]New value: +[
        +  "body"
        +]
      • removedOutput schema / x-fastmcp-wrap-result
        Removed value: -true
    • Changedpost_dataforseo_on_page_links7 fields changed
      • removedInput schema / properties / body / example
        Removed value: -[
        -  {
        -    "filters": [
        -      [
        -        "dofollow",
        -        "=",
        -        true
        -      ],
        -      "and",
        -      [
        -        "direction",
        -        "=",
        -        "external"
        -      ]
        -    ],
        -    "id": "07281559-0695-0216-0000-c269be8b7592",
        -    "limit": 10,
        -    "page_from": "/apis/google-trends-api"
        -  }
        -]
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "filters": [
        -          [
        -            "dofollow",
        -            "=",
        -            true
        -          ],
        -          "and",
        -          [
        -            "direction",
        -            "=",
        -            "external"
        -          ]
        -        ],
        -        "id": "07281559-0695-0216-0000-c269be8b7592",
        -        "limit": 10,
        -        "page_from": "/apis/google-trends-api"
        -      }
        -    ],
        -    "properties": {
        -      "filters": {
        -        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>, <code>not_like</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters<br>example:<br><code>[\"direction\",\"=\",\"external\"]</code><p><code>[[\"domain_to\",\"&lt;&gt;\",\"example.com\"],<br>\"and\",<br>[\"link_from\",\"not_like\",\"%example.com/blog%\"]]</code><p><code>[[\"direction\",\"=\",\"external\"],<br>\"and\",<br>[[\"link_from\",\"like\",\"%example.com/blog%\"],\"or\",[\"link_from\",\"like\",\"%example.com/help%\"]]]</code><p>The full list of possible filters is available <a href=\"/v3/on_page/filters_and_thresholds/?bash\" rel=\"noopener noreferrer\" target=\"_blank\">by this link.</a>",
        -        "items": {
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "id": {
        -        "description": "<em>ID of the task</em><br><strong>required field</strong><br>you can get this ID in the response of the <a href=\"https://docs.dataforseo.com/v3/on_page/task_post/\">Task POST</a> endpoint<br>example:<br>\"07131248-1535-0216-1000-17384017ad04\"",
        -        "type": "string"
        -      },
        -      "limit": {
        -        "description": "<em>the maximum number of returned links</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "offset": {
        -        "description": "<em>offset in the results array of returned links</em><br>optional field<br>default value: <code>0</code><br>maximum value: <code>2000000</code><br>if you specify the <code>10</code> value, the first ten links in the results array will be omitted and the data will be provided for the successive links",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "page_from": {
        -        "description": "<em>relative page URL</em><br>optional field<br>if you use this field, the API response will contain only links from the specified page<br>note that in this field you can specify relative URLs only",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "page_to": {
        -        "description": "<em>relative page URL</em><br>optional field<br>if you use this field, the API response will contain only internal links pointing to the specified page<br>note that in this field you can specify relative URLs only",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "search_after_token": {
        -        "description": "<em>token for subsequent requests</em><br>optional field<br>provided in the identical filed of the response to each request;<br>use this parameter to avoid timeouts while trying to obtain over <code>20,000</code> results in a single request;<br>by specifying the unique <code>search_after_token</code> value from the response array, you will get the subsequent results of the initial task;<br><code>search_after_token</code> values are unique for each subsequent task ;<br><strong>Note:</strong> if the <code>search_after_token</code> is specified in the request, all other parameters should be identical to the previous request",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / properties
        Added value: +{
        +  "filters": {
        +    "description": "array of results filtering parameters optional field you can add several filters at once (8 filters maximum) you should set a logical operator and, or between the conditions the following operators are supported: regex, not_regex, =, , in, not_in, like, not_like you can use the % operator with like and not_like to match any string of zero or more characters example: [\"direction\",\"=\",\"external\"] [[\"domain_to\",\"\",\"example.com\"], \"and\", [\"link_from\",\"not_like\",\"%example.com/blog%\"]] [[\"direction\",\"=\",\"external\"], \"and\", [[\"link_from\",\"like\",\"%example.com/blog%\"],\"or\",[\"link_from\",\"like\",\"%example.com/help%\"]]] The full list of possible filters is available by this link.",
        +    "items": {},
        +    "type": "array"
        +  },
        +  "id": {
        +    "description": "ID of the task required field you can get this ID in the response of the Task POST endpoint example: “07131248-1535-0216-1000-17384017ad04”",
        +    "type": "string"
        +  },
        +  "limit": {
        +    "description": "the maximum number of returned links optional field default value: 100 maximum value: 1000",
        +    "type": "integer"
        +  },
        +  "offset": {
        +    "description": "offset in the results array of returned links optional field default value: 0 maximum value: 2000000 if you specify the 10 value, the first ten links in the results array will be omitted and the data will be provided for the successive links",
        +    "type": "integer"
        +  },
        +  "page_from": {
        +    "description": "relative page URL optional field if you use this field, the API response will contain only links from the specified page note that in this field you can specify relative URLs only",
        +    "type": "string"
        +  },
        +  "page_to": {
        +    "description": "relative page URL optional field if you use this field, the API response will contain only internal links pointing to the specified page note that in this field you can specify relative URLs only",
        +    "type": "string"
        +  },
        +  "search_after_token": {
        +    "description": "token for subsequent requests optional field provided in the identical filed of the response to each request; use this parameter to avoid timeouts while trying to obtain over 20,000 results in a single request; by specifying the unique search_after_token value from the response array, you will get the subsequent results of the initial task; search_after_token values are unique for each subsequent task ; Note: if the search_after_token is specified in the request, all other parameters should be identical to the previous request",
        +    "type": "string"
        +  },
        +  "tag": {
        +    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        +    "type": "string"
        +  }
        +}
      • addedInput schema / properties / body / items / required
        Added value: +[
        +  "id"
        +]
      • changedInput schema / properties / body / items / type
        Previous value: -[
        -  "object",
        -  "null"
        -]New value: +"object"
      • changedInput schema / required
        Previous value: -[]New value: +[
        +  "body"
        +]
      • removedOutput schema / x-fastmcp-wrap-result
        Removed value: -true
    • Changedpost_dataforseo_on_page_non_indexable7 fields changed
      • removedInput schema / properties / body / example
        Removed value: -[
        -  {
        -    "filters": [
        -      [
        -        "reason",
        -        "=",
        -        "robots_txt"
        -      ],
        -      "and",
        -      [
        -        "url",
        -        "like",
        -        "%go%"
        -      ]
        -    ],
        -    "id": "07281559-0695-0216-0000-c269be8b7592",
        -    "limit": 10
        -  }
        -]
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "filters": [
        -          [
        -            "reason",
        -            "=",
        -            "robots_txt"
        -          ],
        -          "and",
        -          [
        -            "url",
        -            "like",
        -            "%go%"
        -          ]
        -        ],
        -        "id": "07281559-0695-0216-0000-c269be8b7592",
        -        "limit": 10
        -      }
        -    ],
        -    "properties": {
        -      "filters": {
        -        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>, <code>not_like</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters<br>example:<br><code>[[\"reason\",\"&lt;&gt;\",\"robots_txt\"],<br>\"and\",<br>[\"url\",\"not_like\",\"%/wp-admin/%\"]]</code><p><code>[[\"url\",\"not_like\",\"%/wp-admin/%\"],<br>\"and\",<br>[[\"reason\",\"&lt;&gt;\",\"meta_tag\"],\"or\",[\"reason\",\"&lt;&gt;\",\"http_header\"]]]</code><p>The full list of possible filters is available <a href=\"/v3/on_page/filters_and_thresholds/?bash\" target=\"_blank\" rel=\"noopener noreferrer\">by this link.</a>",
        -        "items": {
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "id": {
        -        "description": "<em>ID of the task</em><br><strong>required field</strong><br>you can get this ID in the response of the <a href=\"/v3/on_page/task_post/\">Task POST</a> endpoint<br>example:<br>\"07131248-1535-0216-1000-17384017ad04\"",
        -        "type": "string"
        -      },
        -      "limit": {
        -        "description": "<em>the maximum number of returned pages</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "offset": {
        -        "description": "<em>offset in the results array of returned pages</em><br>optional field<br>default value: <code>0</code><br>maximum value: <code>2000000</code><br>if you specify the <code>10</code> value, the first ten pages in the results array will be omitted and the data will be provided for the successive pages",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / properties
        Added value: +{
        +  "filters": {
        +    "description": "array of results filtering parameters optional field you can add several filters at once (8 filters maximum) you should set a logical operator and, or between the conditions the following operators are supported: regex, not_regex, <, <=, >, >=, =, <>, in, not_in, like, not_like you can use the % operator with like and not_like to match any string of zero or more characters example: [[\"reason\",\"<>\",\"robots_txt\"], \"and\", [\"url\",\"not_like\",\"%/wp-admin/%\"]] [[\"url\",\"not_like\",\"%/wp-admin/%\"], \"and\", [[\"reason\",\"<>\",\"meta_tag\"],\"or\",[\"reason\",\"<>\",\"http_header\"]]] The full list of possible filters is available by this link.",
        +    "items": {},
        +    "type": "array"
        +  },
        +  "id": {
        +    "description": "ID of the task required field you can get this ID in the response of the Task POST endpoint example: “07131248-1535-0216-1000-17384017ad04”",
        +    "type": "string"
        +  },
        +  "limit": {
        +    "description": "the maximum number of returned pages optional field default value: 100 maximum value: 1000",
        +    "type": "integer"
        +  },
        +  "offset": {
        +    "description": "offset in the results array of returned pages optional field default value: 0 maximum value: 2000000 if you specify the 10 value, the first ten pages in the results array will be omitted and the data will be provided for the successive pages",
        +    "type": "integer"
        +  }
        +}
      • addedInput schema / properties / body / items / required
        Added value: +[
        +  "id"
        +]
      • changedInput schema / properties / body / items / type
        Previous value: -[
        -  "object",
        -  "null"
        -]New value: +"object"
      • changedInput schema / required
        Previous value: -[]New value: +[
        +  "body"
        +]
      • removedOutput schema / x-fastmcp-wrap-result
        Removed value: -true
    • Changedpost_dataforseo_on_page_submit7 fields changed
      • removedInput schema / properties / body / example
        Removed value: -[
        -  {
        -    "custom_js": "meta = {}; meta.url = document.URL; meta;",
        -    "enable_javascript": true,
        -    "load_resources": true,
        -    "max_crawl_pages": 10,
        -    "pingback_url": "https://your-server.com/pingscript?id=$id&tag=$tag",
        -    "tag": "some_string_123",
        -    "target": "dataforseo.com"
        -  }
        -]
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "custom_js": "meta = {}; meta.url = document.URL; meta;",
        -        "enable_javascript": true,
        -        "load_resources": true,
        -        "max_crawl_pages": 10,
        -        "pingback_url": "https://your-server.com/pingscript?id=$id&tag=$tag",
        -        "tag": "some_string_123",
        -        "target": "dataforseo.com"
        -      }
        -    ],
        -    "properties": {
        -      "accept_language": {
        -        "description": "<em>language header for accessing the website</em><br>optional field<br>all locale formats are supported (xx, xx-XX, xxx-XX, etc.)<br><strong>Note:</strong> if you do not specify this parameter, some websites may deny access; in this case, pages will be returned with the <code>\"type\":\"broken</code> in the response array",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "allow_subdomains": {
        -        "description": "<em>include pages on subdomains</em><br>optional field<br>set to <code>true</code> if you want to crawl all subdomains of a target website<br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "allowed_subdomains": {
        -        "description": "<em>subdomains to crawl</em><br>optional field<br>specify subdomains that you want to crawl<br>example: <code>[\"blog.site.com\", \"my.site.com\", \"shop.site.com\"]</code><br><strong>Note:</strong> to use this parameter, the <code>allow_subdomains</code> parameter should be set to <code>false</code>;<br>otherwise, the content of <code>allowed_subdomains</code> field will be ignored and the results will be returned for all subdomains",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "browser_preset": {
        -        "description": "<em>preset for browser screen parameters</em><br>optional field<br>if you use this field, you don't need to indicate <code>browser_screen_width</code>, <code>browser_screen_height</code>, <code>browser_screen_scale_factor</code>possible values:<br><code>desktop</code>, <code>mobile</code>, <code>tablet</code><code>desktop</code> preset will apply the following values:<code>browser_screen_width: 1920</code><br><code>browser_screen_height: 1080</code><br><code>browser_screen_scale_factor: 1</code><code>mobile</code> preset will apply the following values:<code>browser_screen_width: 390</code><br><code>browser_screen_height: 844</code><br><code>browser_screen_scale_factor: 3</code><code>tablet</code> preset will apply the following values:<code>browser_screen_width: 1024</code><br><code>browser_screen_height: 1366</code><br><code>browser_screen_scale_factor: 2</code><br><strong>Note:</strong> to use this parameter, set <code>enable_javascript</code> or <code>enable_browser_rendering</code> to <code>true</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "browser_screen_height": {
        -        "description": "<em>browser screen height</em><br>optional field<br>you can set a custom browser screen height to perform an audit for a particular device;<br>if you use this field, you don't need to indicate <code>browser_preset</code> as it will be ignored;<br><strong>Note:</strong> to use this parameter, set <code>enable_javascript</code> or <code>enable_browser_rendering</code> to <code>true</code>minimum value, in pixels: <code>240</code><br>maximum value, in pixels: <code>9999</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "browser_screen_scale_factor": {
        -        "description": "<em>browser screen scale factor</em><br>optional field<br>you can set a custom browser screen resolution ratio to perform audit for a particular device;<br>if you use this field, you don't need to indicate <code>browser_preset</code> as it will be ignored;<br><strong>Note:</strong> to use this parameter, set <code>enable_javascript</code> or <code>enable_browser_rendering</code> to <code>true</code>minimum value: <code>0.5</code><br>maximum value: <code>3</code>",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "browser_screen_width": {
        -        "description": "<em>browser screen width</em><br>optional field<br>you can set a custom browser screen width to perform audit for a particular device;<br>if you use this field, you don't need to indicate <code>browser_preset</code> as it will be ignored;<br><strong>Note:</strong> to use this parameter, set <code>enable_javascript</code> or <code>enable_browser_rendering</code> to <code>true</code>minimum value, in pixels: <code>240</code><br>maximum value, in pixels: <code>9999</code>",
        -        "format": "int64",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "calculate_keyword_density": {
        -        "description": "<em>calculate keyword density for the target domain</em><br>optional field<br>set to <code>true</code> if you want to calculate keyword density for website pages<br>default value: <code>false</code><br><strong>Note:</strong> if you use this parameter, additional charges will apply; learn more about the cost of tasks with this parameter <a href=\"https://dataforseo.com/help-center/cost-of-onpage-api-parameters\" target=\"_blank\" rel=\"noopener noreferrer\">in our help article</a><br>once the crawl is completed, you can obtain keyword density values with <a href=\"/v3/on_page/keyword_density?bash\" target=\"_blank\" rel=\"noopener noreferrer\">the Keyword Density endpoint</a>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "check_spell": {
        -        "description": "<em>check spelling</em><br>optional field<br>set to <code>true</code> to check spelling on a website using <a href=\"http://hunspell.github.io/\" target=\"_blank\" rel=\"noopener noreferrer\">Hunspell</a> library<br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "check_spell_exceptions": {
        -        "description": "<em>words excluded from spell check</em><br>optional field<br>specify the words that you want to exclude from spell check<br>maximum word length: 100 characters<br>maximum amount of words: 1000<br>example: <code>\"SERP\", \"minifiers\", \"JavaScript\"</code>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "check_spell_language": {
        -        "description": "<em>language of the spell check</em><br>optional field<br>supported languages: 'hy', 'eu', 'bg', 'ca', 'hr', 'cs', 'da', 'nl', 'en', 'eo', 'et', 'fo', 'fa', 'fr', 'fy', 'gl', 'ka', 'de', 'el', 'he', 'hu', 'is', 'ia', 'ga', 'it', 'rw', 'la', 'lv', 'lt', 'mk', 'mn', 'ne', 'nb', 'nn', 'pl', 'pt', 'ro', 'gd', 'sr', 'sk', 'sl', 'es', 'sv', 'tr', 'tk', 'uk', 'vi'<br><strong>Note:</strong> if no language is specified, it will be set automatically based on page content",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "checks_threshold": {
        -        "additionalProperties": {
        -          "format": "int64",
        -          "type": [
        -            "integer",
        -            "null"
        -          ]
        -        },
        -        "description": "<em>custom threshold values for checks</em><br>optional field<br>you can specify custom threshold values for the parameters included in the <code>checks</code> object of OnPage API responses;<br><strong>Note:</strong> only integer threshold values can be modified;<br>for example, the <code>high_loading_time</code> and <code>large_page_size</code> parameters are set to 3 seconds and 1 megabyte respectively by default;<br>if you want to change these thresholds to 1 second and 1000 kbytes, use the following snippet:<br>`\"checks_threshold\": {<br>\"high_loading_time\": 1,<br>\"large_page_size\": 1000<br>}`<br>available customizable parameters with default values:<br>`\"title_too_short\", default value: 30, type: \"int\"<br>\"title_too_long\", default value: 65, type: \"int\"<br>\"small_page_size\", default value: 1024, type: \"int\"<br>\"large_page_size\", default value: 1048576 (1024 * 1024), type: \"int\"<br>\"low_character_count\", default value: 1024, type: \"int\"<br>\"high_character_count\", default value: 256000 (250 * 1024), type: \"int\"<br>\"low_content_rate\", default value: 0.1, type: \"float\"<br>\"high_content_rate\", default value: 0.9, type: \"float\"<br>\"high_loading_time\", default value: 3000, type: \"int\"<br>\"high_waiting_time\", default value: 1500, type: \"int\"<br>\"low_readability_rate\", default value: 15.0, type: \"float\"<br>\"irrelevant_description\", default value: 0.2, type: \"float\"<br>\"irrelevant_title\", default value: 0.3, type: \"float\"<br>\"irrelevant_meta_keywords\", default value: 0.6, type: \"float\"`",
        -        "type": [
        -          "object",
        -          "null"
        -        ]
        -      },
        -      "crawl_delay": {
        -        "description": "<em>delay between hits, ms</em><br>optional field<br>the custom delay between crawler hits to the server<br>default value: <code>2000</code>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "crawl_sitemap_only": {
        -        "description": "<em>crawl only pages indicated in the sitemap</em><br>optional field<br>set to <code>true</code> if you want to crawl only the pages indicated in the sitemap<br>if you set this parameter to <code>true</code> and do not specify <code>custom_sitemap</code>, we will crawl the default sitemap<br>default value: <code>false</code><br><strong>Note:</strong> if you want to use this parameter, <code>respect_sitemap</code> should be <code>true</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "custom_js": {
        -        "description": "<em>custom javascript</em><br>optional field<br><strong>Note</strong> that the execution time for the script you enter here should be 700 ms maximum, for example, you can use the following JS snippet to check if the website contains Google Tag Manager as a <code>scr</code> attribute:<br><code>let meta = { haveGoogleAnalytics: false, haveTagManager: false };rnfor (var i = 0; i &lt; document.scripts.length; i++) {rn let src = document.scripts[i].getAttribute(\"src\");rn if (src != undefined) {rn if (src.indexOf(\"analytics.js\") &gt;= 0)rn      meta.haveGoogleAnalytics = true;rntif (src.indexOf(\"gtm.js\") &gt;= 0)rn      meta.haveTagManager = true;rn  }rn}rnmeta;</code>the returned value depends on what you specified in this field. For instance, if you specify the following script:<br>`meta = {}; meta.url = document.URL; meta.test = 'test'; meta;`<br>as a response you will receive the following data:<br>`\"custom_js_response\": {<br>\"url\": \"https://dataforseo.com/\",<br>\"test\": \"test\"<br>}`<br><strong>Note:</strong> the length of the script you enter must be no more than 2000 characters",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "custom_robots_txt": {
        -        "description": "<em>custom robots.txt settings</em><br>optional field<br>example: <code>Disallow: /directory1/</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "custom_sitemap": {
        -        "description": "<em>custom sitemap url</em><br>optional field<br>the URL of the page where the alternative sitemap is located<br><strong>Note:</strong> if you want to use this parameter, <code>respect_sitemap</code> should be <code>true</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "custom_user_agent": {
        -        "description": "<em>custom user agent</em><br>optional field<br>custom user agent for crawling a website<br>example: <code>Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36<br></code><br>default value: <code>Mozilla/5.0 (compatible; RSiteAuditor)</code>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "disable_cookie_popup": {
        -        "description": "<em>disable the cookie popup</em><br>optional field<br>set to <code>true</code> if you want to disable the popup requesting cookie consent from the user;<br>default value:<br><code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "disable_page_checks": {
        -        "description": "<em>prevent certain page checks from running</em><br>optional field<br>specify certain <code>checks</code> to prevent them from running and impacting the <code>onpage_score</code>example:<br><code>\"disable_page_checks\": [\"is_5xx_code\", \"is_4xx_code\"]</code>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "disable_sitewide_checks": {
        -        "description": "<em>prevent certain sitewide checks from running</em><br>optional field<br>specify the following <code>checks</code> to prevent them from running on the <code>target</code> website:<br><code>\"test_page_not_found\"</code><br><code>\"test_canonicalization\"</code><br><code>\"test_https_redirect\"</code><br><code>\"test_directory_browsing\"</code>example:<br><code>\"disable_sitewide_checks\": [\"test_directory_browsing\", \"test_page_not_found\"]</code>learn more on <a href=\"https://dataforseo.com/help-center/how-to-disable-sitewide-checks-in-onpage-api\" target=\"_blank\" rel=\"noopener noreferrer\">our help center</a>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "disallowed_subdomains": {
        -        "description": "<em>subdomains not to crawl</em><br>optional field<br>specify subdomains that you don't want to crawl<br>example: <code>[\"status.site.com\", \"docs.site.com\"]</code><br><strong>Note:</strong> to use this parameter, the <code>allow_subdomains</code> parameter should be set to <code>true</code>",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "enable_browser_rendering": {
        -        "description": "<em>emulate browser rendering to measure Core Web Vitals</em><br>optional field<br>by using this parameter you will be able to emulate a browser when loading a web page;<br><code>enable_browser_rendering</code> loads styles, images, fonts, animations, videos, and other resources on a page;<br>default value: <code>false</code><br>set to <code>true</code> to obtain Core Web Vitals (FID, CLS, LCP) metrics in the response;<br><strong>if you use this field, <code>enable_javascript</code>, and <code>load_resources</code> parameters must be set to <code>true</code></strong><br><strong>Note:</strong> if you use this parameter, additional charges will apply; learn more about the cost of tasks with this parameter <a href=\"https://dataforseo.com/help-center/cost-of-onpage-api-parameters\" target=\"_blank\" rel=\"noopener noreferrer\">in our help article</a>; the cost can be calculated on the <a href=\"https://dataforseo.com/pricing/on-page/onpage-api\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing Page</a>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "enable_content_parsing": {
        -        "description": "<em>parse content on crawled pages</em><br>optional field<br>set to <code>true</code> to use the <a href=\"/v3/on_page/content_parsing/live/\" target=\"_blank\" rel=\"noopener noreferrer\">OnPage Content Parsing endpoint</a><br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "enable_javascript": {
        -        "description": "<em>load javascript on a page</em><br>optional field<br>set to <code>true</code> if you want to load the scripts available on a page<br>default value: <code>false</code><br><strong>Note:</strong> if you use this parameter, additional charges will apply; learn more about the cost of tasks with this parameter <a href=\"https://dataforseo.com/help-center/cost-of-onpage-api-parameters\" target=\"_blank\" rel=\"noopener noreferrer\">in our help article</a>; the cost can be calculated on the <a href=\"https://dataforseo.com/pricing/on-page/onpage-api\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing Page</a>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "enable_www_redirect_check": {
        -        "description": "<em>check if the domain implemented the www redirection</em><br>optional field<br>set to <code>true</code> if you want to check if the requested domain implemented the www to non-www or non-www to www redirect;<br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "enable_xhr": {
        -        "description": "<em>enable XMLHttpRequest on a page</em><br>optional field<br>set to <code>true</code> if you want our crawler to request data from a web server using the XMLHttpRequest object<br>default value: <code>false</code>;if you use this field, <code>enable_javascript</code> must be set to <code>true</code>;",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "force_sitewide_checks": {
        -        "description": "<em>enable sitewide checks when crawling a single page</em><br>optional field<br>set to <code>true</code> to get data on sitewide checks when crawling a single page;<br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "load_resources": {
        -        "description": "<em>load resources</em><br>optional field<br>set to <code>true</code> if you want to load image, stylesheets, scripts, and broken resources<br>default value: <code>false</code><br><strong>Note:</strong> if you use this parameter, additional charges will apply; learn more about the cost of tasks with this parameter <a href=\"https://dataforseo.com/help-center/cost-of-onpage-api-parameters\" target=\"_blank\" rel=\"noopener noreferrer\">in our help article</a>; the cost can be calculated on the <a href=\"https://dataforseo.com/pricing/on-page/onpage-api\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing Page</a>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "max_crawl_depth": {
        -        "description": "<em>crawl depth</em><br>optional field<br>the linking depth of the pages to crawl;<br>for example, starting page of the crawl is level 0, pages that have links from that page are level 1, etc.",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "max_crawl_pages": {
        -        "description": "<em>crawled pages limit</em><br><strong>required field</strong><br>the number of pages to crawl on the specified domain<br><strong>Note:</strong><br>if you set <code>max_crawl_pages</code> to 1 and do not specify <code>start_url</code> or set a homepage in it, the following sitewide checks will be disabled:<br><code>test_canonicalization</code>, <code>enable_www_redirect_check</code>, <code>test_hidden_server_signature</code>, <code>test_page_not_found</code>, <code>test_directory_browsing</code>, <code>test_https_redirect</code><br>to enable them anyway, set <code>force_sitewide_checks</code> to <code>true</code>if you set <code>max_crawl_pages</code> to 1 and specify <code>start_url</code> other than a homepage, all sitewide checks will be disabled;<br>to enable them anyway, set <code>force_sitewide_checks</code> to <code>true</code>",
        -        "type": "integer"
        -      },
        -      "pingback_url": {
        -        "description": "<em>notification URL of a completed task</em><br>optional field<br>when a task is completed we will notify you by GET request sent to the URL you have specified<br>you can use the ‘$id’ string as a <code>$id</code> variable and ‘$tag’ as urlencoded <code>$tag</code> variable. We will set the necessary values before sending the request.<br>example:<br><code>http://your-server.com/pingscript?id=$id</code><br><code>http://your-server.com/pingscript?id=$id&amp;tag=$tag</code><br><strong>Note:</strong> special characters in <code>pingback_url</code> will be urlencoded;<br>i.a., the <code>#</code> character will be encoded into <code>%23</code><p>learn more on our <a href=\"https://dataforseo.com/help-center/pingbacks-postbacks-with-dataforseo-api\" target=\"_blank\" rel=\"noopener noreferrer\">Help Center</a>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "priority_urls": {
        -        "description": "<em>urls to be crawled bypassing the queue</em><br>optional field<br>URLs specified in this array will be crawled in the first instance, bypassing the crawling queue;<br><strong>Note:</strong> you should specify the absolute URL;<br>you can specify up to <strong>20 URLs</strong>;<br>all URLs in the array must belong to the <code>target</code> domain;<br>subdomains will be ignored unless the <code>allow_subdomains</code> parameter is set to <code>true</code>example:<br>`\"priority_urls\": [<br>\"https://dataforseo.com/apis/serp-api\",<br>\"https://dataforseo.com/contact\"<br>]`",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "respect_sitemap": {
        -        "description": "<em>respect sitemap when crawling</em><br>optional field<br>set to <code>true</code> if you want to follow the order of pages indicated in the primary sitemap when crawling;<br>default value: <code>false</code><br><strong>Note:</strong> if set to <code>true</code>, the <code>click_depth</code> value in the API response will equal <code>0</code>;<br>the <code>max_crawl_depth</code> field of the request will be ignored, you can specify the number of pages to crawl using the <code>max_crawl_pages</code> parameter",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "return_despite_timeout": {
        -        "description": "<em>return data on pages despite the timeout error</em><br>optional field<br>if <code>true</code>, the data will be provided on pages that failed to load within 120 seconds and responded with a timeout error;<br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "robots_txt_merge_mode": {
        -        "description": "<em>merge with or override robots.txt settings</em><br>optional field<br>possible values: <code>merge</code>, <code>override</code>;<br>set to <code>override</code> if you want to ignore website crawling restrictions and other robots.txt settings<br>default value: <code>merge</code>;<br><strong>Note:</strong> if set to <code>override</code>, specify the <code>custom_robots_txt</code> parameter",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "start_url": {
        -        "description": "<em>the first url to crawl </em><br>optional field<br><strong>Note:</strong> you should specify an absolute URL<br>if you want to crawl a single page, specify its URL in this field and additionally set the <code>max_crawl_pages</code> parameter to <code>1</code><br>you can also use the <a href=\"/v3/on_page/instant_pages/?bash\" target=\"_blank\" rel=\"noopener noreferrer\">live Instant Pages endpoint</a> to get page-specific data",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "store_raw_html": {
        -        "description": "<em>store HTML of crawled pages</em><br>optional field<br>set to <code>true</code> if you want to get the HTML of the page using the <a href=\"/v3/on_page/raw_html/\" target=\"_blank\" rel=\"noopener noreferrer\">OnPage Raw HTML endpoint</a><br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "support_cookies": {
        -        "description": "<em>support cookies on crawled pages</em><br>optional field<br>set to <code>true</code> to support cookies when crawling the pages<br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "switch_pool": {
        -        "description": "<em>switch proxy pool</em><br>optional field<br>if <code>true</code>, additional proxy pools will be used to obtain the requested data;<br>the parameter can be used if a multitude of tasks is set simultaneously, resulting in occasional <code>rate-limit</code> and/or <code>site_unreachable</code> errors",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "target": {
        -        "description": "<em>target domain</em><br><strong>required field</strong><br>domain name should be specified without <code>https://</code> and <code>www.</code><br>if you specify the page URL, the results will be returned for the domain included in the URL",
        -        "type": "string"
        -      },
        -      "validate_micromarkup": {
        -        "description": "<em>enable microdata validation</em><br>optional field<br>set to <code>true</code> if you want to use the <a href=\"/v3/on_page/microdata/\" target=\"_blank\" rel=\"noopener noreferrer\">OnPage API Microdata endpoint</a><br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / properties
        Added value: +{
        +  "accept_language": {
        +    "description": "language header for accessing the website optional field all locale formats are supported (xx, xx-XX, xxx-XX, etc.) Note: if you do not specify this parameter, some websites may deny access; in this case, pages will be returned with the \"type\":\"broken in the response array",
        +    "type": "string"
        +  },
        +  "allow_subdomains": {
        +    "description": "include pages on subdomains optional field set to true if you want to crawl all subdomains of a target website default value: false",
        +    "type": "boolean"
        +  },
        +  "allowed_subdomains": {
        +    "description": "subdomains to crawl optional field specify subdomains that you want to crawl example: [\"blog.site.com\", \"my.site.com\", \"shop.site.com\"] Note: to use this parameter, the allow_subdomains parameter should be set to false; otherwise, the content of allowed_subdomains field will be ignored and the results will be returned for all subdomains",
        +    "items": {
        +      "type": "string"
        +    },
        +    "type": "array"
        +  },
        +  "browser_preset": {
        +    "description": "preset for browser screen parameters optional field if you use this field, you don’t need to indicate browser_screen_width, browser_screen_height, browser_screen_scale_factorpossible values: desktop, mobile, tabletdesktop preset will apply the following values:browser_screen_width: 1920 browser_screen_height: 1080 browser_screen_scale_factor: 1mobile preset will apply the following values:browser_screen_width: 390 browser_screen_height: 844 browser_screen_scale_factor: 3tablet preset will apply the following values:browser_screen_width: 1024 browser_screen_height: 1366 browser_screen_scale_factor: 2 Note: to use this parameter, set enable_javascript or enable_browser_rendering to true",
        +    "type": "string"
        +  },
        +  "browser_screen_height": {
        +    "description": "browser screen height optional field you can set a custom browser screen height to perform an audit for a particular device; if you use this field, you don’t need to indicate browser_preset as it will be ignored; Note: to use this parameter, set enable_javascript or enable_browser_rendering to trueminimum value, in pixels: 240 maximum value, in pixels: 9999",
        +    "type": "integer"
        +  },
        +  "browser_screen_scale_factor": {
        +    "description": "browser screen scale factor optional field you can set a custom browser screen resolution ratio to perform audit for a particular device; if you use this field, you don’t need to indicate browser_preset as it will be ignored; Note: to use this parameter, set enable_javascript or enable_browser_rendering to trueminimum value: 0.5 maximum value: 3",
        +    "type": "number"
        +  },
        +  "browser_screen_width": {
        +    "description": "browser screen width optional field you can set a custom browser screen width to perform audit for a particular device; if you use this field, you don’t need to indicate browser_preset as it will be ignored; Note: to use this parameter, set enable_javascript or enable_browser_rendering to trueminimum value, in pixels: 240 maximum value, in pixels: 9999",
        +    "type": "integer"
        +  },
        +  "calculate_keyword_density": {
        +    "description": "calculate keyword density for the target domain optional field set to true if you want to calculate keyword density for website pages default value: false Note: if you use this parameter, additional charges will apply; learn more about the cost of tasks with this parameter in our help article once the crawl is completed, you can obtain keyword density values with the Keyword Density endpoint",
        +    "type": "boolean"
        +  },
        +  "check_spell": {
        +    "description": "check spelling optional field set to true to check spelling on a website using Hunspell library default value: false",
        +    "type": "boolean"
        +  },
        +  "check_spell_exceptions": {
        +    "description": "words excluded from spell check optional field specify the words that you want to exclude from spell check maximum word length: 100 characters maximum amount of words: 1000 example: \"SERP\", \"minifiers\", \"JavaScript\"",
        +    "items": {
        +      "type": "string"
        +    },
        +    "type": "array"
        +  },
        +  "check_spell_language": {
        +    "description": "language of the spell check optional field supported languages: ‘hy’, ‘eu’, ‘bg’, ‘ca’, ‘hr’, ‘cs’, ‘da’, ‘nl’, ‘en’, ‘eo’, ‘et’, ‘fo’, ‘fa’, ‘fr’, ‘fy’, ‘gl’, ‘ka’, ‘de’, ‘el’, ‘he’, ‘hu’, ‘is’, ‘ia’, ‘ga’, ‘it’, ‘rw’, ‘la’, ‘lv’, ‘lt’, ‘mk’, ‘mn’, ‘ne’, ‘nb’, ‘nn’, ‘pl’, ‘pt’, ‘ro’, ‘gd’, ‘sr’, ‘sk’, ‘sl’, ‘es’, ‘sv’, ‘tr’, ‘tk’, ‘uk’, ‘vi’ Note: if no language is specified, it will be set automatically based on page content",
        +    "type": "string"
        +  },
        +  "checks_threshold": {
        +    "description": "custom threshold values for checks optional field you can specify custom threshold values for the parameters included in the checks object of OnPage API responses; Note: only integer threshold values can be modified; for example, the high_loading_time and large_page_size parameters are set to 3 seconds and 1 megabyte respectively by default; if you want to change these thresholds to 1 second and 1000 kbytes, use the following snippet: \"checks_threshold\": { \"high_loading_time\": 1, \"large_page_size\": 1000 }available customizable parameters with default values: \"title_too_short\", default value: 30, type: \"int\" \"title_too_long\", default value: 65, type: \"int\" \"small_page_size\", default value: 1024, type: \"int\" \"large_page_size\", default value: 1048576 (1024 * 1024), type: \"int\" \"low_character_count\", default value: 1024, type: \"int\" \"high_character_count\", default value: 256000 (250 * 1024), type: \"int\" \"low_content_rate\", default value: 0.1, type: \"float\" \"high_content_rate\", default value: 0.9, type: \"float\" \"high_loading_time\", default value: 3000, type: \"int\" \"high_waiting_time\", default value: 1500, type: \"int\" \"low_readability_rate\", default value: 15.0, type: \"float\" \"irrelevant_description\", default value: 0.2, type: \"float\" \"irrelevant_title\", default value: 0.3, type: \"float\" \"irrelevant_meta_keywords\", default value: 0.6, type: \"float\"",
        +    "type": "object"
        +  },
        +  "crawl_delay": {
        +    "description": "delay between hits, ms optional field the custom delay between crawler hits to the server default value: 2000",
        +    "type": "integer"
        +  },
        +  "crawl_sitemap_only": {
        +    "description": "crawl only pages indicated in the sitemap optional field set to true if you want to crawl only the pages indicated in the sitemap if you set this parameter to true and do not specify custom_sitemap, we will crawl the default sitemap default value: false Note: if you want to use this parameter, respect_sitemap should be true",
        +    "type": "boolean"
        +  },
        +  "custom_js": {
        +    "description": "custom javascript optional field Note that the execution time for the script you enter here should be 700 ms maximum, for example, you can use the following JS snippet to check if the website contains Google Tag Manager as a scr attribute: let meta = { haveGoogleAnalytics: false, haveTagManager: false };rnfor (var i = 0; i < document.scripts.length; i++) {rn let src = document.scripts[i].getAttribute(\"src\");rn if (src!= undefined) {rn if (src.indexOf(\"analytics.js\") >= 0)rn meta.haveGoogleAnalytics = true;rntif (src.indexOf(\"gtm.js\") >= 0)rn meta.haveTagManager = true;rn }rn}rnmeta;the returned value depends on what you specified in this field. For instance, if you specify the following script: `meta = {}; meta.url = document.URL; meta.test = 'test'; meta;` as a response you will receive the following data: `\"custom_js_response\": { \"url\": \"https://dataforseo.com/\", \"test\": \"test\" }` Note: the length of the script you enter must be no more than 2000 characters",
        +    "type": "string"
        +  },
        +  "custom_robots_txt": {
        +    "description": "custom robots.txt settings optional field example: Disallow: /directory1/",
        +    "type": "string"
        +  },
        +  "custom_sitemap": {
        +    "description": "custom sitemap url optional field the URL of the page where the alternative sitemap is located Note: if you want to use this parameter, respect_sitemap should be true",
        +    "type": "string"
        +  },
        +  "custom_user_agent": {
        +    "description": "custom user agent optional field custom user agent for crawling a website example: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36 default value: Mozilla/5.0 (compatible; RSiteAuditor)",
        +    "type": "string"
        +  },
        +  "disable_cookie_popup": {
        +    "description": "disable the cookie popup optional field set to true if you want to disable the popup requesting cookie consent from the user; default value: false",
        +    "type": "boolean"
        +  },
        +  "disable_page_checks": {
        +    "description": "prevent certain page checks from running optional field specify certain checks to prevent them from running and impacting the onpage_scoreexample: \"disable_page_checks\": [\"is_5xx_code\", \"is_4xx_code\"]",
        +    "items": {
        +      "type": "string"
        +    },
        +    "type": "array"
        +  },
        +  "disable_sitewide_checks": {
        +    "description": "prevent certain sitewide checks from running optional field specify the following checks to prevent them from running on the target website: \"test_page_not_found\" \"test_canonicalization\" \"test_https_redirect\" \"test_directory_browsing\"example: \"disable_sitewide_checks\": [\"test_directory_browsing\", \"test_page_not_found\"]learn more on our help center",
        +    "items": {
        +      "type": "string"
        +    },
        +    "type": "array"
        +  },
        +  "disallowed_subdomains": {
        +    "description": "subdomains not to crawl optional field specify subdomains that you don’t want to crawl example: [\"status.site.com\", \"docs.site.com\"] Note: to use this parameter, the allow_subdomains parameter should be set to true",
        +    "items": {
        +      "type": "string"
        +    },
        +    "type": "array"
        +  },
        +  "enable_browser_rendering": {
        +    "description": "emulate browser rendering to measure Core Web Vitals optional field by using this parameter you will be able to emulate a browser when loading a web page; enable_browser_rendering loads styles, images, fonts, animations, videos, and other resources on a page; default value: false set to true to obtain Core Web Vitals (FID, CLS, LCP) metrics in the response; if you use this field, enable_javascript, and load_resources parameters must be set to true Note: if you use this parameter, additional charges will apply; learn more about the cost of tasks with this parameter in our help article",
        +    "type": "boolean"
        +  },
        +  "enable_content_parsing": {
        +    "description": "parse content on crawled pages optional field set to true to use the OnPage Content Parsing endpoint default value: false",
        +    "type": "boolean"
        +  },
        +  "enable_javascript": {
        +    "description": "load javascript on a page optional field set to true if you want to load the scripts available on a page default value: false Note: if you use this parameter, additional charges will apply; learn more about the cost of tasks with this parameter in our help article",
        +    "type": "boolean"
        +  },
        +  "enable_www_redirect_check": {
        +    "description": "check if the domain implemented the www redirection optional field set to true if you want to check if the requested domain implemented the www to non-www or non-www to www redirect; default value: false",
        +    "type": "boolean"
        +  },
        +  "enable_xhr": {
        +    "description": "enable XMLHttpRequest on a page optional field set to true if you want our crawler to request data from a web server using the XMLHttpRequest object default value: false;if you use this field, enable_javascript must be set to true;",
        +    "type": "boolean"
        +  },
        +  "force_sitewide_checks": {
        +    "description": "enable sitewide checks when crawling a single page optional field set to true to get data on sitewide checks when crawling a single page; default value: false",
        +    "type": "boolean"
        +  },
        +  "load_resources": {
        +    "description": "load resources optional field set to true if you want to load image, stylesheets, scripts, and broken resources default value: false Note: if you use this parameter, additional charges will apply; learn more about the cost of tasks with this parameter in our help article",
        +    "type": "boolean"
        +  },
        +  "max_crawl_depth": {
        +    "description": "crawl depth optional field the linking depth of the pages to crawl; for example, starting page of the crawl is level 0, pages that have links from that page are level 1, etc.",
        +    "type": "integer"
        +  },
        +  "max_crawl_pages": {
        +    "description": "crawled pages limit required field the number of pages to crawl on the specified domain Note: if you set max_crawl_pages to 1 and do not specify start_url or set a homepage in it, the following sitewide checks will be disabled: test_canonicalization, enable_www_redirect_check, test_hidden_server_signature, test_page_not_found, test_directory_browsing, test_https_redirect to enable them anyway, set force_sitewide_checks to trueif you set max_crawl_pages to 1 and specify start_url other than a homepage, all sitewide checks will be disabled; to enable them anyway, set force_sitewide_checks to true",
        +    "type": "integer"
        +  },
        +  "pingback_url": {
        +    "description": "notification URL of a completed task optional field when a task is completed we will notify you by GET request sent to the URL you have specified you can use the ‘$id’ string as a $id variable and ‘$tag’ as urlencoded $tag variable. We will set the necessary values before sending the request. example: http://your-server.com/pingscript?id=$id http://your-server.com/pingscript?id=$id&tag=$tag Note: special characters in pingback_url will be urlencoded; i.a., the # character will be encoded into %23 learn more on our Help Center",
        +    "type": "string"
        +  },
        +  "priority_urls": {
        +    "description": "urls to be crawled bypassing the queue optional field URLs specified in this array will be crawled in the first instance, bypassing the crawling queue; Note: you should specify the absolute URL; you can specify up to 20 URLs; all URLs in the array must belong to the target domain; subdomains will be ignored unless the allow_subdomains parameter is set to trueexample: \"priority_urls\": [ \"https://dataforseo.com/apis/serp-api\", \"https://dataforseo.com/contact\" ]",
        +    "items": {
        +      "type": "string"
        +    },
        +    "type": "array"
        +  },
        +  "respect_sitemap": {
        +    "description": "respect sitemap when crawling optional field set to true if you want to follow the order of pages indicated in the primary sitemap when crawling; default value: false Note: if set to true, the click_depth value in the API response will equal 0; the max_crawl_depth field of the request will be ignored, you can specify the number of pages to crawl using the max_crawl_pages parameter",
        +    "type": "boolean"
        +  },
        +  "return_despite_timeout": {
        +    "description": "return data on pages despite the timeout error optional field if true, the data will be provided on pages that failed to load within 120 seconds and responded with a timeout error; default value: false",
        +    "type": "boolean"
        +  },
        +  "robots_txt_merge_mode": {
        +    "description": "merge with or override robots.txt settings optional field possible values: merge, override; set to override if you want to ignore website crawling restrictions and other robots.txt settings default value: merge; Note: if set to override, specify the custom_robots_txt parameter",
        +    "type": "string"
        +  },
        +  "start_url": {
        +    "description": "the first url to crawl optional field Note: you should specify an absolute URL if you want to crawl a single page, specify its URL in this field and additionally set the max_crawl_pages parameter to 1 you can also use the live Instant Pages endpoint to get page-specific data",
        +    "type": "string"
        +  },
        +  "store_raw_html": {
        +    "description": "store HTML of crawled pages optional field set to true if you want to get the HTML of the page using the OnPage Raw HTML endpoint default value: false",
        +    "type": "boolean"
        +  },
        +  "support_cookies": {
        +    "description": "support cookies on crawled pages optional field set to true to support cookies when crawling the pages default value: false",
        +    "type": "boolean"
        +  },
        +  "switch_pool": {
        +    "description": "switch proxy pool optional field if true, additional proxy pools will be used to obtain the requested data; the parameter can be used if a multitude of tasks is set simultaneously, resulting in occasional rate-limit and/or site_unreachable errors",
        +    "type": "boolean"
        +  },
        +  "tag": {
        +    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        +    "type": "string"
        +  },
        +  "target": {
        +    "description": "target domain required field domain name should be specified without https:// and www. if you specify the page URL, the results will be returned for the domain included in the URL",
        +    "type": "string"
        +  },
        +  "validate_micromarkup": {
        +    "description": "enable microdata validation optional field set to true if you want to use the OnPage API Microdata endpoint default value: false",
        +    "type": "boolean"
        +  }
        +}
      • addedInput schema / properties / body / items / required
        Added value: +[
        +  "target",
        +  "max_crawl_pages"
        +]
      • changedInput schema / properties / body / items / type
        Previous value: -[
        -  "object",
        -  "null"
        -]New value: +"object"
      • changedInput schema / required
        Previous value: -[]New value: +[
        +  "body"
        +]
      • removedOutput schema / x-fastmcp-wrap-result
        Removed value: -true
    • Changedpost_dataforseo_serp_ai_summary7 fields changed
      • removedInput schema / properties / body / example
        Removed value: -[
        -  {
        -    "fetch_content": true,
        -    "include_links": true,
        -    "prompt": "explain what DataForSEO is",
        -    "task_id": "07031739-1535-0139-0000-9d1e639a5b7d"
        -  }
        -]
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "fetch_content": true,
        -        "include_links": true,
        -        "prompt": "explain what DataForSEO is",
        -        "task_id": "07031739-1535-0139-0000-9d1e639a5b7d"
        -      }
        -    ],
        -    "properties": {
        -      "fetch_content": {
        -        "description": "<em>fetch content from pages in SERPs</em><br>optional field<br>if set to <code>true</code>, the API will fetch the content from pages featured in SERP results, and the AI model will consider this content when generating the summary in the result;<br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "include_links": {
        -        "description": "<em>include source links in the summary</em><br>optional field<br>if set to <code>true</code>, the <code>summary</code> field in the API response will contain links to sources of the generated summary;<br>default value: <code>false</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "prompt": {
        -        "description": "<em>AI prompt</em><br>optional field<br>additional task for AI summariser;<br>any form of text, question or information that communicates to AI what response you're looking for;<br>max number of symbols or characters you can specify: <code>2000</code>;<br><strong>note:</strong> your prompt has to be relevant to the keyword specified in the POST request to SERP API",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "support_extra": {
        -        "description": "<em>support extra SERP features</em><br>optional field<br>if set to <code>true</code>, the AI model will consider the following extra SERP features, in addition to <code>organic</code> results: <code>answer_box</code>, <code>knowledge_graph</code>, <code>featured_snippet</code>;<br>default value: <code>true</code>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "task_id": {
        -        "description": "<em>task identifier</em><br><strong>required field</strong><br>unique identifier of the associated task in the <a href=\"https://en.wikipedia.org/wiki/Universally_unique_identifier\">UUID</a> format<br>you will be able to use it within <strong>30 days</strong> to request the results of the task at any time",
        -        "type": "string"
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / properties
        Added value: +{
        +  "fetch_content": {
        +    "description": "fetch content from pages in SERPs optional field if set to true, the API will fetch the content from pages featured in SERP results, and the AI model will consider this content when generating the summary in the result; default value: false",
        +    "type": "boolean"
        +  },
        +  "include_links": {
        +    "description": "include source links in the summary optional field if set to true, the summary field in the API response will contain links to sources of the generated summary; default value: false",
        +    "type": "boolean"
        +  },
        +  "prompt": {
        +    "description": "AI prompt optional field additional task for AI summariser; any form of text, question or information that communicates to AI what response you're looking for; max number of symbols or characters you can specify: 2000; note: your prompt has to be relevant to the keyword specified in the POST request to SERP API",
        +    "type": "string"
        +  },
        +  "support_extra": {
        +    "description": "support extra SERP features optional field if set to true, the AI model will consider the following extra SERP features, in addition to organic results: answer_box, knowledge_graph, featured_snippet; default value: true",
        +    "type": "boolean"
        +  },
        +  "task_id": {
        +    "description": "task identifier required field unique identifier of the associated task in the UUID format you will be able to use it within 30 days to request the results of the task at any time",
        +    "type": "string"
        +  }
        +}
      • addedInput schema / properties / body / items / required
        Added value: +[
        +  "task_id"
        +]
      • changedInput schema / properties / body / items / type
        Previous value: -[
        -  "object",
        -  "null"
        -]New value: +"object"
      • changedInput schema / required
        Previous value: -[]New value: +[
        +  "body"
        +]
      • removedOutput schema / x-fastmcp-wrap-result
        Removed value: -true
    • Changedpost_dataforseo_serp_bing_organic_live7 fields changed
      • removedInput schema / properties / body / example
        Removed value: -[
        -  {
        -    "keyword": "flight ticket new york san francisco",
        -    "language_code": "en",
        -    "location_code": 2840
        -  }
        -]
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "keyword": "flight ticket new york san francisco",
        -        "language_code": "en",
        -        "location_code": 2840
        -      }
        -    ],
        -    "properties": {
        -      "browser_screen_height": {
        -        "description": "<p><em>browser screen height</em><p>optional field<p>you can set a custom browser screen height to calculate pixel rankings for a particular device;<p>can be specified within the following range: <code>240-9999</code>;<p>by default, the parameter is set to:<p><code>1080</code> for <code>desktop</code>;<p><code>640</code> for <code>mobile</code> on <code>android</code>;<p><code>812</code> for <code>mobile</code> on <code>iOS</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "browser_screen_resolution_ratio": {
        -        "description": "<p><em>browser screen resolution ratio</em><p>optional field<p>you can set a custom browser screen resolution ratio to calculate pixel rankings for a particular device;<p>can be specified within the following range: <code>0.5-3</code>;<p>by default, the parameter is set to:<p><code>1</code> for <code>desktop</code>;<p><code>3</code> for <code>mobile</code> on <code>android</code>;<p><code>3</code> for <code>mobile</code> on <code>iOS</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "browser_screen_width": {
        -        "description": "<p><em>browser screen width</em><p>optional field<p>you can set a custom browser screen width to calculate pixel rankings for a particular device;<p>can be specified within the following range: <code>240-9999</code>;<p>by default, the parameter is set to:<p><code>1920</code> for <code>desktop</code>;<p><code>360</code> for <code>mobile</code> on <code>android</code>;<p><code>375</code> for <code>mobile</code> on <code>iOS</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
        -        "format": "int64",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "calculate_rectangles": {
        -        "description": "<p><em>calculate pixel rankings for SERP elements in advanced results</em><p>optional field<p>pixel ranking refers to the distance between the result snippet and top left corner of the screen;<p><a href=\"https://dataforseo.com/help-center/pixel-ranking-in-serp-api\">Visit Help Center to learn more&gt;&gt;</a><p>by default, the parameter is set to <code>false</code><p><strong>Note:</strong> you will be charged extra $0.002 for using this parameter</p>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "depth": {
        -        "description": "<p><em>parsing depth</em><p>optional field<p>number of results in SERP<p>default value: <code>10</code><p>max value: <code>200</code></p><br><strong>Your account will be billed per each SERP containing up to 10 results;</strong><p>Setting depth above 10 may result in additional charges <a href=\"https://dataforseo.com/help-center/how-many-results-scraped\" rel=\"noopener noreferrer\" target=\"_blank\">if the search engine returns more than 10 results</a>;<p>The cost can be calculated on the <a title=\"Pricing\" href=\"https://dataforseo.com/pricing/serp/bing-organic-serp-api\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page.",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "device": {
        -        "description": "<p><em>device type</em><p>optional field<p>return results for a specific device type<p>can take the values:<code>desktop</code>, <code>mobile</code><p>default value: <code>desktop</code></p>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "keyword": {
        -        "description": "<p><em>keyword</em><p><strong>required field</strong><p>you can specify <strong>up to 700 characters</strong> in the <code>keyword</code> field<p><strong>all %## will be decoded (plus character '+' will be decoded to a space character)</strong><p>if you need to use the \"%\" character for your <code>keyword</code>, please specify it as \"%25\";<p>if you need to use the “+” character for your <code>keyword</code>, please specify it as “%2B”;</p><br><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" target=\"_blank\" rel=\"noopener noreferrer\">Help Center article</a></p>",
        -        "type": "string"
        -      },
        -      "language_code": {
        -        "description": "<p><em>search engine language code</em><p><strong>required field if you don't specify</strong> <code>language_name</code><p><strong>if you use this field, you don't need to specify <code>language_name</code></strong><p>you can receive the list of available languages of the search engine with their <code>language_code</code>&nbsp;by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages</code><em><p></em>example:<em><p></em><code class=\"long-string\">en</code></p>",
        -        "type": "string"
        -      },
        -      "language_name": {
        -        "description": "<p><em>full name of search engine language</em><p><strong>required field if you don't specify</strong> <code>language_code</code><p><strong>if you use this field, you don't need to specify <code>language_code</code></strong><p>you can receive the list of available languages of the search engine with their <code>language_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages</code><p>example:<p><code class=\"long-string\">English</code></p>",
        -        "type": "string"
        -      },
        -      "location_code": {
        -        "description": "<p><em>search engine location code</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations</code><p>example:<p><code class=\"long-string\">2840</code></p>",
        -        "type": "integer"
        -      },
        -      "location_coordinate": {
        -        "description": "<p><em>GPS coordinates of a location</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_code</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_code</code></strong><p><code>location_coordinate</code> parameter should be specified in the <em>\"latitude,longitude\"</em> format<p>the maximum number of decimal digits for <em>\"latitude\"</em> and <em>\"longitude\"</em>: 7<p>example:<p><code class=\"long-string\">53.476225,-2.243572</code></p>",
        -        "type": "string"
        -      },
        -      "location_name": {
        -        "description": "<p><em>full name of search engine location</em><p><strong>required field if you don't specify</strong> <code>location_code</code> or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_code</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations</code><p>example:<p><code class=\"long-string\">London,England,United Kingdom</code></p>",
        -        "type": "string"
        -      },
        -      "match_type": {
        -        "description": "<p><em>target match type</em><p><strong>required field if <code>stop_crawl_on_match</code> is specified</strong><p>type of match for the <code>match_value</code><p>possible values:<p><code>domain</code> – specific domain or subdomain<p><code>with_subdomains</code> – main domain and subdomains<p><code>wildcard</code> –  wildcard pattern</p>",
        -        "type": "string"
        -      },
        -      "match_value": {
        -        "description": "<p><em>target domain, subdomain, or wildcard value</em><p><strong>required field if <code>stop_crawl_on_match</code> is specified</strong><p>specify a target domain, subdomain, or wildcard value;<p><strong>Note:</strong> domain or subdomain must be specified without a request protocol;<p>example: <code>\"match_value\": \"dataforseo.com\"</code>,<p><code>\"match_value\": \"/blog/post-*\"</code></p>",
        -        "type": "string"
        -      },
        -      "max_crawl_pages": {
        -        "description": "<p><em>page crawl limit</em><p>optional field<p>number of search results pages to crawl<p>default value: <code>1</code><p>max value: <code>100</code><p><strong>Note:</strong> the <code>max_crawl_pages</code> and <code>depth</code> parameters complement each other;<p>learn more at <a href=\"https://dataforseo.com/help-center/what-is-max-crawl-pages-and-how-does-it-work\" rel=\"noopener noreferrer\" target=\"_blank\">our help center</a></p>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "os": {
        -        "description": "<p><em>device operating system</em><p>optional field<p>if you specify <code>desktop</code> in the <code>device</code> field, choose from the following values: <code>windows</code>, <code>macos</code><p>default value: <code>windows</code><p>if you specify <code>mobile</code> in the <code>device</code> field, choose from the following values: <code>android</code>, <code>ios</code><p>default value: <code>android</code></p>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "search_param": {
        -        "description": "<p><em>additional parameters of the search query</em><p>optional field<p><a href=\"https://dataforseo.com/help-center/bing-search-engine-parameters-and-how-to-use-them\">get the list of available parameters and additional details here</a></p>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "stop_crawl_on_match": {
        -        "description": "array of targets to stop crawling\noptional field\nif specified, the response will contain SERP results up to and including the specified match_value;\nyou can specify up to 10 target values in this array\nexample:\n\"stop_crawl_on_match\":[{\"match_value\":\"dataforseo.com\",\"match_type\":\"with_subdomains\"}]\nlearn more about this parameter on our Help Center - https://dataforseo.com/help-center/using-the-stop_crawl_on_match-parameter-in-serp-api\nYour account will be billed per each SERP crawled through the specified targets",
        -        "items": {
        -          "anyOf": [
        -            {
        -              "properties": {
        -                "match_type": {
        -                  "description": "target match type\nrequired field if stop_crawl_on_match is specified;\ntype of match for the match_value\npossible values: domain, with_subdomains, wildcard",
        -                  "type": [
        -                    "string",
        -                    "null"
        -                  ]
        -                },
        -                "match_value": {
        -                  "description": "arget domain or wildcard value\nrequired field if stop_crawl_on_match is specified;\nspecify a target domain or wildcard value;\nNote: domain name must be specified without a request protocol;\nexample: dataforseo.com",
        -                  "type": [
        -                    "string",
        -                    "null"
        -                  ]
        -                }
        -              },
        -              "type": "object"
        -            }
        -          ],
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<p><em>user-defined task identifier</em><p>optional field<p><em>the character limit is 255</em><p>you can use this parameter to identify the task and match it with the result<p>you will find the specified <code>tag</code> value in the <code>data</code> object of the response</p>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "target": {
        -        "description": "<p><em>target domain, subdomain, or webpage to get results for</em><p>optional field<p>a domain or a subdomain should be specified without <code>https://</code> and <code>www.</code><p>note that the results of <code>target</code>-specific tasks will only include SERP elements that contain a <code>url</code> string;<p>you can also use a wildcard (‘*’) character to specify the search pattern in SERP and narrow down the results;<p>examples:<p><strong><code class=\"long-string\">example.com</code></strong>  - returns results for the website's home page with URLs, such as <code class=\"long-string\">https://example.com</code>, or <code class=\"long-string\">https://www.example.com/</code>, or <code class=\"long-string\">https://example.com/</code>;<p><strong><code class=\"long-string\">example.com*</code></strong> - returns results for the domain, including all its pages;<p><strong><code class=\"long-string\">*example.com*</code></strong> - returns results for the entire domain, including all its pages and subdomains;<p><strong><code class=\"long-string\">*example.com</code></strong>  - returns results for the home page regardless of the subdomain, such as <code class=\"long-string\">https://en.example.com</code>;<p><strong><code class=\"long-string\">example.com/example-page</code></strong>  - returns results for the exact URL;<p><strong><code class=\"long-string\">example.com/example-page*</code></strong>  - returns results for all domain's URLs that start with the specified string</p>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "url": {
        -        "description": "<p><em>direct URL of the search query</em><p>optional field<p>you can specify a direct URL and we will sort it out to the necessary fields. Note that this method is the most difficult for our API to process and also requires you to specify the exact language and location in the URL. In most cases, we wouldn’t recommend using this method.<p>example:<p><code class=\"long-string\">https://www.bing.com/search?q=rank%20checker&amp;count=50&amp;first=1&amp;setlang=en&amp;cc=US&amp;safesearch=Moderate&amp;FORM=SEPAGE</code></p>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / properties
        Added value: +{
        +  "device": {
        +    "description": "device type optional field return results for a specific device type can take the values:desktop, mobile default value: desktop",
        +    "type": "string"
        +  },
        +  "keyword": {
        +    "description": "keyword required field you can specify up to 700 characters in the keyword field all %## will be decoded (plus character '+' will be decoded to a space character) if you need to use the \"%\" character for your keyword, please specify it as \"%25\"; if you need to use the “+” character for your keyword, please specify it as “%2B”; learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        +    "type": "string"
        +  },
        +  "language_code": {
        +    "description": "search engine language code required field if you don't specify language_name if you use this field, you don't need to specify language_name. Use the AIsa tool [get_dataforseo_serp_bing_languages](https://aisa.one/docs/api-reference/dataforseo/get_dataforseo-serp-bing-languages) to retrieve supported Bing languages. Select a language from the returned list and use its `language_code` value exactly. When using MCP, discover this tool through `search` and obtain its schema with `batch_get_schema` if needed. example: en",
        +    "type": "string"
        +  },
        +  "language_name": {
        +    "description": "full name of search engine language required field if you don't specify language_code if you use this field, you don't need to specify language_code. Use the AIsa tool [get_dataforseo_serp_bing_languages](https://aisa.one/docs/api-reference/dataforseo/get_dataforseo-serp-bing-languages) to retrieve supported Bing languages. Select a language from the returned list and use its `language_name` value exactly. When using MCP, discover this tool through `search` and obtain its schema with `batch_get_schema` if needed. example: English",
        +    "type": "string"
        +  },
        +  "location_code": {
        +    "description": "search engine location code required field if you don't specify location_name or location_coordinate if you use this field, you don't need to specify location_name or location_coordinate. Use the AIsa tool [get_dataforseo_serp_bing_locations](https://aisa.one/docs/api-reference/dataforseo/get_dataforseo-serp-bing-locations) to retrieve supported Bing locations. Select a location from the returned list and use its `location_code` value exactly. When using MCP, discover this tool through `search` and obtain its schema with `batch_get_schema` if needed. example: 2840",
        +    "type": "integer"
        +  },
        +  "location_name": {
        +    "description": "full name of search engine location required field if you don't specify location_code or location_coordinate if you use this field, you don't need to specify location_code or location_coordinate. Use the AIsa tool [get_dataforseo_serp_bing_locations](https://aisa.one/docs/api-reference/dataforseo/get_dataforseo-serp-bing-locations) to retrieve supported Bing locations. Select a location from the returned list and use its `location_name` value exactly. When using MCP, discover this tool through `search` and obtain its schema with `batch_get_schema` if needed. example: London,England,United Kingdom",
        +    "type": "string"
        +  },
        +  "os": {
        +    "description": "device operating system optional field if you specify desktop in the device field, choose from the following values: windows, macos default value: windows if you specify mobile in the device field, choose from the following values: android, ios default value: android",
        +    "type": "string"
        +  }
        +}
      • addedInput schema / properties / body / items / required
        Added value: +[
        +  "keyword"
        +]
      • changedInput schema / properties / body / items / type
        Previous value: -[
        -  "object",
        -  "null"
        -]New value: +"object"
      • changedInput schema / required
        Previous value: -[]New value: +[
        +  "body"
        +]
      • removedOutput schema / x-fastmcp-wrap-result
        Removed value: -true
    • Changedpost_dataforseo_serp_google_ai_mode_live7 fields changed
      • removedInput schema / properties / body / example
        Removed value: -[
        -  {
        -    "keyword": "what is google ai mode",
        -    "language_code": "en",
        -    "location_code": 2840
        -  }
        -]
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "keyword": "what is google ai mode",
        -        "language_code": "en",
        -        "location_code": 2840
        -      }
        -    ],
        -    "properties": {
        -      "browser_screen_height": {
        -        "description": "<p><em>browser screen height</em><p>optional field<p>you can set a custom browser screen height to calculate pixel rankings for a particular device;<p>can be specified within the following range: <code>240-9999</code>;<p>by default, the parameter is set to:<p><code>1080</code> for <code>desktop</code>;<p><code>640</code> for <code>mobile</code> on <code>android</code>;<p><code>812</code> for <code>mobile</code> on <code>iOS</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "browser_screen_resolution_ratio": {
        -        "description": "<p><em>browser screen resolution ratio</em><p>optional field<p>you can set a custom browser screen resolution ratio to calculate pixel rankings for a particular device;<p>can be specified within the following range: <code>0.5-3</code>;<p>by default, the parameter is set to:<p><code>1</code> for <code>desktop</code>;<p><code>3</code> for <code>mobile</code> on <code>android</code>;<p><code>3</code> for <code>mobile</code> on <code>iOS</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "browser_screen_width": {
        -        "description": "<p><em>browser screen width</em><p>optional field<p>you can set a custom browser screen width to calculate pixel rankings for a particular device;<p>can be specified within the following range: <code>240-9999</code>;<p>by default, the parameter is set to:<p><code>1920</code> for <code>desktop</code>;<p><code>360</code> for <code>mobile</code> on <code>android</code>;<p><code>375</code> for <code>mobile</code> on <code>iOS</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
        -        "format": "int64",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "calculate_rectangles": {
        -        "description": "<p><em>calculate pixel rankings for SERP elements in advanced results</em><p>optional field<p>pixel ranking refers to the distance between the result snippet and top left corner of the screen;<p><a href=\"https://dataforseo.com/help-center/pixel-ranking-in-serp-api\">Visit Help Center to learn more&gt;&gt;</a><p>by default, the parameter is set to <code>false</code><p><strong>Note:</strong> if set to <code>true</code>, the charge per task will be multiplied by 2</p>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "device": {
        -        "description": "<p><em>device type</em><p>optional field<p>return results for a specific device type<p>can take the values:<code>desktop</code>, <code>mobile</code><p>default value: <code>desktop</code></p>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "keyword": {
        -        "description": "<p><em>keyword</em><p><strong>required field</strong><p>you can specify <strong>up to 700 characters</strong> in the <code>keyword</code> field<p>all %## will be decoded (plus character ‘+’ will be decoded to a space character)<p>if you need to use the “%” character for your <code>keyword</code>, please specify it as “%25”;<p>if you need to use the “+” character for your <code>keyword</code>, please specify it as “%2B”</p><br><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a></p>",
        -        "type": "string"
        -      },
        -      "language_code": {
        -        "description": "<p><em>search engine language code</em><p>required field if you don't specify <code>language_name</code>;<p>if you use this field, you don't need to specify <code>language_name</code>;<p>you can receive the list of available languages of the search engine with their <code>language_code</code>&nbsp;by making a separate request to the <code>https://api.dataforseo.com/v3/serp/google/ai_mode/languages</code></p>",
        -        "type": "string"
        -      },
        -      "language_name": {
        -        "description": "<p><em>full name of search engine language</em><p>required field if you don't specify <code>language_code</code>;<p>if you use this field, you don't need to specify <code>language_code</code>;<p>you can receive the list of available languages of the search engine with their <code>language_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/google/ai_mode/languages</code>;</p>",
        -        "type": "string"
        -      },
        -      "location_code": {
        -        "description": "<p><em>search engine location code</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/google/locations</code><p><strong>Note:</strong> check <a href=\"https://support.google.com/websearch/answer/16011537?hl=en&amp;co=GENIE.Platform%3DAndroid#\" target=\"_blank\"> Google Search Help</a> for the list of countries where AI Mode is currently available</p>",
        -        "type": "integer"
        -      },
        -      "location_coordinate": {
        -        "description": "<p><em>GPS coordinates of a location</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_code</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_code</code></strong><p><code>location_coordinate</code> parameter should be specified in the <em>\"latitude,longitude,zoom\"</em> format<p>if <em>\"zoom\"</em> is not specified, <em>9z</em> will be applied as a default value<p>the maximum number of decimal digits for <em>\"latitude\"</em> and <em>\"longitude\"</em>: 7<p>the minimum value for <em>\"zoom\"</em>: 4z<p>the maximum value for <em>\"zoom\"</em>: 18z<p>example:<p><code class=\"long-string\">52.6178549,-155.352142,18z</code></p>",
        -        "type": "string"
        -      },
        -      "location_name": {
        -        "description": "<p><em>full name of search engine location</em><p><strong>required field if you don't specify</strong> <code>location_code</code> or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_code</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/google/locations</code><p><strong>Note:</strong> check <a href=\"https://support.google.com/websearch/answer/16011537?hl=en&amp;co=GENIE.Platform%3DAndroid#\" target=\"_blank\"> Google Search Help</a> for the list of countries where AI Mode is currently available</p>",
        -        "type": "string"
        -      },
        -      "os": {
        -        "description": "<p><em>device operating system</em><p>optional field<p>if you specify <code>desktop</code> in the <code>device</code> field, choose from the following values: <code>windows</code>, <code>macos</code><p>default value: <code>windows</code><p>if you specify <code>mobile</code> in the <code>device</code> field, choose from the following values: <code>android</code>, <code>ios</code><p>default value: <code>android</code></p>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<p><em>user-defined task identifier</em><p>optional field<p><em>the character limit is 255</em><p>you can use this parameter to identify the task and match it with the result<p>you will find the specified <code>tag</code> value in the <code>data</code> object of the response</p>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / properties
        Added value: +{
        +  "browser_screen_height": {
        +    "description": "browser screen height optional field you can set a custom browser screen height to calculate pixel rankings for a particular device; can be specified within the following range: 240-9999; by default, the parameter is set to: 1080 for desktop; 640 for mobile on android; 812 for mobile on iOS; Note: to use this parameter, set calculate_rectangles to true",
        +    "type": "integer"
        +  },
        +  "browser_screen_resolution_ratio": {
        +    "description": "browser screen resolution ratio optional field you can set a custom browser screen resolution ratio to calculate pixel rankings for a particular device; can be specified within the following range: 0.5-3; by default, the parameter is set to: 1 for desktop; 3 for mobile on android; 3 for mobile on iOS; Note: to use this parameter, set calculate_rectangles to true",
        +    "type": "number"
        +  },
        +  "browser_screen_width": {
        +    "description": "browser screen width optional field you can set a custom browser screen width to calculate pixel rankings for a particular device; can be specified within the following range: 240-9999; by default, the parameter is set to: 1920 for desktop; 360 for mobile on android; 375 for mobile on iOS; Note: to use this parameter, set calculate_rectangles to true",
        +    "type": "integer"
        +  },
        +  "calculate_rectangles": {
        +    "description": "calculate pixel rankings for SERP elements in advanced results optional field pixel ranking refers to the distance between the result snippet and top left corner of the screen; Visit Help Center to learn more>> by default, the parameter is set to false Note: if set to true, the charge per task will be multiplied by 2",
        +    "type": "boolean"
        +  },
        +  "device": {
        +    "description": "device type optional field return results for a specific device type can take the values:desktop, mobile default value: desktop",
        +    "type": "string"
        +  },
        +  "keyword": {
        +    "description": "keyword required field you can specify up to 700 characters in the keyword field all %## will be decoded (plus character ‘+’ will be decoded to a space character) if you need to use the “%” character for your keyword, please specify it as “%25”; if you need to use the “+” character for your keyword, please specify it as “%2B” learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        +    "type": "string"
        +  },
        +  "language_code": {
        +    "description": "search engine language code required field if you don't specify language_name; if you use this field, you don't need to specify language_name; you can receive the list of available languages of the search engine with their language_code by making a separate request to the https://api.dataforseo.com/v3/serp/google/ai_mode/languages",
        +    "type": "string"
        +  },
        +  "language_name": {
        +    "description": "full name of search engine language required field if you don't specify language_code; if you use this field, you don't need to specify language_code; you can receive the list of available languages of the search engine with their language_name by making a separate request to the https://api.dataforseo.com/v3/serp/google/ai_mode/languages;",
        +    "type": "string"
        +  },
        +  "location_code": {
        +    "description": "search engine location code required field if you don't specify location_name or location_coordinate if you use this field, you don't need to specify location_name or location_coordinate you can receive the list of available locations of the search engines with their location_code by making a separate request to the https://api.dataforseo.com/v3/serp/google/locations Note: check Google Search Help for the list of countries where AI Mode is currently available",
        +    "type": "integer"
        +  },
        +  "location_coordinate": {
        +    "description": "GPS coordinates of a location required field if you don't specify location_name or location_code if you use this field, you don't need to specify location_name or location_code location_coordinate parameter should be specified in the \"latitude,longitude,zoom\" format if \"zoom\" is not specified, 9z will be applied as a default value the maximum number of decimal digits for \"latitude\" and \"longitude\": 7 the minimum value for \"zoom\": 4z the maximum value for \"zoom\": 18z example: 52.6178549,-155.352142,18z",
        +    "type": "string"
        +  },
        +  "location_name": {
        +    "description": "full name of search engine location required field if you don't specify location_code or location_coordinate if you use this field, you don't need to specify location_code or location_coordinate you can receive the list of available locations of the search engine with their location_name by making a separate request to the https://api.dataforseo.com/v3/serp/google/locations Note: check Google Search Help for the list of countries where AI Mode is currently available",
        +    "type": "string"
        +  }
        +}
      • addedInput schema / properties / body / items / required
        Added value: +[
        +  "keyword"
        +]
      • changedInput schema / properties / body / items / type
        Previous value: -[
        -  "object",
        -  "null"
        -]New value: +"object"
      • changedInput schema / required
        Previous value: -[]New value: +[
        +  "body"
        +]
      • removedOutput schema / x-fastmcp-wrap-result
        Removed value: -true
    • Changedpost_dataforseo_serp_google_autocomplete_live7 fields changed
      • removedInput schema / properties / body / example
        Removed value: -[
        -  {
        -    "client": "gws-wiz-serp",
        -    "keyword": "albert einstein",
        -    "language_code": "en",
        -    "location_code": 2840
        -  }
        -]
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "client": "gws-wiz-serp",
        -        "keyword": "albert einstein",
        -        "language_code": "en",
        -        "location_code": 2840
        -      }
        -    ],
        -    "properties": {
        -      "client": {
        -        "description": "<p><em>search client for autocomplete</em><p>optional field<p>autocomplete results may differ depending on the search client;<p>possible values:<p><code>chrome</code> — used when google search is opened in google chrome;<p><code>chrome-omni</code> — used in the address bar in chrome;<p><code>gws-wiz</code> — used in google search home page;<p><code>gws-wiz-serp</code> — used in google search engine results page;<p><code>safari</code> — used when google search is opened in safari browser;<p><code>firefox</code> — used when google search is opened in firefox browser;<p><code>psy-ab</code> — may be used when google search is opened in google chrome browser;<p><code>toolbar</code> — returns XML;<p><code>youtube</code> — returns JSONP;<p><code>gws-wiz-local</code> — used in google local;<p><code>img</code> — used in google's image search;<p><code>products-cc</code> — used in google shopping search</p>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "cursor_pointer": {
        -        "description": "<p><em>search bar cursor pointer</em><p>optional field<p>the horizontal numerical position of the cursor pointer within the keyword in the search bar;<p>by modifying the position of the cursor pointer, you will obtain different autocomplete suggestions for the same seed keyword;<p>minimal value: <code>0</code><p>default value: the number of the last character of the specified <code>keyword</code><p>example:<p><code>|which query are s</code> - <code>\"cursor_pointer\": 0</code><p><code>which query is s|</code> - <code>\"cursor_pointer\": 16</code><p><code>which que|ry is s</code> - <code>\"cursor_pointer\": 9</code></p>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "keyword": {
        -        "description": "<p><em>keyword</em><p><strong>required field</strong><p>you can specify <strong>up to 700 characters</strong> in the <code>keyword</code> field<p>all %## will be decoded (plus character ‘+’ will be decoded to a space character)<p>if you need to use the “%” character for your <code>keyword</code>, please specify it as “%25”;<p>if you need to use the “+” character for your <code>keyword</code>, please specify it as “%2B”;</p><br><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a></p>",
        -        "type": "string"
        -      },
        -      "language_code": {
        -        "description": "<p><em>search engine language code</em><p><strong>required field if you don't specify</strong> <code>language_name</code><p><strong>if you use this field, you don't need to specify <code>language_name</code></strong>;<p>you can receive the list of available languages of the search engine with their <code>language_code</code>&nbsp;by making a separate request to the <code>https://api.dataforseo.com/v3/serp/google/languages</code><em><p></em>example:<em><p></em><code class=\"long-string\">en</code></p>",
        -        "type": "string"
        -      },
        -      "language_name": {
        -        "description": "<p><em>full name of search engine language</em><p><strong>required field if you don't specify</strong> <code>language_code</code><p><strong>if you use this field, you don't need to specify <code>language_code</code></strong>;<p>you can receive the list of available languages of the search engine with their <code>language_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/serp/google/languages</code><p>example:<p><code class=\"long-string\">English</code></p>",
        -        "type": "string"
        -      },
        -      "location_code": {
        -        "description": "<p><em>search engine location code</em><p><strong>required field if you don't specify</strong> <code>location_name</code>;<p>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to <code>https://api.dataforseo.com/v3/serp/google/locations</code><p>example:<p><code class=\"long-string\">2840</code></p>",
        -        "type": "integer"
        -      },
        -      "location_name": {
        -        "description": "<p><em>full name of search engine location</em><p><strong>required field if you don't specify</strong> <code>location_code</code><p><strong>if you use this field, you don't need to specify <code>location_code</code></strong>;<p>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/serp/google/autocomplete/locations</code><p>example:<p><code class=\"long-string\">London,England,United Kingdom</code></p>",
        -        "type": "string"
        -      },
        -      "tag": {
        -        "description": "<p><em>user-defined task identifier</em><p>optional field<p><em>the character limit is 255</em><p>you can use this parameter to identify the task and match it with the result<p>you will find the specified <code>tag</code> value in the <code>data</code> object of the response</p>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / properties
        Added value: +{
        +  "client": {
        +    "description": "search client for autocomplete optional field autocomplete results may differ depending on the search client; possible values: chrome — used when google search is opened in google chrome; chrome-omni — used in the address bar in chrome; gws-wiz — used in google search home page; gws-wiz-serp — used in google search engine results page; safari — used when google search is opened in safari browser; firefox — used when google search is opened in firefox browser; psy-ab — may be used when google search is opened in google chrome browser; toolbar — returns XML; youtube — returns JSONP; gws-wiz-local — used in google local; img — used in google's image search; products-cc — used in google shopping search",
        +    "type": "string"
        +  },
        +  "keyword": {
        +    "description": "keyword required field you can specify up to 700 characters in the keyword field all %## will be decoded (plus character ‘+’ will be decoded to a space character) if you need to use the “%” character for your keyword, please specify it as “%25”; if you need to use the “+” character for your keyword, please specify it as “%2B”; learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        +    "type": "string"
        +  },
        +  "language_code": {
        +    "description": "search engine language code required field if you don't specify language_name if you use this field, you don't need to specify language_name; you can receive the list of available languages of the search engine with their language_code by making a separate request to the https://api.dataforseo.com/v3/serp/google/languages example: en",
        +    "type": "string"
        +  },
        +  "language_name": {
        +    "description": "full name of search engine language required field if you don't specify language_code if you use this field, you don't need to specify language_code; you can receive the list of available languages of the search engine with their language_name by making a separate request to https://api.dataforseo.com/v3/serp/google/languages example: English",
        +    "type": "string"
        +  },
        +  "location_code": {
        +    "description": "search engine location code required field if you don't specify location_name; you can receive the list of available locations of the search engines with their location_code by making a separate request to https://api.dataforseo.com/v3/serp/google/locations example: 2840",
        +    "type": "integer"
        +  },
        +  "location_name": {
        +    "description": "full name of search engine location required field if you don't specify location_code if you use this field, you don't need to specify location_code; you can receive the list of available locations of the search engine with their location_name by making a separate request to https://api.dataforseo.com/v3/serp/google/autocomplete/locations example: London,England,United Kingdom",
        +    "type": "string"
        +  }
        +}
      • addedInput schema / properties / body / items / required
        Added value: +[
        +  "keyword"
        +]
      • changedInput schema / properties / body / items / type
        Previous value: -[
        -  "object",
        -  "null"
        -]New value: +"object"
      • changedInput schema / required
        Previous value: -[]New value: +[
        +  "body"
        +]
      • removedOutput schema / x-fastmcp-wrap-result
        Removed value: -true
    • Changedpost_dataforseo_serp_google_local_finder_live7 fields changed
      • removedInput schema / properties / body / example
        Removed value: -[
        -  {
        -    "keyword": "local nail services",
        -    "language_code": "en",
        -    "location_code": 2840,
        -    "min_rating": 4.5,
        -    "time_filter": "monday"
        -  }
        -]
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "keyword": "local nail services",
        -        "language_code": "en",
        -        "location_code": 2840,
        -        "min_rating": 4.5,
        -        "time_filter": "monday"
        -      }
        -    ],
        -    "properties": {
        -      "depth": {
        -        "description": "<p><em>parsing depth</em><p>optional field<p>number of results in SERP<br><p>default value: <code>10</code><p>max value: <code>100</code></p><br><strong>Your account will be billed per each SERP containing up to 10 results;</strong><p>Setting depth above 10 may result in additional charges if the search engine returns more than 10 results respectively;<p>If the specified depth is higher than the number of results in the response, the difference will be refunded to your account balance automatically<p>The cost can be calculated on the <a title=\"Pricing\" href=\"https://dataforseo.com/pricing/serp/google-local-finder-serp-api\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page.",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "device": {
        -        "description": "<p><em>device type</em><p>optional field<p>return results for a specific device type<p>can take the values:<code>desktop</code>, <code>mobile</code><p>default value: <code>desktop</code></p>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "keyword": {
        -        "description": "<p><em>keyword</em><p><strong>required field</strong><p>you can specify <strong>up to 700 characters</strong> in the <code>keyword</code> field<p>all %## will be decoded (plus character ‘+’ will be decoded to a space character)<p>if you need to use the “%” character for your <code>keyword</code>, please specify it as “%25”;<p>if you need to use the “+” character for your <code>keyword</code>, please specify it as “%2B”</p><br><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a></p>",
        -        "type": "string"
        -      },
        -      "language_code": {
        -        "description": "<p><em>search engine language code</em><p><strong>required field if you don't specify</strong> <code>language_name</code><p><strong>if you use this field, you don't need to specify <code>language_name</code></strong><p>you can receive the list of available languages of the search engine with their <code>language_code</code>&nbsp;by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages</code><p>example:<code class=\"long-string\">en</code></p>",
        -        "type": "string"
        -      },
        -      "language_name": {
        -        "description": "<p><em>full name of search engine language</em><p><strong>required field if you don't specify</strong> <code>language_code</code><p><strong>if you use this field, you don't need to specify <code>language_code</code></strong><p>you can receive the list of available languages of the search engine with their <code>language_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages</code><p>example:<p><code class=\"long-string\">English</code></p>",
        -        "type": "string"
        -      },
        -      "location_code": {
        -        "description": "<p><em>search engine location code</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations</code><p>example:<p><code class=\"long-string\">2840</code></p>",
        -        "type": "integer"
        -      },
        -      "location_coordinate": {
        -        "description": "<p><em>GPS coordinates of a location</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_code</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_code</code></strong><p><code>location_coordinate</code> parameter should be specified in the <em>\"latitude,longitude,zoom\"</em> format<p>if <em>\"zoom\"</em> is not specified, <em>9z</em> will be applied as a default value<p>the maximum number of decimal digits for <em>\"latitude\"</em> and <em>\"longitude\"</em>: 7<p>the minimum value for <em>\"zoom\"</em>: 4z<p>the maximum value for <em>\"zoom\"</em>: 18z<p>example:<p><code class=\"long-string\">52.6178549,-155.352142,20z</code></p>",
        -        "type": "string"
        -      },
        -      "location_name": {
        -        "description": "<p><em>full name of search engine location</em><p><strong>required field if you don't specify</strong> <code>location_code</code> or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_code</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations</code><p>example:<p><code class=\"long-string\">London,England,United Kingdom</code></p>",
        -        "type": "string"
        -      },
        -      "min_rating": {
        -        "description": "<p><em>filter results by minimum rating</em><p>optional field<p>possible values for <code>desktop</code>: <code>3.5</code>, <code>4</code>, <code>4.5</code>;<p>possible values for <code>mobile</code>: <code>2</code>, <code>2.5</code>, <code>3</code>, <code>3.5</code>, <code>4</code>, <code>4.5</code></p>",
        -        "format": "double",
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "os": {
        -        "description": "<p><em>device operating system</em><p>optional field<p>if you specify <code>desktop</code> in the <code>device</code> field, choose from the following values: <code>windows</code>, <code>macos</code><p>default value: <code>windows</code><p>if you specify <code>mobile</code> in the <code>device</code> field, choose from the following values: <code>android</code>, <code>ios</code><p>default value: <code>android</code></p>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "priority": {
        -        "description": "<p><em>task priority</em><p>optional field<p>can take the following values:<p>1 – normal execution priority (set by default)<p>2 – high execution priority</p><br>You will be additionally charged for the tasks with high execution priority.<p>The cost can be calculated on the <a title=\"Pricing\" href=\"https://dataforseo.com/pricing/serp/google-local-finder-serp-api\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page.",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<p><em>user-defined task identifier</em><p>optional field<p><em>the character limit is 255</em><p>you can use this parameter to identify the task and match it with the result<p>you will find the specified <code>tag</code> value in the <code>data</code> object of the response</p>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "time_filter": {
        -        "description": "<p><em>filter results by open hours</em><p>optional field<p>using this field, you can filter places in the results by the time a place is open for visitors<p>note that Google may also provide results that do not match this filter<p>possible values: <code>\"open_now\"</code>, <code>\"24_hours\"</code>, <code>\"$day_value\"</code>, <code>\"$day_value;$time_value\"</code>;<p>instead of <code>$day_value</code> use one of these values: <code>\"monday\"</code>, <code>\"tuesday\"</code>, <code>\"wednesday\"</code>, <code>\"thursday\"</code>, <code>\"friday\"</code>, <code>\"saturday\"</code>, <code>\"sunday\"</code>;<p>instead of <code>$time_value</code> use one of these values: <code>\"00\"</code>, <code>\"01\"</code>, <code>\"02\"</code>, <code>\"03\"</code>, <code>\"04\"</code>, <code>\"05\"</code>, <code>\"06\"</code>, <code>\"07\"</code>, <code>\"08\"</code>, <code>\"09\"</code>, <code>\"10\"</code>, <code>\"11\"</code>, <code>\"12\"</code>, <code>\"13\"</code>, <code>\"14\"</code>, <code>\"15\"</code>, <code>\"16\"</code>, <code>\"17\"</code>, <code>\"18\"</code>, <code>\"19\"</code>, <code>\"20\"</code>, <code>\"21\"</code>, <code>\"22\"</code>, <code>\"23\"</code><p>example: <code class=\"long-string\">\"tuesday;18\"</code></p>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / properties
        Added value: +{
        +  "keyword": {
        +    "description": "keyword required field you can specify up to 700 characters in the keyword field all %## will be decoded (plus character ‘+’ will be decoded to a space character) if you need to use the “%” character for your keyword, please specify it as “%25”; if you need to use the “+” character for your keyword, please specify it as “%2B” learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        +    "type": "string"
        +  },
        +  "language_code": {
        +    "description": "search engine language code required field if you don't specify language_name if you use this field, you don't need to specify language_name you can receive the list of available languages of the search engine with their language_code by making a separate request to the https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages example:en",
        +    "type": "string"
        +  },
        +  "language_name": {
        +    "description": "full name of search engine language required field if you don't specify language_code if you use this field, you don't need to specify language_code you can receive the list of available languages of the search engine with their language_name by making a separate request to the https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages example: English",
        +    "type": "string"
        +  },
        +  "location_code": {
        +    "description": "search engine location code required field if you don't specify location_name or location_coordinate if you use this field, you don't need to specify location_name or location_coordinate you can receive the list of available locations of the search engines with their location_code by making a separate request to the https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations example: 2840",
        +    "type": "integer"
        +  },
        +  "location_coordinate": {
        +    "description": "GPS coordinates of a location required field if you don't specify location_name or location_code if you use this field, you don't need to specify location_name or location_code location_coordinate parameter should be specified in the \"latitude,longitude,zoom\" format if \"zoom\" is not specified, 9z will be applied as a default value the maximum number of decimal digits for \"latitude\" and \"longitude\": 7 the minimum value for \"zoom\": 4z the maximum value for \"zoom\": 18z example: 52.6178549,-155.352142,20z",
        +    "type": "string"
        +  },
        +  "location_name": {
        +    "description": "full name of search engine location required field if you don't specify location_code or location_coordinate if you use this field, you don't need to specify location_code or location_coordinate you can receive the list of available locations of the search engine with their location_name by making a separate request to the https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations example: London,England,United Kingdom",
        +    "type": "string"
        +  },
        +  "min_rating": {
        +    "description": "filter results by minimum rating optional field possible values for desktop: 3.5, 4, 4.5; possible values for mobile: 2, 2.5, 3, 3.5, 4, 4.5",
        +    "type": "number"
        +  },
        +  "time_filter": {
        +    "description": "filter results by open hours optional field using this field, you can filter places in the results by the time a place is open for visitors note that Google may also provide results that do not match this filter possible values: \"open_now\", \"24_hours\", \"$day_value\", \"$day_value;$time_value\"; instead of $day_value use one of these values: \"monday\", \"tuesday\", \"wednesday\", \"thursday\", \"friday\", \"saturday\", \"sunday\"; instead of $time_value use one of these values: \"00\", \"01\", \"02\", \"03\", \"04\", \"05\", \"06\", \"07\", \"08\", \"09\", \"10\", \"11\", \"12\", \"13\", \"14\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", \"23\" example: \"tuesday;18\"",
        +    "type": "string"
        +  }
        +}
      • addedInput schema / properties / body / items / required
        Added value: +[
        +  "keyword"
        +]
      • changedInput schema / properties / body / items / type
        Previous value: -[
        -  "object",
        -  "null"
        -]New value: +"object"
      • changedInput schema / required
        Previous value: -[]New value: +[
        +  "body"
        +]
      • removedOutput schema / x-fastmcp-wrap-result
        Removed value: -true
    • Changedpost_dataforseo_serp_google_maps_live7 fields changed
      • removedInput schema / properties / body / example
        Removed value: -[
        -  {
        -    "keyword": "albert einstein",
        -    "language_code": "en",
        -    "location_code": 2840
        -  }
        -]
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "keyword": "albert einstein",
        -        "language_code": "en",
        -        "location_code": 2840
        -      }
        -    ],
        -    "properties": {
        -      "depth": {
        -        "description": "<p><em>parsing depth</em><p>optional field<p>number of results in SERP<p>default value: <code>100</code><p>max value: <code>700</code></p><br><strong>Your account will be billed per each SERP containing up to 100 results;</strong><p>Setting depth above 100 may result in additional charges <a href=\"https://dataforseo.com/help-center/how-many-results-scraped\" rel=\"noopener noreferrer\" target=\"_blank\">if the search engine returns more than 100 results</a>;<p>The cost can be calculated on the <a title=\"Pricing\" href=\"https://dataforseo.com/pricing/serp/google-maps-serp-api\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page.",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "device": {
        -        "description": "<p><em>device type</em><p>optional field<p>return results for a specific device type<p>can take the values:<code>desktop</code>, <code>mobile</code><p>default value: <code>desktop</code><p><strong>note:</strong> for <code>mobile</code> device, only 20 results are returned for every SERP</p>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "keyword": {
        -        "description": "<p><em>keyword</em><p><strong>required field</strong><p>you can specify <strong>up to 700 characters</strong> in the <code>keyword</code> field<p>all %## will be decoded (plus character '+' will be decoded to a space character)<p>if you need to use the \"%\" character for your <code>keyword</code>, please specify it as \"%25\";<p>if you need to use the “+” character for your <code>keyword</code>, please specify it as “%2B”;<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a></p>",
        -        "type": "string"
        -      },
        -      "language_code": {
        -        "description": "<p><em>search engine language code</em><p><strong>required field if you don't specify</strong> <code>language_name</code><p><strong>if you use this field, you don't need to specify <code>language_name</code></strong><p>you can receive the list of available languages of the search engine with their <code>language_code</code>&nbsp;by making a separate request to the <code>https://api.dataforseo.com/v3/serp/google/languages</code><em><p></em>example:<em><p></em><code class=\"long-string\">en</code></p>",
        -        "type": "string"
        -      },
        -      "language_name": {
        -        "description": "<p><em>full name of search engine language</em><p><strong>required field if you don't specify</strong> <code>language_code</code><p><strong>if you use this field, you don't need to specify <code>language_code</code></strong><p>you can receive the list of available languages  of the search engine with their <code>language_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/google/languages</code><p>example:<p><code class=\"long-string\">English</code></p>",
        -        "type": "string"
        -      },
        -      "location_code": {
        -        "description": "<p><em>search engine location code</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/google/locations</code><p>example:<p><code class=\"long-string\">2840</code></p>",
        -        "type": "integer"
        -      },
        -      "location_coordinate": {
        -        "description": "<p><em>GPS coordinates of a location</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_code</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_code</code></strong><p><code>location_coordinate</code> parameter should be specified in the <em>\"latitude,longitude,zoom\"</em> format<p>if <em>\"zoom\"</em> is not specified, <em>17z</em> will be applied as a default value<p>the maximum number of decimal digits for <em>\"latitude\"</em> and <em>\"longitude\"</em>: 7<p>the minimum value for <em>\"zoom\"</em>: 3z<p>the maximum value for <em>\"zoom\"</em>: 21z<p>example:<p><code class=\"long-string\">52.6178549,-155.352142,20z</code></p>",
        -        "type": "string"
        -      },
        -      "location_name": {
        -        "description": "<p><em>full name of search engine location</em><p><strong>required field if you don't specify</strong> <code>location_code</code> or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_code</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/google/locations</code><p>example:<p><code class=\"long-string\">London,England,United Kingdom</code></p>",
        -        "type": "string"
        -      },
        -      "max_crawl_pages": {
        -        "description": "<p><em>page crawl limit</em><p>optional field<p>number of search results pages to crawl<p>max value: <code>100</code><p><strong>Note:</strong> the <code>max_crawl_pages</code> and <code>depth</code> parameters complement each other;<p>learn more at <a href=\"https://dataforseo.com/help-center/what-is-max-crawl-pages-and-how-does-it-work\" rel=\"noopener noreferrer\" target=\"_blank\">our help center</a></p>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "os": {
        -        "description": "<p><em>device operating system</em><p>optional field<p>if you specify <code>desktop</code> in the <code>device</code> field, choose from the following values: <code>windows</code>, <code>macos</code><p>default value: <code>windows</code><p>if you specify <code>mobile</code> in the <code>device</code> field, choose from the following values: <code>android</code>, <code>ios</code><p>default value: <code>android</code></p>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "se_domain": {
        -        "description": "<p><em>search engine domain</em><p>optional field<p>we choose the relevant search engine domain automatically according to the location and language you specify<p>however, you can set a custom search engine domain in this field<p>example:<p><code><em>google.co.uk</em></code>, <code><em>google.com.au</em></code>, <code><em>google.de</em></code>, etc.</p>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "search_places": {
        -        "description": "<p><em>search places mode</em><p>optional field<p>the search places mode allows to obtain Google Maps results on a certain place (e.g., Apple Store in New York)<p>however, due to the pecularities of our data mining algorithm, this mode might interfere with some local-intent queries - and display results for a location that is different from that specified in the request;<p>to prevent this interference and obtain correct results for keywords with local intent you may set this parameter to <code>false</code>;</p><br><p>default value: <code>true</code><p><strong>Note:</strong> if the <code>search_places</code> mode is turned off and no results were found in the search area, the <code>results</code> array will be empty</p>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "search_this_area": {
        -        "description": "<p><em>show results from the displayed area</em><p>optional field<p>can take the values:<code>true</code>, <code>false</code><p>default value: <code>true</code></p><br><p>if set to <code>false</code>, the <code>search_this_area</code> mode will be turned off</p><br><p><strong>Note:</strong> if the <code>search_this_area</code> mode is turned off, Google Maps listings might contain results beyond the displayed area</p>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "<p><em>user-defined task identifier</em><p>optional field<p><em>the character limit is 255</em><p>you can use this parameter to identify the task and match it with the result<p>you will find the specified <code>tag</code> value in the <code>data</code> object of the response</p>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "url": {
        -        "description": "<p><em>direct URL of the search query</em><p>optional field<p>you can specify a direct URL and we will sort it out to the necessary fields. Note that this method is the most difficult for our API to process and also requires you to specify the exact language and location in the URL. In most cases, we wouldn’t recommend using this method.<p>example:<p><code class=\"long-string\">https://google.com/maps/search/pizza/@37.09024,-95.712891,4z</code></p><br><strong>Note:</strong> the following search engine parameters are not supported and will be automatically unset if specified in the URL: <code>allinanchor:</code>, <code>allintext:</code>, <code>allintitle:</code>, <code>allinurl:</code>, <code>cache:</code>, <code>define:</code>, <code>definition:</code>, <code>filetype:</code>, <code>id:</code>, <code>inanchor:</code>, <code>info:</code>, <code>intext:</code>, <code>intitle:</code>, <code>inurl:</code>, <code>link:</code>, <code>site:</code>.",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / properties
        Added value: +{
        +  "depth": {
        +    "description": "parsing depth optional field number of results in SERP default value: 100 max value: 700 Your account will be billed per each SERP containing up to 100 results; Setting depth above 100 may result in additional charges if the search engine returns more than 100 results.",
        +    "type": "integer"
        +  },
        +  "keyword": {
        +    "description": "keyword required field you can specify up to 700 characters in the keyword field all %## will be decoded (plus character '+' will be decoded to a space character) if you need to use the \"%\" character for your keyword, please specify it as \"%25\"; if you need to use the “+” character for your keyword, please specify it as “%2B”; learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        +    "type": "string"
        +  },
        +  "language_code": {
        +    "description": "search engine language code required field if you don't specify language_name if you use this field, you don't need to specify language_name you can receive the list of available languages of the search engine with their language_code by making a separate request to the https://api.dataforseo.com/v3/serp/google/languages example: en",
        +    "type": "string"
        +  },
        +  "language_name": {
        +    "description": "full name of search engine language required field if you don't specify language_code if you use this field, you don't need to specify language_code you can receive the list of available languages of the search engine with their language_name by making a separate request to the https://api.dataforseo.com/v3/serp/google/languages example: English",
        +    "type": "string"
        +  },
        +  "location_code": {
        +    "description": "search engine location code required field if you don't specify location_name or location_coordinate if you use this field, you don't need to specify location_name or location_coordinate you can receive the list of available locations of the search engines with their location_code by making a separate request to the https://api.dataforseo.com/v3/serp/google/locations example: 2840",
        +    "type": "integer"
        +  },
        +  "location_coordinate": {
        +    "description": "GPS coordinates of a location required field if you don't specify location_name or location_code if you use this field, you don't need to specify location_name or location_code location_coordinate parameter should be specified in the \"latitude,longitude,zoom\" format if \"zoom\" is not specified, 17z will be applied as a default value the maximum number of decimal digits for \"latitude\" and \"longitude\": 7 the minimum value for \"zoom\": 3z the maximum value for \"zoom\": 21z example: 52.6178549,-155.352142,20z",
        +    "type": "string"
        +  },
        +  "location_name": {
        +    "description": "full name of search engine location required field if you don't specify location_code or location_coordinate if you use this field, you don't need to specify location_code or location_coordinate you can receive the list of available locations of the search engine with their location_name by making a separate request to the https://api.dataforseo.com/v3/serp/google/locations example: London,England,United Kingdom",
        +    "type": "string"
        +  }
        +}
      • addedInput schema / properties / body / items / required
        Added value: +[
        +  "keyword"
        +]
      • changedInput schema / properties / body / items / type
        Previous value: -[
        -  "object",
        -  "null"
        -]New value: +"object"
      • changedInput schema / required
        Previous value: -[]New value: +[
        +  "body"
        +]
      • removedOutput schema / x-fastmcp-wrap-result
        Removed value: -true
    • Changedpost_dataforseo_serp_google_news_live7 fields changed
      • removedInput schema / properties / body / example
        Removed value: -[
        -  {
        -    "keyword": "android",
        -    "language_code": "en",
        -    "location_code": 2840
        -  }
        -]
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "keyword": "android",
        -        "language_code": "en",
        -        "location_code": 2840
        -      }
        -    ],
        -    "properties": {
        -      "browser_screen_height": {
        -        "description": "<p><em>browser screen height</em><p>optional field<p>you can set a custom browser screen height to calculate pixel rankings for a particular device;<p>by default, the parameter is set to <code>1080</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "browser_screen_resolution_ratio": {
        -        "description": "<p><em>browser screen resolution ratio</em><p>optional field<p>you can set a custom browser screen resolution ratio to calculate pixel rankings for a particular device;<p>by default, the parameter is set to <code>1</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "browser_screen_width": {
        -        "description": "<p><em>browser screen width</em><p>optional field<p>you can set a custom browser screen width to calculate pixel rankings for a particular device;<p>by default, the parameter is set to <code>1920</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
        -        "format": "int64",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "calculate_rectangles": {
        -        "description": "<p><em>calculate pixel rankings for SERP elements in advanced results</em><p>optional field<p>pixel ranking refers to the distance between the result snippet and top left corner of the screen;<p><a href=\"https://dataforseo.com/help-center/pixel-ranking-in-serp-api\">Visit Help Center to learn more&gt;&gt;</a><p>by default, the parameter is set to <code>false</code><p><strong>Note:</strong> if set to <code>true</code>, the charge per task will be multiplied by 2</p>",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "depth": {
        -        "description": "<p><em>parsing depth</em><p>optional field<p>number of results in SERP<p>default value: <code>10</code><p>max value: <code>200</code></p><br><strong>Your account will be billed per each SERP containing up to 10 results;</strong><p>Setting depth above 10 may result in additional charges if the search engine returns more than 10 results;<p>If the specified depth is higher than the number of results in the response, the difference will be refunded to your account balance automatically<p>The cost can be calculated on the <a title=\"Pricing\" href=\"https://dataforseo.com/pricing/serp/google-news-serp-api\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page.",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "keyword": {
        -        "description": "<p><em>keyword</em><p><strong>required field</strong><p>you can specify <strong>up to 700 characters</strong> in the <code>keyword</code> field<p>all %## will be decoded (plus character '+' will be decoded to a space character)<p>if you need to use the \"%\" character for your <code>keyword</code>, please specify it as \"%25\";<p>if you need to use the “+” character for your <code>keyword</code>, please specify it as “%2B”;<p>if this field contains such parameters as <em>'allinanchor:', 'allintext:', 'allintitle:', 'allinurl:', 'define:', 'filetype:', 'id:', 'inanchor:', 'info:', 'intext:', 'intitle:', 'inurl:', 'link:', 'related:', 'site:'</em>, <strong>the charge per task will be multiplied by 5</strong><p><strong>Note:</strong> queries containing the ‘cache:’ parameter are not supported and will return a validation error</p><br><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a></p>",
        -        "type": "string"
        -      },
        -      "language_code": {
        -        "description": "<p><em>search engine language code</em><p><strong>required field if you don't specify</strong> <code>language_name</code><p><strong>if you use this field, you don't need to specify <code>language_name</code></strong><p>you can receive the list of available languages of the search engine with their <code>language_code</code>&nbsp;by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages</code><em><p></em>example:<em><p></em><code class=\"long-string\">en</code></p>",
        -        "type": "string"
        -      },
        -      "language_name": {
        -        "description": "<p><em>full name of search engine language</em><p><strong>required field if you don't specify</strong> <code>language_code</code><p><strong>if you use this field, you don't need to specify <code>language_code</code></strong><p>you can receive the list of available languages of the search engine with their <code>language_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages</code><p>example:<p><code class=\"long-string\">English</code></p>",
        -        "type": "string"
        -      },
        -      "location_code": {
        -        "description": "<p><em>search engine location code</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations</code><p>example:<p><code class=\"long-string\">2840</code></p>",
        -        "type": "integer"
        -      },
        -      "location_coordinate": {
        -        "description": "<p><em>GPS coordinates of a location</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_code</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_code</code></strong><p><code>location_coordinate</code> parameter should be specified in the <em>\"latitude,longitude,radius\"</em> format<p>the maximum number of decimal digits for <em>\"latitude\"</em> and <em>\"longitude\"</em>: 7<p>the minimum value for <em>\"radius\"</em>: 199.9 (mm)<p>the maximum value for <em>\"radius\"</em>: 199999 (mm)<p>example:<p><code class=\"long-string\">53.476225,-2.243572,200</code></p>",
        -        "type": "string"
        -      },
        -      "location_name": {
        -        "description": "<p><em>full name of search engine location</em><p><strong>required field if you don't specify</strong> <code>location_code</code> or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_code</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations</code><p>example:<p><code class=\"long-string\">London,England,United Kingdom</code></p>",
        -        "type": "string"
        -      },
        -      "max_crawl_pages": {
        -        "description": "<p><em>page crawl limit</em><p>optional field<p>number of search results pages to crawl<p>max value: <code>100</code><p><strong>Note:</strong> the <code>max_crawl_pages</code> and <code>depth</code> parameters complement each other;<p>learn more at <a href=\"https://dataforseo.com/help-center/what-is-max-crawl-pages-and-how-does-it-work\" rel=\"noopener noreferrer\" target=\"_blank\">our help center</a></p>",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "os": {
        -        "description": "<p><em>device operating system</em><p>optional field<p><strong>note that this API provides results for desktop only</strong><p>choose from the following values: <code>windows</code>, <code>macos</code><p>default value: <code>windows</code></p>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "se_domain": {
        -        "description": "<p><em>search engine domain</em><p>optional field<p>we choose the relevant search engine domain automatically according to the location and language you specify<p>however, you can set a custom search engine domain in this field<p>example:<p><code><em>google.co.uk</em></code>, <code><em>google.com.au</em></code>, <code><em>google.de</em></code>, etc.</p>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "search_param": {
        -        "description": "<p><em>additional parameters of the search query</em><p>optional field<p><a href=\"https://dataforseo.com/help-center/google-search-engine-parameters-and-how-to-use-them\">Get the list of available parameters and additional details here.</a></p>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "url": {
        -        "description": "<p><em>direct URL of the search query</em><p>optional field<p>you can specify a direct URL and we will sort it out to the necessary fields. Note that this method is the most difficult for our API to process and also requires you to specify the exact language and location in the URL. In most cases, we wouldn’t recommend using this method.<p>example:<p><code class=\"long-string\">https://www.google.co.uk/search?q=%20rank%20tracker%20api&amp;hl=en&amp;gl=GB&amp;uule=w+CAIQIFISCXXeIa8LoNhHEZkq1d1aOpZS</code></p>",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / properties
        Added value: +{
        +  "depth": {
        +    "description": "parsing depth optional field number of results in SERP default value: 10 max value: 200 Your account will be billed per each SERP containing up to 10 results; Setting depth above 10 may result in additional charges if the search engine returns more than 10 results; If the specified depth is higher than the number of results in the response, the difference will be refunded to your account balance automatically.",
        +    "type": "integer"
        +  },
        +  "keyword": {
        +    "description": "keyword required field you can specify up to 700 characters in the keyword field all %## will be decoded (plus character '+' will be decoded to a space character) if you need to use the \"%\" character for your keyword, please specify it as \"%25\"; if you need to use the “+” character for your keyword, please specify it as “%2B”; if this field contains such parameters as 'allinanchor:', 'allintext:', 'allintitle:', 'allinurl:', 'define:', 'filetype:', 'id:', 'inanchor:', 'info:', 'intext:', 'intitle:', 'inurl:', 'link:', 'related:', 'site:', the charge per task will be multiplied by 5 Note: queries containing the ‘cache:’ parameter are not supported and will return a validation error learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        +    "type": "string"
        +  },
        +  "language_code": {
        +    "description": "search engine language code required field if you don't specify language_name if you use this field, you don't need to specify language_name you can receive the list of available languages of the search engine with their language_code by making a separate request to the https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages example: en",
        +    "type": "string"
        +  },
        +  "language_name": {
        +    "description": "full name of search engine language required field if you don't specify language_code if you use this field, you don't need to specify language_code you can receive the list of available languages of the search engine with their language_name by making a separate request to the https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages example: English",
        +    "type": "string"
        +  },
        +  "location_code": {
        +    "description": "search engine location code required field if you don't specify location_name or location_coordinate if you use this field, you don't need to specify location_name or location_coordinate you can receive the list of available locations of the search engines with their location_code by making a separate request to the https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations example: 2840",
        +    "type": "integer"
        +  },
        +  "location_coordinate": {
        +    "description": "GPS coordinates of a location required field if you don't specify location_name or location_code if you use this field, you don't need to specify location_name or location_code location_coordinate parameter should be specified in the \"latitude,longitude,radius\" format the maximum number of decimal digits for \"latitude\" and \"longitude\": 7 the minimum value for \"radius\": 199.9 (mm) the maximum value for \"radius\": 199999 (mm) example: 53.476225,-2.243572,200",
        +    "type": "string"
        +  },
        +  "location_name": {
        +    "description": "full name of search engine location required field if you don't specify location_code or location_coordinate if you use this field, you don't need to specify location_code or location_coordinate you can receive the list of available locations of the search engine with their location_name by making a separate request to the https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations example: London,England,United Kingdom",
        +    "type": "string"
        +  }
        +}
      • addedInput schema / properties / body / items / required
        Added value: +[
        +  "keyword"
        +]
      • changedInput schema / properties / body / items / type
        Previous value: -[
        -  "object",
        -  "null"
        -]New value: +"object"
      • changedInput schema / required
        Previous value: -[]New value: +[
        +  "body"
        +]
      • removedOutput schema / x-fastmcp-wrap-result
        Removed value: -true
    • Changedpost_dataforseo_serp_google_organic_live7 fields changed
      • removedInput schema / properties / body / example
        Removed value: -[
        -  {
        -    "calculate_rectangles": true,
        -    "keyword": "albert einstein",
        -    "language_code": "en",
        -    "location_code": 2840
        -  }
        -]
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "calculate_rectangles": true,
        -        "keyword": "albert einstein",
        -        "language_code": "en",
        -        "location_code": 2840
        -      }
        -    ],
        -    "properties": {
        -      "browser_screen_height": {
        -        "description": "browser screen heightoptional fieldyou can set a custom browser screen height to calculate pixel rankings for a particular device;can be specified within the following range: 240-9999;by default, the parameter is set to:1080 for desktop;640 for mobile on android;812 for mobile on iOS;Note: to use this parameter, set calculate_rectangles to true",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "browser_screen_resolution_ratio": {
        -        "description": "browser screen resolution ratiooptional fieldyou can set a custom browser screen resolution ratio to calculate pixel rankings for a particular device;can be specified within the following range: 0.5-3;by default, the parameter is set to:1 for desktop;3 for mobile on android;3 for mobile on iOS;Note: to use this parameter, set calculate_rectangles to true",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "browser_screen_width": {
        -        "description": "browser screen widthoptional fieldyou can set a custom browser screen width to calculate pixel rankings for a particular device;can be specified within the following range: 240-9999;by default, the parameter is set to:1920 for desktop;360 for mobile on android;375 for mobile on iOS;Note: to use this parameter, set calculate_rectangles to true",
        -        "format": "int64",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "calculate_rectangles": {
        -        "description": "calcualte pixel rankings for SERP elements in advanced resultsoptional fieldpixel ranking refers to the distance between the result snippet and top left corner of the screen;Visit Help Center to learn more>>by default, the parameter is set to false;Note: you will be charged extra $0.002 for using this parameter",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "depth": {
        -        "description": "parsing depthoptional fieldnumber of results in SERPdefault value: 10max value: 200Your account will be billed per each SERP containing up to 10 results;Setting depth above 10 may result in additional charges if the search engine returns more than 10 results;The cost can be calculated on the Pricing page.",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "device": {
        -        "description": "device typeoptional fieldreturn results for a specific device typecan take the values:desktop, mobiledefault value: desktop",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "find_targets_in": {
        -        "description": "SERP element types to check for targetsoptional fieldto enable this parameter, stop_crawl_on_match must also be enabledspecifies which SERP element types should be checked for target matchesif not specified, all first-level elements with url and domain fields are checked for targetspossible values: organic, paid, local_pack, featured_snippet, events, google_flights, images, jobs, knowledge_graph, local_service, map, scholarly_articles, third_party_reviews, twitterNote: cannot contain the same element types as ignore_targets_inexample:\"find_targets_in\": [\"organic\", \"featured_snippet\"]learn more about this parameter on our Help Center",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "group_organic_results": {
        -        "description": "display related resultsoptional fieldif set to true, the related_result element in the response will be provided as a snippet of its parent organic result;if set to false, the related_result element will be provided as a separate organic result;default value: true",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "ignore_targets_in": {
        -        "description": "SERP element types to exclude from target searchoptional fieldto enable this parameter, stop_crawl_on_match must also be enabledspecifies which SERP element types should be excluded when searching for target matchespossible values: organic, paid, local_pack, featured_snippet, events, google_flights, images, jobs, knowledge_graph, local_service, map, scholarly_articles, third_party_reviews, twitterNote: cannot contain the same element types as find_targets_inexample:\"ignore_targets_in\": [\"paid\", \"images\"]learn more about this parameter on our Help Center",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "keyword": {
        -        "description": "keywordrequired fieldyou can specify up to 700 characters in the keyword fieldall %## will be decoded (plus character ‘+’ will be decoded to a space character)if you need to use the “%” character for your keyword, please specify it as “%25”;if you need to use the “+” character for your keyword, please specify it as “%2B”;if this field contains such parameters as ‘allinanchor:’, ‘allintext:’, ‘allintitle:’, ‘allinurl:’, ‘cache:’, ‘define:’, ‘definition:’, ‘filetype:’, ‘id:’, ‘inanchor:’, ‘info:’, ‘intext:’, ‘intitle:’, ‘inurl:’, ‘link:’, ‘site:’, the charge per task will be multiplied by 5learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        -        "type": "string"
        -      },
        -      "language_code": {
        -        "description": "search engine language codeoptional field if you specify language_nameif you use this field, you don't need to specify language_nameyou can receive the list of available languages of the search engine with their language_code by making a separate request to the https://api.dataforseo.com/v3/serp/google/languagesexample:en",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "language_name": {
        -        "description": "full name of search engine languageoptional field if you specify language_codeif you use this field, you don't need to specify language_codeyou can receive the list of available languages of the search engine with their language_name by making a separate request to the https://api.dataforseo.com/v3/serp/google/languagesexample:English",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "load_async_ai_overview": {
        -        "description": "load asynchronous ai overviewoptional fieldset to true to obtain ai_overview items is SERPs even if they are loaded asynchronously;if set to false, you will only obtain ai_overview items from cache;default value: falseNote: you will be charged extra $0.002 for using this parameter;if the element is absent or contains \"asynchronous_ai_overview\": false, all extra charges will be returned to your account balance",
        -        "type": [
        -          "boolean",
        -          "null"
        -        ]
        -      },
        -      "location_code": {
        -        "description": "search engine location coderequired field if you don't specify location_name or location_coordinateif you use this field, you don't need to specify location_name or location_coordinateyou can receive the list of available locations of the search engines with their location_code by making a separate request to the https://api.dataforseo.com/v3/serp/google/locationsexample:2840",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "location_coordinate": {
        -        "description": "GPS coordinates of a locationoptional field if you specify location_name or location_codeif you use this field, you don't need to specify location_name or location_codelocation_coordinate parameter should be specified in the \"latitude,longitude,radius\" formatthe maximum number of decimal digits for \"latitude\" and \"longitude\": 7the minimum value for \"radius\": 199 (mm)the maximum value for \"radius\": 199999 (mm)example:53.476225,-2.243572,200",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "location_name": {
        -        "description": "full name of search engine locationrequired field if you don't specify location_code or location_coordinateif you use this field, you don't need to specify location_code or location_coordinateyou can receive the list of available locations of the search engine with their location_name by making a separate request to the https://api.dataforseo.com/v3/serp/google/locationsexample:London,England,United Kingdom",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "match_type": {
        -        "description": "target match typerequired field if stop_crawl_on_match is specifiedtype of match for the match_valuepossible values:domain – specific domain or subdomainwith_subdomains – main domain and subdomainswildcard –  wildcard pattern",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "match_value": {
        -        "description": "target domain, subdomain, or wildcard valuerequired field if stop_crawl_on_match is specifiedspecify a target domain, subdomain, or wildcard value;Note: domain or subdomain must be specified without a request protocol;example: \"match_value\": \"dataforseo.com\",\"match_value\": \"/blog/post-*\"",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "max_crawl_pages": {
        -        "description": "page crawl limitoptional fieldnumber of search results pages to crawlmax value: 100Note: you will be charged for each page crawled (10 organic results per page);learn more about pricing on our Pricing page;Note#2: the max_crawl_pages and depth parameters complement each other;learn more at our help center",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "os": {
        -        "description": "device operating systemoptional fieldif you specify desktop in the device field, choose from the following values: windows, macosdefault value: windowsif you specify mobile in the device field, choose from the following values: android, iosdefault value: android",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "people_also_ask_click_depth": {
        -        "description": "clicks on the corresponding elementoptional fieldspecify the click depth on the people_also_ask element to get additional people_also_ask_element items;Note your account will be billed $0.00015 extra for each click;if the element is absent or we perform fewer clicks than you specified, all extra charges will be returned to your account balancepossible values: from 1 to 4",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "remove_from_url": {
        -        "description": "remove specific parameters from URLsoptional fieldusing this field, you can specify up to 10 parameters to remove from URLs in the resultexample:\"remove_from_url\": [\"srsltid\"]Note: if the target field is specified, the specified URL parameters will be removed before the search",
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "se_domain": {
        -        "description": "search engine domainoptional fieldwe choose the relevant search engine domain automatically according to the location and language you specifyhowever, you can set a custom search engine domain in this fieldexample:google.co.uk, google.com.au, google.de, etc.",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "search_param": {
        -        "description": "additional parameters of the search queryoptional fieldget the list of available parameters and additional details hereNote: the following search engine parameters are not supported and will be automatically unset if specified: lr, cr, as_qdr, as_sitesearch, as_occt, as_filetype.",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "stop_crawl_on_match": {
        -        "description": "array of targets to stop crawling\noptional field\nif specified, the response will contain SERP results up to and including the specified match_value;\nyou can specify up to 10 target values in this array\nexample:\n\"stop_crawl_on_match\":[{\"match_value\":\"dataforseo.com\",\"match_type\":\"with_subdomains\"}]\nlearn more about this parameter on our Help Center - https://dataforseo.com/help-center/using-the-stop_crawl_on_match-parameter-in-serp-api\nYour account will be billed per each SERP crawled through the specified targets",
        -        "items": {
        -          "anyOf": [
        -            {
        -              "properties": {
        -                "match_type": {
        -                  "description": "target match type\nrequired field if stop_crawl_on_match is specified;\ntype of match for the match_value\npossible values: domain, with_subdomains, wildcard",
        -                  "type": [
        -                    "string",
        -                    "null"
        -                  ]
        -                },
        -                "match_value": {
        -                  "description": "arget domain or wildcard value\nrequired field if stop_crawl_on_match is specified;\nspecify a target domain or wildcard value;\nNote: domain name must be specified without a request protocol;\nexample: dataforseo.com",
        -                  "type": [
        -                    "string",
        -                    "null"
        -                  ]
        -                }
        -              },
        -              "type": "object"
        -            }
        -          ],
        -          "type": [
        -            "object",
        -            "null"
        -          ]
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "user-defined task identifieroptional fieldthe character limit is 255you can use this parameter to identify the task and match it with the resultyou will find the specified tag value in the data object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "target": {
        -        "description": "target domain, subdomain, or webpage to get results foroptional fielda domain or a subdomain should be specified without https:// and www.note that the results of target-specific tasks will only include SERP elements that contain a url string;you can also use a wildcard (‘*’) character to specify the search pattern in SERP and narrow down the results;examples:example.com - returns results for the website's home page with URLs, such as https://example.com, or https://www.example.com/, or https://example.com/;example.com* - returns results for the domain, including all its pages;*example.com* - returns results for the entire domain, including all its pages and subdomains;*example.com - returns results for the home page regardless of the subdomain, such as https://en.example.com;example.com/example-page - returns results for the exact URL;example.com/example-page* - returns results for all domain's URLs that start with the specified string",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "target_search_mode": {
        -        "description": "target matching modeoptional fieldto enable this parameter, stop_crawl_on_match must also be enableddefines how the crawl should stop when multiple targets are specified in stop_crawl_on_matchpossible values: all, anyall – the crawl stops only when all specified targets are foundany – the crawl stops when any single target is founddefault value: anylearn more about this parameter on our Help Center",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "url": {
        -        "description": "direct URL of the search queryoptional fieldyou can specify a direct URL and we will sort it out to the necessary fields. Note that this method is the most difficult for our API to process and also requires you to specify the exact language and location in the URL. In most cases, we wouldn’t recommend using this method.example:https://www.google.co.uk/search?q=%20rank%20tracker%20api&hl=en&gl=GB&uule=w+CAIQIFISCXXeIa8LoNhHEZkq1d1aOpZSNote: the following search engine parameters are not supported and will be automatically unset if specified in the URL: lr, cr, as_qdr, as_sitesearch, as_occt, as_filetype.",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / properties
        Added value: +{
        +  "calculate_rectangles": {
        +    "description": "calcualte pixel rankings for SERP elements in advanced results optional field pixel ranking refers to the distance between the result snippet and top left corner of the screen; Visit Help Center to learn more>> by default, the parameter is set to false; Note: you will be charged extra for using this parameter",
        +    "type": "boolean"
        +  },
        +  "depth": {
        +    "description": "parsing depth optional field number of results in SERP default value: 10 max value: 200 Your account will be billed per each SERP containing up to 10 results; Setting depth above 10 may result in additional charges if the search engine returns more than 10 results.",
        +    "type": "integer"
        +  },
        +  "device": {
        +    "description": "device type optional field return results for a specific device type can take the values:desktop, mobile default value: desktop",
        +    "type": "string"
        +  },
        +  "keyword": {
        +    "description": "keyword required field you can specify up to 700 characters in the keyword field all %## will be decoded (plus character ‘+’ will be decoded to a space character) if you need to use the “%” character for your keyword, please specify it as “%25”; if you need to use the “+” character for your keyword, please specify it as “%2B”; if this field contains such parameters as ‘allinanchor:’, ‘allintext:’, ‘allintitle:’, ‘allinurl:’, ‘cache:’, ‘define:’, ‘definition:’, ‘filetype:’, ‘id:’, ‘inanchor:’, ‘info:’, ‘intext:’, ‘intitle:’, ‘inurl:’, ‘link:’, ‘site:’, the charge per task will be multiplied by 5 learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        +    "type": "string"
        +  },
        +  "language_code": {
        +    "description": "search engine language code optional field if you specify language_name if you use this field, you don't need to specify language_name you can receive the list of available languages of the search engine with their language_code by making a separate request to the https://api.dataforseo.com/v3/serp/google/languages example: en",
        +    "type": "string"
        +  },
        +  "language_name": {
        +    "description": "full name of search engine language optional field if you specify language_code if you use this field, you don't need to specify language_code you can receive the list of available languages of the search engine with their language_name by making a separate request to the https://api.dataforseo.com/v3/serp/google/languages example: English",
        +    "type": "string"
        +  },
        +  "location_code": {
        +    "description": "search engine location code required field if you don't specify location_name or location_coordinate if you use this field, you don't need to specify location_name or location_coordinate you can receive the list of available locations of the search engines with their location_code by making a separate request to the https://api.dataforseo.com/v3/serp/google/locations example: 2840",
        +    "type": "integer"
        +  },
        +  "location_coordinate": {
        +    "description": "GPS coordinates of a location optional field if you specify location_name or location_code if you use this field, you don't need to specify location_name or location_code location_coordinate parameter should be specified in the \"latitude,longitude,radius\" format the maximum number of decimal digits for \"latitude\" and \"longitude\": 7 the minimum value for \"radius\": 199 (mm) the maximum value for \"radius\": 199999 (mm) example: 53.476225,-2.243572,200",
        +    "type": "string"
        +  },
        +  "location_name": {
        +    "description": "full name of search engine location required field if you don't specify location_code or location_coordinate if you use this field, you don't need to specify location_code or location_coordinate you can receive the list of available locations of the search engine with their location_name by making a separate request to the https://api.dataforseo.com/v3/serp/google/locations example: London,England,United Kingdom",
        +    "type": "string"
        +  },
        +  "max_crawl_pages": {
        +    "description": "page crawl limit optional field number of search results pages to crawl max value: 100 Note: you will be charged for each page crawled (10 organic results per page); Note#2: the max_crawl_pages and depth parameters complement each other; learn more at our help center",
        +    "type": "integer"
        +  },
        +  "os": {
        +    "description": "device operating system optional field if you specify desktop in the device field, choose from the following values: windows, macos default value: windows if you specify mobile in the device field, choose from the following values: android, ios default value: android",
        +    "type": "string"
        +  },
        +  "tag": {
        +    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        +    "type": "string"
        +  }
        +}
      • addedInput schema / properties / body / items / required
        Added value: +[
        +  "keyword"
        +]
      • changedInput schema / properties / body / items / type
        Previous value: -[
        -  "object",
        -  "null"
        -]New value: +"object"
      • changedInput schema / required
        Previous value: -[]New value: +[
        +  "body"
        +]
      • removedOutput schema / x-fastmcp-wrap-result
        Removed value: -true
    • Changedpost_dataforseo_serp_youtube_organic_live7 fields changed
      • removedInput schema / properties / body / example
        Removed value: -[
        -  {
        -    "keyword": "audi",
        -    "language_code": "en",
        -    "location_code": 2840
        -  }
        -]
      • removedInput schema / properties / body / items / anyOf
        Removed value: -[
        -  {
        -    "example": [
        -      {
        -        "keyword": "audi",
        -        "language_code": "en",
        -        "location_code": 2840
        -      }
        -    ],
        -    "properties": {
        -      "block_depth": {
        -        "description": "parsing depth\noptional field\nnumber of blocks of results in SERP\ndefault value: 20\nmax value: 200\nNote: your account will be billed per each SERP containing up to 20 results;\nthus, setting a block depth above 20 may result in additional charges if the search engine returns more than 20 results;\nif the specified block depth is higher than the number of results in the response, the difference will be refunded automatically to your account balance",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "device": {
        -        "description": "device type\noptional field\nreturn results for a specific device type\navailable values: desktop, mobile",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "keyword": {
        -        "description": "keyword\nrequired field\nyou can specify up to 700 characters in the keyword field\nall %## will be decoded (plus character ‘+’ will be decoded to a space character)\nif you need to use the “%” character for your keyword, please specify it as “%25”;\nif you need to use the “+” character for your keyword, please specify it as “%2B”;\nlearn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        -        "type": "string"
        -      },
        -      "language_code": {
        -        "description": "search engine language code\nrequired field if you don't specify language_name\nif you use this field, you don't need to specify language_name\nyou can receive the list of available languages of the search engine with their language_code by making a separate request to the https://api.dataforseo.com/v3/serp/youtube/languages\nexample:\nen",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "language_name": {
        -        "description": "full name of search engine language\nrequired field if you don't specify language_code\nif you use this field, you don't need to specify language_code\nyou can receive the list of available languages of the search engine with their language_name by making a separate request to the https://api.dataforseo.com/v3/serp/youtube/languages\nexample:\nEnglish",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "location_code": {
        -        "description": "search engine location code\nrequired field if you don't specify location_name \nif you use this field, you don't need to specify location_name\nyou can receive the list of available locations of the search engines with their location_code by making a separate request to the https://api.dataforseo.com/v3/serp/youtube/locations\nexample:\n2840",
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "location_name": {
        -        "description": "full name of search engine location\nrequired field if you don't specify location_code\nif you use this field, you don't need to specify location_code\nyou can receive the list of available locations of the search engine with their location_name by making a separate request to the https://api.dataforseo.com/v3/serp/youtube/locations\nexample:\nUnited States",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "os": {
        -        "description": "device operating system\noptional field\nif you specify desktop in the device field, choose from the following values: windows, macos\ndefault value: windows\nif you specify mobile in the device field, choose from the following values: android, ios\ndefault value: android",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "search_param": {
        -        "description": "additional parameters of the search query\noptional field\nexample:\nsp=EgIQAg%253D%253D",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "tag": {
        -        "description": "user-defined task identifier\noptional field\nthe character limit is 255\nyou can use this parameter to identify the task and match it with the result\nyou will find the specified tag value in the data object of the response",
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  }
        -]
      • addedInput schema / properties / body / items / properties
        Added value: +{
        +  "keyword": {
        +    "description": "Keyword to search for",
        +    "type": "string"
        +  },
        +  "language_code": {
        +    "description": "Search engine language code",
        +    "type": "string"
        +  },
        +  "language_name": {
        +    "description": "Full name of search engine language",
        +    "type": "string"
        +  },
        +  "location_code": {
        +    "description": "Search engine location code",
        +    "type": "integer"
        +  },
        +  "location_name": {
        +    "description": "Full name of search engine location",
        +    "type": "string"
        +  }
        +}
      • addedInput schema / properties / body / items / required
        Added value: +[
        +  "keyword"
        +]
      • changedInput schema / properties / body / items / type
        Previous value: -[
        -  "object",
        -  "null"
        -]New value: +"object"
      • changedInput schema / required
        Previous value: -[]New value: +[
        +  "body"
        +]
      • removedOutput schema / x-fastmcp-wrap-result
        Removed value: -true
    • Changedsearch17 fields changed
      • removedInput schema / $schema
        Removed value: -"https://json-schema.org/draft/2020-12/schema"
      • addedInput schema / properties / category / anyOf
        Added value: +[
        +  {
        +    "enum": [
        +      "seo",
        +      "finance",
        +      "social",
        +      "search",
        +      "sales",
        +      "mail"
        +    ],
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedInput schema / properties / category / default
        Added value: +null
      • changedInput schema / properties / category / description
        Previous value: -"Restrict retrieval to one category. Omit to search everything. (AIsa-only: tool-router has no equivalent.)"New value: +"Restrict to one category (seo, finance, social, search, sales, mail). Omit to search everything."
      • removedInput schema / properties / category / enum
        Removed value: -[
        -  "seo",
        -  "finance",
        -  "social",
        -  "search",
        -  "sales",
        -  "mail"
        -]
      • removedInput schema / properties / category / type
        Removed value: -"string"
      • removedInput schema / properties / known_fields
        Removed value: -{
        -  "additionalProperties": true,
        -  "default": {},
        -  "description": "Known values such as ticker, URL, provider, or identifier that improve retrieval.",
        -  "type": "object"
        -}
      • changedInput schema / properties / limit / description
        Previous value: -"Maximum number of additional direct tool candidates."New value: +"Maximum candidates, 1-10"
      • removedInput schema / properties / limit / maximum
        Removed value: -20
      • removedInput schema / properties / limit / minimum
        Removed value: -1
      • removedInput schema / properties / provider_filters
        Removed value: -{
        -  "default": [],
        -  "description": "Optional exact catalog provider keys used to narrow retrieval (for example similarweb). Do not use display brands. Omit this field if the exact key is unknown.",
        -  "items": {
        -    "type": "string"
        -  },
        -  "maxItems": 50,
        -  "type": "array",
        -  "uniqueItems": true
        -}
      • changedInput schema / properties / query / description
        Previous value: -"Natural-language capability or task to discover."New value: +"What you need, in plain language, e.g. 'backlinks of a domain', 'recent tweets by a user', 'insider trades for AAPL'. English works best."
      • removedInput schema / properties / query / maxLength
        Removed value: -2000
      • removedInput schema / properties / query / minLength
        Removed value: -1
      • removedInput schema / properties / session_id
        Removed value: -{
        -  "description": "Reuse the session_id returned by Search in all subsequent tool calls for this task. If omitted, a new session is created.",
        -  "maxLength": 128,
        -  "pattern": "^[A-Za-z0-9_-]*$",
        -  "type": "string"
        -}
      • removedOutput schema / properties
        Removed value: -{
        -  "next_steps_guidance": {
        -    "anyOf": [
        -      {
        -        "type": "null"
        -      },
        -      {
        -        "type": "array"
        -      }
        -    ],
        -    "items": {
        -      "type": "string"
        -    }
        -  },
        -  "plan": {
        -    "additionalProperties": false,
        -    "anyOf": [
        -      {
        -        "type": "null"
        -      },
        -      {
        -        "type": "object"
        -      }
        -    ],
        -    "properties": {
        -      "canonical_use_case": {
        -        "type": "string"
        -      },
        -      "description": {
        -        "type": "string"
        -      },
        -      "known_pitfalls": {
        -        "anyOf": [
        -          {
        -            "type": "null"
        -          },
        -          {
        -            "type": "array"
        -          }
        -        ],
        -        "items": {
        -          "type": "string"
        -        }
        -      },
        -      "plan_ref": {
        -        "type": "string"
        -      },
        -      "primary_tools": {
        -        "anyOf": [
        -          {
        -            "type": "null"
        -          },
        -          {
        -            "type": "array"
        -          }
        -        ],
        -        "items": {
        -          "type": "string"
        -        }
        -      },
        -      "recommended_steps": {
        -        "anyOf": [
        -          {
        -            "type": "null"
        -          },
        -          {
        -            "type": "array"
        -          }
        -        ],
        -        "items": {
        -          "type": "string"
        -        }
        -      },
        -      "related_tools": {
        -        "anyOf": [
        -          {
        -            "type": "null"
        -          },
        -          {
        -            "type": "array"
        -          }
        -        ],
        -        "items": {
        -          "type": "string"
        -        }
        -      }
        -    },
        -    "required": [
        -      "canonical_use_case",
        -      "description",
        -      "known_pitfalls",
        -      "plan_ref",
        -      "primary_tools",
        -      "recommended_steps",
        -      "related_tools"
        -    ]
        -  },
        -  "retrieval_mode": {
        -    "anyOf": [
        -      {
        -        "type": "null"
        -      },
        -      {
        -        "type": "string"
        -      }
        -    ]
        -  },
        -  "search_id": {
        -    "type": "string"
        -  },
        -  "session_id": {
        -    "description": "Reuse the session_id returned by Search in all subsequent tool calls for this task. If omitted, a new session is created.",
        -    "maxLength": 128,
        -    "minLength": 1,
        -    "pattern": "^[A-Za-z0-9_-]{1,128}$",
        -    "type": "string"
        -  },
        -  "tools": {
        -    "anyOf": [
        -      {
        -        "type": "null"
        -      },
        -      {
        -        "type": "array"
        -      }
        -    ],
        -    "items": {
        -      "additionalProperties": false,
        -      "properties": {
        -        "arguments_schema": {
        -          "additionalProperties": true,
        -          "anyOf": [
        -            {
        -              "type": "null"
        -            },
        -            {
        -              "type": "object"
        -            }
        -          ]
        -        },
        -        "description": {
        -          "type": "string"
        -        },
        -        "execution_supported": {
        -          "description": "Whether this router can execute and quote the operation; false retains documentation and discovery only.",
        -          "type": "boolean"
        -        },
        -        "execution_unsupported_reason": {
        -          "description": "Why execution and quoting remain unavailable through this router.",
        -          "type": "string"
        -        },
        -        "has_full_schema": {
        -          "type": "boolean"
        -        },
        -        "match_reasons": {
        -          "anyOf": [
        -            {
        -              "type": "null"
        -            },
        -            {
        -              "type": "array"
        -            }
        -          ],
        -          "items": {
        -            "type": "string"
        -          }
        -        },
        -        "price": {
        -          "additionalProperties": true,
        -          "type": "object"
        -        },
        -        "retrieval_debug": {
        -          "additionalProperties": false,
        -          "anyOf": [
        -            {
        -              "type": "null"
        -            },
        -            {
        -              "type": "object"
        -            }
        -          ],
        -          "properties": {
        -            "fused_rank": {
        -              "type": "integer"
        -            },
        -            "fused_score": {
        -              "type": "number"
        -            },
        -            "lexical_rank": {
        -              "type": "integer"
        -            },
        -            "lexical_score": {
        -              "type": "number"
        -            },
        -            "rerank_admission_rank": {
        -              "type": "integer"
        -            },
        -            "rerank_rank": {
        -              "type": "integer"
        -            },
        -            "rerank_score": {
        -              "anyOf": [
        -                {
        -                  "type": "null"
        -                },
        -                {
        -                  "type": "number"
        -                }
        -              ]
        -            },
        -            "runtime_availability": {
        -              "type": "string"
        -            },
        -            "vector_view_ranks": {
        -              "additionalProperties": {
        -                "type": "integer"
        -              },
        -              "type": "object"
        -            },
        -            "vector_view_scores": {
        -              "additionalProperties": {
        -                "type": "number"
        -              },
        -              "type": "object"
        -            }
        -          },
        -          "required": [
        -            "fused_rank",
        -            "fused_score",
        -            "lexical_rank",
        -            "lexical_score",
        -            "rerank_admission_rank",
        -            "rerank_rank",
        -            "runtime_availability",
        -            "vector_view_ranks",
        -            "vector_view_scores"
        -          ]
        -        },
        -        "summary": {
        -          "type": "string"
        -        },
        -        "tool": {
        -          "type": "string"
        -        }
        -      },
        -      "required": [
        -        "description",
        -        "has_full_schema",
        -        "price",
        -        "summary",
        -        "tool"
        -      ],
        -      "type": "object"
        -    }
        -  }
        -}
      • removedOutput schema / required
        Removed value: -[
        -  "next_steps_guidance",
        -  "search_id",
        -  "session_id",
        -  "tools"
        -]
    • Changeduse1 field changed
      • changedInput schema / properties / max_price_usd / description
        Previous value: -"Refuse the call before any spend if its quoted price is above this many USD"New value: +"Refuse the call before any spend if it would cost more than this many USD"
  5. 63 tool updates
    • Addedbatch_get_schema
    • Addedbatch_quote
    • Changedbatch_use18 fields changed
      • addedInput schema / $schema
        Added value: +"https://json-schema.org/draft/2020-12/schema"
      • removedInput schema / properties / calls / description
        Removed value: -"Up to 20 items of {call_id, operation_id, arguments}; steps at the same execution_level of a plan go in one batch"
      • addedInput schema / properties / calls / items / $schema
        Added value: +"https://json-schema.org/draft/2020-12/schema"
      • changedInput schema / properties / calls / items / additionalProperties
        Previous value: -trueNew value: +false
      • addedInput schema / properties / calls / items / properties
        Added value: +{
        +  "arguments": {
        +    "additionalProperties": true,
        +    "description": "Strictly schema-compliant arguments using the exact field names and types from this tool's arguments_schema.",
        +    "type": "object"
        +  },
        +  "call_id": {
        +    "description": "Caller-chosen identifier unique within this batch.",
        +    "maxLength": 128,
        +    "minLength": 1,
        +    "type": "string"
        +  },
        +  "tool": {
        +    "description": "Exact tool name returned by search or batch_get_schema. Never invent a name.",
        +    "minLength": 1,
        +    "type": "string"
        +  }
        +}
      • addedInput schema / properties / calls / items / required
        Added value: +[
        +  "call_id",
        +  "tool",
        +  "arguments"
        +]
      • addedInput schema / properties / calls / maxItems
        Added value: +20
      • addedInput schema / properties / calls / minItems
        Added value: +1
      • removedInput schema / properties / max_price_usd
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "number"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ],
        -  "default": null,
        -  "description": "Per-call price cap applied to every item"
        -}
      • removedInput schema / properties / search_id / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / search_id / default
        Removed value: -null
      • changedInput schema / properties / search_id / description
        Previous value: -"search_id from the search that found these operations"New value: +"Optional search correlation identifier returned by search."
      • addedInput schema / properties / search_id / type
        Added value: +"string"
      • addedInput schema / properties / session_id
        Added value: +{
        +  "description": "Reuse the session_id returned by Search in all subsequent tool calls for this task. If omitted, a new session is created.",
        +  "maxLength": 128,
        +  "pattern": "^[A-Za-z0-9_-]*$",
        +  "type": "string"
        +}
      • addedOutput schema / $defs
        Added value: +{
        +  "jsonValue": {
        +    "anyOf": [
        +      {
        +        "additionalProperties": {
        +          "$ref": "#/$defs/jsonValue"
        +        },
        +        "type": "object"
        +      },
        +      {
        +        "items": {
        +          "$ref": "#/$defs/jsonValue"
        +        },
        +        "type": "array"
        +      },
        +      {
        +        "type": "string"
        +      },
        +      {
        +        "type": "number"
        +      },
        +      {
        +        "type": "boolean"
        +      },
        +      {
        +        "type": "null"
        +      }
        +    ],
        +    "description": "JSON value returned by the upstream tool."
        +  }
        +}
      • addedOutput schema / $schema
        Added value: +"https://json-schema.org/draft/2020-12/schema"
      • addedOutput schema / properties
        Added value: +{
        +  "batch_id": {
        +    "type": "string"
        +  },
        +  "error_count": {
        +    "minimum": 0,
        +    "type": "integer"
        +  },
        +  "next_steps_guidance": {
        +    "description": "Deterministic next-step instructions derived from this result. Not an authorization grant.",
        +    "items": {
        +      "type": "string"
        +    },
        +    "type": "array"
        +  },
        +  "results": {
        +    "items": {
        +      "$schema": "https://json-schema.org/draft/2020-12/schema",
        +      "additionalProperties": false,
        +      "properties": {
        +        "call_id": {
        +          "type": "string"
        +        },
        +        "customer_cost_micros_usd": {
        +          "description": "Actual customer charge settled by AIsaServices, in micro-USD. Omitted when the upstream response does not report it.",
        +          "minimum": 0,
        +          "type": "integer"
        +        },
        +        "data": {
        +          "$ref": "#/$defs/jsonValue"
        +        },
        +        "error": {
        +          "anyOf": [
        +            {
        +              "$schema": "https://json-schema.org/draft/2020-12/schema",
        +              "additionalProperties": false,
        +              "properties": {
        +                "message": {
        +                  "type": "string"
        +                },
        +                "retryable": {
        +                  "type": "boolean"
        +                },
        +                "status": {
        +                  "type": "integer"
        +                },
        +                "type": {
        +                  "enum": [
        +                    "validation",
        +                    "authentication",
        +                    "payment",
        +                    "permission",
        +                    "rate_limit",
        +                    "upstream",
        +                    "timeout",
        +                    "internal"
        +                  ],
        +                  "type": "string"
        +                }
        +              },
        +              "required": [
        +                "type",
        +                "status",
        +                "retryable"
        +              ],
        +              "type": "object"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        },
        +        "request_id": {
        +          "type": "string"
        +        },
        +        "successful": {
        +          "type": "boolean"
        +        },
        +        "tool": {
        +          "type": "string"
        +        },
        +        "upstream_status": {
        +          "description": "HTTP status returned by AIsaServices when a request was dispatched.",
        +          "type": "integer"
        +        }
        +      },
        +      "required": [
        +        "call_id",
        +        "tool",
        +        "successful",
        +        "request_id"
        +      ],
        +      "type": "object"
        +    },
        +    "type": "array"
        +  },
        +  "session_id": {
        +    "description": "Reuse the session_id returned by Search in all subsequent tool calls for this task. If omitted, a new session is created.",
        +    "maxLength": 128,
        +    "minLength": 1,
        +    "pattern": "^[A-Za-z0-9_-]*$",
        +    "type": "string"
        +  },
        +  "success_count": {
        +    "minimum": 0,
        +    "type": "integer"
        +  },
        +  "total_count": {
        +    "minimum": 1,
        +    "type": "integer"
        +  }
        +}
      • addedOutput schema / required
        Added value: +[
        +  "session_id",
        +  "batch_id",
        +  "total_count",
        +  "success_count",
        +  "error_count",
        +  "results",
        +  "next_steps_guidance"
        +]
    • Changedget_ahrefs_domain_rating2 fields changed
      • addedInput schema / properties / target / example
        Added value: +"ahrefs.com"
      • changedInput schema / required
        Previous value: -[
        -  "target",
        -  "date"
        -]New value: +[
        +  "date",
        +  "target"
        +]
    • Changedget_ahrefs_site_metrics2 fields changed
      • addedInput schema / properties / target / example
        Added value: +"ahrefs.com"
      • changedInput schema / required
        Previous value: -[
        -  "target",
        -  "date"
        -]New value: +[
        +  "date",
        +  "target"
        +]
    • Changedget_dataforseo_on_page_summary3 fields changed
      • changedInput schema / properties / id / description
        Previous value: -"task identifier required field you can get this ID in the response of the Task POST endpoint example: “07131248-1535-0216-1000-17384017ad04”"New value: +"<em>task identifier</em><br><strong>required field</strong><br>you can get this ID in the response of the <a href=\"/v3/on_page/task_post/\" target=\"_blank\" rel=\"noopener noreferrer\">Task POST</a> endpoint<br>example:<br>“07131248-1535-0216-1000-17384017ad04”"
      • addedInput schema / properties / id / example
        Added value: +"00000000-0000-0000-0000-000000000000"
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedget_details13 fields changed
      • addedInput schema / $schema
        Added value: +"https://json-schema.org/draft/2020-12/schema"
      • removedInput schema / properties / arguments
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "additionalProperties": true,
        -      "type": "object"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ],
        -  "default": null,
        -  "description": "The arguments the operation would be called with, for a price that reflects them. Keyed by operation_id for a batch, or passed flat for a single operation_id. Routes whose required parameters are validated before pricing have no price without them."
        -}
      • addedInput schema / properties / include_arguments_schema
        Added value: +{
        +  "default": true,
        +  "description": "Return the complete arguments_schema. Defaults to true.",
        +  "type": "boolean"
        +}
      • changedInput schema / properties / include_documentation / description
        Previous value: -"Include the complete native public OpenAPI document, reference closure and scoped completeness. Existing execution schemas remain unchanged."New value: +"Return the complete immutable public OpenAPI operation, referenced declarations, provenance and scoped completeness. Documentation does not change execution support."
      • addedInput schema / properties / include_response_schema
        Added value: +{
        +  "default": false,
        +  "description": "Return the complete response_schema. Defaults to false.",
        +  "type": "boolean"
        +}
      • removedInput schema / properties / operation_id
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ],
        -  "default": null,
        -  "description": "One operation_id from search"
        -}
      • removedInput schema / properties / operation_ids
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "items": {
        -        "type": "string"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ],
        -  "default": null,
        -  "description": "Up to 20 operation_ids, for a batch"
        -}
      • addedInput schema / properties / session_id
        Added value: +{
        +  "description": "Reuse the session_id returned by Search in all subsequent tool calls for this task. If omitted, a new session is created.",
        +  "maxLength": 128,
        +  "pattern": "^[A-Za-z0-9_-]*$",
        +  "type": "string"
        +}
      • addedInput schema / properties / tools
        Added value: +{
        +  "description": "Exact tool names returned by search whose complete contracts are needed. Never invent tool names.",
        +  "items": {
        +    "minLength": 1,
        +    "pattern": "^\\S(?:.*\\S)?$",
        +    "type": "string"
        +  },
        +  "maxItems": 20,
        +  "minItems": 1,
        +  "type": "array",
        +  "uniqueItems": true
        +}
      • removedInput schema / properties / with_quote
        Removed value: -{
        -  "default": true,
        -  "description": "Whether each operation is priced for this account before the answer. One round trip per operation; spends nothing.",
        -  "type": "boolean"
        -}
      • addedInput schema / required
        Added value: +[
        +  "tools"
        +]
      • addedOutput schema / properties
        Added value: +{
        +  "error_count": {
        +    "type": "integer"
        +  },
        +  "next_steps_guidance": {
        +    "anyOf": [
        +      {
        +        "type": "null"
        +      },
        +      {
        +        "type": "array"
        +      }
        +    ],
        +    "items": {
        +      "type": "string"
        +    }
        +  },
        +  "session_id": {
        +    "description": "Reuse the session_id returned by Search in all subsequent tool calls for this task. If omitted, a new session is created.",
        +    "maxLength": 128,
        +    "minLength": 1,
        +    "pattern": "^[A-Za-z0-9_-]{1,128}$",
        +    "type": "string"
        +  },
        +  "success_count": {
        +    "type": "integer"
        +  },
        +  "tools": {
        +    "additionalProperties": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "arguments_schema": {
        +          "additionalProperties": true,
        +          "anyOf": [
        +            {
        +              "type": "null"
        +            },
        +            {
        +              "type": "object"
        +            }
        +          ]
        +        },
        +        "canonical_operation_id": {
        +          "type": "string"
        +        },
        +        "documentation": {
        +          "additionalProperties": true,
        +          "type": "object"
        +        },
        +        "error": {
        +          "additionalProperties": false,
        +          "anyOf": [
        +            {
        +              "type": "null"
        +            },
        +            {
        +              "type": "object"
        +            }
        +          ],
        +          "properties": {
        +            "code": {
        +              "type": "string"
        +            },
        +            "message": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "code",
        +            "message"
        +          ]
        +        },
        +        "execution_supported": {
        +          "description": "Whether this router can execute and quote the operation; false retains documentation and discovery only.",
        +          "type": "boolean"
        +        },
        +        "execution_unsupported_reason": {
        +          "description": "Why execution and quoting remain unavailable through this router.",
        +          "type": "string"
        +        },
        +        "idempotent": {
        +          "anyOf": [
        +            {
        +              "type": "null"
        +            },
        +            {
        +              "type": "boolean"
        +            }
        +          ]
        +        },
        +        "known_pitfalls": {
        +          "anyOf": [
        +            {
        +              "type": "null"
        +            },
        +            {
        +              "type": "array"
        +            }
        +          ],
        +          "items": {
        +            "type": "string"
        +          }
        +        },
        +        "read_only": {
        +          "anyOf": [
        +            {
        +              "type": "null"
        +            },
        +            {
        +              "type": "boolean"
        +            }
        +          ]
        +        },
        +        "response_schema": {
        +          "additionalProperties": true,
        +          "anyOf": [
        +            {
        +              "type": "null"
        +            },
        +            {
        +              "type": "object"
        +            }
        +          ]
        +        },
        +        "side_effects": {
        +          "anyOf": [
        +            {
        +              "type": "null"
        +            },
        +            {
        +              "type": "array"
        +            }
        +          ],
        +          "items": {
        +            "type": "string"
        +          }
        +        },
        +        "successful": {
        +          "type": "boolean"
        +        }
        +      },
        +      "required": [
        +        "successful"
        +      ],
        +      "type": "object"
        +    },
        +    "type": "object"
        +  },
        +  "total_count": {
        +    "type": "integer"
        +  }
        +}
      • addedOutput schema / required
        Added value: +[
        +  "error_count",
        +  "next_steps_guidance",
        +  "session_id",
        +  "success_count",
        +  "tools",
        +  "total_count"
        +]
    • Changedget_semrush_backlinks_overview1 field changed
      • removedInput schema / properties / target / description
        Removed value: -"Target root domain, e.g. `ahrefs.com`."
    • Changedget_semrush_domain_organic_keywords5 fields changed
      • removedInput schema / properties / database / description
        Removed value: -"Regional database / country code, e.g. `us`."
      • removedInput schema / properties / database / example
        Removed value: -"us"
      • removedInput schema / properties / domain / description
        Removed value: -"Target domain, e.g. `ahrefs.com`."
      • removedInput schema / properties / domain / example
        Removed value: -"ahrefs.com"
      • changedInput schema / required
        Previous value: -[
        -  "domain",
        -  "database"
        -]New value: +[
        +  "database",
        +  "domain"
        +]
    • Changedget_semrush_domain_overview2 fields changed
      • removedInput schema / properties / database / description
        Removed value: -"Regional database / country code. Defaults to `us`. Examples: `us`, `uk`, `cn`."
      • removedInput schema / properties / domain / description
        Removed value: -"Target domain, e.g. `ahrefs.com`."
    • Changedget_semrush_keyword_difficulty7 fields changed
      • removedInput schema / properties / database / default
        Removed value: -"us"
      • removedInput schema / properties / database / description
        Removed value: -"Regional database / country code. Defaults to `us`."
      • removedInput schema / properties / phrase / description
        Removed value: -"One or more keywords separated by `;` (up to 20)."
      • removedInput schema / properties / phrase / example
        Removed value: -"seo tools;ahrefs"
      • addedInput schema / properties / phrase / x-aisa-delimiter
        Added value: +";"
      • addedInput schema / properties / phrase / x-aisa-maxItems
        Added value: +20
      • addedInput schema / properties / phrase / x-aisa-minItems
        Added value: +1
    • Changedget_semrush_keyword_overview3 fields changed
      • removedInput schema / properties / database / description
        Removed value: -"Regional database / country code. Defaults to `us`."
      • removedInput schema / properties / phrase / description
        Removed value: -"Keyword phrase. URL-encode spaces as `%20` or `+`."
      • removedInput schema / properties / phrase / example
        Removed value: -"seo tools"
    • Changedget_semrush_organic_competitors5 fields changed
      • removedInput schema / properties / database / description
        Removed value: -"Regional database / country code, e.g. `us`."
      • removedInput schema / properties / database / example
        Removed value: -"us"
      • removedInput schema / properties / domain / description
        Removed value: -"Target domain, e.g. `ahrefs.com`."
      • removedInput schema / properties / domain / example
        Removed value: -"ahrefs.com"
      • changedInput schema / required
        Previous value: -[
        -  "domain",
        -  "database"
        -]New value: +[
        +  "database",
        +  "domain"
        +]
    • Changedget_semrush_organic_results4 fields changed
      • removedInput schema / properties / database / default
        Removed value: -"us"
      • removedInput schema / properties / database / description
        Removed value: -"Regional database / country code. Defaults to `us`."
      • removedInput schema / properties / phrase / description
        Removed value: -"Keyword phrase. URL-encode spaces as `%20` or `+`."
      • removedInput schema / properties / phrase / example
        Removed value: -"seo tools"
    • Changedget_semrush_referring_domains4 fields changed
      • removedInput schema / properties / target / description
        Removed value: -"Target domain or URL."
      • removedInput schema / properties / target / example
        Removed value: -"ahrefs.com"
      • removedInput schema / properties / target_type / description
        Removed value: -"One of `root_domain`, `domain`, or `url`."
      • removedInput schema / properties / target_type / example
        Removed value: -"root_domain"
    • Changedpost_dataforseo_ai_chat_gpt_llm_responses_live7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "max_output_tokens": 200,
        +    "message_chain": [
        +      {
        +        "message": "Hello, what’s up?",
        +        "role": "user"
        +      },
        +      {
        +        "message": "Hello! I’m doing well, thank you. How can I assist you today? Are there any specific topics or projects you’d like to discuss in our meeting?",
        +        "role": "ai"
        +      }
        +    ],
        +    "model_name": "gpt-4.1-mini",
        +    "system_message": "communicate as if we are in a business meeting",
        +    "temperature": 0.3,
        +    "top_p": 0.5,
        +    "user_prompt": "provide information on how relevant the amusement park business is in France now",
        +    "web_search": true,
        +    "web_search_city": "Paris",
        +    "web_search_country_iso_code": "FR"
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "max_output_tokens": 200,
        +        "message_chain": [
        +          {
        +            "message": "Hello, what’s up?",
        +            "role": "user"
        +          },
        +          {
        +            "message": "Hello! I’m doing well, thank you. How can I assist you today? Are there any specific topics or projects you’d like to discuss in our meeting?",
        +            "role": "ai"
        +          }
        +        ],
        +        "model_name": "gpt-4.1-mini",
        +        "system_message": "communicate as if we are in a business meeting",
        +        "temperature": 0.3,
        +        "top_p": 0.5,
        +        "user_prompt": "provide information on how relevant the amusement park business is in France now",
        +        "web_search": true,
        +        "web_search_city": "Paris",
        +        "web_search_country_iso_code": "FR"
        +      }
        +    ],
        +    "properties": {
        +      "force_web_search": {
        +        "description": "<em>force AI agent to use web search</em><br>optional field<br>to enable this parameter, <code>web_search</code> must also be enabled;<br>when enabled, the AI model is forced to access and cite current web information;<br>default value: <code>false</code>;<br><strong>Note:</strong> even if the parameter is set to <code>true</code>, there is no guarantee web sources will be cited in the response <br><strong>Note #2:</strong> not supported in reasoning models",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "max_output_tokens": {
        +        "description": "<em>maximum number of tokens in the AI response</em><br>optional field<br>minimum value for reasoning models (e.g., <code>reasoning</code> is <code>true</code> in the <a href=\"/v3/ai_optimization/chat_gpt/llm_responses/models/\" target=\"_blank\">Models endpoint</a>): <code>1024</code>;<br>minimum value for non-reasoning models: <code>16</code>;<br>maximum value: <code>4096</code>;<br>default value: <code>2048</code><br><strong>Note:</strong> if <code>web_search</code> is set to <code>true</code> or the reasoning model is specified in the request, the output token count may exceed the specified <code>max_output_tokens</code> limit",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "message_chain": {
        +        "description": "conversation history\noptional field\narray of message objects representing previous conversation turns;\neach object must contain:\nrole string with either user or ai role;\nmessage string with message content (max 500 characters);\nyou can specify maximum of 10 message objects in the array;\nNote: for Perplexity models, messages must strictly alternate between user and AI roles (user → ai);\nexample:\n\"message_chain\": [{\"role\":\"user\",\"message\":\"Hello, what’s up?\"},{\"role\":\"ai\",\"message\":\"Hello! I’m doing well, thank you. How can I assist you today?\"}]",
        +        "items": {
        +          "anyOf": [
        +            {
        +              "properties": {
        +                "message": {
        +                  "description": "message text",
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                },
        +                "role": {
        +                  "description": "role of the user from whom the message originates",
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                }
        +              },
        +              "type": "object"
        +            }
        +          ],
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "model_name": {
        +        "description": "<em>name of the AI model</em><br><strong>required field</strong><br><code>model_name</code >consists of the actual model name and version name;<br>if the basic model name is specified, its latest version will be set by default;<br>for example, if <code>gpt-4.1</code> is specified, the <code>gpt-4.1-2025-04-14</code> will be set as <code>model_name</code> automatically;<br>you can receive the list of available LLM models by making a separate request to the <code>https://api.dataforseo.com/v3/ai_optimization/chat_gpt/llm_responses/models</code>",
        +        "type": "string"
        +      },
        +      "system_message": {
        +        "description": "<em>instructions for the AI behaviour</em><br>optional field<br>defines the AI's role, tone, or specific behavior <br>you can specify <strong>up to 500 characters</strong> in the <code>system_message</code> field",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "temperature": {
        +        "description": "<em>randomness of the AI response</em><br>optional field<br>higher values make output more diverse; <br>lower values make output more focused;<br>minimum value: <code>0</code><br>maximum value: <code>2</code><br>default value: <code>0.94</code><br><strong>Note:</strong> not supported in reasoning models",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "top_p": {
        +        "description": "<em>diversity of the AI response</em><br>optional field <br>controls diversity of the response by limiting token selection;<br>minimum value: <code>0</code><br>maximum value: <code>1</code> <br>default value: <code>0.92</code><p><strong>Note:</strong>  <code>top_p</code> cannot be used together with <code>temperature</code> in the same request",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "user_prompt": {
        +        "description": "<em>prompt for the AI model</em><br><strong>required field</strong><br>the question or task you want to send to the AI model;<br>you can specify <strong>up to 500 characters</strong> in the <code>user_prompt</code> field",
        +        "type": "string"
        +      },
        +      "web_search": {
        +        "description": "<em>enable web search</em><br>optional field<br>when enabled, the AI model can access and cite current web information;<br>default value: <code>false</code>;<br><strong>Note:</strong> refer to the <a href=\"https://docs.dataforseo.com/v3/ai_optimization/chat_gpt/llm_responses/models/\">Models endpoint</a> for a list of models that support <code>web_search</code>;",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "web_search_city": {
        +        "description": "<em>city name of the location</em><br>optional field<br><strong>Note:</strong> not supported in <code>o3-mini</code>, <code>o1-pro</code>, <code>o1</code> models",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "web_search_country_iso_code": {
        +        "description": "<em>ISO country code of the location</em><br>optional field<br>to enable this parameter, <code>web_search</code> must also be enabled;<br>when enabled, the AI model will search the web from the country you specify;<br><strong>Note:</strong> not supported in <code>o3-mini</code>, <code>o1-pro</code>, <code>o1</code> models",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "force_web_search": {
        -    "description": "force AI agent to use web search optional field to enable this parameter, web_search must also be enabled; when enabled, the AI model is forced to access and cite current web information; default value: false; Note: even if the parameter is set to true, there is no guarantee web sources will be cited in the response Note #2: not supported in reasoning models",
        -    "type": "boolean"
        -  },
        -  "max_output_tokens": {
        -    "description": "maximum number of tokens in the AI response optional field minimum value for reasoning models (e.g., reasoning is true in the Models endpoint): 1024; minimum value for non-reasoning models: 16; maximum value: 4096; default value: 2048 Note: if web_search is set to true or the reasoning model is specified in the request, the output token count may exceed the specified max_output_tokens limit",
        -    "type": "integer"
        -  },
        -  "message_chain": {
        -    "description": "conversation history optional field array of message objects representing previous conversation turns; each object must contain: role string with either user or ai role; message string with message content (max 500 characters); you can specify maximum of 10 message objects in the array; Note: for Perplexity models, messages must strictly alternate between user and AI roles (user → ai); example: \"message_chain\": [{\"role\":\"user\",\"message\":\"Hello, what’s up?\"},{\"role\":\"ai\",\"message\":\"Hello! I’m doing well, thank you. How can I assist you today?\"}]",
        -    "items": {
        -      "properties": {
        -        "message": {
        -          "description": "message text",
        -          "type": "string"
        -        },
        -        "role": {
        -          "description": "role of the user from whom the message originates",
        -          "enum": [
        -            "user",
        -            "ai"
        -          ],
        -          "type": "string"
        -        }
        -      },
        -      "required": [
        -        "role",
        -        "message"
        -      ],
        -      "type": "object"
        -    },
        -    "type": "array"
        -  },
        -  "model_name": {
        -    "description": "name of the AI model required field model_nameconsists of the actual model name and version name; if the basic model name is specified, its latest version will be set by default; for example, if gpt-4.1 is specified, the gpt-4.1-2025-04-14 will be set as model_name automatically; you can receive the list of available LLM models by making a separate request to the https://api.dataforseo.com/v3/ai_optimization/chat_gpt/llm_responses/models",
        -    "type": "string"
        -  },
        -  "system_message": {
        -    "description": "instructions for the AI behaviour optional field defines the AI's role, tone, or specific behavior you can specify up to 500 characters in the system_message field",
        -    "type": "string"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  },
        -  "temperature": {
        -    "description": "randomness of the AI response optional field higher values make output more diverse; lower values make output more focused; minimum value: 0 maximum value: 2 default value: 0.94 Note: not supported in reasoning models",
        -    "type": "number"
        -  },
        -  "top_p": {
        -    "description": "diversity of the AI response optional field controls diversity of the response by limiting token selection; minimum value: 0 maximum value: 1 default value: 0.92 Note: top_p cannot be used together with temperature in the same request",
        -    "type": "number"
        -  },
        -  "user_prompt": {
        -    "description": "prompt for the AI model required field the question or task you want to send to the AI model; you can specify up to 500 characters in the user_prompt field",
        -    "type": "string"
        -  },
        -  "web_search": {
        -    "description": "enable web search optional field when enabled, the AI model can access and cite current web information; default value: false; Note: refer to the Models endpoint for a list of models that support web_search;",
        -    "type": "boolean"
        -  },
        -  "web_search_city": {
        -    "description": "city name of the location optional field Note: not supported in o3-mini, o1-pro, o1 models",
        -    "type": "string"
        -  },
        -  "web_search_country_iso_code": {
        -    "description": "ISO country code of the location optional field to enable this parameter, web_search must also be enabled; when enabled, the AI model will search the web from the country you specify; Note: not supported in o3-mini, o1-pro, o1 models",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "user_prompt",
        -  "model_name"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_ai_claude_llm_responses_live7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "max_output_tokens": 200,
        +    "message_chain": [
        +      {
        +        "message": "Hello, what’s up?",
        +        "role": "user"
        +      },
        +      {
        +        "message": "Hello! I’m doing well, thank you. How can I assist you today? Are there any specific topics or projects you’d like to discuss in our meeting?",
        +        "role": "ai"
        +      }
        +    ],
        +    "model_name": "claude-opus-4-0",
        +    "system_message": "communicate as if we are in a business meeting",
        +    "temperature": 0.3,
        +    "user_prompt": "provide information on how relevant the amusement park business is in France now",
        +    "web_search": true,
        +    "web_search_country_iso_code": "FR"
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "max_output_tokens": 200,
        +        "message_chain": [
        +          {
        +            "message": "Hello, what’s up?",
        +            "role": "user"
        +          },
        +          {
        +            "message": "Hello! I’m doing well, thank you. How can I assist you today? Are there any specific topics or projects you’d like to discuss in our meeting?",
        +            "role": "ai"
        +          }
        +        ],
        +        "model_name": "claude-opus-4-0",
        +        "system_message": "communicate as if we are in a business meeting",
        +        "temperature": 0.3,
        +        "user_prompt": "provide information on how relevant the amusement park business is in France now",
        +        "web_search": true,
        +        "web_search_country_iso_code": "FR"
        +      }
        +    ],
        +    "properties": {
        +      "force_web_search": {
        +        "description": "<em>force AI agent to use web search</em><br>optional field<br>to enable this parameter, <code>web_search</code> must also be enabled;<br>when enabled, the AI model is forced to access and cite current web information;<br>default value: <code>false</code>;<br><strong>Note:</strong> even if the parameter is set to <code>true</code>, there is no guarantee web sources will be cited in the response",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "max_output_tokens": {
        +        "description": "<em>maximum number of tokens in the AI response</em><br>optional field<br>minimum value: <code>1</code>;<br>maximum value: <code>4096</code>;<br>default value: <code>2048</code>;<br><strong>Note:</strong> if <code>web_search</code> is set to <code>true</code> or the reasoning model is specified in the request, the output token count may exceed the specified <code>max_output_tokens</code> limit<br><strong>Note #2:</strong> if <code>use_reasoning</code> is set to <code>true</code>, the minimum value for <code>max_output_tokens</code> is <code>1025</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "message_chain": {
        +        "description": "conversation history\noptional field\narray of message objects representing previous conversation turns;\neach object must contain:\nrole string with either user or ai role;\nmessage string with message content (max 500 characters);\nyou can specify maximum of 10 message objects in the array;\nNote: for Perplexity models, messages must strictly alternate between user and AI roles (user → ai);\nexample:\n\"message_chain\": [{\"role\":\"user\",\"message\":\"Hello, what’s up?\"},{\"role\":\"ai\",\"message\":\"Hello! I’m doing well, thank you. How can I assist you today?\"}]",
        +        "items": {
        +          "anyOf": [
        +            {
        +              "properties": {
        +                "message": {
        +                  "description": "message text",
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                },
        +                "role": {
        +                  "description": "role of the user from whom the message originates",
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                }
        +              },
        +              "type": "object"
        +            }
        +          ],
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "model_name": {
        +        "description": "<em>name of the AI model</em><br><strong>required field</strong><br><code>model_name</code >consists of the actual model name and version name;<br>if the basic model name is specified, its latest version will be set by default;<br>for example, if <code>claude-opus-4-0</code> is specified, the <code>claude-opus-4-20250514</code> will be set as <code>model_name</code> automatically;<br>you can receive the list of available LLM models by making a separate request to the <code>https://api.dataforseo.com/v3/ai_optimization/claude/llm_responses/models</code>",
        +        "type": "string"
        +      },
        +      "system_message": {
        +        "description": "<em>instructions for the AI behaviour</em><br>optional field<br>defines the AI's role, tone, or specific behavior;<br>you can specify <strong>up to 500 characters</strong> in the <code>system_message</code> field",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "temperature": {
        +        "description": "<em>randomness of the AI response</em><br>optional field<br>higher values make output more diverse; <br>lower values make output more focused;<br>minimum value: <code>0</code><br>maximum value: <code>1</code><br>default value: <code>0.7</code><p><strong>Note:</strong> <code>temperature</code> cannot be used together with <code>top_p</code> in the same request",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "top_p": {
        +        "description": "<em>diversity of the AI response</em><br>optional field <br>controls diversity of the response by limiting token selection;<br>minimum value: <code>0</code><br>maximum value: <code>1</code> <br>default value: <code>null</code><p><strong>Note:</strong> <code>top_p</code> cannot be used together with <code>temperature</code> in the same request",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "use_reasoning": {
        +        "description": "<em>enable reasoning for the AI model</em><br>optional field<br>when enabled, the model will perform reasoning before generating a response<br>refer to the <a href=\"https://docs.dataforseo.com/v3/ai_optimization/claude/llm_responses/models/\" target=\"_blank\">Models endpoint</a> for a list of models that support <code>reasoning</code><br>default value: <code>false</code><br><strong>Note:</strong> if set to <code>true</code>, the minimum value for <code>max_output_tokens</code> is <code>1025</code><br><strong>Note #2:</strong> if set to <code>true</code>, <code>force_web_search</code> must be set to <code>false</code><br><strong>Note #3:</strong> if set to <code>true</code>, the <code>temperature</code> and <code>top_p</code> cannot be used",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "user_prompt": {
        +        "description": "<em>prompt for the AI model</em><br><strong>required field</strong><br>the question or task you want to send to the AI model;<br>you can specify <strong>up to 500 characters</strong> in the <code>user_prompt</code> field",
        +        "type": "string"
        +      },
        +      "web_search": {
        +        "description": "<em>enable web search for current information</em><br>optional field<br>when enabled, the AI model can access and cite current web information;<br><strong>Note:</strong> refer to the <a href=\"https://docs.dataforseo.com/v3/ai_optimization/claude/llm_responses/models/\">Models endpoint</a> for a list of models that support <code>web_search</code>; <br>default value: <code>false</code>;<br>The cost of the parameter can be calculated on the <a title=\"Anthropic API Pricing\" href=\"https://docs.anthropic.com/en/docs/about-claude/pricing\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "web_search_city": {
        +        "description": "<em>city name of the location used for searching the web</em><br>optional field<br>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "web_search_country_iso_code": {
        +        "description": "<em>ISO country code of the location used for searching the web</em><br>optional field<br>possible values: <code>'AR','AT','AU','BE','BR','CA','CH','CL','CN','DE','DK','ES','FI','FR','GB','HK','ID','IN','IT','JP','KR','MX','MY','NL','NO','NZ','PH','PL','PT','RU','SA','SE','TR','TW','US','ZA'</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "force_web_search": {
        -    "description": "force AI agent to use web search optional field to enable this parameter, web_search must also be enabled; when enabled, the AI model is forced to access and cite current web information; default value: false; Note: even if the parameter is set to true, there is no guarantee web sources will be cited in the response",
        -    "type": "boolean"
        -  },
        -  "max_output_tokens": {
        -    "description": "maximum number of tokens in the AI response optional field minimum value: 1; maximum value: 4096; default value: 2048; Note: if web_search is set to true or the reasoning model is specified in the request, the output token count may exceed the specified max_output_tokens limit Note #2: if use_reasoning is set to true, the minimum value for max_output_tokens is 1025",
        -    "type": "integer"
        -  },
        -  "message_chain": {
        -    "description": "conversation history optional field array of message objects representing previous conversation turns; each object must contain: role string with either user or ai role; message string with message content (max 500 characters); you can specify maximum of 10 message objects in the array; Note: for Perplexity models, messages must strictly alternate between user and AI roles (user → ai); example: \"message_chain\": [{\"role\":\"user\",\"message\":\"Hello, what’s up?\"},{\"role\":\"ai\",\"message\":\"Hello! I’m doing well, thank you. How can I assist you today?\"}]",
        -    "items": {
        -      "properties": {
        -        "message": {
        -          "description": "message text",
        -          "type": "string"
        -        },
        -        "role": {
        -          "description": "role of the user from whom the message originates",
        -          "enum": [
        -            "user",
        -            "ai"
        -          ],
        -          "type": "string"
        -        }
        -      },
        -      "required": [
        -        "role",
        -        "message"
        -      ],
        -      "type": "object"
        -    },
        -    "type": "array"
        -  },
        -  "model_name": {
        -    "description": "name of the AI model required field model_nameconsists of the actual model name and version name; if the basic model name is specified, its latest version will be set by default; for example, if claude-opus-4-0 is specified, the claude-opus-4-20250514 will be set as model_name automatically; you can receive the list of available LLM models by making a separate request to the https://api.dataforseo.com/v3/ai_optimization/claude/llm_responses/models",
        -    "type": "string"
        -  },
        -  "system_message": {
        -    "description": "instructions for the AI behaviour optional field defines the AI's role, tone, or specific behavior; you can specify up to 500 characters in the system_message field",
        -    "type": "string"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  },
        -  "temperature": {
        -    "description": "randomness of the AI response optional field higher values make output more diverse; lower values make output more focused; minimum value: 0 maximum value: 1 default value: 0.7Note: temperature cannot be used together with top_p in the same request",
        -    "type": "number"
        -  },
        -  "top_p": {
        -    "description": "diversity of the AI response optional field controls diversity of the response by limiting token selection; minimum value: 0 maximum value: 1 default value: nullNote: top_p cannot be used together with temperature in the same request",
        -    "type": "number"
        -  },
        -  "use_reasoning": {
        -    "description": "enable reasoning for the AI model optional field when enabled, the model will perform reasoning before generating a response refer to the Models endpoint for a list of models that support reasoning default value: false Note: if set to true, the minimum value for max_output_tokens is 1025 Note #2: if set to true, force_web_search must be set to false Note #3: if set to true, the temperature and top_p cannot be used",
        -    "type": "boolean"
        -  },
        -  "user_prompt": {
        -    "description": "prompt for the AI model required field the question or task you want to send to the AI model; you can specify up to 500 characters in the user_prompt field",
        -    "type": "string"
        -  },
        -  "web_search": {
        -    "description": "enable web search for current information optional field when enabled, the AI model can access and cite current web information; Note: refer to the Models endpoint for a list of models that support web_search; default value: false",
        -    "type": "boolean"
        -  },
        -  "web_search_city": {
        -    "description": "city name of the location used for searching the web optional field",
        -    "type": "string"
        -  },
        -  "web_search_country_iso_code": {
        -    "description": "ISO country code of the location used for searching the web optional field possible values: 'AR','AT','AU','BE','BR','CA','CH','CL','CN','DE','DK','ES','FI','FR','GB','HK','ID','IN','IT','JP','KR','MX','MY','NL','NO','NZ','PH','PL','PT','RU','SA','SE','TR','TW','US','ZA'",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "user_prompt",
        -  "model_name"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_ai_gemini_llm_responses_live7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "max_output_tokens": 200,
        +    "message_chain": [
        +      {
        +        "message": "Hello, what’s up?",
        +        "role": "user"
        +      },
        +      {
        +        "message": "Hello! I’m doing well, thank you. How can I assist you today? Are there any specific topics or projects you’d like to discuss in our meeting?",
        +        "role": "ai"
        +      }
        +    ],
        +    "model_name": "gemini-2.5-flash",
        +    "system_message": "communicate as if we are in a business meeting",
        +    "temperature": 0.3,
        +    "top_p": 0.5,
        +    "user_prompt": "provide information on how relevant the amusement park business is in France now",
        +    "web_search": true
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "max_output_tokens": 200,
        +        "message_chain": [
        +          {
        +            "message": "Hello, what’s up?",
        +            "role": "user"
        +          },
        +          {
        +            "message": "Hello! I’m doing well, thank you. How can I assist you today? Are there any specific topics or projects you’d like to discuss in our meeting?",
        +            "role": "ai"
        +          }
        +        ],
        +        "model_name": "gemini-2.5-flash",
        +        "system_message": "communicate as if we are in a business meeting",
        +        "temperature": 0.3,
        +        "top_p": 0.5,
        +        "user_prompt": "provide information on how relevant the amusement park business is in France now",
        +        "web_search": true
        +      }
        +    ],
        +    "properties": {
        +      "max_output_tokens": {
        +        "description": "<em>maximum number of tokens in the AI response</em><br>optional field<br>minimum value: <code>1</code><br>maximum value: <code>4096</code>;<br>default value: <code>2048</code>;<br><strong>Note:</strong> if <code>web_search</code> is set to <code>true</code> or the reasoning model is specified in the request, the output token count may exceed the specified <code>max_output_tokens</code> limit<br><strong>Note #2:</strong> if <code>use_reasoning</code> is set to <code>true</code>, the minimum value for <code>max_output_tokens</code> is <code>1024</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "message_chain": {
        +        "description": "conversation history\noptional field\narray of message objects representing previous conversation turns;\neach object must contain:\nrole string with either user or ai role;\nmessage string with message content (max 500 characters);\nyou can specify maximum of 10 message objects in the array;\nNote: for Perplexity models, messages must strictly alternate between user and AI roles (user → ai);\nexample:\n\"message_chain\": [{\"role\":\"user\",\"message\":\"Hello, what’s up?\"},{\"role\":\"ai\",\"message\":\"Hello! I’m doing well, thank you. How can I assist you today?\"}]",
        +        "items": {
        +          "anyOf": [
        +            {
        +              "properties": {
        +                "message": {
        +                  "description": "message text",
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                },
        +                "role": {
        +                  "description": "role of the user from whom the message originates",
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                }
        +              },
        +              "type": "object"
        +            }
        +          ],
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "model_name": {
        +        "description": "<em>name of the AI model</em><br><strong>required field</strong><br><code>model_name</code >consists of the actual model name and version name;<br>if the basic model name is specified, its latest version will be set by default;<br>for example, if <code>gemini-1.5-pro</code> is specified, the <code>gemini-1.5-pro-002</code> will be set as <code>model_name</code> automatically;<br>you can receive the list of available LLM models by making a separate request to the <code>https://api.dataforseo.com/v3/ai_optimization/gemini/llm_responses/models</code>",
        +        "type": "string"
        +      },
        +      "system_message": {
        +        "description": "<em>instructions for the AI behavior</em><br>optional field<br>defines the AI's role, tone, or specific behavior <br>you can specify <strong>up to 500 characters</strong> in the <code>system_message</code> field",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "temperature": {
        +        "description": "<em>randomness of the AI response</em><br>optional field<br>higher values make output more diverse <br>lower values make output more focused<br>minimum value: <code>0</code><br>maximum value: <code>2</code><br>default value: <code>1.3</code>",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "top_p": {
        +        "description": "<em>diversity of the AI response</em><br>optional field <br>controls diversity of the response by limiting token selection<br>minimum value: <code>0</code><br>maximum value: <code>1</code> <br>default value: <code>0.9</code>",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "use_reasoning": {
        +        "description": "<em>enable reasoning for the AI model</em><br>optional field<br>when enabled, the model will perform reasoning before generating a response<br>refer to the <a href=\"https://docs.dataforseo.com/v3/ai_optimization/gemini/llm_responses/models/\" target=\"_blank\">Models endpoint</a> for a list of models that support <code>reasoning</code><br>default value: <code>false</code><br><strong>Note:</strong> if set to <code>true</code>, the minimum value for <code>max_output_tokens</code> is <code>1024</code><br><strong>Note #2:</strong> for Gemini Pro models, the <code>use_reasoning</code> will automatically be set to <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "user_prompt": {
        +        "description": "<em>prompt for the AI model</em><br><strong>required field</strong><br>the question or task you want to send to the AI model;<br>you can specify <strong>up to 500 characters</strong> in the <code>user_prompt</code> field",
        +        "type": "string"
        +      },
        +      "web_search": {
        +        "description": "<em>enable web search for current information</em><br>optional field<br>when enabled, the AI model can access and cite current web information;<br><strong>Note:</strong> refer to the <a href=\"https://docs.dataforseo.com/v3/ai_optimization/gemini/llm_responses/models/\">Models endpoint</a> for a list of models that support <code>web_search</code>; <br>default value: <code>false</code>;<br>The cost of the parameter can be calculated on the <a title=\"Gemini API Pricing\" href=\"https://ai.google.dev/gemini-api/docs/pricing\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "max_output_tokens": {
        -    "description": "maximum number of tokens in the AI response optional field minimum value: 1 maximum value: 4096; default value: 2048; Note: if web_search is set to true or the reasoning model is specified in the request, the output token count may exceed the specified max_output_tokens limit Note #2: if use_reasoning is set to true, the minimum value for max_output_tokens is 1024",
        -    "type": "integer"
        -  },
        -  "message_chain": {
        -    "description": "conversation history optional field array of message objects representing previous conversation turns; each object must contain: role string with either user or ai role; message string with message content (max 500 characters); you can specify maximum of 10 message objects in the array; Note: for Perplexity models, messages must strictly alternate between user and AI roles (user → ai); example: \"message_chain\": [{\"role\":\"user\",\"message\":\"Hello, what’s up?\"},{\"role\":\"ai\",\"message\":\"Hello! I’m doing well, thank you. How can I assist you today?\"}]",
        -    "items": {
        -      "properties": {
        -        "message": {
        -          "description": "message text",
        -          "type": "string"
        -        },
        -        "role": {
        -          "description": "role of the user from whom the message originates",
        -          "enum": [
        -            "user",
        -            "ai"
        -          ],
        -          "type": "string"
        -        }
        -      },
        -      "required": [
        -        "role",
        -        "message"
        -      ],
        -      "type": "object"
        -    },
        -    "type": "array"
        -  },
        -  "model_name": {
        -    "description": "name of the AI model required field model_nameconsists of the actual model name and version name; if the basic model name is specified, its latest version will be set by default; for example, if gemini-1.5-pro is specified, the gemini-1.5-pro-002 will be set as model_name automatically; you can receive the list of available LLM models by making a separate request to the https://api.dataforseo.com/v3/ai_optimization/gemini/llm_responses/models",
        -    "type": "string"
        -  },
        -  "system_message": {
        -    "description": "instructions for the AI behavior optional field defines the AI's role, tone, or specific behavior you can specify up to 500 characters in the system_message field",
        -    "type": "string"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  },
        -  "temperature": {
        -    "description": "randomness of the AI response optional field higher values make output more diverse lower values make output more focused minimum value: 0 maximum value: 2 default value: 1.3",
        -    "type": "number"
        -  },
        -  "top_p": {
        -    "description": "diversity of the AI response optional field controls diversity of the response by limiting token selection minimum value: 0 maximum value: 1 default value: 0.9",
        -    "type": "number"
        -  },
        -  "use_reasoning": {
        -    "description": "enable reasoning for the AI model optional field when enabled, the model will perform reasoning before generating a response refer to the Models endpoint for a list of models that support reasoning default value: false Note: if set to true, the minimum value for max_output_tokens is 1024 Note #2: for Gemini Pro models, the use_reasoning will automatically be set to true",
        -    "type": "boolean"
        -  },
        -  "user_prompt": {
        -    "description": "prompt for the AI model required field the question or task you want to send to the AI model; you can specify up to 500 characters in the user_prompt field",
        -    "type": "string"
        -  },
        -  "web_search": {
        -    "description": "enable web search for current information optional field when enabled, the AI model can access and cite current web information; Note: refer to the Models endpoint for a list of models that support web_search; default value: false",
        -    "type": "boolean"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "user_prompt",
        -  "model_name"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_ai_keyword_volume_live8 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "keywords": [
        +      "iphone",
        +      "seo"
        +    ],
        +    "language_name": "English",
        +    "location_code": 2840
        +  }
        +]
      • removedInput schema / properties / body / items / allOf
        Removed value: -[
        -  {
        -    "anyOf": [
        -      {
        -        "required": [
        -          "location_name"
        -        ]
        -      },
        -      {
        -        "required": [
        -          "location_code"
        -        ]
        -      }
        -    ]
        -  },
        -  {
        -    "anyOf": [
        -      {
        -        "required": [
        -          "language_name"
        -        ]
        -      },
        -      {
        -        "required": [
        -          "language_code"
        -        ]
        -      }
        -    ]
        -  }
        -]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "keywords": [
        +          "iphone",
        +          "seo"
        +        ],
        +        "language_name": "English",
        +        "location_code": 2840
        +      }
        +    ],
        +    "properties": {
        +      "keywords": {
        +        "description": "<em>keywords</em><br><strong>required field</strong><br>UTF-8 encoding<br>The maximum number of keywords you can specify: 1000;<br>The maximum number of characters in a single keyword: 250;<br>The keywords will be converted to lowercase format;<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "language_code": {
        +        "description": "<em>language code</em><br><strong>required field if you don't specify</strong> <code>language_name</code><br><strong>if you use this field, you don't need to specify</strong> <code>language_name</code><br>you can receive the list of available languages with their <code>language_code</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/ai_optimization/ai_keyword_data/locations_and_languages</code><br>example:<br><code class=\"long-string\">en</code>",
        +        "type": "string"
        +      },
        +      "language_name": {
        +        "description": "<em>full name of the language</em><br><strong>required field if you don't specify</strong> <code>language_code</code><br><strong>if you use this field, you don't need to specify</strong> <code>language_code</code><br>you can receive the list of available languages with their <code>language_name</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/ai_optimization/ai_keyword_data/locations_and_languages</code><br>example:<br><code class=\"long-string\">English</code>",
        +        "type": "string"
        +      },
        +      "location_code": {
        +        "description": "<em>unique location identifier</em><br><strong>required field if you don't specify</strong> <code>location_name</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/ai_optimization/ai_keyword_data/locations_and_languages</code><br>example:<br><code class=\"long-string\">2840</code>",
        +        "type": "integer"
        +      },
        +      "location_name": {
        +        "description": "<em>full name of the location</em><br><strong>required field if you don't specify</strong> <code>location_code</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/ai_optimization/ai_keyword_data/locations_and_languages</code><br>example:<br><code class=\"long-string\">United Kingdom</code>",
        +        "type": "string"
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "keywords": {
        -    "description": "keywords required field UTF-8 encoding The maximum number of keywords you can specify: 1000; The maximum number of characters in a single keyword: 250; The keywords will be converted to lowercase format;learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "language_code": {
        -    "description": "language code required field if you don't specify language_name if you use this field, you don't need to specify language_name you can receive the list of available languages with their language_code by making a separate request to the https://api.dataforseo.com/v3/ai_optimization/ai_keyword_data/locations_and_languages example: en",
        -    "type": "string"
        -  },
        -  "language_name": {
        -    "description": "full name of the language required field if you don't specify language_code if you use this field, you don't need to specify language_code you can receive the list of available languages with their language_name by making a separate request to the https://api.dataforseo.com/v3/ai_optimization/ai_keyword_data/locations_and_languages example: English",
        -    "type": "string"
        -  },
        -  "location_code": {
        -    "description": "unique location identifier required field if you don't specify location_name Note: it is required to specify either location_name or location_code you can receive the list of available locations with their location_code by making a separate request to the https://api.dataforseo.com/v3/ai_optimization/ai_keyword_data/locations_and_languages example: 2840",
        -    "type": "integer"
        -  },
        -  "location_name": {
        -    "description": "full name of the location required field if you don't specify location_code Note: it is required to specify either location_name or location_code you can receive the list of available locations with their location_name by making a separate request to the https://api.dataforseo.com/v3/ai_optimization/ai_keyword_data/locations_and_languages example: United Kingdom",
        -    "type": "string"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "keywords"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_ai_perplexity_llm_responses_live7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "max_output_tokens": 200,
        +    "message_chain": [
        +      {
        +        "message": "Hello, what’s up?",
        +        "role": "user"
        +      },
        +      {
        +        "message": "Hello! I’m doing well, thank you. How can I assist you today? Are there any specific topics or projects you’d like to discuss in our meeting?",
        +        "role": "ai"
        +      }
        +    ],
        +    "model_name": "sonar",
        +    "system_message": "communicate as if we are in a business meeting",
        +    "temperature": 0.3,
        +    "top_p": 0.5,
        +    "user_prompt": "provide information on how relevant the amusement park business is in France now",
        +    "web_search_country_iso_code": "FR"
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "max_output_tokens": 200,
        +        "message_chain": [
        +          {
        +            "message": "Hello, what’s up?",
        +            "role": "user"
        +          },
        +          {
        +            "message": "Hello! I’m doing well, thank you. How can I assist you today? Are there any specific topics or projects you’d like to discuss in our meeting?",
        +            "role": "ai"
        +          }
        +        ],
        +        "model_name": "sonar",
        +        "system_message": "communicate as if we are in a business meeting",
        +        "temperature": 0.3,
        +        "top_p": 0.5,
        +        "user_prompt": "provide information on how relevant the amusement park business is in France now",
        +        "web_search_country_iso_code": "FR"
        +      }
        +    ],
        +    "properties": {
        +      "max_output_tokens": {
        +        "description": "<em>maximum number of tokens in the AI response</em><br>optional field<br>minimum value: <code>1</code><br>maximum value: <code>4096</code>;<br>default value: <code>2048</code>;<br><strong>Note:</strong> if the reasoning model is specified in the request, the output token count may exceed the specified <code>max_output_tokens</code> limit",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "message_chain": {
        +        "description": "conversation history\noptional field\narray of message objects representing previous conversation turns;\neach object must contain:\nrole string with either user or ai role;\nmessage string with message content (max 500 characters);\nyou can specify maximum of 10 message objects in the array;\nNote: for Perplexity models, messages must strictly alternate between user and AI roles (user → ai);\nexample:\n\"message_chain\": [{\"role\":\"user\",\"message\":\"Hello, what’s up?\"},{\"role\":\"ai\",\"message\":\"Hello! I’m doing well, thank you. How can I assist you today?\"}]",
        +        "items": {
        +          "anyOf": [
        +            {
        +              "properties": {
        +                "message": {
        +                  "description": "message text",
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                },
        +                "role": {
        +                  "description": "role of the user from whom the message originates",
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                }
        +              },
        +              "type": "object"
        +            }
        +          ],
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "model_name": {
        +        "description": "<em>name of the AI model</em><br><strong>required field</strong><br><code>model_name</code >consists of the actual model name and version name;<br>if the basic model name is specified, its latest version will be set by default;<br>you can receive the list of available LLM models by making a separate request to the following endpoint: <code>https://api.dataforseo.com/v3/ai_optimization/perplexity/llm_responses/models</code>",
        +        "type": "string"
        +      },
        +      "system_message": {
        +        "description": "<em>instructions for the AI behavior</em><br>optional field<br>defines the AI's role, tone, or specific behavior <br>you can specify <strong>up to 500 characters</strong> in the <code>system_message</code> field",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "temperature": {
        +        "description": "<em>randomness of the AI response</em><br>optional field<br>higher values make output more diverse <br>lower values make output more focused<br>minimum value: <code>0</code><br>maximum value: <code>1.9</code><br>default value: <code>0.77</code>",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "top_p": {
        +        "description": "<em>diversity of the AI response</em><br>optional field <br>controls diversity of the response by limiting token selection<br>minimum value: <code>0</code><br>maximum value: <code>1</code> <br>default value: <code>0.9</code>",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "user_prompt": {
        +        "description": "<em>prompt for the AI model</em><br><strong>required field</strong><br>the question or task you want to send to the AI model;<br>you can specify <strong>up to 500 characters</strong> in the <code>user_prompt</code> field",
        +        "type": "string"
        +      },
        +      "web_search_country_iso_code": {
        +        "description": "<em>country code for web search localization</em><br>optional field<br>specify the country  ISO code to get localized web search results<br><strong>Note:</strong> available only for Perplexity Sonar models<br>example: <code>US</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "max_output_tokens": {
        -    "description": "maximum number of tokens in the AI response optional field minimum value: 1 maximum value: 4096; default value: 2048; Note: if the reasoning model is specified in the request, the output token count may exceed the specified max_output_tokens limit",
        -    "type": "integer"
        -  },
        -  "message_chain": {
        -    "description": "conversation history optional field array of message objects representing previous conversation turns; each object must contain: role string with either user or ai role; message string with message content (max 500 characters); you can specify maximum of 10 message objects in the array; Note: for Perplexity models, messages must strictly alternate between user and AI roles (user → ai); example: \"message_chain\": [{\"role\":\"user\",\"message\":\"Hello, what’s up?\"},{\"role\":\"ai\",\"message\":\"Hello! I’m doing well, thank you. How can I assist you today?\"}]",
        -    "items": {
        -      "properties": {
        -        "message": {
        -          "description": "message text",
        -          "type": "string"
        -        },
        -        "role": {
        -          "description": "role of the user from whom the message originates",
        -          "enum": [
        -            "user",
        -            "ai"
        -          ],
        -          "type": "string"
        -        }
        -      },
        -      "required": [
        -        "role",
        -        "message"
        -      ],
        -      "type": "object"
        -    },
        -    "type": "array"
        -  },
        -  "model_name": {
        -    "description": "name of the AI model required field model_nameconsists of the actual model name and version name; if the basic model name is specified, its latest version will be set by default; you can receive the list of available LLM models by making a separate request to the following endpoint: https://api.dataforseo.com/v3/ai_optimization/perplexity/llm_responses/models",
        -    "type": "string"
        -  },
        -  "system_message": {
        -    "description": "instructions for the AI behavior optional field defines the AI's role, tone, or specific behavior you can specify up to 500 characters in the system_message field",
        -    "type": "string"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  },
        -  "temperature": {
        -    "description": "randomness of the AI response optional field higher values make output more diverse lower values make output more focused minimum value: 0 maximum value: 1.9 default value: 0.77",
        -    "type": "number"
        -  },
        -  "top_p": {
        -    "description": "diversity of the AI response optional field controls diversity of the response by limiting token selection minimum value: 0 maximum value: 1 default value: 0.9",
        -    "type": "number"
        -  },
        -  "user_prompt": {
        -    "description": "prompt for the AI model required field the question or task you want to send to the AI model; you can specify up to 500 characters in the user_prompt field",
        -    "type": "string"
        -  },
        -  "web_search_country_iso_code": {
        -    "description": "country code for web search localization optional field specify the country ISO code to get localized web search results Note: available only for Perplexity Sonar models example: US",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "user_prompt",
        -  "model_name"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_backlinks_anchors_live7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "filters": [
        +      "anchor",
        +      "like",
        +      "%news%"
        +    ],
        +    "limit": 4,
        +    "order_by": [
        +      "backlinks,desc"
        +    ],
        +    "target": "forbes.com"
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "filters": [
        +          "anchor",
        +          "like",
        +          "%news%"
        +        ],
        +        "limit": 4,
        +        "order_by": [
        +          "backlinks,desc"
        +        ],
        +        "target": "forbes.com"
        +      }
        +    ],
        +    "properties": {
        +      "backlinks_filters": {
        +        "description": "<em>filter the backlinks of your <code>target</code></em><br>optional field<br>you can use this field to filter the initial backlinks that will be included in the dataset for aggregated metrics for your <code>target</code><br>you can filter the backlinks by all fields available in the response of <a href=\"/v3/backlinks/backlinks/live/\">this endpoint</a><br>using this parameter, you can include only dofollow backlinks in the response and create a flexible backlinks dataset to calculate the metrics for<br>example:<br><code>\"backlinks_filters\": [[\"dofollow\", \"=\", true]]</code>",
        +        "items": {
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "backlinks_status_type": {
        +        "description": "<em>set what backlinks to return and count</em><br>optional field<br>you can use this field to choose what backlinks will be returned and used for aggregated metrics for your <code>target</code>;<br>possible values: <br><code>all</code> - all backlinks will be returned and counted;<br><code>live</code> - backlinks found during the last check will be returned and counted;<br><code>lost</code> - lost backlinks will be returned and counted;<p>default value: <code>live</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "exclude_internal_backlinks": {
        +        "description": "<em>indicates whether the backlinks from subdomains of the <code>target</code> are excluded</em><br>optional field<br>if set to <code>false</code>, the backlinks from subdomains of the <code>target</code> will be ommited and you won't receive the same domain in the response;<br>default value: <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "filters": {
        +        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>, <code>not_like</code>, <code>ilike</code>, <code>not_ilike</code>, <code>match</code>, <code>not_match</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters<br>example:<br><code>[\"referring_links_types.anchors\",\"&gt;\",\"1\"]</code><p><code>[[\"broken_pages\",\"&gt;\",\"2\"],<br>\"and\",<br>[\"backlinks\",\"&gt;\",\"10\"]]</code><p><code>[[\"first_seen\",\">\",\"2017-10-23 11:31:45 +00:00\"],<br>\"and\",<br>[[\"anchor\",\"like\",\"%seo%\"],\"or\",[\"referring_domains\",\"&gt;\",\"10\"]]]</code><p>The full list of possible filters is available <a href=\"/v3/backlinks/filters/?bash\">here.</a>",
        +        "items": {
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "include_indirect_links": {
        +        "description": "<em>indicates if indirect links to the <code>target</code> will be included in the results</em><br>optional field<br>if set to <code>true</code>, the results will include data on indirect links pointing to a page that either redirects to the target, or points to a canonical page<br>if set to <code>false</code>, indirect links will be ignored<br>default value: <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_subdomains": {
        +        "description": "<em>indicates if the subdomains of the <code>target</code> will be included in the search</em><br>optional field<br>if set to <code>false</code>, the subdomains will be ignored<br>default value: <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "internal_list_limit": {
        +        "description": "<em>maximum number of elements within internal arrays</em><br>optional field<br>you can use this field to limit the number of elements within the following arrays:<br><code>referring_links_tld</code><br><code>referring_links_types</code><br><code>referring_links_attributes</code><br><code>referring_links_platform_types</code><br><code>referring_links_semantic_locations</code><p>default value: <code>10</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "limit": {
        +        "description": "<em>the maximum number of returned anchors</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "offset": {
        +        "description": "<em>offset in the results array of returned anchors</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten anchors in the results array will be omitted and the data will be provided for the successive anchors",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "order_by": {
        +        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to set up a sorting type<br>example:<br><code>[\"backlinks,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"backlinks,desc\",\"rank,asc\"]</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "rank_scale": {
        +        "description": "<em>defines the scale used for calculating and displaying the <code>rank</code>, <code>domain_from_rank</code>, and <code>page_from_rank</code> values</em><br>optional field<p>you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale<p>possible values:<br><code>one_hundred</code> — rank values are displayed on a 0–100 scale<br><code>one_thousand</code> — rank values are displayed on a 0–1000 scale<p>default value: <code>one_thousand</code><p>learn more about how this parameter works and how ranking metrics are calculated in <a href=\"https://dataforseo.com/help-center/what_is_rank_in_backlinks_api#rank_scale\">this Help Center article</a>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "target": {
        +        "description": "<em>domain, subdomain or webpage to get anchors for</em><br><strong>required field</strong><br>a domain or a subdomain should be specified without <code>https://</code> and <code>www.</code><br>a page should be specified with absolute URL (including <code>http://</code> or <code>https://</code>)",
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "backlinks_filters": {
        -    "description": "filter the backlinks of your target optional field you can use this field to filter the initial backlinks that will be included in the dataset for aggregated metrics for your target you can filter the backlinks by all fields available in the response of this endpoint using this parameter, you can include only dofollow backlinks in the response and create a flexible backlinks dataset to calculate the metrics for example: \"backlinks_filters\": [[\"dofollow\", \"=\", true]]",
        -    "items": {},
        -    "type": "array"
        -  },
        -  "backlinks_status_type": {
        -    "description": "set what backlinks to return and count optional field you can use this field to choose what backlinks will be returned and used for aggregated metrics for your target; possible values: all – all backlinks will be returned and counted; live – backlinks found during the last check will be returned and counted; lost – lost backlinks will be returned and counted; default value: live",
        -    "type": "string"
        -  },
        -  "exclude_internal_backlinks": {
        -    "description": "indicates whether the backlinks from subdomains of the target are excluded optional field if set to false, the backlinks from subdomains of the target will be ommited and you won’t receive the same domain in the response; default value: true",
        -    "type": "boolean"
        -  },
        -  "filters": {
        -    "description": "array of results filtering parameters optional field you can add several filters at once (8 filters maximum) you should set a logical operator and, or between the conditions the following operators are supported: regex, not_regex, =, , in, not_in, like, not_like, ilike, not_ilike, match, not_match you can use the % operator with like and not_like to match any string of zero or more characters example: [\"referring_links_types.anchors\",\">\",\"1\"] [[\"broken_pages\",\">\",\"2\"], \"and\", [\"backlinks\",\">\",\"10\"]] [[\"first_seen\",\">\",\"2017-10-23 11:31:45 +00:00\"], \"and\", [[\"anchor\",\"like\",\"%seo%\"],\"or\",[\"referring_domains\",\">\",\"10\"]]] The full list of possible filters is available here.",
        -    "items": {},
        -    "type": "array"
        -  },
        -  "include_indirect_links": {
        -    "description": "indicates if indirect links to the target will be included in the results optional field if set to true, the results will include data on indirect links pointing to a page that either redirects to the target, or points to a canonical page if set to false, indirect links will be ignored default value: true",
        -    "type": "boolean"
        -  },
        -  "include_subdomains": {
        -    "description": "indicates if the subdomains of the target will be included in the search optional field if set to false, the subdomains will be ignored default value: true",
        -    "type": "boolean"
        -  },
        -  "internal_list_limit": {
        -    "description": "maximum number of elements within internal arrays optional field you can use this field to limit the number of elements within the following arrays: referring_links_tld referring_links_types referring_links_attributes referring_links_platform_types referring_links_semantic_locations default value: 10 maximum value: 1000",
        -    "type": "integer"
        -  },
        -  "limit": {
        -    "description": "the maximum number of returned anchors optional field default value: 100 maximum value: 1000",
        -    "type": "integer"
        -  },
        -  "offset": {
        -    "description": "offset in the results array of returned anchors optional field default value: 0 if you specify the 10 value, the first ten anchors in the results array will be omitted and the data will be provided for the successive anchors",
        -    "type": "integer"
        -  },
        -  "order_by": {
        -    "description": "results sorting rules optional field you can use the same values as in the filters array to sort the results possible sorting types: asc – results will be sorted in the ascending order desc – results will be sorted in the descending order you should use a comma to set up a sorting type example: [\"backlinks,desc\"] note that you can set no more than three sorting rules in a single request you should use a comma to separate several sorting rules example: [\"backlinks,desc\",\"rank,asc\"]",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "rank_scale": {
        -    "description": "defines the scale used for calculating and displaying the rank, domain_from_rank, and page_from_rank values optional field you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale possible values: one_hundred — rank values are displayed on a 0–100 scale one_thousand — rank values are displayed on a 0–1000 scale default value: one_thousand learn more about how this parameter works and how ranking metrics are calculated in this Help Center article",
        -    "type": "string"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  },
        -  "target": {
        -    "description": "domain, subdomain or webpage to get anchors for required field a domain or a subdomain should be specified without https:// and www. a page should be specified with absolute URL (including http:// or https://)",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "target"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_backlinks_backlinks_live7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "filters": [
        +      "dofollow",
        +      "=",
        +      true
        +    ],
        +    "limit": 5,
        +    "mode": "as_is",
        +    "target": "forbes.com"
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "filters": [
        +          "dofollow",
        +          "=",
        +          true
        +        ],
        +        "limit": 5,
        +        "mode": "as_is",
        +        "target": "forbes.com"
        +      }
        +    ],
        +    "properties": {
        +      "backlinks_status_type": {
        +        "description": "<em>set what backlinks to return and count</em><br>optional field<br>you can use this field to choose what backlinks will be returned and used for aggregated metrics for your <code>target</code>;<br>possible values: <br><code>all</code> - all backlinks will be returned and counted;<br><code>live</code> - backlinks found during the last check will be returned and counted;<br><code>lost</code> - lost backlinks will be returned and counted;<p>default value: <code>live</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "custom_mode": {
        +        "additionalProperties": {
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "description": "<em>detailed results grouping type</em><br>optional field<br>use this object to get a specific number of backlinks per <code>field</code><br>if you use <code>custom_mode</code>, then <code>mode</code> will be ignored<br>example:<br><code>\"custom_mode\": {\"field\": \"domain\", \"value\": 100}</code>",
        +        "type": [
        +          "object",
        +          "null"
        +        ]
        +      },
        +      "exclude_internal_backlinks": {
        +        "description": "<em>indicates if internal backlinks from subdomains to the <code>target</code> will be excluded from the results</em><br>optional field<br>if set to <code>true</code>, the results will not include data on internal backlinks from subdomains of the same domain as <code>target</code><br>if set to <code>false</code>, internal links will be included in the results<br>default value: <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "filters": {
        +        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>, <code>not_like</code>, <code>ilike</code>, <code>not_ilike</code>, <code>regex</code>, <code>not_regex</code>, <code>match</code>, <code>not_match</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters<br>example:<br><code>[\"rank\",\"&gt;\",\"80\"]</code><p><code>[[\"page_from_rank\",\"&gt;\",\"55\"],<br>\"and\",<br>[\"dofollow\",\"=\",true]]</code><p><code>[[\"first_seen\",\">\",\"2017-10-23 11:31:45 +00:00\"],<br>\"and\",<br>[[\"anchor\",\"like\",\"%seo%\"],\"or\",[\"text_pre\",\"like\",\"%seo%\"]]]</code><p>The full list of possible filters is available <a href=\"/v3/backlinks/filters/?bash\" rel=\"noopener noreferrer\" target=\"_blank\">here.</a>",
        +        "items": {
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "include_subdomains": {
        +        "description": "<em>indicates if the subdomains of the <code>target</code> will be included in the search</em><br>optional field<br>if set to <code>false</code>, the subdomains will be ignored<br>default value: <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "limit": {
        +        "description": "<em>the maximum number of returned backlinks</em><br>optional field<p>default value: <code>100</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "mode": {
        +        "description": "<em>results grouping type</em><br>optional field<br>possible grouping types:<br><code>as_is</code> - returns all backlinks<br><code>one_per_domain</code> - returns one backlink per domain<br><code>one_per_anchor</code> - returns one backlink per anchor<p>default value: <code>as_is</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "offset": {
        +        "description": "<em>offset in the results array of the returned backlinks</em><br>optional field<p>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten backlinks in the results array will be omitted and the data will be provided for the successive backlinks;<br><strong>Note:</strong> the maximum value is <code>20,000</code>, use the <code>search_after_token</code> if you would like to offset more results",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "order_by": {
        +        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to set up a sorting type<br>example:<br><code>[\"rank,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"domain_from_rank,desc\",\"page_from_rank,asc\"]</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "rank_scale": {
        +        "description": "<em>defines the scale used for calculating and displaying the <code>rank</code>, <code>domain_from_rank</code>, and <code>page_from_rank</code> values</em><br>optional field<p>you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale<p>possible values:<br><code>one_hundred</code> — rank values are displayed on a 0–100 scale<br><code>one_thousand</code> — rank values are displayed on a 0–1000 scale<p>default value: <code>one_thousand</code><p>learn more about how this parameter works and how ranking metrics are calculated in <a href=\"https://dataforseo.com/help-center/what_is_rank_in_backlinks_api#rank_scale\">this Help Center article</a>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "search_after_token": {
        +        "description": "<em>token for subsequent requests</em><br>optional field<br>provided in the identical filed of the response to each request;<br>use this parameter to avoid timeouts while trying to obtain over <code>20,000</code> results in a single request;<br>by specifying the unique <code>search_after_token</code> value from the response array, you will get the subsequent results of the initial task;<br><code>search_after_token</code> values are unique for each subsequent task ;<br><strong>Note:</strong> if the <code>search_after_token</code> is specified in the request, all other parameters should be identical to the previous request",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "target": {
        +        "description": "<em>domain, subdomain or webpage to get backlinks for</em><br><strong>required field</strong><br>a domain or a subdomain should be specified without <code>https://</code> and <code>www.</code><br>a page should be specified with absolute URL (including <code>http://</code> or <code>https://</code>)",
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "backlinks_status_type": {
        -    "description": "set what backlinks to return and count optional field you can use this field to choose what backlinks will be returned and used for aggregated metrics for your target; possible values: all – all backlinks will be returned and counted; live – backlinks found during the last check will be returned and counted; lost – lost backlinks will be returned and counted; default value: live",
        -    "type": "string"
        -  },
        -  "custom_mode": {
        -    "description": "detailed results grouping type optional field use this object to get a specific number of backlinks per field if you use custom_mode, then mode will be ignored example: \"custom_mode\": {\"field\": \"domain\", \"value\": 100}",
        -    "properties": {
        -      "field": {
        -        "type": "string"
        -      },
        -      "value": {
        -        "type": "integer"
        -      }
        -    },
        -    "type": "object"
        -  },
        -  "exclude_internal_backlinks": {
        -    "description": "indicates if internal backlinks from subdomains to the target will be excluded from the results optional field if set to true, the results will not include data on internal backlinks from subdomains of the same domain as target if set to false, internal links will be included in the results default value: true",
        -    "type": "boolean"
        -  },
        -  "filters": {
        -    "description": "array of results filtering parameters optional field you can add several filters at once (8 filters maximum) you should set a logical operator and, or between the conditions the following operators are supported: =, , in, not_in, like, not_like, ilike, not_ilike, regex, not_regex, match, not_match you can use the % operator with like and not_like to match any string of zero or more characters example: [\"rank\",\">\",\"80\"] [[\"page_from_rank\",\">\",\"55\"], \"and\", [\"dofollow\",\"=\",true]] [[\"first_seen\",\">\",\"2017-10-23 11:31:45 +00:00\"], \"and\", [[\"anchor\",\"like\",\"%seo%\"],\"or\",[\"text_pre\",\"like\",\"%seo%\"]]] The full list of possible filters is available here.",
        -    "items": {},
        -    "type": "array"
        -  },
        -  "include_subdomains": {
        -    "description": "indicates if the subdomains of the target will be included in the search optional field if set to false, the subdomains will be ignored default value: true",
        -    "type": "boolean"
        -  },
        -  "limit": {
        -    "description": "the maximum number of returned backlinks optional field default value: 100 maximum value: 1000",
        -    "type": "integer"
        -  },
        -  "mode": {
        -    "description": "results grouping type optional field possible grouping types: as_is – returns all backlinks one_per_domain – returns one backlink per domain one_per_anchor – returns one backlink per anchor default value: as_is",
        -    "type": "string"
        -  },
        -  "offset": {
        -    "description": "offset in the results array of the returned backlinks optional field default value: 0 if you specify the 10 value, the first ten backlinks in the results array will be omitted and the data will be provided for the successive backlinks; Note: the maximum value is 20,000, use the search_after_token if you would like to offset more results",
        -    "type": "integer"
        -  },
        -  "order_by": {
        -    "description": "results sorting rules optional field you can use the same values as in the filters array to sort the results possible sorting types: asc – results will be sorted in the ascending order desc – results will be sorted in the descending order you should use a comma to set up a sorting type example: [\"rank,desc\"] note that you can set no more than three sorting rules in a single request you should use a comma to separate several sorting rules example: [\"domain_from_rank,desc\",\"page_from_rank,asc\"]",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "rank_scale": {
        -    "description": "defines the scale used for calculating and displaying the rank, domain_from_rank, and page_from_rank values optional field you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale possible values: one_hundred — rank values are displayed on a 0–100 scale one_thousand — rank values are displayed on a 0–1000 scale default value: one_thousand learn more about how this parameter works and how ranking metrics are calculated in this Help Center article",
        -    "type": "string"
        -  },
        -  "search_after_token": {
        -    "description": "token for subsequent requests optional field provided in the identical filed of the response to each request; use this parameter to avoid timeouts while trying to obtain over 20,000 results in a single request; by specifying the unique search_after_token value from the response array, you will get the subsequent results of the initial task; search_after_token values are unique for each subsequent task ; Note: if the search_after_token is specified in the request, all other parameters should be identical to the previous request",
        -    "type": "string"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  },
        -  "target": {
        -    "description": "domain, subdomain or webpage to get backlinks for required field a domain or a subdomain should be specified without https:// and www. a page should be specified with absolute URL (including http:// or https://)",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "target"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_backlinks_competitors_live7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "filters": [
        +      "rank",
        +      ">",
        +      100
        +    ],
        +    "limit": 5,
        +    "order_by": [
        +      "rank,desc"
        +    ],
        +    "target": "dataforseo.com"
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "filters": [
        +          "rank",
        +          ">",
        +          100
        +        ],
        +        "limit": 5,
        +        "order_by": [
        +          "rank,desc"
        +        ],
        +        "target": "dataforseo.com"
        +      }
        +    ],
        +    "properties": {
        +      "exclude_internal_backlinks": {
        +        "description": "<em>indicates if internal backlinks from subdomains to the <code>target</code> will be excluded from the results</em><br>optional field<br>if set to <code>true</code>, the results will not include data on internal backlinks from subdomains of the same domain as <code>target</code><br>if set to <code>false</code>, internal links will be included in the results<br>default value: <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "exclude_large_domains": {
        +        "description": "<em>indicates whether large domain will appear in results</em><br>optional field<br>if set to <code>true</code>, the results from the large domain (google.com, amazon.com, etc.) will be omitted;<br>default value: <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "filters": {
        +        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>, <code>not_like</code>, <code>ilike</code>, <code>not_ilike</code>, <code>match</code>, <code>not_match</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters<br>example:<br><code>[\"rank\",\"&gt;\",\"100\"]</code><p><code>[[\"target\",\"like\",\"%forbes%\"],<br>\"and\",<br>[[\"rank\",\"&gt;\",\"100\"],\"or\",[\"intersections\",\"&gt;\",\"5\"]]]</code><p>The full list of possible filters is available <a href=\"/v3/backlinks/filters/?bash\" rel=\"noopener noreferrer\" target=\"_blank\">here.</a>",
        +        "items": {
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "limit": {
        +        "description": "<em>the maximum number of returned domains</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "main_domain": {
        +        "description": "<em>indicates if only main domain of the <code>target</code> will be included in the search</em><br>optional field<br>if set to <code>true</code>, only the main domain will be included in search;<br>default value: <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "offset": {
        +        "description": "<em>offset in the results array of returned domains</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten domains in the results array will be omitted and the data will be provided for the successive pages",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "order_by": {
        +        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to set up a sorting type<br>example:<br><code>[\"rank,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"intersections,desc\",\"rank,asc\"]</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "rank_scale": {
        +        "description": "<em>defines the scale used for calculating and displaying the <code>rank</code>, <code>domain_from_rank</code>, and <code>page_from_rank</code> values</em><br>optional field<p>you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale<p>possible values:<br><code>one_hundred</code> — rank values are displayed on a 0–100 scale<br><code>one_thousand</code> — rank values are displayed on a 0–1000 scale<p>default value: <code>one_thousand</code><p>learn more about how this parameter works and how ranking metrics are calculated in <a href=\"https://dataforseo.com/help-center/what_is_rank_in_backlinks_api#rank_scale\">this Help Center article</a>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "target": {
        +        "description": "<em>domain, subdomain or webpage to get competitor domains for</em><br><strong>required field</strong><br>a domain or a subdomain should be specified without <code>https://</code> and <code>www.</code><br>a page should be specified with absolute URL (including <code>http://</code> or <code>https://</code>)",
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "exclude_internal_backlinks": {
        -    "description": "indicates if internal backlinks from subdomains to the target will be excluded from the results optional field if set to true, the results will not include data on internal backlinks from subdomains of the same domain as target if set to false, internal links will be included in the results default value: true",
        -    "type": "boolean"
        -  },
        -  "exclude_large_domains": {
        -    "description": "indicates whether large domain will appear in results optional field if set to true, the results from the large domain (google.com, amazon.com, etc.) will be omitted; default value: true",
        -    "type": "boolean"
        -  },
        -  "filters": {
        -    "description": "array of results filtering parameters optional field you can add several filters at once (8 filters maximum) you should set a logical operator and, or between the conditions the following operators are supported: regex, not_regex, =, , in, not_in, like, not_like, ilike, not_ilike, match, not_match you can use the % operator with like and not_like to match any string of zero or more characters example: [\"rank\",\">\",\"100\"] [[\"target\",\"like\",\"%forbes%\"], \"and\", [[\"rank\",\">\",\"100\"],\"or\",[\"intersections\",\">\",\"5\"]]] The full list of possible filters is available here.",
        -    "items": {},
        -    "type": "array"
        -  },
        -  "limit": {
        -    "description": "the maximum number of returned domains optional field default value: 100 maximum value: 1000",
        -    "type": "integer"
        -  },
        -  "main_domain": {
        -    "description": "indicates if only main domain of the target will be included in the search optional field if set to true, only the main domain will be included in search; default value: true",
        -    "type": "boolean"
        -  },
        -  "offset": {
        -    "description": "offset in the results array of returned domains optional field default value: 0 if you specify the 10 value, the first ten domains in the results array will be omitted and the data will be provided for the successive pages",
        -    "type": "integer"
        -  },
        -  "order_by": {
        -    "description": "results sorting rules optional field you can use the same values as in the filters array to sort the results possible sorting types: asc – results will be sorted in the ascending order desc – results will be sorted in the descending order you should use a comma to set up a sorting type example: [\"rank,desc\"] note that you can set no more than three sorting rules in a single request you should use a comma to separate several sorting rules example: [\"intersections,desc\",\"rank,asc\"]",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "rank_scale": {
        -    "description": "defines the scale used for calculating and displaying the rank, domain_from_rank, and page_from_rank values optional field you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale possible values: one_hundred — rank values are displayed on a 0–100 scale one_thousand — rank values are displayed on a 0–1000 scale default value: one_thousand learn more about how this parameter works and how ranking metrics are calculated in this Help Center article",
        -    "type": "string"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  },
        -  "target": {
        -    "description": "domain, subdomain or webpage to get competitor domains for required field a domain or a subdomain should be specified without https:// and www. a page should be specified with absolute URL (including http:// or https://)",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "target"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_backlinks_history_live7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "date_from": "2020-01-01",
        +    "date_to": "2021-01-01",
        +    "target": "cnn.com"
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "date_from": "2020-01-01",
        +        "date_to": "2021-01-01",
        +        "target": "cnn.com"
        +      }
        +    ],
        +    "properties": {
        +      "date_from": {
        +        "description": "<em>starting date of the time range</em><br>optional field<br>minimum value <code>2019-01-01</code><br>if you don't specify this field, the minimum value will be used by default<br>date format: <code>\"yyyy-mm-dd\"</code><br>example:<br><code>\"2019-01-15\"</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "date_to": {
        +        "description": "<em>ending date of the time range</em><br>optional field<br>if you don't specify this field, the today's date will be used by default<br>date format: <code>\"yyyy-mm-dd\"</code><br>example:<br><code>\"2019-01-15\"</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "rank_scale": {
        +        "description": "<em>defines the scale used for calculating and displaying the <code>rank</code>, <code>domain_from_rank</code>, and <code>page_from_rank</code> values</em><br>optional field<p>you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale<p>possible values:<br><code>one_hundred</code> — rank values are displayed on a 0–100 scale<br><code>one_thousand</code> — rank values are displayed on a 0–1000 scale<p>default value: <code>one_thousand</code><p>learn more about how this parameter works and how ranking metrics are calculated in <a href=\"https://dataforseo.com/help-center/what_is_rank_in_backlinks_api#rank_scale\">this Help Center article</a>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "target": {
        +        "description": "<em>domain</em><br><strong>required field</strong><br>a domain should be specified without <code>https://</code> and <code>www.</code>",
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "date_from": {
        -    "description": "starting date of the time range optional field minimum value 2019-01-01 if you don’t specify this field, the minimum value will be used by default date format: \"yyyy-mm-dd\" example: \"2019-01-15\"",
        -    "type": "string"
        -  },
        -  "date_to": {
        -    "description": "ending date of the time range optional field if you don’t specify this field, the today’s date will be used by default date format: \"yyyy-mm-dd\" example: \"2019-01-15\"",
        -    "type": "string"
        -  },
        -  "rank_scale": {
        -    "description": "defines the scale used for calculating and displaying the rank, domain_from_rank, and page_from_rank values optional field you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale possible values: one_hundred — rank values are displayed on a 0–100 scale one_thousand — rank values are displayed on a 0–1000 scale default value: one_thousand learn more about how this parameter works and how ranking metrics are calculated in this Help Center article",
        -    "type": "string"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  },
        -  "target": {
        -    "description": "domain required field a domain should be specified without https:// and www.",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "target"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_backlinks_referring_domains_live7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "backlinks_filters": [
        +      "dofollow",
        +      "=",
        +      true
        +    ],
        +    "exclude_internal_backlinks": true,
        +    "filters": [
        +      "backlinks",
        +      ">",
        +      100
        +    ],
        +    "limit": 5,
        +    "order_by": [
        +      "rank,desc"
        +    ],
        +    "target": "backlinko.com"
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "backlinks_filters": [
        +          "dofollow",
        +          "=",
        +          true
        +        ],
        +        "exclude_internal_backlinks": true,
        +        "filters": [
        +          "backlinks",
        +          ">",
        +          100
        +        ],
        +        "limit": 5,
        +        "order_by": [
        +          "rank,desc"
        +        ],
        +        "target": "backlinko.com"
        +      }
        +    ],
        +    "properties": {
        +      "backlinks_filters": {
        +        "description": "<em>filter the backlinks of your <code>target</code></em><br>optional field<br>you can use this field to filter the initial backlinks that will be included in the dataset for aggregated metrics for your <code>target</code><br>you can filter the backlinks by all fields available in the response of <a href=\"/v3/backlinks/backlinks/live\">this endpoint</a><br>using this parameter, you can include only dofollow backlinks in the response and create a flexible backlinks dataset to calculate the metrics for<br>example:<br><code>\"backlinks_filters\": [\"dofollow\", \"=\", true]</code>",
        +        "items": {
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "backlinks_status_type": {
        +        "description": "<em>set what backlinks to return and count</em><br>optional field<br>you can use this field to choose what backlinks will be returned and used for aggregated metrics for your <code>target</code>;<br>possible values: <br><code>all</code> - all backlinks will be returned and counted;<br><code>live</code> - backlinks found during the last check will be returned and counted;<br><code>lost</code> - lost backlinks will be returned and counted;<p>default value: <code>live</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "exclude_internal_backlinks": {
        +        "description": "<em>indicates whether the backlinks from subdomains of the <code>target</code> are excluded</em><br>optional field<br>if set to <code>false</code>, the backlinks from subdomains of the <code>target</code> will be ommited and you won't receive the same domain in the response;<br>default value: <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "filters": {
        +        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>, <code>not_like</code>, <code>match</code>, <code>not_match</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters<br>example:<br><code>[\"referring_pages\",\"&gt;\",\"1\"]</code><p><code>[[\"referring_pages\",\"&gt;\",\"2\"],<br>\"and\",<br>[\"backlinks\",\"&gt;\",\"10\"]]</code><p><code>[[\"first_seen\",\">\",\"2017-10-23 11:31:45 +00:00\"],<br>\"and\",<br>[[\"domain\",\"like\",\"%dataforseo.com%\"],\"or\",[\"referring_domains\",\"&gt;\",\"10\"]]]</code><p>The full list of possible filters is available <a href=\"/v3/backlinks/filters/?bash\" rel=\"noopener noreferrer\" target=\"_blank\">here.</a>",
        +        "items": {
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "include_indirect_links": {
        +        "description": "<em>indicates if indirect links to the <code>target</code> will be included in the results</em><br>optional field<br>if set to <code>true</code>, the results will include data on indirect links pointing to a page that either redirects to the target, or points to a canonical page<br>if set to <code>false</code>, indirect links will be ignored<br>default value: <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_subdomains": {
        +        "description": "<em>indicates if the subdomains of the <code>target</code> will be included in the search</em><br>optional field<br>if set to <code>false</code>, the subdomains will be ignored<br>default value: <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "internal_list_limit": {
        +        "description": "<em>maximum number of elements within internal arrays</em><br>optional field<br>you can use this field to limit the number of elements within the following arrays:<br><code>referring_links_tld</code><br><code>referring_links_types</code><br><code>referring_links_attributes</code><br><code>referring_links_platform_types</code><br><code>referring_links_semantic_locations</code><p>default value: <code>10</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "limit": {
        +        "description": "<em>the maximum number of returned domains</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "offset": {
        +        "description": "<em>offset in the results array of returned domains</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten domains in the results array will be omitted and the data will be provided for the successive pages",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "order_by": {
        +        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to set up a sorting type<br>example:<br><code>[\"backlinks,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"backlinks,desc\",\"rank,asc\"]</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "rank_scale": {
        +        "description": "<em>defines the scale used for calculating and displaying the <code>rank</code>, <code>domain_from_rank</code>, and <code>page_from_rank</code> values</em><br>optional field<p>you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale<p>possible values:<br><code>one_hundred</code> — rank values are displayed on a 0–100 scale<br><code>one_thousand</code> — rank values are displayed on a 0–1000 scale<p>default value: <code>one_thousand</code><p>learn more about how this parameter works and how ranking metrics are calculated in <a href=\"https://dataforseo.com/help-center/what_is_rank_in_backlinks_api#rank_scale\">this Help Center article</a>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "target": {
        +        "description": "<em>domain, subdomain or webpage to get referring domains for</em><br><strong>required field</strong><br>a domain or a subdomain should be specified without <code>https://</code> and <code>www.</code><br>a page should be specified with absolute URL (including <code>http://</code> or <code>https://</code>)",
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "backlinks_filters": {
        -    "description": "filter the backlinks of your target optional field you can use this field to filter the initial backlinks that will be included in the dataset for aggregated metrics for your target you can filter the backlinks by all fields available in the response of this endpoint using this parameter, you can include only dofollow backlinks in the response and create a flexible backlinks dataset to calculate the metrics for example: \"backlinks_filters\": [\"dofollow\", \"=\", true]",
        -    "items": {},
        -    "type": "array"
        -  },
        -  "backlinks_status_type": {
        -    "description": "set what backlinks to return and count optional field you can use this field to choose what backlinks will be returned and used for aggregated metrics for your target; possible values: all – all backlinks will be returned and counted; live – backlinks found during the last check will be returned and counted; lost – lost backlinks will be returned and counted; default value: live",
        -    "type": "string"
        -  },
        -  "exclude_internal_backlinks": {
        -    "description": "indicates whether the backlinks from subdomains of the target are excluded optional field if set to false, the backlinks from subdomains of the target will be ommited and you won’t receive the same domain in the response; default value: true",
        -    "type": "boolean"
        -  },
        -  "filters": {
        -    "description": "array of results filtering parameters optional field you can add several filters at once (8 filters maximum) you should set a logical operator and, or between the conditions the following operators are supported: regex, not_regex, =, , in, not_in, like, not_like, match, not_match you can use the % operator with like and not_like to match any string of zero or more characters example: [\"referring_pages\",\">\",\"1\"] [[\"referring_pages\",\">\",\"2\"], \"and\", [\"backlinks\",\">\",\"10\"]] [[\"first_seen\",\">\",\"2017-10-23 11:31:45 +00:00\"], \"and\", [[\"domain\",\"like\",\"%dataforseo.com%\"],\"or\",[\"referring_domains\",\">\",\"10\"]]] The full list of possible filters is available here.",
        -    "items": {},
        -    "type": "array"
        -  },
        -  "include_indirect_links": {
        -    "description": "indicates if indirect links to the target will be included in the results optional field if set to true, the results will include data on indirect links pointing to a page that either redirects to the target, or points to a canonical page if set to false, indirect links will be ignored default value: true",
        -    "type": "boolean"
        -  },
        -  "include_subdomains": {
        -    "description": "indicates if the subdomains of the target will be included in the search optional field if set to false, the subdomains will be ignored default value: true",
        -    "type": "boolean"
        -  },
        -  "internal_list_limit": {
        -    "description": "maximum number of elements within internal arrays optional field you can use this field to limit the number of elements within the following arrays: referring_links_tld referring_links_types referring_links_attributes referring_links_platform_types referring_links_semantic_locations default value: 10 maximum value: 1000",
        -    "type": "integer"
        -  },
        -  "limit": {
        -    "description": "the maximum number of returned domains optional field default value: 100 maximum value: 1000",
        -    "type": "integer"
        -  },
        -  "offset": {
        -    "description": "offset in the results array of returned domains optional field default value: 0 if you specify the 10 value, the first ten domains in the results array will be omitted and the data will be provided for the successive pages",
        -    "type": "integer"
        -  },
        -  "order_by": {
        -    "description": "results sorting rules optional field you can use the same values as in the filters array to sort the results possible sorting types: asc – results will be sorted in the ascending order desc – results will be sorted in the descending order you should use a comma to set up a sorting type example: [\"backlinks,desc\"] note that you can set no more than three sorting rules in a single request you should use a comma to separate several sorting rules example: [\"backlinks,desc\",\"rank,asc\"]",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "rank_scale": {
        -    "description": "defines the scale used for calculating and displaying the rank, domain_from_rank, and page_from_rank values optional field you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale possible values: one_hundred — rank values are displayed on a 0–100 scale one_thousand — rank values are displayed on a 0–1000 scale default value: one_thousand learn more about how this parameter works and how ranking metrics are calculated in this Help Center article",
        -    "type": "string"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  },
        -  "target": {
        -    "description": "domain, subdomain or webpage to get referring domains for required field a domain or a subdomain should be specified without https:// and www. a page should be specified with absolute URL (including http:// or https://)",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "target"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_backlinks_summary_live7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "backlinks_filters": [
        +      "dofollow",
        +      "=",
        +      true
        +    ],
        +    "backlinks_status_type": "all",
        +    "include_subdomains": true,
        +    "internal_list_limit": 10,
        +    "target": "explodingtopics.com"
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "backlinks_filters": [
        +          "dofollow",
        +          "=",
        +          true
        +        ],
        +        "backlinks_status_type": "all",
        +        "include_subdomains": true,
        +        "internal_list_limit": 10,
        +        "target": "explodingtopics.com"
        +      }
        +    ],
        +    "properties": {
        +      "backlinks_filters": {
        +        "description": "<em>filter the backlinks of your <code>target</code></em><br>optional field<br>you can use this field to filter the initial backlinks that will be included in the dataset for aggregated metrics for your <code>target</code><br>you can filter the backlinks by all fields available in the response of <a href=\"/v3/backlinks/backlinks/live\">this endpoint</a><br>using this parameter, you can include only dofollow backlinks in the response and create a flexible backlinks dataset to calculate the metrics for<br>example:<br><code>\"backlinks_filters\": [\"dofollow\", \"=\", true]</code>",
        +        "items": {
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "backlinks_status_type": {
        +        "description": "<em>set what backlinks to return and count</em><br>optional field<br>you can use this field to choose what backlinks will be returned and used for aggregated metrics for your <code>target</code>;<br>possible values: <br><code>all</code> - all backlinks will be returned and counted;<br><code>live</code> - backlinks found during the last check will be returned and counted;<br><code>lost</code> - lost backlinks will be returned and counted;<p>default value: <code>live</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "exclude_internal_backlinks": {
        +        "description": "<em>indicates if internal backlinks from subdomains to the <code>target</code> will be excluded from the results</em><br>optional field<br>if set to <code>true</code>, the results will not include data on internal backlinks from subdomains of the same domain as <code>target</code><br>if set to <code>false</code>, internal links will be included in the results<br>default value: <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_indirect_links": {
        +        "description": "<em>indicates if indirect links to the <code>target</code> will be included in the results</em><br>optional field<br>if set to <code>true</code>, the results will include data on indirect links pointing to a page that either redirects to the target, or points to a canonical page<br>if set to <code>false</code>, indirect links will be ignored<br>default value: <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_subdomains": {
        +        "description": "<em>indicates if the subdomains of the <code>target</code> will be included in the search</em><br>optional field<br>if set to <code>false</code>, the subdomains will be ignored<br>default value: <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "internal_list_limit": {
        +        "description": "<em>maximum number of elements within internal arrays</em><br>optional field<br>you can use this field to limit the number of elements within the following arrays:<br><code>referring_links_tld</code><br><code>referring_links_types</code><br><code>referring_links_attributes</code><br><code>referring_links_platform_types</code><br><code>referring_links_semantic_locations</code><p>default value: <code>10</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "rank_scale": {
        +        "description": "<em>defines the scale used for calculating and displaying the <code>rank</code>, <code>domain_from_rank</code>, and <code>page_from_rank</code> values</em><br>optional field<p>you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale<p>possible values:<br><code>one_hundred</code> — rank values are displayed on a 0–100 scale<br><code>one_thousand</code> — rank values are displayed on a 0–1000 scale<p>default value: <code>one_thousand</code><p>learn more about how this parameter works and how ranking metrics are calculated in <a href=\"https://dataforseo.com/help-center/what_is_rank_in_backlinks_api#rank_scale\">this Help Center article</a>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "target": {
        +        "description": "<em>domain, subdomain or webpage to get data for</em><br><strong>required field</strong><br>a domain or a subdomain should be specified without <code>https://</code> and <code>www.</code><br>a page should be specified with absolute URL (including <code>http://</code> or <code>https://</code>)",
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "backlinks_filters": {
        -    "description": "filter the backlinks of your target optional field you can use this field to filter the initial backlinks that will be included in the dataset for aggregated metrics for your target you can filter the backlinks by all fields available in the response of this endpoint using this parameter, you can include only dofollow backlinks in the response and create a flexible backlinks dataset to calculate the metrics for example: \"backlinks_filters\": [\"dofollow\", \"=\", true]",
        -    "items": {},
        -    "type": "array"
        -  },
        -  "backlinks_status_type": {
        -    "description": "set what backlinks to return and count optional field you can use this field to choose what backlinks will be returned and used for aggregated metrics for your target; possible values: all – all backlinks will be returned and counted; live – backlinks found during the last check will be returned and counted; lost – lost backlinks will be returned and counted; default value: live",
        -    "type": "string"
        -  },
        -  "exclude_internal_backlinks": {
        -    "description": "indicates if internal backlinks from subdomains to the target will be excluded from the results optional field if set to true, the results will not include data on internal backlinks from subdomains of the same domain as target if set to false, internal links will be included in the results default value: true",
        -    "type": "boolean"
        -  },
        -  "include_indirect_links": {
        -    "description": "indicates if indirect links to the target will be included in the results optional field if set to true, the results will include data on indirect links pointing to a page that either redirects to the target, or points to a canonical page if set to false, indirect links will be ignored default value: true",
        -    "type": "boolean"
        -  },
        -  "include_subdomains": {
        -    "description": "indicates if the subdomains of the target will be included in the search optional field if set to false, the subdomains will be ignored default value: true",
        -    "type": "boolean"
        -  },
        -  "internal_list_limit": {
        -    "description": "maximum number of elements within internal arrays optional field you can use this field to limit the number of elements within the following arrays: referring_links_tld referring_links_types referring_links_attributes referring_links_platform_types referring_links_semantic_locations default value: 10 maximum value: 1000",
        -    "type": "integer"
        -  },
        -  "rank_scale": {
        -    "description": "defines the scale used for calculating and displaying the rank, domain_from_rank, and page_from_rank values optional field you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale possible values: one_hundred — rank values are displayed on a 0–100 scale one_thousand — rank values are displayed on a 0–1000 scale default value: one_thousand learn more about how this parameter works and how ranking metrics are calculated in this Help Center article",
        -    "type": "string"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  },
        -  "target": {
        -    "description": "domain, subdomain or webpage to get data for required field a domain or a subdomain should be specified without https:// and www. a page should be specified with absolute URL (including http:// or https://)",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "target"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_content_search_live6 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "filters": [
        +      "main_domain",
        +      "=",
        +      "reviewfinder.ca"
        +    ],
        +    "keyword": "logitech",
        +    "keyword_fields": {
        +      "snippet": "logitech"
        +    },
        +    "limit": 10,
        +    "order_by": [
        +      "content_info.sentiment_connotations.anger,desc"
        +    ],
        +    "page_type": [
        +      "ecommerce",
        +      "news",
        +      "blogs",
        +      "message-boards",
        +      "organization"
        +    ],
        +    "search_mode": "as_is"
        +  }
        +]
      • changedInput schema / properties / body / items / anyOf
        Previous value: -[
        -  {
        -    "required": [
        -      "keyword"
        -    ]
        -  },
        -  {
        -    "required": [
        -      "offset_token"
        -    ]
        -  }
        -]New value: +[
        +  {
        +    "example": [
        +      {
        +        "filters": [
        +          "main_domain",
        +          "=",
        +          "reviewfinder.ca"
        +        ],
        +        "keyword": "logitech",
        +        "keyword_fields": {
        +          "snippet": "logitech"
        +        },
        +        "limit": 10,
        +        "order_by": [
        +          "content_info.sentiment_connotations.anger,desc"
        +        ],
        +        "page_type": [
        +          "ecommerce",
        +          "news",
        +          "blogs",
        +          "message-boards",
        +          "organization"
        +        ],
        +        "search_mode": "as_is"
        +      }
        +    ],
        +    "properties": {
        +      "filters": {
        +        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>,<code>not_like</code>, <code>match</code>, <code>not_match</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters<br>example:<br><code>[\"country\",\"=\", \"US\"]</code><p><code>[[\"domain_rank\",\"&gt;\",800],\"and\",[\"content_info.connotation_types.negative\",\"&gt;\",0.9]]</code><p><code>[[\"domain_rank\",\"&gt;\",800],<br>\"and\",<br>[[\"page_types\",\"has\",\"ecommerce\"],<br>\"or\",<p>[\"content_info.text_category\",\"has\",10994]]]</code><br>for more information about filters, please refer to <a href=\"/v3/content_analysis/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Content Analysis API - Filters</a>",
        +        "items": {
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "keyword": {
        +        "description": "<em>target keyword</em><br><strong>required field</strong><br>UTF-8 encoding<br>the keywords will be converted to a lowercase format;<br><strong>Note</strong>: to match an exact phrase instead of a stand-alone keyword, use double quotes and backslashes; <br>example: <br>`\"keyword\": \"\\\"tesla palo alto\\\"\"`<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        +        "type": "string"
        +      },
        +      "keyword_fields": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "description": "<em>target keyword fields and target keywords</em><br>optional field<br>use this parameter to filter the dataset by keywords that certain fields should contain;<br>fields you can specify: <code>title</code>, <code>main_title</code>, <code>previous_title</code>, <code>snippet</code><br>you can indicate several fields;<br><strong>Note</strong>: to match an exact phrase instead of a stand-alone keyword, use double quotes and backslashes; <br>example:<br>`\"keyword_fields\": {<br>\"snippet\": \"\\\"logitech mouse\\\"\",<br>\"main_title\": \"sale\"<br>}\"`",
        +        "type": [
        +          "object",
        +          "null"
        +        ]
        +      },
        +      "limit": {
        +        "description": "<em>the maximum number of returned citations</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "offset": {
        +        "description": "<em>offset in the results array of returned citations</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten citations in the results array will be omitted and the data will be provided for the successive citations<br><strong>Note:</strong> we recommend using this parameter only when retrieving up to 10,000 results<br>for retrieving over 10,000 results, use the <code>offset_token</code> instead.",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "offset_token": {
        +        "description": "<em>offset token for subsequent requests</em><br>optional field<br>provided in the identical field of the response to each request;<br>use this parameter to avoid timeouts while trying to obtain over 10,000 results in a single request;<br>by specifying the unique <code>offset_token</code> value from the response array, you will get the subsequent results of the initial task;<br><code>offset_token</code> values are unique for each subsequent task <br><strong>Note:</strong> if the <code>offset_token</code> is specified in the request, all other parameters except <code>limit</code> will not be taken into account when processing a task<br>learn more about this parameter on our <a href=\"https://dataforseo.com/help-center/what-is-the-difference-between-the-offset-and-offset_token-parameters#offset_token\" target=\"_blank\">Help Center</a>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "order_by": {
        +        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to set up a sorting type<br>example:<br><code>[\"content_info.sentiment_connotations.anger,desc\"]</code><br>default rule:<br><code>[\"content_info.sentiment_connotations.anger,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"content_info.sentiment_connotations.anger,desc\",\"keyword_data.keyword_info.cpc,desc\"]</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "page_type": {
        +        "description": "<em>target page types</em><br>optional field<br>use this parameter to filter the dataset by page types<br>possible values: <br><code>\"ecommerce\"</code>, <code>\"news\"</code>, <code>\"blogs\"</code>, <code>\"message-boards\"</code>, <code>\"organization\"</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "rank_scale": {
        +        "description": "<em>defines the scale used for calculating and displaying the <code>domain_rank</code>, and <code>url_rank</code> values</em><br>optional field<p>you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale<p>possible values:<br><code>one_hundred</code> — rank values are displayed on a 0–100 scale<br><code>one_thousand</code> — rank values are displayed on a 0–1000 scale<p>default value: <code>one_thousand</code><p>learn more about how this parameter works in <a href=\"https://dataforseo.com/help-center/using-the-rank_scale-parameter-in-content-analysis-api\">this Help Center article</a>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "search_mode": {
        +        "description": "<em>results grouping type</em><br>optional field<br>possible grouping types:<br><code>as_is</code> - returns all citations for the target <code>keyword</code><br><code>one_per_domain</code> - returns one citation of the <code>keyword</code> per domain<br>default value: <code>as_is</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "filters": {
        -    "description": "array of results filtering parameters optional field you can add several filters at once (8 filters maximum) you should set a logical operator and, or between the conditions the following operators are supported: regex, not_regex, , , >, >=, =, , in, not_in, like,not_like, match, not_match you can use the % operator with like and not_like to match any string of zero or more characters example: [\"country\",\"=\", \"US\"] [[\"domain_rank\",\">\",800],\"and\",[\"content_info.connotation_types.negative\",\">\",0.9]] [[\"domain_rank\",\">\",800], \"and\", [[\"page_types\",\"has\",\"ecommerce\"], \"or\", [\"content_info.text_category\",\"has\",10994]]] for more information about filters, please refer to Content Analysis API – Filters",
        -    "items": {},
        -    "type": "array"
        -  },
        -  "keyword": {
        -    "description": "target keyword required field UTF-8 encoding the keywords will be converted to a lowercase format; Note: to match an exact phrase instead of a stand-alone keyword, use double quotes and backslashes; example: \"keyword\": \"\\\"tesla palo alto\\\"\" learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        -    "type": "string"
        -  },
        -  "keyword_fields": {
        -    "description": "target keyword fields and target keywords optional field use this parameter to filter the dataset by keywords that certain fields should contain; fields you can specify: title, main_title, previous_title, snippet you can indicate several fields; Note: to match an exact phrase instead of a stand-alone keyword, use double quotes and backslashes; example: \"keyword_fields\": { \"snippet\": \"\\\"logitech mouse\\\"\", \"main_title\": \"sale\" }",
        -    "properties": {
        -      "main_title": {
        -        "type": "string"
        -      },
        -      "previous_title": {
        -        "type": "string"
        -      },
        -      "snippet": {
        -        "type": "string"
        -      },
        -      "title": {
        -        "type": "string"
        -      }
        -    },
        -    "type": "object"
        -  },
        -  "limit": {
        -    "description": "the maximum number of returned citations optional field default value: 100 maximum value: 1000",
        -    "type": "integer"
        -  },
        -  "offset": {
        -    "description": "offset in the results array of returned citations optional field default value: 0 if you specify the 10 value, the first ten citations in the results array will be omitted and the data will be provided for the successive citations Note: we recommend using this parameter only when retrieving up to 10,000 results for retrieving over 10,000 results, use the offset_token instead.",
        -    "type": "integer"
        -  },
        -  "offset_token": {
        -    "description": "offset token for subsequent requests optional field provided in the identical field of the response to each request; use this parameter to avoid timeouts while trying to obtain over 10,000 results in a single request; by specifying the unique offset_token value from the response array, you will get the subsequent results of the initial task; offset_token values are unique for each subsequent task Note: if the offset_token is specified in the request, all other parameters except limit will not be taken into account when processing a task learn more about this parameter on our Help Center",
        -    "type": "string"
        -  },
        -  "order_by": {
        -    "description": "results sorting rules optional field you can use the same values as in the filters array to sort the results possible sorting types: asc – results will be sorted in the ascending order desc – results will be sorted in the descending order you should use a comma to set up a sorting type example: [\"content_info.sentiment_connotations.anger,desc\"] default rule: [\"content_info.sentiment_connotations.anger,desc\"] note that you can set no more than three sorting rules in a single request you should use a comma to separate several sorting rules example: [\"content_info.sentiment_connotations.anger,desc\",\"keyword_data.keyword_info.cpc,desc\"]",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "page_type": {
        -    "description": "target page types optional field use this parameter to filter the dataset by page types possible values: \"ecommerce\", \"news\", \"blogs\", \"message-boards\", \"organization\"",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "rank_scale": {
        -    "description": "defines the scale used for calculating and displaying the domain_rank, and url_rank values optional field you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale possible values: one_hundred — rank values are displayed on a 0–100 scale one_thousand — rank values are displayed on a 0–1000 scale default value: one_thousand learn more about how this parameter works in this Help Center article",
        -    "type": "string"
        -  },
        -  "search_mode": {
        -    "description": "results grouping type optional field possible grouping types: as_is – returns all citations for the target keyword one_per_domain – returns one citation of the keyword per domain default value: as_is",
        -    "type": "string"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  }
        -}
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_content_sentiment_analysis_live7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "internal_list_limit": 1,
        +    "keyword": "logitech"
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "internal_list_limit": 1,
        +        "keyword": "logitech"
        +      }
        +    ],
        +    "properties": {
        +      "initial_dataset_filters": {
        +        "description": "initial dataset filtering parameters\noptional field\ninitial filtering parameters that apply to fields in the Search endpoint\nyou can add several filters at once (8 filters maximum)\nyou should set a logical operator and, or between the conditions\nthe following operators are supported:\nregex, not_regex, <, <=, >, >=, =, <>, in, not_in, like,not_like, has, has_not, match, not_match\nyou can use the % operator with like and not_like to match any string of zero or more characters\nexample:\n[\"domain\",\"<>\", \"logitech.com\"]\n[[\"domain\",\"<>\",\"logitech.com\"],\"and\",[\"content_info.connotation_types.negative\",\">\",1000]]\n[[\"domain\",\"<>\",\"logitech.com\"]],\n\"and\",\n[[\"content_info.connotation_types.negative\",\">\",1000],\n\"or\",\n[\"content_info.text_category\",\"has\",10994]]]\nfor more information about filters, please refer to Content Analysis API – Filters\nlearn more about the initial dataset filters in this help center article.",
        +        "items": {
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "internal_list_limit": {
        +        "description": "maximum number of elements within internal arrays\noptional field\nyou can use this field to limit the number of elements within the following arrays:\ntop_domains\ntext_categories\npage_categories\ncountries\nlanguages\ndefault value: 1\nmaximum value: 20",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "keyword": {
        +        "description": "target keyword\nrequired field\nUTF-8 encoding\nthe keywords will be converted to a lowercase format;\nNote: to match an exact phrase instead of a stand-alone keyword, use double quotes and backslashes;\nexample:\n\"keyword\": \"\\\"tesla palo alto\\\"\"\nlearn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        +        "type": "string"
        +      },
        +      "keyword_fields": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "description": "target keyword fields and target keywords\noptional field\nuse this parameter to filter the dataset by keywords that certain fields should contain;\nfields you can specify: title, main_title, previous_title, snippet\nyou can indicate several fields;\nNote: to match an exact phrase instead of a stand-alone keyword, use double quotes and backslashes;\nexample:\n\"keyword_fields\": {\n    \"snippet\": \"\\\"logitech mouse\\\"\",\n    \"main_title\": \"sale\"\n}",
        +        "type": [
        +          "object",
        +          "null"
        +        ]
        +      },
        +      "page_type": {
        +        "description": "target page types\noptional field\nuse this parameter to filter the dataset by page types\npossible values:\n\"ecommerce\", \"news\", \"blogs\", \"message-boards\", \"organization\"",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "positive_connotation_threshold": {
        +        "description": "positive connotation threshold\noptional field\nspecified as the probability index threshold for positive sentiment related to the citation content\nif you specify this field, connotation_types object in the response will only contain data on citations with positive sentiment probability more than or equal to the specified value\npossible values: from 0 to 1\ndefault value: 0.4",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "rank_scale": {
        +        "description": "defines the scale used for calculating and displaying the rank values\noptional field\nyou can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale\npossible values:\none_hundred — rank values are displayed on a 0–100 scale\none_thousand — rank values are displayed on a 0–1000 scale\ndefault value: one_thousand\nlearn more about how this parameter works in this Help Center article",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "sentiments_connotation_threshold": {
        +        "description": "sentiment connotation threshold\noptional field\nspecified as the probability index threshold for sentiment connotations related to the citation content\nif you specify this field, sentiment_connotations object in the response will only contain data on citations where the probability per each sentiment is more than or equal to the specified value\npossible values: from 0 to 1\ndefault value: 0.4",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "user-defined task identifier\noptional field\nthe character limit is 255\nyou can use this parameter to identify the task and match it with the result\nyou will find the specified tag value in the data object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "initial_dataset_filters": {
        -    "description": "initial dataset filtering parameters optional field initial filtering parameters that apply to fields in the Search endpoint you can add several filters at once (8 filters maximum) you should set a logical operator and, or between the conditions the following operators are supported: regex, not_regex, , , >, >=, =, , in, not_in, like,not_like, has, has_not, match, not_match you can use the % operator with like and not_like to match any string of zero or more characters example: [\"domain\",\"\", \"logitech.com\"] [[\"domain\",\"\",\"logitech.com\"],\"and\",[\"content_info.connotation_types.negative\",\">\",1000]] [[\"domain\",\"\",\"logitech.com\"]], \"and\", [[\"content_info.connotation_types.negative\",\">\",1000], \"or\", [\"content_info.text_category\",\"has\",10994]]] for more information about filters, please refer to Content Analysis API – Filters learn more about the initial dataset filters in this help center article.",
        -    "items": {},
        -    "type": "array"
        -  },
        -  "internal_list_limit": {
        -    "description": "maximum number of elements within internal arrays optional field you can use this field to limit the number of elements within the following arrays: top_domains text_categories page_categories countries languages default value: 1 maximum value: 20",
        -    "type": "integer"
        -  },
        -  "keyword": {
        -    "description": "target keyword required field UTF-8 encoding the keywords will be converted to a lowercase format; Note: to match an exact phrase instead of a stand-alone keyword, use double quotes and backslashes; example: \"keyword\": \"\\\"tesla palo alto\\\"\" learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        -    "type": "string"
        -  },
        -  "keyword_fields": {
        -    "description": "target keyword fields and target keywords optional field use this parameter to filter the dataset by keywords that certain fields should contain; fields you can specify: title, main_title, previous_title, snippet you can indicate several fields; Note: to match an exact phrase instead of a stand-alone keyword, use double quotes and backslashes; example: \"keyword_fields\": { \"snippet\": \"\\\"logitech mouse\\\"\", \"main_title\": \"sale\" }",
        -    "properties": {
        -      "main_title": {
        -        "type": "string"
        -      },
        -      "previous_title": {
        -        "type": "string"
        -      },
        -      "snippet": {
        -        "type": "string"
        -      },
        -      "title": {
        -        "type": "string"
        -      }
        -    },
        -    "type": "object"
        -  },
        -  "page_type": {
        -    "description": "target page types optional field use this parameter to filter the dataset by page types possible values: \"ecommerce\", \"news\", \"blogs\", \"message-boards\", \"organization\"",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "positive_connotation_threshold": {
        -    "description": "positive connotation threshold optional field specified as the probability index threshold for positive sentiment related to the citation content if you specify this field, connotation_types object in the response will only contain data on citations with positive sentiment probability more than or equal to the specified value possible values: from 0 to 1 default value: 0.4",
        -    "type": "number"
        -  },
        -  "rank_scale": {
        -    "description": "defines the scale used for calculating and displaying the rank values optional field you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale possible values: one_hundred — rank values are displayed on a 0–100 scale one_thousand — rank values are displayed on a 0–1000 scale default value: one_thousand learn more about how this parameter works in this Help Center article",
        -    "type": "string"
        -  },
        -  "sentiments_connotation_threshold": {
        -    "description": "sentiment connotation threshold optional field specified as the probability index threshold for sentiment connotations related to the citation content if you specify this field, sentiment_connotations object in the response will only contain data on citations where the probability per each sentiment is more than or equal to the specified value possible values: from 0 to 1 default value: 0.4",
        -    "type": "number"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "keyword"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_content_summary_live7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "internal_list_limit": 8,
        +    "keyword": "logitech",
        +    "page_type": [
        +      "ecommerce",
        +      "news",
        +      "blogs",
        +      "message-boards",
        +      "organization"
        +    ],
        +    "positive_connotation_threshold": 0.5
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "internal_list_limit": 8,
        +        "keyword": "logitech",
        +        "page_type": [
        +          "ecommerce",
        +          "news",
        +          "blogs",
        +          "message-boards",
        +          "organization"
        +        ],
        +        "positive_connotation_threshold": 0.5
        +      }
        +    ],
        +    "properties": {
        +      "initial_dataset_filters": {
        +        "description": "<em>initial dataset filtering parameters</em><br>optional field<br>initial filtering parameters that apply to fields in the <a href=\"/v3/content_analysis/search/live/?bash\" target=\"_blank\">Search endpoint</a><br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>,<code>not_like</code>, <code>has</code>, <code>has_not</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters<br>example:<br><code>[\"domain\",\"&lt;&gt;\", \"logitech.com\"]</code><p><code>[[\"domain\",\"&lt;&gt;\",\"logitech.com\"],\"and\",[\"content_info.connotation_types.negative\",\"&gt;\",1000]]</code><p><code>[[\"domain\",\"&lt;&gt\",\"logitech.com\"]],<br>\"and\",<br>[[\"content_info.connotation_types.negative\",\"&gt;\",1000],<br>\"or\",<p>[\"content_info.text_category\",\"has\",10994]]]</code><br>for more information about filters, please refer to <a href=\"/v3/content_analysis/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Content Analysis API - Filters</a><br>learn more about the initial dataset filters in <a href=\"https://dataforseo.com/help-center/what-are-the-initial-dataset-filters-and-how-do-they-work\" rel=\"noopener noreferrer\" target=\"_blank\">this help center article.</a>",
        +        "items": {
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "internal_list_limit": {
        +        "description": "<em>maximum number of elements within internal arrays</em><br>optional field<br>you can use this field to limit the number of elements within the following arrays:<br><code>top_domains</code><br><code>text_categories</code><br><code>page_categories</code><br><code>countries</code><br><code>languages</code><br>default value: <code>1</code><br>maximum value: <code>20</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "keyword": {
        +        "description": "<em>target keyword</em><br><strong>required field</strong><br>UTF-8 encoding<br>the keywords will be converted to a lowercase format;<br><strong>Note</strong>: to match an exact phrase instead of a stand-alone keyword, use double quotes and backslashes; <br>example: <br><code>\"keyword\": \"\\\"tesla palo alto\\\"\"</code><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        +        "type": "string"
        +      },
        +      "keyword_fields": {
        +        "additionalProperties": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "description": "<em>target keyword fields and target keywords</em><br>optional field<br>use this parameter to filter the dataset by keywords that certain fields should contain;<br>fields you can specify: <code>title</code>, <code>main_title</code>, <code>previous_title</code>, <code>snippet</code><br>you can indicate several fields;<br><strong>Note</strong>: to match an exact phrase instead of a stand-alone keyword, use double quotes and backslashes; <br>example:<br><code>\"keyword_fields\": {<br>\"snippet\": \"\\\"logitech mouse\\\"\",<br>\"main_title\": \"sale\"<br>}</code>",
        +        "type": [
        +          "object",
        +          "null"
        +        ]
        +      },
        +      "page_type": {
        +        "description": "<em>target page types</em><br>optional field<br>use this parameter to filter the dataset by page types<br>possible values: <br><code>\"ecommerce\"</code>, <code>\"news\"</code>, <code>\"blogs\"</code>, <code>\"message-boards\"</code>, <code>\"organization\"</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "positive_connotation_threshold": {
        +        "description": "<em>positive connotation threshold</em><br>optional field<br>specified as the probability index threshold for positive sentiment related to the citation content<br>if you specify this field, <code>connotation_types</code> object in the response will only contain data on citations with <code>positive</code> sentiment probability more than or equal to the specified value<br>possible values: from <code>0</code> to <code>1</code><br>default value: <code>0.4</code>",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "rank_scale": {
        +        "description": "<em>defines the scale used for calculating and displaying the <code>rank</code> values</em><br>optional field<p>you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale<p>possible values:<br><code>one_hundred</code> — rank values are displayed on a 0–100 scale<br><code>one_thousand</code> — rank values are displayed on a 0–1000 scale<p>default value: <code>one_thousand</code><p>learn more about how this parameter works in <a href=\"https://dataforseo.com/help-center/using-the-rank_scale-parameter-in-content-analysis-api\">this Help Center article</a>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "sentiments_connotation_threshold": {
        +        "description": "<em>sentiment connotation threshold</em><br>optional field<br>specified as the probability index threshold for sentiment connotations related to the citation content<br>if you specify this field, <code>sentiment_connotations</code> object in the response will only contain data on citations where the <br>probability per each sentiment is more than or equal to the specified value<br>possible values: from <code>0</code> to <code>1</code><br>default value: <code>0.4</code>",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "initial_dataset_filters": {
        -    "description": "initial dataset filtering parameters optional field initial filtering parameters that apply to fields in the Search endpoint you can add several filters at once (8 filters maximum) you should set a logical operator and, or between the conditions the following operators are supported: regex, not_regex, , , >, >=, =, , in, not_in, like,not_like, has, has_not you can use the % operator with like and not_like to match any string of zero or more characters example: [\"domain\",\"\", \"logitech.com\"] [[\"domain\",\"\",\"logitech.com\"],\"and\",[\"content_info.connotation_types.negative\",\">\",1000]] [[\"domain\",\"\",\"logitech.com\"]], \"and\", [[\"content_info.connotation_types.negative\",\">\",1000], \"or\", [\"content_info.text_category\",\"has\",10994]]] for more information about filters, please refer to Content Analysis API – Filters learn more about the initial dataset filters in this help center article.",
        -    "items": {},
        -    "type": "array"
        -  },
        -  "internal_list_limit": {
        -    "description": "maximum number of elements within internal arrays optional field you can use this field to limit the number of elements within the following arrays: top_domains text_categories page_categories countries languages default value: 1 maximum value: 20",
        -    "type": "integer"
        -  },
        -  "keyword": {
        -    "description": "target keyword required field UTF-8 encoding the keywords will be converted to a lowercase format; Note: to match an exact phrase instead of a stand-alone keyword, use double quotes and backslashes; example: \"keyword\": \"\\\"tesla palo alto\\\"\" learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        -    "type": "string"
        -  },
        -  "keyword_fields": {
        -    "description": "target keyword fields and target keywords optional field use this parameter to filter the dataset by keywords that certain fields should contain; fields you can specify: title, main_title, previous_title, snippet you can indicate several fields; Note: to match an exact phrase instead of a stand-alone keyword, use double quotes and backslashes; example: \"keyword_fields\": { \"snippet\": \"\\\"logitech mouse\\\"\", \"main_title\": \"sale\" }",
        -    "properties": {
        -      "main_title": {
        -        "type": "string"
        -      },
        -      "previous_title": {
        -        "type": "string"
        -      },
        -      "snippet": {
        -        "type": "string"
        -      },
        -      "title": {
        -        "type": "string"
        -      }
        -    },
        -    "type": "object"
        -  },
        -  "page_type": {
        -    "description": "target page types optional field use this parameter to filter the dataset by page types possible values: \"ecommerce\", \"news\", \"blogs\", \"message-boards\", \"organization\"",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "positive_connotation_threshold": {
        -    "description": "positive connotation threshold optional field specified as the probability index threshold for positive sentiment related to the citation content if you specify this field, connotation_types object in the response will only contain data on citations with positive sentiment probability more than or equal to the specified value possible values: from 0 to 1 default value: 0.4",
        -    "type": "number"
        -  },
        -  "rank_scale": {
        -    "description": "defines the scale used for calculating and displaying the rank values optional field you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale possible values: one_hundred — rank values are displayed on a 0–100 scale one_thousand — rank values are displayed on a 0–1000 scale default value: one_thousand learn more about how this parameter works in this Help Center article",
        -    "type": "string"
        -  },
        -  "sentiments_connotation_threshold": {
        -    "description": "sentiment connotation threshold optional field specified as the probability index threshold for sentiment connotations related to the citation content if you specify this field, sentiment_connotations object in the response will only contain data on citations where the probability per each sentiment is more than or equal to the specified value possible values: from 0 to 1 default value: 0.4",
        -    "type": "number"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "keyword"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_domains_tech_for_domain_live7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "target": "dataforseo.com"
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "target": "dataforseo.com"
        +      }
        +    ],
        +    "properties": {
        +      "target": {
        +        "description": "<em>target domain</em><br><strong>required field</strong><br>domain name of the website to analyze<br><strong>Note:</strong> results will be returned for the specified domain only",
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "target": {
        -    "description": "target domain required field domain name of the website to analyze Note: results will be returned for the specified domain only",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "target"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_domains_whois_overview_live5 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "filters": [
        +      [
        +        "epp_status_codes",
        +        "in",
        +        [
        +          "client_transfer_prohibited",
        +          "client_update_prohibited"
        +        ]
        +      ]
        +    ],
        +    "limit": 2
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "filters": [
        +          [
        +            "epp_status_codes",
        +            "in",
        +            [
        +              "client_transfer_prohibited",
        +              "client_update_prohibited"
        +            ]
        +          ]
        +        ],
        +        "limit": 2
        +      }
        +    ],
        +    "properties": {
        +      "filters": {
        +        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>, <code>not_like</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters",
        +        "items": {
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "limit": {
        +        "description": "<em>the maximum number of returned domains</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "offset": {
        +        "description": "<em>offset in the results array of returned items</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten <code>items</code> in the results array will be omitted and the data will be provided for the successive items;<br><strong>Note:</strong> we recommend using this parameter only when retrieving up to 10,000 results for retrieving over 10,000 results, use the <code>offset_token</code> instead",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "offset_token": {
        +        "description": "<em>token for subsequent requests</em><br>optional field<br>provided in the identical filed of the response to each request;<br>use this parameter to avoid timeouts while trying to obtain over 100,000 results in a single request;<br>by specifying the unique <code>offset_token</code> value from the response array, you will get the subsequent results of the initial task;<br><code>offset_token</code> values are unique for each subsequent task<br><strong>Note:</strong> if the <code>offset_token</code> is specified in the request, all other parameters should be identical to the previous request<br>learn more about this parameter on our <a href=\"https://dataforseo.com/help-center/what-is-the-difference-between-the-offset-and-offset_token-parameters#offset_token\" target=\"_blank\">Help Center</a>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "order_by": {
        +        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>the comma is used as a separator<br>example:<br><code>[\"metrics.organic.pos_1,desc\"]</code><br>default rule:<br><code>[\"metrics.organic.count,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"expiration_datetime,asc\",\"metrics.organic.etv,desc\",\"metrics.organic.pos_1,desc\"]</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "filters": {
        -    "description": "array of results filtering parameters optional field you can add several filters at once (8 filters maximum) you should set a logical operator and, or between the conditions the following operators are supported: regex, , , >, >=, =, , in, not_in, like, not_like you can use the % operator with like and not_like to match any string of zero or more characters",
        -    "items": {},
        -    "type": "array"
        -  },
        -  "limit": {
        -    "description": "the maximum number of returned domains optional field default value: 100 maximum value: 1000",
        -    "type": "integer"
        -  },
        -  "offset": {
        -    "description": "offset in the results array of returned items optional field default value: 0 if you specify the 10 value, the first ten items in the results array will be omitted and the data will be provided for the successive items; Note: we recommend using this parameter only when retrieving up to 10,000 results for retrieving over 10,000 results, use the offset_token instead",
        -    "type": "integer"
        -  },
        -  "offset_token": {
        -    "description": "token for subsequent requests optional field provided in the identical filed of the response to each request; use this parameter to avoid timeouts while trying to obtain over 100,000 results in a single request; by specifying the unique offset_token value from the response array, you will get the subsequent results of the initial task; offset_token values are unique for each subsequent task Note: if the offset_token is specified in the request, all other parameters should be identical to the previous request learn more about this parameter on our Help Center",
        -    "type": "string"
        -  },
        -  "order_by": {
        -    "description": "results sorting rules optional field you can use the same values as in the filters array to sort the results possible sorting types: asc - results will be sorted in the ascending order desc - results will be sorted in the descending order the comma is used as a separator example: [\"metrics.organic.pos_1,desc\"] default rule: [\"metrics.organic.count,desc\"] note that you can set no more than three sorting rules in a single request you should use a comma to separate several sorting rules example: [\"expiration_datetime,asc\",\"metrics.organic.etv,desc\",\"metrics.organic.pos_1,desc\"]",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  }
        -}
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_keywords_gads_kw_for_keywords_live7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "keywords": [
        +      "phone",
        +      "cellphone"
        +    ],
        +    "location_code": 2840
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "keywords": [
        +          "phone",
        +          "cellphone"
        +        ],
        +        "location_code": 2840
        +      }
        +    ],
        +    "properties": {
        +      "date_from": {
        +        "description": "<em>starting date of the time range</em><br>optional field<br>date format: <code>\"yyyy-mm-dd\"</code><br>minimal value: 4 years from the current date<br>by default, data is returned for the past 12 months;<br><strong>Note</strong>: the indicated date cannot be greater than that specified in <code>date_to</code> and/or yesterday's date;if <a href=\"/v3/keywords_data/google_ads/status/\" target=\"_blank\" rel=\"noopener noreferrer\">Status endpoint</a> returns <code>false</code> in the <code>actual_data</code> field, <code>date_from</code> can be set to the month before last and prior;<br>if <a href=\"/v3/keywords_data/google_ads/status/\" target=\"_blank\" rel=\"noopener noreferrer\">Status endpoint</a> returns <code>true</code> in the <code>actual_data</code> field, <code>date_from</code> can be set to the last month and prior",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "date_to": {
        +        "description": "<em>ending date of the time range</em><br>optional field<br><strong>Note:</strong> the indicated date cannot be greater than yesterday's date;<br>if you don't specify this field, yesterday's date will be used by default<br>date format: <code>\"yyyy-mm-dd\"</code><br>example:<br><code>\"2022-11-30\"</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "include_adult_keywords": {
        +        "description": "<em>include keywords associated with adult content</em><br>optional field<br>if set to <code>true</code>, adult keywords will be included in the response<br>default value: <code>false</code><br><strong>note</strong> that the API may return no data for such keywords due to <a href=\"https://support.google.com/adspolicy/answer/6008942?hl=en\" target=\"_blank\" rel=\"noopener noreferrer\">Google Ads restrictions</a>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "keywords": {
        +        "description": "<em>keywords</em><br><strong>required field</strong><br>The maximum number of keywords you can specify: 20<br>The maximum number of characters for each keyword: 80<br>the keywords you specify will be converted to a lowercase format<br><strong>Note:</strong> Google Ads may return no data for certain groups of keywords<br><a href=\"https://dataforseo.com/help-center/no-search-volume-data-for-some-keywords\" target=\"_blank\" rel=\"noopener noreferrer\">visit our Help Center to learn more</a><br><strong>Also note</strong> that Google Ads doesn't allow using certain symbols and characters (e.g., UTF symbols, emojis), so you can't use them when setting a task;<br>to learn more about which symbols and characters can be used, please refer to <a href=\"https://dataforseo.com/help-center/using-symbols-in-keywords-when-setting-a-google-ads-task\" target=\"_blank\" rel=\"noopener noreferrer\">this article</a><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "language_code": {
        +        "description": "<em>search engine language code</em><br>optional field<br>you can receive the list of available languages of the search engine with their <code>language_code</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/google_ads/languages</code><br>example:<br><code class=\"long-string\">en</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "<em>full name of search engine language</em><br>optional field<br>you can receive the list of available languages of the search engine with their <code>language_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/google_ads/languages</code><br>example:<br><code class=\"long-string\">English</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "location_code": {
        +        "description": "<em>search engine location code</em><br>optional field<br>if you do not indicate the location, you will receive worldwide results, i.e., for all available locations;<br><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_coordinate</code></strong>;<br>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/google_ads/locations</code><br>example:<br><code class=\"long-string\">2840</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_coordinate": {
        +        "description": "<em>GPS coordinates of a location</em><br>optional field<br>if you do not indicate the location, you will receive worldwide results, i.e., for all available locations;<br><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_code</code></strong>;<br><code>location_coordinate</code> parameter should be specified in the <em>\"latitude,longitude\"</em> format;<br><strong>the data will be provided for the country the specified coordinates belong to</strong>;<br>example:<br><code class=\"long-string\">52.6178549,-155.352142</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "location_name": {
        +        "description": "<em>full name of search engine location</em><br>optional field<br>if you do not indicate the location, you will receive worldwide results, i.e., for all available locations;<br><strong>if you use this field, you don't need to specify <code>location_code</code> or <code>location_coordinate</code></strong><br>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/google_ads/locations</code><br>example:<br><code class=\"long-string\">London,England,United Kingdom</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "search_partners": {
        +        "description": "<em>include Google search partners</em><br>optional field<br>if you specify <code class=\"prettyprint\">true</code>, the results will be delivered for owned, operated, and syndicated networks across <a href=\"https://support.google.com/google-ads/answer/1722047?hl=en\" target=\"_blank\" rel=\"noopener noreferrer\">Google and partner sites</a> that host Google search;<br>default value: <code>false</code> - results are returned for Google search sites",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "sort_by": {
        +        "description": "<em>results sorting parameters</em><br>optional field<br>Use these parameters to sort the results by <code>relevance</code>, <code>search_volume</code>, <code>competition_index</code>, <code>low_top_of_page_bid</code>, or <code>high_top_of_page_bid</code> in descending order<br>default value: <code>relevance</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "date_from": {
        -    "description": "starting date of the time range optional field date format: \"yyyy-mm-dd\" minimal value: 4 years from the current date by default, data is returned for the past 12 months; Note: the indicated date cannot be greater than that specified in date_to and/or yesterday’s date;if Status endpoint returns false in the actual_data field, date_from can be set to the month before last and prior; if Status endpoint returns true in the actual_data field, date_from can be set to the last month and prior",
        -    "type": "string"
        -  },
        -  "date_to": {
        -    "description": "ending date of the time range optional field Note: the indicated date cannot be greater than yesterday’s date; if you don’t specify this field, yesterday’s date will be used by default date format: \"yyyy-mm-dd\" example: \"2022-11-30\"",
        -    "type": "string"
        -  },
        -  "include_adult_keywords": {
        -    "description": "include keywords associated with adult content optional field if set to true, adult keywords will be included in the response default value: false note that the API may return no data for such keywords due to Google Ads restrictions",
        -    "type": "boolean"
        -  },
        -  "keywords": {
        -    "description": "keywords required field The maximum number of keywords you can specify: 20 The maximum number of characters for each keyword: 80 the keywords you specify will be converted to a lowercase format Note: Google Ads may return no data for certain groups of keywords visit our Help Center to learn more Also note that Google Ads doesn’t allow using certain symbols and characters (e.g., UTF symbols, emojis), so you can’t use them when setting a task; to learn more about which symbols and characters can be used, please refer to this article learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "language_code": {
        -    "description": "search engine language code optional field you can receive the list of available languages of the search engine with their language_code by making a separate request to https://api.dataforseo.com/v3/keywords_data/google_ads/languages example: en",
        -    "type": "string"
        -  },
        -  "language_name": {
        -    "description": "full name of search engine language optional field you can receive the list of available languages of the search engine with their language_name by making a separate request to https://api.dataforseo.com/v3/keywords_data/google_ads/languages example: English",
        -    "type": "string"
        -  },
        -  "location_code": {
        -    "description": "search engine location code optional field if you do not indicate the location, you will receive worldwide results, i.e., for all available locations; if you use this field, you don’t need to specify location_name or location_coordinate; you can receive the list of available locations of the search engines with their location_code by making a separate request to https://api.dataforseo.com/v3/keywords_data/google_ads/locations example: 2840",
        -    "type": "integer"
        -  },
        -  "location_coordinate": {
        -    "description": "GPS coordinates of a location optional field if you do not indicate the location, you will receive worldwide results, i.e., for all available locations; if you use this field, you don’t need to specify location_name or location_code; location_coordinate parameter should be specified in the “latitude,longitude” format; the data will be provided for the country the specified coordinates belong to; example: 52.6178549,-155.352142",
        -    "type": "string"
        -  },
        -  "location_name": {
        -    "description": "full name of search engine location optional field if you do not indicate the location, you will receive worldwide results, i.e., for all available locations; if you use this field, you don’t need to specify location_code or location_coordinate you can receive the list of available locations of the search engine with their location_name by making a separate request to https://api.dataforseo.com/v3/keywords_data/google_ads/locations example: London,England,United Kingdom",
        -    "type": "string"
        -  },
        -  "search_partners": {
        -    "description": "include Google search partners optional field if you specify true, the results will be delivered for owned, operated, and syndicated networks across Google and partner sites that host Google search; default value: false – results are returned for Google search sites",
        -    "type": "boolean"
        -  },
        -  "sort_by": {
        -    "description": "results sorting parameters optional field Use these parameters to sort the results by relevance, search_volume, competition_index, low_top_of_page_bid, or high_top_of_page_bid in descending order default value: relevance",
        -    "type": "string"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "keywords"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_keywords_gads_search_volume_live7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "date_from": "2021-08-01",
        +    "keywords": [
        +      "buy laptop",
        +      "cheap laptops for sale",
        +      "purchase laptop"
        +    ],
        +    "location_code": 2840,
        +    "search_partners": true
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "date_from": "2021-08-01",
        +        "keywords": [
        +          "buy laptop",
        +          "cheap laptops for sale",
        +          "purchase laptop"
        +        ],
        +        "location_code": 2840,
        +        "search_partners": true
        +      }
        +    ],
        +    "properties": {
        +      "date_from": {
        +        "description": "<em>starting date of the time range</em><br>optional field<br>date format: <code>\"yyyy-mm-dd\"</code><br>minimal value: 4 years from the current date<br>by default, data is returned for the past 12 months;<br><strong>Note</strong>: the indicated date cannot be greater than that specified in <code>date_to</code> and/or yesterday's date;if <a href=\"/v3/keywords_data/google_ads/status/\" target=\"_blank\" rel=\"noopener noreferrer\">Status endpoint</a> returns <code>false</code> in the <code>actual_data</code> field, <code>date_from</code> can be set to the month before last and prior;<br>if <a href=\"/v3/keywords_data/google_ads/status/\" target=\"_blank\" rel=\"noopener noreferrer\">Status endpoint</a> returns <code>true</code> in the <code>actual_data</code> field, <code>date_from</code> can be set to the last month and prior",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "date_to": {
        +        "description": "<em>ending date of the time range</em><br>optional field<br><strong>Note:</strong> the indicated date cannot be greater than the past month, Google Ads does not return data on the current month;<br>if you don't specify this field, yesterday's date will be used by default<br>date format: <code>\"yyyy-mm-dd\"</code><br>example:<br><code>\"2022-11-30\"</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "include_adult_keywords": {
        +        "description": "<em>include keywords associated with adult content<br></em>optional field<br>if set to_<code>true</code>, adult keywords will be included in the response<br>default value:_<code>false</code><br><strong>note</strong>_that the API may return no data for such keywords due to_<a href=\"https://support.google.com/adspolicy/answer/6008942?hl=en\" target=\"_blank\" rel=\"noopener noreferrer\">Google Ads restrictions</a>n",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "keywords": {
        +        "description": "<em>keywords</em><br><strong>required field</strong><br>The maximum number of keywords you can specify: 1000<br>The maximum number of characters for each keyword: 80<br>The maximum number of words for each keyword phrase: 10<br>the keywords you specify will be converted to a lowercase format<br><strong>Note #1:</strong> <a href=\"https://dataforseo.com/help-center/no-search-volume-data-for-some-keywords\" target=\"_blank\" rel=\"noopener noreferrer\">Google Ads may return no data for certain groups of keywords</a>;<br><strong>Note #2:</strong> <a href=\"https://dataforseo.com/help-center/sv-broad-exact-phrase-match\" target=\"_blank\" rel=\"noopener noreferrer\">Google Ads provides combined search volume values for groups of similar keywords</a><br>to obtain search volume for similar keywords, we recommend submitting such keywords in separate requests;<br><strong>Note #3:</strong> Google Ads doesn't allow using certain symbols and characters (e.g., UTF symbols, emojis), so you can't use them when setting a task;<br>to learn more about which symbols and characters can be used, please refer to <a href=\"https://dataforseo.com/help-center/using-symbols-in-keywords-when-setting-a-google-ads-task\" target=\"_blank\" rel=\"noopener noreferrer\">this article</a><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "language_code": {
        +        "description": "<em>search engine language code</em><br>optional field<br>you can receive the list of available languages of the search engine with their <code>language_code</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/google_ads/languages</code><br>example:<br><code class=\"long-string\">en</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "<em>full name of search engine language</em><br>optional field<br>you can receive the list of available languages of the search engine with their <code>language_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/google_ads/languages</code><br>example:<br><code class=\"long-string\">English</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "location_code": {
        +        "description": "<em>search engine location code</em><br>optional field<br>if you do not indicate the location, you will receive worldwide results, i.e., for all available locations;<br><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_coordinate</code></strong>;<br>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/google_ads/locations</code><br>example:<br><code class=\"long-string\">2840</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_coordinate": {
        +        "description": "<em>GPS coordinates of a location</em><br>optional field<br>if you do not indicate the location, you will receive worldwide results, i.e., for all available locations;<br><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_code</code></strong>;<br><code>location_coordinate</code> parameter should be specified in the <em>\"latitude,longitude\"</em> format;<br><strong>the data will be provided for the country the specified coordinates belong to</strong>;<br>example:<br><code class=\"long-string\">52.6178549,-155.352142</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "location_name": {
        +        "description": "<em>full name of search engine location</em><br>optional field<br>if you do not indicate the location, you will receive worldwide results, i.e., for all available locations;<br><strong>if you use this field, you don't need to specify <code>location_code</code> or <code>location_coordinate</code></strong><br>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/google_ads/locations</code><br>example:<br><code class=\"long-string\">London,England,United Kingdom</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "search_partners": {
        +        "description": "<em>include Google search partners</em><br>optional field<br>if you specify <code class=\"prettyprint\">true</code>, the results will be delivered for owned, operated, and syndicated networks across <a href=\"https://support.google.com/google-ads/answer/1722047?hl=en\" target=\"_blank\" rel=\"noopener noreferrer\">Google and partner sites</a> that host Google search;<br>default value: <code>false</code> - results are returned for Google search sites",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "sort_by": {
        +        "description": "<em>results sorting parameters</em><br>optional field<br>use these parameters to sort the results by <code>relevance</code>, <code>search_volume</code>, <code>competition_index</code>, <code>low_top_of_page_bid</code>, or <code>high_top_of_page_bid</code> in the descending order<br>default value: <code>relevance</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> array of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "date_from": {
        -    "description": "starting date of the time range optional field date format: \"yyyy-mm-dd\" minimal value: 4 years from the current date by default, data is returned for the past 12 months; Note: the indicated date cannot be greater than that specified in date_to and/or yesterday’s date;if Status endpoint returns false in the actual_data field, date_from can be set to the month before last and prior; if Status endpoint returns true in the actual_data field, date_from can be set to the last month and prior",
        -    "type": "string"
        -  },
        -  "date_to": {
        -    "description": "ending date of the time range optional field Note: the indicated date cannot be greater than the past month, Google Ads does not return data on the current month; if you don’t specify this field, yesterday’s date will be used by default date format: \"yyyy-mm-dd\" example: \"2022-11-30\"",
        -    "type": "string"
        -  },
        -  "include_adult_keywords": {
        -    "description": "include keywords associated with adult content optional field if set to_true, adult keywords will be included in the response default value:_false note_that the API may return no data for such keywords due to_Google Ads restrictions n",
        -    "type": "boolean"
        -  },
        -  "keywords": {
        -    "description": "keywords required field The maximum number of keywords you can specify: 1000 The maximum number of characters for each keyword: 80 The maximum number of words for each keyword phrase: 10 the keywords you specify will be converted to a lowercase format Note #1: Google Ads may return no data for certain groups of keywords; Note #2: Google Ads provides combined search volume values for groups of similar keywords to obtain search volume for similar keywords, we recommend submitting such keywords in separate requests; Note #3: Google Ads doesn’t allow using certain symbols and characters (e.g., UTF symbols, emojis), so you can’t use them when setting a task; to learn more about which symbols and characters can be used, please refer to this article learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "language_code": {
        -    "description": "search engine language code optional field you can receive the list of available languages of the search engine with their language_code by making a separate request to https://api.dataforseo.com/v3/keywords_data/google_ads/languages example: en",
        -    "type": "string"
        -  },
        -  "language_name": {
        -    "description": "full name of search engine language optional field you can receive the list of available languages of the search engine with their language_name by making a separate request to https://api.dataforseo.com/v3/keywords_data/google_ads/languages example: English",
        -    "type": "string"
        -  },
        -  "location_code": {
        -    "description": "search engine location code optional field if you do not indicate the location, you will receive worldwide results, i.e., for all available locations; if you use this field, you don’t need to specify location_name or location_coordinate; you can receive the list of available locations of the search engines with their location_code by making a separate request to https://api.dataforseo.com/v3/keywords_data/google_ads/locations example: 2840",
        -    "type": "integer"
        -  },
        -  "location_coordinate": {
        -    "description": "GPS coordinates of a location optional field if you do not indicate the location, you will receive worldwide results, i.e., for all available locations; if you use this field, you don’t need to specify location_name or location_code; location_coordinate parameter should be specified in the “latitude,longitude” format; the data will be provided for the country the specified coordinates belong to; example: 52.6178549,-155.352142",
        -    "type": "string"
        -  },
        -  "location_name": {
        -    "description": "full name of search engine location optional field if you do not indicate the location, you will receive worldwide results, i.e., for all available locations; if you use this field, you don’t need to specify location_code or location_coordinate you can receive the list of available locations of the search engine with their location_name by making a separate request to https://api.dataforseo.com/v3/keywords_data/google_ads/locations example: London,England,United Kingdom",
        -    "type": "string"
        -  },
        -  "search_partners": {
        -    "description": "include Google search partners optional field if you specify true, the results will be delivered for owned, operated, and syndicated networks across Google and partner sites that host Google search; default value: false – results are returned for Google search sites",
        -    "type": "boolean"
        -  },
        -  "sort_by": {
        -    "description": "results sorting parameters optional field use these parameters to sort the results by relevance, search_volume, competition_index, low_top_of_page_bid, or high_top_of_page_bid in the descending order default value: relevance",
        -    "type": "string"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data array of the response",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "keywords"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_keywords_trends_explore_live7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "keywords": [
        +      "iphone 14",
        +      "samsung s23"
        +    ],
        +    "location_code": 2840
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "keywords": [
        +          "iphone 14",
        +          "samsung s23"
        +        ],
        +        "location_code": 2840
        +      }
        +    ],
        +    "properties": {
        +      "date_from": {
        +        "description": "<em>starting date of the time range</em><br>optional field<br>if you don't specify this field, the current day and month of the preceding year will be used by default<br>minimal value for the <code>web</code> type: <code>2004-01-01</code><br>minimal value for other types: <code>2008-01-01</code><br>date format: <code>\"yyyy-mm-dd\"</code><br>example:<br><code>\"2019-01-15\"</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "date_to": {
        +        "description": "<em>ending date of the time range</em><br>optional field<br>if you don't specify this field, the today's date will be used by default<br>date format: <code>\"yyyy-mm-dd\"</code><br>example:<br><code>\"2019-01-15\"</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "keywords": {
        +        "description": "<em>keywords</em><br><strong>required field</strong><br>the maximum number of keywords you can specify: 5<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "location_code": {
        +        "description": "<em>search engine location code</em><br>optional field<br>if you don't use this field, you will recieve global results<br><strong>if you use this field, you don't need to specify <code>location_name</code></strong><br>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/dataforseo_trends/locations</code><br><strong>note that the data will be provided for the country the specified <code>location_code</code> belongs to;</strong><br>example:<br><code class=\"long-string\">2840</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_name": {
        +        "description": "<em>full name of search engine location</em><br>optional field<br>if you don't use this field, you will recieve global results<br><strong>if you use this field, you don't need to specify <code>location_code</code></strong><br>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/dataforseo_trends/locations</code><br><strong>note that the data will be provided for the country the specified <code>location_name</code> belongs to;</strong><br>example:<br><code class=\"long-string\">United Kingdom</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "time_range": {
        +        "description": "<em>preset time ranges</em><br>optional field<br>if you specify <code>date_from</code> or <code>date_to</code> parameters, this field will be ignored when setting a task<br><em>possible values for all <code>type</code> parameters:</em><br><code>past_4_hours</code>, <code>past_day</code>, <code>past_7_days</code>, <code>past_30_days</code>, <code>past_90_days</code>, <code>past_12_months</code>, <code>past_5_years</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "type": {
        +        "description": "type of element",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "date_from": {
        -    "description": "starting date of the time range optional field if you don’t specify this field, the current day and month of the preceding year will be used by default minimal value for the web type: 2004-01-01 minimal value for other types: 2008-01-01 date format: \"yyyy-mm-dd\" example: \"2019-01-15\"",
        -    "type": "string"
        -  },
        -  "date_to": {
        -    "description": "ending date of the time range optional field if you don’t specify this field, the today’s date will be used by default date format: \"yyyy-mm-dd\" example: \"2019-01-15\"",
        -    "type": "string"
        -  },
        -  "keywords": {
        -    "description": "keywords required field the maximum number of keywords you can specify: 5 learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "location_code": {
        -    "description": "search engine location code optional field if you don’t use this field, you will recieve global results if you use this field, you don’t need to specify location_name you can receive the list of available locations of the search engines with their location_code by making a separate request to https://api.dataforseo.com/v3/keywords_data/dataforseo_trends/locations note that the data will be provided for the country the specified location_code belongs to; example: 2840",
        -    "type": "integer"
        -  },
        -  "location_name": {
        -    "description": "full name of search engine location optional field if you don’t use this field, you will recieve global results if you use this field, you don’t need to specify location_code you can receive the list of available locations of the search engine with their location_name by making a separate request to https://api.dataforseo.com/v3/keywords_data/dataforseo_trends/locations note that the data will be provided for the country the specified location_name belongs to; example: United Kingdom",
        -    "type": "string"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  },
        -  "time_range": {
        -    "description": "preset time ranges optional field if you specify date_from or date_to parameters, this field will be ignored when setting a task possible values for all type parameters: past_4_hours, past_day, past_7_days, past_30_days, past_90_days, past_12_months, past_5_years",
        -    "type": "string"
        -  },
        -  "type": {
        -    "description": "type of element",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "keywords"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_labs_google_bulk_keyword_difficulty_live8 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "keywords": [
        +      "dentist new york",
        +      "pizza brooklyn",
        +      "car dealer los angeles"
        +    ],
        +    "language_code": "en",
        +    "location_code": 2840
        +  }
        +]
      • removedInput schema / properties / body / items / allOf
        Removed value: -[
        -  {
        -    "anyOf": [
        -      {
        -        "required": [
        -          "location_name"
        -        ]
        -      },
        -      {
        -        "required": [
        -          "location_code"
        -        ]
        -      }
        -    ]
        -  },
        -  {
        -    "anyOf": [
        -      {
        -        "required": [
        -          "language_name"
        -        ]
        -      },
        -      {
        -        "required": [
        -          "language_code"
        -        ]
        -      }
        -    ]
        -  }
        -]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "keywords": [
        +          "dentist new york",
        +          "pizza brooklyn",
        +          "car dealer los angeles"
        +        ],
        +        "language_code": "en",
        +        "location_code": 2840
        +      }
        +    ],
        +    "properties": {
        +      "keywords": {
        +        "description": "<em>target keywords</em><br><strong>required field</strong><br>UTF-8 encoding<br>maximum number of keywords you can specify in this array: 1000<br>the keywords will be converted to lowercase format<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "language_code": {
        +        "description": "<em>language code</em><br><strong>required field if don't specify <code>language_name</code></strong><br>you can receive the list of available languages with their <code>language_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">en</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "<em>full name of the language</em><br><strong>required field if don't specify <code>language_code</code></strong><br>you can receive the list of available languages with their <code>language_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">English</code>",
        +        "type": "string"
        +      },
        +      "location_code": {
        +        "description": "<em>location code</em><br><strong>required field if don't specify <code>location_name</code></strong><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">2840</code>",
        +        "type": "integer"
        +      },
        +      "location_name": {
        +        "description": "<em>full name of the location</em><br><strong>required field if don't specify <code>location_code</code></strong><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">United Kingdom</code>",
        +        "type": "string"
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "keywords": {
        -    "description": "target keywords required field UTF-8 encoding maximum number of keywords you can specify in this array: 1000 the keywords will be converted to lowercase format learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "language_code": {
        -    "description": "language code required field if don’t specify language_name you can receive the list of available languages with their language_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: en",
        -    "type": "string"
        -  },
        -  "language_name": {
        -    "description": "full name of the language required field if don’t specify language_code you can receive the list of available languages with their language_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: English",
        -    "type": "string"
        -  },
        -  "location_code": {
        -    "description": "location code required field if don’t specify location_name you can receive the list of available locations with their location_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: 2840",
        -    "type": "integer"
        -  },
        -  "location_name": {
        -    "description": "full name of the location required field if don’t specify location_code you can receive the list of available locations with their location_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: United Kingdom",
        -    "type": "string"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "keywords"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_labs_google_bulk_traffic_estimation_live7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "item_types": [
        +      "organic",
        +      "paid"
        +    ],
        +    "language_code": "en",
        +    "location_code": 2840,
        +    "targets": [
        +      "dataforseo.com",
        +      "cnn.com",
        +      "forbes.com"
        +    ]
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "item_types": [
        +          "organic",
        +          "paid"
        +        ],
        +        "language_code": "en",
        +        "location_code": 2840,
        +        "targets": [
        +          "dataforseo.com",
        +          "cnn.com",
        +          "forbes.com"
        +        ]
        +      }
        +    ],
        +    "properties": {
        +      "ignore_synonyms": {
        +        "description": "<em>ignore highly similar keywords</em><br>optional field<br>if set to_<code class=\"prettyprint\">true</code>, only core keywords will be returned, all highly similar keywords will be excluded;  <br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "item_types": {
        +        "description": "<em>display results by item type</em><br>optional field<br>indicates the type of search results included in the response<p><strong>Note:</strong> if the <code>item_types</code> array contains item types that are different from <code>organic</code>, the results will be ordered by the first item type in the array<p>possible values: <br><code>[\"organic\", \"paid\", \"featured_snippet\", \"local_pack\"]</code><br>default value: <br><code>[\"organic\", \"paid\"]</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "language_code": {
        +        "description": "<em>language code</em><br>if you use this field, you don’t need to specify <code>language_name</code><br>you can receive the list of available languages with their <code>language_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available languages<br>example:<br><code class=\"long-string\">en</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "<em>full name of the language</em><br>if you use this field, you don’t need to specify <code>language_code</code><br>you can receive the list of available languages with their <code>language_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available languages<br>example:<br><code class=\"long-string\">English</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "location_code": {
        +        "description": "<em>location code</em><br>if you use this field, you don't have to specify <code>location_name</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">2840</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_name": {
        +        "description": "<em>full name of the location</em><br>if you use this field, you don't have to specify <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">United Kingdom</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "targets": {
        +        "description": "<em>target domains, subdomains, and webpages</em><br><strong>required field</strong><br>you can specify domains, subdomains, and webpages in this field;<br>domains and subdomains should be specified without <code>https://</code> and <code>www.</code>;<br>pages should be specified with absolute URL, including <code>https://</code> and <code>www.</code>;<br>you can set up to 1000 domains, subdomains or webpages",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "ignore_synonyms": {
        -    "description": "ignore highly similar keywords optional field if set to_true, only core keywords will be returned, all highly similar keywords will be excluded; default value: false",
        -    "type": "boolean"
        -  },
        -  "item_types": {
        -    "description": "display results by item type optional field indicates the type of search results included in the response Note: if the item_types array contains item types that are different from organic, the results will be ordered by the first item type in the array possible values: [\"organic\", \"paid\", \"featured_snippet\", \"local_pack\"] default value: [\"organic\", \"paid\"]",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "language_code": {
        -    "description": "language code if you use this field, you don’t need to specify language_name you can receive the list of available languages with their language_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages ignore this field to get the results for all available languages example: en",
        -    "type": "string"
        -  },
        -  "language_name": {
        -    "description": "full name of the language if you use this field, you don’t need to specify language_code you can receive the list of available languages with their language_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages ignore this field to get the results for all available languages example: English",
        -    "type": "string"
        -  },
        -  "location_code": {
        -    "description": "location code if you use this field, you don’t have to specify location_name you can receive the list of available locations with their location_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages ignore this field to get the results for all available locations example: 2840",
        -    "type": "integer"
        -  },
        -  "location_name": {
        -    "description": "full name of the location if you use this field, you don’t have to specify location_code you can receive the list of available locations with their location_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages ignore this field to get the results for all available locations example: United Kingdom",
        -    "type": "string"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  },
        -  "targets": {
        -    "description": "target domains, subdomains, and webpages required field you can specify domains, subdomains, and webpages in this field; domains and subdomains should be specified without https:// and www.; pages should be specified with absolute URL, including https:// and www.; you can set up to 1000 domains, subdomains or webpages",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "targets"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_labs_google_domain_rank_overview_live7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "language_name": "English",
        +    "location_code": 2840,
        +    "target": "dataforseo.com"
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "language_name": "English",
        +        "location_code": 2840,
        +        "target": "dataforseo.com"
        +      }
        +    ],
        +    "properties": {
        +      "ignore_synonyms": {
        +        "description": "<em>ignore highly similar keywords</em><br>optional field<br>if set to_<code class=\"prettyprint\">true</code>, all highly similar keywords will be excluded from the ranking and traffic calculations, the results will be based on data for main keywords from groups of synonyms<br>default value: <code>false</code>n",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "language_code": {
        +        "description": "<em>language code</em><br>optional field<br>if you use this field, you don't need to specify <code>language_name</code><br>you can receive the list of available languages with their <code>language_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available languages<br>example:<br><code class=\"long-string\">en</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "<em>full name of the language</em><br>optional field<br>if you use this field, you don't need to specify <code>language_code</code><br>you can receive the list of available languages with their <code>language_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available languages<br>example:<br><code class=\"long-string\">English</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "limit": {
        +        "description": "<em>the maximum number of returned results for domain</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_code": {
        +        "description": "<em>location code</em><br>optional field<br>if you use this field, you don't need to specify <code>location_name</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">2840</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_name": {
        +        "description": "<em>full name of the location</em><br>optional field<br>if you use this field, you don't need to specify <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">United Kingdom</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "offset": {
        +        "description": "<em>offset in the results array of returned items</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten <code>items</code> in the results array will be omitted and the data will be provided for the successive items",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "target": {
        +        "description": "<em>domain</em><br><strong>required field</strong><br>the domain name of the target website<br>the domain should be specified without <code>https://</code> and <code>www.</code>",
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "ignore_synonyms": {
        -    "description": "ignore highly similar keywords optional field if set to_true, all highly similar keywords will be excluded from the ranking and traffic calculations, the results will be based on data for main keywords from groups of synonyms default value: falsen",
        -    "type": "boolean"
        -  },
        -  "language_code": {
        -    "description": "language code optional field if you use this field, you don’t need to specify language_name you can receive the list of available languages with their language_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages ignore this field to get the results for all available languages example: en",
        -    "type": "string"
        -  },
        -  "language_name": {
        -    "description": "full name of the language optional field if you use this field, you don’t need to specify language_code you can receive the list of available languages with their language_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages ignore this field to get the results for all available languages example: English",
        -    "type": "string"
        -  },
        -  "limit": {
        -    "description": "the maximum number of returned results for domain optional field default value: 100 maximum value: 1000",
        -    "type": "integer"
        -  },
        -  "location_code": {
        -    "description": "location code optional field if you use this field, you don’t need to specify location_name you can receive the list of available locations with their location_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages ignore this field to get the results for all available locations example: 2840",
        -    "type": "integer"
        -  },
        -  "location_name": {
        -    "description": "full name of the location optional field if you use this field, you don’t need to specify location_code you can receive the list of available locations with their location_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages ignore this field to get the results for all available locations example: United Kingdom",
        -    "type": "string"
        -  },
        -  "offset": {
        -    "description": "offset in the results array of returned items optional field default value: 0 if you specify the 10 value, the first ten items in the results array will be omitted and the data will be provided for the successive items",
        -    "type": "integer"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  },
        -  "target": {
        -    "description": "domain required field the domain name of the target website the domain should be specified without https:// and www.",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "target"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_labs_google_historical_keyword_data_live8 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "keywords": [
        +      "iphone"
        +    ],
        +    "language_code": "en",
        +    "location_code": 2840
        +  }
        +]
      • removedInput schema / properties / body / items / allOf
        Removed value: -[
        -  {
        -    "anyOf": [
        -      {
        -        "required": [
        -          "location_name"
        -        ]
        -      },
        -      {
        -        "required": [
        -          "location_code"
        -        ]
        -      }
        -    ]
        -  },
        -  {
        -    "anyOf": [
        -      {
        -        "required": [
        -          "language_name"
        -        ]
        -      },
        -      {
        -        "required": [
        -          "language_code"
        -        ]
        -      }
        -    ]
        -  }
        -]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "keywords": [
        +          "iphone"
        +        ],
        +        "language_code": "en",
        +        "location_code": 2840
        +      }
        +    ],
        +    "properties": {
        +      "keywords": {
        +        "description": "<em>keywords</em><br><strong>required field</strong><br>The maximum number of keywords you can specify: 700<br>The maximum number of characters for each keyword: 80<br>The maximum number of words for each keyword phrase: 10<br>the specified keywords will be converted to lowercase format, data will be provided in a separate array<p><strong>note</strong> that if some of the keywords specified in this array are omitted in the results you receive, then our database doesn't contain such keywords and cannot return data on them<br>you will not be charged for the keywords omitted in the results<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "language_code": {
        +        "description": "<em>language code</em><br><strong>required field if you don't specify</strong> <code>language_name</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available locations with their <code>language_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">en</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "<em>full name of the language</em><br><strong>required field if you don't specify</strong> <code>language_code</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available locations with their <code>language_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">English</code>",
        +        "type": "string"
        +      },
        +      "location_code": {
        +        "description": "<em>location code</em><br><strong>required field if you don't specify</strong> <code>location_name</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">2840</code>",
        +        "type": "integer"
        +      },
        +      "location_name": {
        +        "description": "<em>full name of the location</em><br><strong>required field if you don't specify</strong> <code>location_code</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">United Kingdom</code>",
        +        "type": "string"
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "keywords": {
        -    "description": "keywords required field The maximum number of keywords you can specify: 700 The maximum number of characters for each keyword: 80 The maximum number of words for each keyword phrase: 10 the specified keywords will be converted to lowercase format, data will be provided in a separate array note that if some of the keywords specified in this array are omitted in the results you receive, then our database doesn’t contain such keywords and cannot return data on them you will not be charged for the keywords omitted in the results learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "language_code": {
        -    "description": "language code required field if you don’t specify language_name Note: it is required to specify either language_name or language_code you can receive the list of available locations with their language_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: en",
        -    "type": "string"
        -  },
        -  "language_name": {
        -    "description": "full name of the language required field if you don’t specify language_code Note: it is required to specify either language_name or language_code you can receive the list of available locations with their language_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: English",
        -    "type": "string"
        -  },
        -  "location_code": {
        -    "description": "location code required field if you don’t specify location_name Note: it is required to specify either location_name or location_code you can receive the list of available locations with their location_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: 2840",
        -    "type": "integer"
        -  },
        -  "location_name": {
        -    "description": "full name of the location required field if you don’t specify location_code Note: it is required to specify either location_name or location_code you can receive the list of available locations with their location_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: United Kingdom",
        -    "type": "string"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "keywords"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_labs_google_historical_rank_live8 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "date_from": "2021-01-01",
        +    "date_to": "2021-03-29",
        +    "language_code": "en",
        +    "location_code": 2840,
        +    "target": "dataforseo.com"
        +  }
        +]
      • removedInput schema / properties / body / items / allOf
        Removed value: -[
        -  {
        -    "anyOf": [
        -      {
        -        "required": [
        -          "location_name"
        -        ]
        -      },
        -      {
        -        "required": [
        -          "location_code"
        -        ]
        -      }
        -    ]
        -  },
        -  {
        -    "anyOf": [
        -      {
        -        "required": [
        -          "language_name"
        -        ]
        -      },
        -      {
        -        "required": [
        -          "language_code"
        -        ]
        -      }
        -    ]
        -  }
        -]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "date_from": "2021-01-01",
        +        "date_to": "2021-03-29",
        +        "language_code": "en",
        +        "location_code": 2840,
        +        "target": "dataforseo.com"
        +      }
        +    ],
        +    "properties": {
        +      "correlate": {
        +        "description": "<em>correlate data with previously obtained datasets</em><br>optional field<br>default value: <code>true</code><br>if you use this parameter, our system will correlate data you obtain now with previously obtained datasets<br>this parameter is intended to mitigate any inconsistencies that may result from changes to our database<br>we recommend always setting <code>correlate</code> to <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "date_from": {
        +        "description": "<em>starting date of the time range</em><br>optional field<br>if you don't specify this field, the data will be provided for the previous 6 months<br>minimal possible value: <code>2020-10-01</code><br>date format: <code>\"yyyy-mm-dd\"</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "date_to": {
        +        "description": "<em>ending date of the time range</em><br>optional field<br>if you don't specify this field, the today's date will be used by default<br>date format: <code>\"yyyy-mm-dd\"</code><br>example:<br><code>\"2021-04-01\"</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "ignore_synonyms": {
        +        "description": "<em>ignore highly similar keywords</em><br>optional field<br>if set to <code class=\"prettyprint\">true</code>, only data based on core keywords will be returned, data for all highly similar keywords will be excluded;  <br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_clickstream_data": {
        +        "description": "<em>include or exclude data from clickstream-based metrics in the result</em><br>optional field<br>if the parameter is set to <code>true</code>, you will receive <code>clickstream_etv</code>, <code>clickstream_gender_distribution</code>, and <code>clickstream_age_distribution</code> fields with clickstream data in the response;<br>default value: <code>false</code>;<p><strong>Note:</strong> historical clickstream data is available from 2024/05 (May, 2024);<br><strong>with this parameter enabled, you will be charged double the price for the request;</strong><br>learn more about how clickstream-based metrics are calculated in this <a href=\"https://dataforseo.com/help-center/what-are-clickstream-based-metrics-and-how-do-we-calculate-them\" rel=\"noopener noreferrer\" target=\"_blank\">help center article</a>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "language_code": {
        +        "description": "<em>language code</em><br><strong>required field if you don't specify</strong> <code>language_name</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available locations with their <code>language_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">en</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "<em>full name of the language</em><br><strong>required field if you don't specify</strong> <code>language_code</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available locations with their <code>language_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">English</code>",
        +        "type": "string"
        +      },
        +      "location_code": {
        +        "description": "<em>location code</em><br><strong>required field if you don't specify</strong> <code>location_name</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">2840</code>",
        +        "type": "integer"
        +      },
        +      "location_name": {
        +        "description": "<em>full name of the location</em><br><strong>required field if you don't specify</strong> <code>location_code</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">United Kingdom</code>",
        +        "type": "string"
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "target": {
        +        "description": "<em>domain</em><br><strong>required field</strong><br>the domain name of the target website<br>the domain should be specified without <code>https://</code> and <code>www.</code>",
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "correlate": {
        -    "description": "correlate data with previously obtained datasets optional field default value: true if you use this parameter, our system will correlate data you obtain now with previously obtained datasets this parameter is intended to mitigate any inconsistencies that may result from changes to our database we recommend always setting correlate to true",
        -    "type": "boolean"
        -  },
        -  "date_from": {
        -    "description": "starting date of the time range optional field if you don’t specify this field, the data will be provided for the previous 6 months minimal possible value: 2020-10-01 date format: \"yyyy-mm-dd\"",
        -    "type": "string"
        -  },
        -  "date_to": {
        -    "description": "ending date of the time range optional field if you don’t specify this field, the today’s date will be used by default date format: \"yyyy-mm-dd\" example: \"2021-04-01\"",
        -    "type": "string"
        -  },
        -  "ignore_synonyms": {
        -    "description": "ignore highly similar keywords optional field if set to true, only data based on core keywords will be returned, data for all highly similar keywords will be excluded; default value: false",
        -    "type": "boolean"
        -  },
        -  "include_clickstream_data": {
        -    "description": "include or exclude data from clickstream-based metrics in the result optional field if the parameter is set to true, you will receive clickstream_etv, clickstream_gender_distribution, and clickstream_age_distribution fields with clickstream data in the response; default value: false; Note: historical clickstream data is available from 2024/05 (May, 2024); with this parameter enabled, you will be charged double the price for the request; learn more about how clickstream-based metrics are calculated in this help center article",
        -    "type": "boolean"
        -  },
        -  "language_code": {
        -    "description": "language code required field if you don’t specify language_name Note: it is required to specify either language_name or language_code you can receive the list of available locations with their language_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: en",
        -    "type": "string"
        -  },
        -  "language_name": {
        -    "description": "full name of the language required field if you don’t specify language_code Note: it is required to specify either language_name or language_code you can receive the list of available locations with their language_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: English",
        -    "type": "string"
        -  },
        -  "location_code": {
        -    "description": "location code required field if you don’t specify location_name Note: it is required to specify either location_name or location_code you can receive the list of available locations with their location_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: 2840",
        -    "type": "integer"
        -  },
        -  "location_name": {
        -    "description": "full name of the location required field if you don’t specify location_code Note: it is required to specify either location_name or location_code you can receive the list of available locations with their location_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: United Kingdom",
        -    "type": "string"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  },
        -  "target": {
        -    "description": "domain required field the domain name of the target website the domain should be specified without https:// and www.",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "target"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_labs_google_keyword_ideas_live6 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "include_serp_info": true,
        +    "keywords": [
        +      "phone",
        +      "watch"
        +    ],
        +    "language_code": "en",
        +    "limit": 3,
        +    "location_code": 2840
        +  }
        +]
      • changedInput schema / properties / body / items / anyOf
        Previous value: -[
        -  {
        -    "allOf": [
        -      {
        -        "anyOf": [
        -          {
        -            "required": [
        -              "location_name"
        -            ]
        -          },
        -          {
        -            "required": [
        -              "location_code"
        -            ]
        -          }
        -        ]
        -      }
        -    ],
        -    "required": [
        -      "keywords"
        -    ]
        -  },
        -  {
        -    "required": [
        -      "offset_token"
        -    ]
        -  }
        -]New value: +[
        +  {
        +    "example": [
        +      {
        +        "include_serp_info": true,
        +        "keywords": [
        +          "phone",
        +          "watch"
        +        ],
        +        "language_code": "en",
        +        "limit": 3,
        +        "location_code": 2840
        +      }
        +    ],
        +    "properties": {
        +      "closely_variants": {
        +        "description": "<em>search mode</em><br>optional field<br>if set to_<code class=\"prettyprint\">true</code> the results will be based on the phrase-match search algorithm<br>if set to <code class=\"prettyprint\">false</code> the results will be based on the broad-match search algorithm<br>default value: <code>false</code>n",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "filters": {
        +        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>match</code>, <code>not_match</code>, <code>ilike</code>, <code>not_ilike</code>, <code>like</code>, <code>not_like</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code>,as well as <code>ilike</code>, <code>not_ilike</code> to match any string of zero or more characters<br><strong>note that you can not filter the results by <code>relevance</code></strong><br>example:<br><code>[\"keyword_info.search_volume\",\"&gt;\",0]</code><p><code>[[\"keyword_info.search_volume\",\"in\",[0,1000]],<br>\"and\",<br>[\"keyword_info.competition_level\",\"=\",\"LOW\"]]</code><p><code>[[\"keyword_info.search_volume\",\"&gt;\",100],<br>\"and\",<br>[[\"keyword_info.cpc\",\"&lt;\",0.5],<br>\"or\",<p>[\"keyword_info.high_top_of_page_bid\",\"&lt;=\",0.5]]]</code><br>for more information about filters, please refer to <a href=\"/v3/dataforseo_labs/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Dataforseo Labs - Filters</a> or this <a href=\"https://dataforseo.com/help-center/how-to-use-filters-in-dataforseo-labs-api\" rel=\"noopener noreferrer\" target=\"_blank\">help center guide</a>",
        +        "items": {
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "ignore_synonyms": {
        +        "description": "<em>ignore highly similar keywords</em><br>optional field<br>if set to_<code class=\"prettyprint\">true</code> only core keywords will be returned, all highly similar keywords will be excluded;  <br>default value: <code>false</code>n",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_clickstream_data": {
        +        "description": "<em>include or exclude data from clickstream-based metrics in the result</em><br>optional field<br>if the parameter is set to <code>true</code>, you will receive <code>clickstream_keyword_info</code>, <code>keyword_info_normalized_with_clickstream</code>, and <code>keyword_info_normalized_with_bing</code> fields in the response<br>default value: <code>false</code><br>with this parameter enabled, you will be charged double the price for the request<p>learn more about how clickstream-based metrics are calculated in this <a href=\"https://dataforseo.com/help-center/what-are-clickstream-based-metrics-and-how-do-we-calculate-them\" rel=\"noopener noreferrer\" target=\"_blank\">help center article</a>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_serp_info": {
        +        "description": "<em>include data from SERP for each keyword</em><br>optional field<br>if set to <code>true</code>, we will return a <code>serp_info</code> array containing SERP data (number of search results, relevant URL, and SERP features) for every keyword in the response<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "keywords": {
        +        "description": "<em>keywords</em><br><strong>required field</strong><br>UTF-8 encoding<br>The maximum number of keywords you can specify: 200.<br>The keywords will be converted to lowercase format<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "language_code": {
        +        "description": "<em>language code</em><br>optional field<br>if you use this field, you don't need to specify <code>language_name</code><br>you can receive the list of available languages with their <code>language_code</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">en</code><br><strong>Note:</strong> if omitted, results default to the language with the most keyword records in the specified location;<br>refer to the <code>available_languages.keywords</code> field of the <a href=\"https://docs.dataforseo.com/v3/dataforseo_labs/locations_and_languages\" target=\"_blank\">Locations and Languages endpoint</a> to determine the default language",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "<em>full name of the language</em><br>optional field<br>if you use this field, you don't need to specify <code>language_code</code><br>you can receive the list of available languages with their <code>language_name</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">English</code><br><strong>Note:</strong> if omitted, results default to the language with the most keyword records in the specified location;<br>refer to the <code>available_languages.keywords</code> field of the <a href=\"https://docs.dataforseo.com/v3/dataforseo_labs/locations_and_languages\" target=\"_blank\">Locations and Languages endpoint</a> to determine the default language",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "limit": {
        +        "description": "<em>the maximum number of keywords in the results array</em><br>optional field<br>default value: <code>700</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_code": {
        +        "description": "<em>unique location identifier</em><br><strong>required field if you don't specify</strong> <code>location_name</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">2840</code>",
        +        "type": "integer"
        +      },
        +      "location_name": {
        +        "description": "<em>full name of the location</em><br><strong>required field if you don't specify</strong> <code>location_code</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">United Kingdom</code>",
        +        "type": "string"
        +      },
        +      "offset": {
        +        "description": "<em>offset in the results array of returned keywords</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten keywords in the results array will be omitted and the data will be provided for the successive keywords<br><strong>Note:</strong> we recommend using this parameter only when retrieving up to 10,000 results<br>for retrieving over 10,000 results, use the <code>offset_token</code> instead.",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "offset_token": {
        +        "description": "<em>offset token for subsequent requests</em><br>optional field<br>provided in the identical filed of the response to each request;<br>use this parameter to avoid timeouts while trying to obtain over 10,000 results in a single request;<br>by specifying the unique <code>offset_token</code> value from the response array, you will get the subsequent results of the initial task;<br><code>offset_token</code> values are unique for each subsequent task <br><strong>Note:</strong> if the <code>offset_token</code> is specified in the request, all other parameters except <code>limit</code> will not be taken into account when processing a task.<br>learn more about this parameter on our <a href=\"https://dataforseo.com/help-center/what-is-the-difference-between-the-offset-and-offset_token-parameters#offset_token\" target=\"_blank\">Help Center</a>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "order_by": {
        +        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to set up a sorting parameter<p>default rule:<br><code>[\"relevance,desc\"]</code><br>relevance is used as the default sorting rule to provide you with the closest keyword ideas. We recommend using this sorting rule to get highly-relevant search terms. <strong>Note</strong> that <code>relevance</code> is only our internal system identifier, so <strong>it can not be used as a filter</strong>, and you will not find this field in the <code>result</code> array. The relevance score is based on a similar principle as used in <a href=\"/v3/keywords_data/google/keywords_for_keywords/live/?php\">the Keywords For Keywords</a> endpoint.<p><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"relevance,desc\",\"keyword_info.search_volume,desc\"]</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "closely_variants": {
        -    "description": "search mode optional field if set to_true the results will be based on the phrase-match search algorithm if set to false the results will be based on the broad-match search algorithm default value: falsen",
        -    "type": "boolean"
        -  },
        -  "filters": {
        -    "description": "array of results filtering parameters optional field you can add several filters at once (8 filters maximum) you should set a logical operator and, or between the conditions the following operators are supported: regex, not_regex, <, <=, >, >=, =, <>, in, not_in, match, not_match, ilike, not_ilike, like, not_like you can use the % operator with like and not_like,as well as ilike, not_ilike to match any string of zero or more characters note that you can not filter the results by relevance example: [\"keyword_info.search_volume\",\">\",0] [[\"keyword_info.search_volume\",\"in\",[0,1000]], \"and\", [\"keyword_info.competition_level\",\"=\",\"LOW\"]] [[\"keyword_info.search_volume\",\">\",100], \"and\", [[\"keyword_info.cpc\",\"<\",0.5], \"or\", [\"keyword_info.high_top_of_page_bid\",\"<=\",0.5]]] for more information about filters, please refer to Dataforseo Labs - Filters or this help center guide",
        -    "items": {},
        -    "type": "array"
        -  },
        -  "ignore_synonyms": {
        -    "description": "ignore highly similar keywords optional field if set to_true only core keywords will be returned, all highly similar keywords will be excluded; default value: falsen",
        -    "type": "boolean"
        -  },
        -  "include_clickstream_data": {
        -    "description": "include or exclude data from clickstream-based metrics in the result optional field if the parameter is set to true, you will receive clickstream_keyword_info, keyword_info_normalized_with_clickstream, and keyword_info_normalized_with_bing fields in the response default value: false with this parameter enabled, you will be charged double the price for the request learn more about how clickstream-based metrics are calculated in this help center article",
        -    "type": "boolean"
        -  },
        -  "include_serp_info": {
        -    "description": "include data from SERP for each keyword optional field if set to true, we will return a serp_info array containing SERP data (number of search results, relevant URL, and SERP features) for every keyword in the response default value: false",
        -    "type": "boolean"
        -  },
        -  "keywords": {
        -    "description": "keywords required field UTF-8 encoding The maximum number of keywords you can specify: 200. The keywords will be converted to lowercase format learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "language_code": {
        -    "description": "language code optional field if you use this field, you don’t need to specify language_name you can receive the list of available languages with their language_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: en Note: if omitted, results default to the language with the most keyword records in the specified location; refer to the available_languages.keywords field of the Locations and Languages endpoint to determine the default language",
        -    "type": "string"
        -  },
        -  "language_name": {
        -    "description": "full name of the language optional field if you use this field, you don’t need to specify language_code you can receive the list of available languages with their language_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: English Note: if omitted, results default to the language with the most keyword records in the specified location; refer to the available_languages.keywords field of the Locations and Languages endpoint to determine the default language",
        -    "type": "string"
        -  },
        -  "limit": {
        -    "description": "the maximum number of keywords in the results array optional field default value: 700 maximum value: 1000",
        -    "type": "integer"
        -  },
        -  "location_code": {
        -    "description": "unique location identifier required field if you don’t specify location_name Note: it is required to specify either location_name or location_code you can receive the list of available locations with their location_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: 2840",
        -    "type": "integer"
        -  },
        -  "location_name": {
        -    "description": "full name of the location required field if you don’t specify location_code Note: it is required to specify either location_name or location_code you can receive the list of available locations with their location_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: United Kingdom",
        -    "type": "string"
        -  },
        -  "offset": {
        -    "description": "offset in the results array of returned keywords optional field default value: 0 if you specify the 10 value, the first ten keywords in the results array will be omitted and the data will be provided for the successive keywords Note: we recommend using this parameter only when retrieving up to 10,000 results for retrieving over 10,000 results, use the offset_token instead.",
        -    "type": "integer"
        -  },
        -  "offset_token": {
        -    "description": "offset token for subsequent requests optional field provided in the identical filed of the response to each request; use this parameter to avoid timeouts while trying to obtain over 10,000 results in a single request; by specifying the unique offset_token value from the response array, you will get the subsequent results of the initial task; offset_token values are unique for each subsequent task Note: if the offset_token is specified in the request, all other parameters except limit will not be taken into account when processing a task. learn more about this parameter on our Help Center",
        -    "type": "string"
        -  },
        -  "order_by": {
        -    "description": "results sorting rules optional field you can use the same values as in the filters array to sort the results possible sorting types: asc – results will be sorted in the ascending order desc – results will be sorted in the descending order you should use a comma to set up a sorting parameter default rule: [\"relevance,desc\"] relevance is used as the default sorting rule to provide you with the closest keyword ideas. We recommend using this sorting rule to get highly-relevant search terms. Note that relevance is only our internal system identifier, so it can not be used as a filter, and you will not find this field in the result array. The relevance score is based on a similar principle as used in the Keywords For Keywords endpoint. note that you can set no more than three sorting rules in a single request you should use a comma to separate several sorting rules example: [\"relevance,desc\",\"keyword_info.search_volume,desc\"]",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  }
        -}
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_labs_google_keyword_overview_live8 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "include_clickstream_data": true,
        +    "include_serp_info": true,
        +    "keywords": [
        +      "iphone"
        +    ],
        +    "language_code": "en",
        +    "location_code": 2840
        +  }
        +]
      • removedInput schema / properties / body / items / allOf
        Removed value: -[
        -  {
        -    "anyOf": [
        -      {
        -        "required": [
        -          "location_name"
        -        ]
        -      },
        -      {
        -        "required": [
        -          "location_code"
        -        ]
        -      }
        -    ]
        -  },
        -  {
        -    "anyOf": [
        -      {
        -        "required": [
        -          "language_name"
        -        ]
        -      },
        -      {
        -        "required": [
        -          "language_code"
        -        ]
        -      }
        -    ]
        -  }
        -]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "include_clickstream_data": true,
        +        "include_serp_info": true,
        +        "keywords": [
        +          "iphone"
        +        ],
        +        "language_code": "en",
        +        "location_code": 2840
        +      }
        +    ],
        +    "properties": {
        +      "include_clickstream_data": {
        +        "description": "<em>include or exclude data from clickstream-based metrics in the result</em><br>optional field<br>if the parameter is set to <code>true</code>, you will receive <code>clickstream_keyword_info</code>, <code>keyword_info_normalized_with_clickstream</code>, and <code>keyword_info_normalized_with_bing</code> fields in the response<br>default value: <code>false</code><br>with this parameter enabled, you will be charged double the price for the request<p>learn more about how clickstream-based metrics are calculated in this <a href=\"https://dataforseo.com/help-center/what-are-clickstream-based-metrics-and-how-do-we-calculate-them\" rel=\"noopener noreferrer\" target=\"_blank\">help center article</a>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_serp_info": {
        +        "description": "<em>include data from SERP for each keyword</em><br>optional field<br>if set to <code>true</code>, we will return a <code>serp_info</code> array containing SERP data (number of search results, relevant URL, and SERP features) for every keyword in the response<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "keywords": {
        +        "description": "<em>keywords</em><br><strong>required field</strong><br>The maximum number of keywords you can specify: 700<br>The maximum number of characters for each keyword: 80<br>The maximum number of words for each keyword phrase: 10<br>the specified keywords will be converted to lowercase format, data will be provided in a separate array<p><strong>note</strong> that if some of the keywords specified in this array are omitted in the results you receive, then our database doesn't contain such keywords and cannot return data on them<br>you will not be charged for the keywords omitted in the results<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "language_code": {
        +        "description": "<em>language code</em><br><strong>required field if you don't specify</strong> <code>language_name</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available locations with their <code>language_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">en</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "<em>full name of the language</em><br><strong>required field if you don't specify</strong> <code>language_code</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available locations with their <code>language_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">English</code>",
        +        "type": "string"
        +      },
        +      "location_code": {
        +        "description": "<em>location code</em><br><strong>required field if you don't specify</strong> <code>location_name</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">2840</code>",
        +        "type": "integer"
        +      },
        +      "location_name": {
        +        "description": "<em>full name of the location</em><br><strong>required field if you don't specify</strong> <code>location_code</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">United Kingdom</code>",
        +        "type": "string"
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "include_clickstream_data": {
        -    "description": "include or exclude data from clickstream-based metrics in the result optional field if the parameter is set to true, you will receive clickstream_keyword_info, keyword_info_normalized_with_clickstream, and keyword_info_normalized_with_bing fields in the response default value: false with this parameter enabled, you will be charged double the price for the request learn more about how clickstream-based metrics are calculated in this help center article",
        -    "type": "boolean"
        -  },
        -  "include_serp_info": {
        -    "description": "include data from SERP for each keyword optional field if set to true, we will return a serp_info array containing SERP data (number of search results, relevant URL, and SERP features) for every keyword in the response default value: false",
        -    "type": "boolean"
        -  },
        -  "keywords": {
        -    "description": "keywords required field The maximum number of keywords you can specify: 700 The maximum number of characters for each keyword: 80 The maximum number of words for each keyword phrase: 10 the specified keywords will be converted to lowercase format, data will be provided in a separate array note that if some of the keywords specified in this array are omitted in the results you receive, then our database doesn’t contain such keywords and cannot return data on them you will not be charged for the keywords omitted in the results learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "language_code": {
        -    "description": "language code required field if you don’t specify language_name Note: it is required to specify either language_name or language_code you can receive the list of available locations with their language_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: en",
        -    "type": "string"
        -  },
        -  "language_name": {
        -    "description": "full name of the language required field if you don’t specify language_code Note: it is required to specify either language_name or language_code you can receive the list of available locations with their language_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: English",
        -    "type": "string"
        -  },
        -  "location_code": {
        -    "description": "location code required field if you don’t specify location_name Note: it is required to specify either location_name or location_code you can receive the list of available locations with their location_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: 2840",
        -    "type": "integer"
        -  },
        -  "location_name": {
        -    "description": "full name of the location required field if you don’t specify location_code Note: it is required to specify either location_name or location_code you can receive the list of available locations with their location_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: United Kingdom",
        -    "type": "string"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "keywords"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_labs_google_keyword_suggestions_live6 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "include_seed_keyword": true,
        +    "include_serp_info": true,
        +    "keyword": "phone",
        +    "language_code": "en",
        +    "limit": 1,
        +    "location_code": 2840
        +  }
        +]
      • changedInput schema / properties / body / items / anyOf
        Previous value: -[
        -  {
        -    "required": [
        -      "keyword"
        -    ]
        -  },
        -  {
        -    "required": [
        -      "offset_token"
        -    ]
        -  }
        -]New value: +[
        +  {
        +    "example": [
        +      {
        +        "include_seed_keyword": true,
        +        "include_serp_info": true,
        +        "keyword": "phone",
        +        "language_code": "en",
        +        "limit": 1,
        +        "location_code": 2840
        +      }
        +    ],
        +    "properties": {
        +      "exact_match": {
        +        "description": "<em>search for the exact phrase</em><br>optional field<br>if set to <code>true</code>, the returned keywords will include the exact keyword phrase you specified, with potentially other words before or after that phrase<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "filters": {
        +        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>match</code>, <code>not_match</code>, <code>ilike</code>, <code>not_ilike</code>, <code>like</code>, <code>not_like</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code>, as well as <code>ilike</code> and <code>not_ilike</code> to match any string of zero or more characters<br>example:<br><code>[\"keyword_info.search_volume\",\"&gt;\",0]</code><br><code>[[\"keyword_info.search_volume\",\"in\",[0,1000]],<br>\"and\",<br>[\"keyword_info.competition_level\",\"=\",\"LOW\"]]</code><code>[[\"keyword_info.search_volume\",\"&gt;\",100],<br>\"and\",<br>[[\"keyword_info.cpc\",\"&lt;\",0.5],<br>\"or\",<br>[\"keyword_info.high_top_of_page_bid\",\"&lt;=\",0.5]]]</code><br>for more information about filters, please refer to <a href=\"/v3/dataforseo_labs/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Dataforseo Labs - Filters</a> or this <a href=\"https://dataforseo.com/help-center/how-to-use-filters-in-dataforseo-labs-api\" target=\"_blank\" rel=\"noopener noreferrer\">help center guide</a>",
        +        "items": {
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "ignore_synonyms": {
        +        "description": "<em>ignore highly similar keywords</em><br>optional field<br>if set to <code class=\"prettyprint\">true</code> only core keywords will be returned, all highly similar keywords will be excluded;<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_clickstream_data": {
        +        "description": "<em>include or exclude data from clickstream-based metrics in the result</em><br>optional field<br>if the parameter is set to <code>true</code>, you will receive <code>clickstream_keyword_info</code>, <code>keyword_info_normalized_with_clickstream</code>, and <code>keyword_info_normalized_with_bing</code> fields in the response<br>default value: <code>false</code><br>with this parameter enabled, you will be charged double the price for the request<p>learn more about how clickstream-based metrics are calculated in this <a href=\"https://dataforseo.com/help-center/what-are-clickstream-based-metrics-and-how-do-we-calculate-them\" rel=\"noopener noreferrer\" target=\"_blank\">help center article</a>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_seed_keyword": {
        +        "description": "<em>include data for the seed keyword</em><br>optional field<br>if set to <code>true</code>, data for the seed keyword specified in the <code>keyword</code> field will be provided in the <code>seed_keyword_data</code> array of the response<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_serp_info": {
        +        "description": "<em>include data from SERP for each keyword</em><br>optional field<br>if set to <code>true</code>, we will return a <code>serp_info</code> array containing SERP data (number of search results, relevant URL, and SERP features) for every keyword in the response<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "keyword": {
        +        "description": "<em>keyword</em><br><strong>required field</strong><br>UTF-8 encoding<br>the keywords will be converted to lowercase format;<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        +        "type": "string"
        +      },
        +      "language_code": {
        +        "description": "<em>language code</em><br>optional field<br>if you use this field, you don't need to specify <code>language_name</code><br>you can receive the list of available languages with their <code>language_code</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">en</code><br><strong>Note:</strong> if omitted, results default to the language with the most keyword records in the specified location;<br>refer to the <code>available_languages.keywords</code> field of the <a href=\"https://docs.dataforseo.com/v3/dataforseo_labs/locations_and_languages\" target=\"_blank\">Locations and Languages endpoint</a> to determine the default language",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "<em>full name of the language</em><br>optional field<br>if you use this field, you don't need to specify <code>language_code</code><br>you can receive the list of available languages with their <code>language_name</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">English</code><br><strong>Note:</strong> if omitted, results default to the language with the most keyword records in the specified location;<br>refer to the <code>available_languages.keywords</code> field of the <a href=\"https://docs.dataforseo.com/v3/dataforseo_labs/locations_and_languages\" target=\"_blank\">Locations and Languages endpoint</a> to determine the default language",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "limit": {
        +        "description": "<em>the maximum number of returned keywords</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_code": {
        +        "description": "<em>location code</em><br>optional field<br>if you use this field, you don't need to specify <code>location_name</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">2840</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_name": {
        +        "description": "<em>full name of the location</em><br>optional field<br>if you use this field, you don't need to specify <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the<br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">United Kingdom</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "offset": {
        +        "description": "<em>offset in the results array of returned keywords</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten keywords in the results array will be omitted and the data will be provided for the successive keywords<br><strong>Note:</strong> we recommend using this parameter only when retrieving up to 10,000 results<br>for retrieving over 10,000 results, use the <code>offset_token</code> instead.",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "offset_token": {
        +        "description": "<em>offset token for subsequent requests</em><br>optional field<br>provided in the identical filed of the response to each request;<br>use this parameter to avoid timeouts while trying to obtain over 10,000 results in a single request;<br>by specifying the unique <code>offset_token</code> value from the response array, you will get the subsequent results of the initial task;<br><code>offset_token</code> values are unique for each subsequent task<br><strong>Note:</strong> if the <code>offset_token</code> is specified in the request, all other parameters except <code>limit</code> will not be taken into account when processing a task.<br>learn more about this parameter on our <a href=\"https://dataforseo.com/help-center/what-is-the-difference-between-the-offset-and-offset_token-parameters#offset_token\" target=\"_blank\">Help Center</a>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "order_by": {
        +        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>a comma is used as a separator<br>example:<br><code>[\"keyword_info.competition,desc\"]</code><br>default rule:<br><code>[\"keyword_info.search_volume,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"keyword_info.search_volume,desc\",\"keyword_info.cpc,desc\"]</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "exact_match": {
        -    "description": "search for the exact phrase optional field if set to true, the returned keywords will include the exact keyword phrase you specified, with potentially other words before or after that phrase default value: false",
        -    "type": "boolean"
        -  },
        -  "filters": {
        -    "description": "array of results filtering parameters optional field you can add several filters at once (8 filters maximum) you should set a logical operator and, or between the conditions the following operators are supported: regex, not_regex, <, <=, >, >=, =, <>, in, not_in, match, not_match, ilike, not_ilike, like, not_like you can use the % operator with like and not_like, as well as ilike and not_ilike to match any string of zero or more characters example: [\"keyword_info.search_volume\",\">\",0] [[\"keyword_info.search_volume\",\"in\",[0,1000]], \"and\", [\"keyword_info.competition_level\",\"=\",\"LOW\"]][[\"keyword_info.search_volume\",\">\",100], \"and\", [[\"keyword_info.cpc\",\"<\",0.5], \"or\", [\"keyword_info.high_top_of_page_bid\",\"<=\",0.5]]] for more information about filters, please refer to Dataforseo Labs - Filters or this help center guide",
        -    "items": {},
        -    "type": "array"
        -  },
        -  "ignore_synonyms": {
        -    "description": "ignore highly similar keywords optional field if set to true only core keywords will be returned, all highly similar keywords will be excluded; default value: false",
        -    "type": "boolean"
        -  },
        -  "include_clickstream_data": {
        -    "description": "include or exclude data from clickstream-based metrics in the result optional field if the parameter is set to true, you will receive clickstream_keyword_info, keyword_info_normalized_with_clickstream, and keyword_info_normalized_with_bing fields in the response default value: false with this parameter enabled, you will be charged double the price for the request learn more about how clickstream-based metrics are calculated in this help center article",
        -    "type": "boolean"
        -  },
        -  "include_seed_keyword": {
        -    "description": "include data for the seed keyword optional field if set to true, data for the seed keyword specified in the keyword field will be provided in the seed_keyword_data array of the response default value: false",
        -    "type": "boolean"
        -  },
        -  "include_serp_info": {
        -    "description": "include data from SERP for each keyword optional field if set to true, we will return a serp_info array containing SERP data (number of search results, relevant URL, and SERP features) for every keyword in the response default value: false",
        -    "type": "boolean"
        -  },
        -  "keyword": {
        -    "description": "keyword required field UTF-8 encoding the keywords will be converted to lowercase format; learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        -    "type": "string"
        -  },
        -  "language_code": {
        -    "description": "language code optional field if you use this field, you don’t need to specify language_name you can receive the list of available languages with their language_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: en Note: if omitted, results default to the language with the most keyword records in the specified location; refer to the available_languages.keywords field of the Locations and Languages endpoint to determine the default language",
        -    "type": "string"
        -  },
        -  "language_name": {
        -    "description": "full name of the language optional field if you use this field, you don’t need to specify language_code you can receive the list of available languages with their language_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: English Note: if omitted, results default to the language with the most keyword records in the specified location; refer to the available_languages.keywords field of the Locations and Languages endpoint to determine the default language",
        -    "type": "string"
        -  },
        -  "limit": {
        -    "description": "the maximum number of returned keywords optional field default value: 100 maximum value: 1000",
        -    "type": "integer"
        -  },
        -  "location_code": {
        -    "description": "location code optional field if you use this field, you don’t need to specify location_name you can receive the list of available locations with their location_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages ignore this field to get the results for all available locations example: 2840",
        -    "type": "integer"
        -  },
        -  "location_name": {
        -    "description": "full name of the location optional field if you use this field, you don’t need to specify location_code you can receive the list of available locations with their location_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages ignore this field to get the results for all available locations example: United Kingdom",
        -    "type": "string"
        -  },
        -  "offset": {
        -    "description": "offset in the results array of returned keywords optional field default value: 0 if you specify the 10 value, the first ten keywords in the results array will be omitted and the data will be provided for the successive keywords Note: we recommend using this parameter only when retrieving up to 10,000 results for retrieving over 10,000 results, use the offset_token instead.",
        -    "type": "integer"
        -  },
        -  "offset_token": {
        -    "description": "offset token for subsequent requests optional field provided in the identical filed of the response to each request; use this parameter to avoid timeouts while trying to obtain over 10,000 results in a single request; by specifying the unique offset_token value from the response array, you will get the subsequent results of the initial task; offset_token values are unique for each subsequent task Note: if the offset_token is specified in the request, all other parameters except limit will not be taken into account when processing a task. learn more about this parameter on our Help Center",
        -    "type": "string"
        -  },
        -  "order_by": {
        -    "description": "results sorting rules optional field you can use the same values as in the filters array to sort the results possible sorting types: asc – results will be sorted in the ascending order desc – results will be sorted in the descending order a comma is used as a separator example: [\"keyword_info.competition,desc\"] default rule: [\"keyword_info.search_volume,desc\"] note that you can set no more than three sorting rules in a single request you should use a comma to separate several sorting rules example: [\"keyword_info.search_volume,desc\",\"keyword_info.cpc,desc\"]",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  }
        -}
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_labs_google_related_keywords_live8 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "keyword": "phone",
        +    "language_name": "English",
        +    "limit": 3,
        +    "location_code": 2840
        +  }
        +]
      • removedInput schema / properties / body / items / allOf
        Removed value: -[
        -  {
        -    "anyOf": [
        -      {
        -        "required": [
        -          "location_name"
        -        ]
        -      },
        -      {
        -        "required": [
        -          "location_code"
        -        ]
        -      }
        -    ]
        -  },
        -  {
        -    "anyOf": [
        -      {
        -        "required": [
        -          "language_name"
        -        ]
        -      },
        -      {
        -        "required": [
        -          "language_code"
        -        ]
        -      }
        -    ]
        -  }
        -]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "keyword": "phone",
        +        "language_name": "English",
        +        "limit": 3,
        +        "location_code": 2840
        +      }
        +    ],
        +    "properties": {
        +      "depth": {
        +        "description": "<em>keyword search depth</em><br>optional field<br>default value: <code>1</code><p>number of the returned results depends on the value you set in this field<br>you can specify a level from 0 to 4<br>estimated number of keywords for each level (maximum):<br>0 - the keyword set in the <code>keyword</code> field<br>1 – 8 keywords<br>2 – 72 keywords<br>3 – 584 keywords<br>4 – 4680 keywords",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "filters": {
        +        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>match</code>, <code>not_match</code>, <code>ilike</code>, <code>not_ilike</code>, <code>like</code>,<code>not_like</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code>, as well as <code>ilike</code> and <code>not_ilike</code> to match any string of zero or more characters<br>example:<br><code>[\"keyword_data.keyword_info.search_volume\",\"&gt;\",0]</code><p><code>[[\"keyword_info.search_volume\",\"in\",[0,1000]],<br>\"and\",<br>[\"keyword_data.keyword_info.competition_level\",\"=\",\"LOW\"]]</code><p><code>[[\"keyword_data.keyword_info.search_volume\",\"&gt;\",100],<br>\"and\",<br>[[\"keyword_data.keyword_info.cpc\",\"&lt;\",0.5],<br>\"or\",<p>[\"keyword_info.high_top_of_page_bid\",\"&lt;=\",0.5]]]</code><br>for more information about filters, please refer to <a href=\"/v3/dataforseo_labs/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Dataforseo Labs - Filters</a> or this <a href=\"https://dataforseo.com/help-center/how-to-use-filters-in-dataforseo-labs-api\" rel=\"noopener noreferrer\" target=\"_blank\">help center guide</a>",
        +        "items": {
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "ignore_synonyms": {
        +        "description": "",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_clickstream_data": {
        +        "description": "",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_seed_keyword": {
        +        "description": "<em>include data for the seed keyword</em><br>optional field<br>if set to <code>true</code>, data for the seed keyword specified in the <code>keyword</code> field will be provided in the <code>seed_keyword_data</code> array of the response<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_serp_info": {
        +        "description": "<em>include data from SERP for each keyword</em><br>optional field<br>if set to <code>true</code>, we will return a <code>serp_info</code> array containing SERP data (number of search results, relevant URL, and SERP features) for every keyword in the response<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "keyword": {
        +        "description": "<em>keyword</em><br><strong>required field</strong><br>UTF-8 encoding<br>the keywords will be converted to lowercase format<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        +        "type": "string"
        +      },
        +      "language_code": {
        +        "description": "<em>language code</em><br><strong>required field if you don't specify</strong> <code>language_name</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available locations with their <code>language_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">en</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "<em>full name of the language</em><br><strong>required field if you don't specify</strong> <code>language_code</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available locations with their <code>language_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">English</code>",
        +        "type": "string"
        +      },
        +      "limit": {
        +        "description": "<em>the maximum number of returned keywords</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_code": {
        +        "description": "<em>location code</em><br><strong>required field if you don't specify</strong> <code>location_name</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">2840</code>",
        +        "type": "integer"
        +      },
        +      "location_name": {
        +        "description": "<em>full name of the location</em><br><strong>required field if you don't specify</strong> <code>location_code</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">United Kingdom</code>",
        +        "type": "string"
        +      },
        +      "offset": {
        +        "description": "<em>offset in the results array of returned keywords</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten keywords in the results array will be omitted and the data will be provided for the successive keywords",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "order_by": {
        +        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to set up a sorting type<br>example:<br><code>[\"keyword_data.keyword_info.competition,desc\"]</code><br>default rule:<br><code>[\"keyword_data.keyword_info.search_volume,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"keyword_data.keyword_info.search_volume,desc\",\"keyword_data.keyword_info.cpc,desc\"]</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "replace_with_core_keyword": {
        +        "description": "<em>return data for core keyword</em><br>optional field<br>if <code>true</code>, <code>serp_info</code> and <code>related_keywords</code> will be returned for the main keyword in the group that the specified <code>keyword</code> belongs to;<br>if <code>false</code>, <code>serp_info</code> and <code>related_keywords</code> will be returned for the specified <code>keyword</code> (if available);<br>refer to <a href=\"https://dataforseo.com/help-center/replace_with_core_keyword\" rel=\"noopener noreferrer\" target=\"_blank\">this help center article</a> for more details;<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "depth": {
        -    "description": "keyword search depth optional field default value: 1 number of the returned results depends on the value you set in this field you can specify a level from 0 to 4 estimated number of keywords for each level (maximum): 0 – the keyword set in the keyword field 1 – 8 keywords 2 – 72 keywords 3 – 584 keywords 4 – 4680 keywords",
        -    "type": "integer"
        -  },
        -  "filters": {
        -    "description": "array of results filtering parameters optional field you can add several filters at once (8 filters maximum) you should set a logical operator and, or between the conditions the following operators are supported: regex, not_regex, <, <=, >, >=, =, <>, in, not_in, match, not_match, ilike, not_ilike, like,not_like you can use the % operator with like and not_like, as well as ilike and not_ilike to match any string of zero or more characters example: [\"keyword_data.keyword_info.search_volume\",\">\",0] [[\"keyword_info.search_volume\",\"in\",[0,1000]], \"and\", [\"keyword_data.keyword_info.competition_level\",\"=\",\"LOW\"]] [[\"keyword_data.keyword_info.search_volume\",\">\",100], \"and\", [[\"keyword_data.keyword_info.cpc\",\"<\",0.5], \"or\", [\"keyword_info.high_top_of_page_bid\",\"<=\",0.5]]] for more information about filters, please refer to Dataforseo Labs - Filters or this help center guide",
        -    "items": {},
        -    "type": "array"
        -  },
        -  "ignore_synonyms": {
        -    "description": "ignore highly similar keywords optional field if set to true only core keywords will be returned, all highly similar keywords will be excluded; default value: false",
        -    "type": "boolean"
        -  },
        -  "include_clickstream_data": {
        -    "description": "include or exclude data from clickstream-based metrics in the result optional field if the parameter is set to true, you will receive clickstream_keyword_info, keyword_info_normalized_with_clickstream, and keyword_info_normalized_with_bing fields in the response default value: false with this parameter enabled, you will be charged double the price for the request learn more about how clickstream-based metrics are calculated in this help center article",
        -    "type": "boolean"
        -  },
        -  "include_seed_keyword": {
        -    "description": "include data for the seed keyword optional field if set to true, data for the seed keyword specified in the keyword field will be provided in the seed_keyword_data array of the response default value: false",
        -    "type": "boolean"
        -  },
        -  "include_serp_info": {
        -    "description": "include data from SERP for each keyword optional field if set to true, we will return a serp_info array containing SERP data (number of search results, relevant URL, and SERP features) for every keyword in the response default value: false",
        -    "type": "boolean"
        -  },
        -  "keyword": {
        -    "description": "keyword required field UTF-8 encoding the keywords will be converted to lowercase format learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        -    "type": "string"
        -  },
        -  "language_code": {
        -    "description": "language code required field if you don’t specify language_name Note: it is required to specify either language_name or language_code you can receive the list of available locations with their language_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: en",
        -    "type": "string"
        -  },
        -  "language_name": {
        -    "description": "full name of the language required field if you don’t specify language_code Note: it is required to specify either language_name or language_code you can receive the list of available locations with their language_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: English",
        -    "type": "string"
        -  },
        -  "limit": {
        -    "description": "the maximum number of returned keywords optional field default value: 100 maximum value: 1000",
        -    "type": "integer"
        -  },
        -  "location_code": {
        -    "description": "location code required field if you don’t specify location_name Note: it is required to specify either location_name or location_code you can receive the list of available locations with their location_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: 2840",
        -    "type": "integer"
        -  },
        -  "location_name": {
        -    "description": "full name of the location required field if you don’t specify location_code Note: it is required to specify either location_name or location_code you can receive the list of available locations with their location_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: United Kingdom",
        -    "type": "string"
        -  },
        -  "offset": {
        -    "description": "offset in the results array of returned keywords optional field default value: 0 if you specify the 10 value, the first ten keywords in the results array will be omitted and the data will be provided for the successive keywords",
        -    "type": "integer"
        -  },
        -  "order_by": {
        -    "description": "results sorting rules optional field you can use the same values as in the filters array to sort the results possible sorting types: asc – results will be sorted in the ascending order desc – results will be sorted in the descending order you should use a comma to set up a sorting type example: [\"keyword_data.keyword_info.competition,desc\"] default rule: [\"keyword_data.keyword_info.search_volume,desc\"] note that you can set no more than three sorting rules in a single request you should use a comma to separate several sorting rules example: [\"keyword_data.keyword_info.search_volume,desc\",\"keyword_data.keyword_info.cpc,desc\"]",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "replace_with_core_keyword": {
        -    "description": "return data for core keyword optional field if true, serp_info and related_keywords will be returned for the main keyword in the group that the specified keyword belongs to; if false, serp_info and related_keywords will be returned for the specified keyword (if available); refer to this help center article for more details; default value: false",
        -    "type": "boolean"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "keyword"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_labs_google_relevant_pages_live7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "filters": [
        +      [
        +        "metrics.organic.pos_1",
        +        "<>",
        +        0
        +      ],
        +      "or",
        +      [
        +        "metrics.organic.pos_2_3",
        +        "<>",
        +        0
        +      ]
        +    ],
        +    "language_name": "English",
        +    "limit": 3,
        +    "location_code": 2840,
        +    "target": "amazon.com"
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "filters": [
        +          [
        +            "metrics.organic.pos_1",
        +            "<>",
        +            0
        +          ],
        +          "or",
        +          [
        +            "metrics.organic.pos_2_3",
        +            "<>",
        +            0
        +          ]
        +        ],
        +        "language_name": "English",
        +        "limit": 3,
        +        "location_code": 2840,
        +        "target": "amazon.com"
        +      }
        +    ],
        +    "properties": {
        +      "filters": {
        +        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code><p>example:<br><code>[\"metrics.paid.count\",\"&gt;\",0]</code><p><code>[[\"metrics.organic.count\",\"&gt;\",50],\"and\",[\"metrics.organic.pos_1\",\"&lt;&gt;\",0]]</code><p><code>[[\"\"metrics.organic.count\",\"&gt;\",50\"],<br>\"and\",<br>[[\"metrics.organic.pos_1\",\"&lt;&gt;\",0],\"or\",[\"metrics.organic.pos_2_3\",\"&lt;&gt;\",0]]]</code><br>for more information about filters, please refer to <a href=\"/v3/dataforseo_labs/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Dataforseo Labs - Filters</a> or this <a href=\"https://dataforseo.com/help-center/how-to-use-filters-in-dataforseo-labs-api\" rel=\"noopener noreferrer\" target=\"_blank\">help center guide</a>",
        +        "items": {
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "historical_serp_mode": {
        +        "description": "<em>data collection mode</em><br>optional field<br>you can use this field to filter the results;<br>possible types of filtering:<br><code>live</code> — return metrics for SERPs in which the specified <code>target</code> currently has ranking results;<br><code>lost</code> — return metrics for SERPs in which the specified <code>target</code> had previously had ranking results, but didn't have them during the last check;<br><code>all</code> — return metrics for both types of SERPs.<br>default value: <code>live</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "ignore_synonyms": {
        +        "description": "<em>ignore highly similar keywords</em><br>optional field<br>if set to <code class=\"prettyprint\">true</code>, only core keywords will be returned, all highly similar keywords will be excluded;  <br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_clickstream_data": {
        +        "description": "<em>include or exclude data from clickstream-based metrics in the result</em><br>optional field<br>if the parameter is set to <code>true</code>, you will receive <code>clickstream_etv</code>, <code>clickstream_gender_distribution</code>, and <code>clickstream_age_distribution</code> fields with clickstream data in the response<br>default value: <code>false</code><br>with this parameter enabled, you will be charged double the price for the request<p>learn more about how clickstream-based metrics are calculated in this <a href=\"https://dataforseo.com/help-center/what-are-clickstream-based-metrics-and-how-do-we-calculate-them\" rel=\"noopener noreferrer\" target=\"_blank\">help center article</a>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "item_types": {
        +        "description": "<em>display results by item type</em><br>optional field<br>indicates the type of search results included in the response<p><strong>Note:</strong> if the <code>item_types</code> array contains item types that are different from <code>organic</code>, the results will be ordered by the first item type in the array; you will not be able to sort and filter results by the types of search results not included in the response;<p>possible values: <br><code>[\"organic\", \"paid\", \"featured_snippet\", \"local_pack\"]</code><br>default value: <br><code>[\"organic\", \"paid\"]</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "language_code": {
        +        "description": "<em>language code</em><br>optional field<br>if you use this field, you don't need to specify <code>language_name</code><br>you can receive the list of available languages with their <code>language_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available languages<br>example:<br><code class=\"long-string\">en</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "<em>full name of the language</em><br>optional field<br>if you use this field, you don't need to specify <code>language_code</code><br>you can receive the list of available languages with their <code>language_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available languages<br>example:<br><code class=\"long-string\">English</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "limit": {
        +        "description": "<em>the maximum number of returned pages</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_code": {
        +        "description": "<em>location code</em><br>optional field<br>if you use this field, you don't need to specify <code>location_name</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">2840</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_name": {
        +        "description": "<em>full name of the location</em><br>optional field<br>if you use this field, you don't need to specify <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">United Kingdom</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "offset": {
        +        "description": "<em>offset in the results array of returned pages</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten pages in the results array will be omitted and the data will be provided for the successive pages",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "order_by": {
        +        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to specify a sorting type<br>example:<br><code>[\"metrics.paid.etv,asc\"]</code><br><strong>Note:</strong> you can set no more than three sorting rules in a single request<br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"metrics.organic.etv,desc\",\"metrics.paid.count,asc\"]</code><p>default rule:<br><code>[\"metrics.organic.count,desc\"]</code><br><strong>Note:</strong> if the <code>item_types</code> array contains item types that are different from <code>organic</code>, the results will be ordered by the first item type in the array",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "target": {
        +        "description": "<em>domain</em><br><strong>required field</strong><br>the domain name of the target website<br>the domain should be specified without <code>https://</code> and <code>www.</code>",
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "filters": {
        -    "description": "array of results filtering parameters optional field you can add several filters at once (8 filters maximum) you should set a logical operator and, or between the conditions the following operators are supported: regex, not_regex, , , >, >=, =, , in, not_in example: [\"metrics.paid.count\",\">\",0] [[\"metrics.organic.count\",\">\",50],\"and\",[\"metrics.organic.pos_1\",\"\",0]] [[\"\"metrics.organic.count\",\">\",50\"], \"and\", [[\"metrics.organic.pos_1\",\"\",0],\"or\",[\"metrics.organic.pos_2_3\",\"\",0]]] for more information about filters, please refer to Dataforseo Labs – Filters or this help center guide",
        -    "items": {},
        -    "type": "array"
        -  },
        -  "historical_serp_mode": {
        -    "description": "data collection mode optional field you can use this field to filter the results; possible types of filtering: live — return metrics for SERPs in which the specified target currently has ranking results; lost — return metrics for SERPs in which the specified target had previously had ranking results, but didn’t have them during the last check; all — return metrics for both types of SERPs. default value: live",
        -    "type": "string"
        -  },
        -  "ignore_synonyms": {
        -    "description": "ignore highly similar keywords optional field if set to true, only core keywords will be returned, all highly similar keywords will be excluded; default value: false",
        -    "type": "boolean"
        -  },
        -  "include_clickstream_data": {
        -    "description": "include or exclude data from clickstream-based metrics in the result optional field if the parameter is set to true, you will receive clickstream_etv, clickstream_gender_distribution, and clickstream_age_distribution fields with clickstream data in the response default value: false with this parameter enabled, you will be charged double the price for the request learn more about how clickstream-based metrics are calculated in this help center article",
        -    "type": "boolean"
        -  },
        -  "item_types": {
        -    "description": "display results by item type optional field indicates the type of search results included in the response Note: if the item_types array contains item types that are different from organic, the results will be ordered by the first item type in the array; you will not be able to sort and filter results by the types of search results not included in the response; possible values: [\"organic\", \"paid\", \"featured_snippet\", \"local_pack\"] default value: [\"organic\", \"paid\"]",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "language_code": {
        -    "description": "language code optional field if you use this field, you don’t need to specify language_name you can receive the list of available languages with their language_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages ignore this field to get the results for all available languages example: en",
        -    "type": "string"
        -  },
        -  "language_name": {
        -    "description": "full name of the language optional field if you use this field, you don’t need to specify language_code you can receive the list of available languages with their language_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages ignore this field to get the results for all available languages example: English",
        -    "type": "string"
        -  },
        -  "limit": {
        -    "description": "the maximum number of returned pages optional field default value: 100 maximum value: 1000",
        -    "type": "integer"
        -  },
        -  "location_code": {
        -    "description": "location code optional field if you use this field, you don’t need to specify location_name you can receive the list of available locations with their location_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages ignore this field to get the results for all available locations example: 2840",
        -    "type": "integer"
        -  },
        -  "location_name": {
        -    "description": "full name of the location optional field if you use this field, you don’t need to specify location_code you can receive the list of available locations with their location_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages ignore this field to get the results for all available locations example: United Kingdom",
        -    "type": "string"
        -  },
        -  "offset": {
        -    "description": "offset in the results array of returned pages optional field default value: 0 if you specify the 10 value, the first ten pages in the results array will be omitted and the data will be provided for the successive pages",
        -    "type": "integer"
        -  },
        -  "order_by": {
        -    "description": "results sorting rules optional field you can use the same values as in the filters array to sort the results possible sorting types: asc – results will be sorted in the ascending order desc – results will be sorted in the descending order you should use a comma to specify a sorting type example: [\"metrics.paid.etv,asc\"] Note: you can set no more than three sorting rules in a single request you should use a comma to separate several sorting rules example: [\"metrics.organic.etv,desc\",\"metrics.paid.count,asc\"] default rule: [\"metrics.organic.count,desc\"] Note: if the item_types array contains item types that are different from organic, the results will be ordered by the first item type in the array",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  },
        -  "target": {
        -    "description": "domain required field the domain name of the target website the domain should be specified without https:// and www.",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "target"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_labs_google_search_intent_live8 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "keywords": [
        +      "login page",
        +      "audi a7",
        +      "elon musk",
        +      "milk store new york"
        +    ]
        +  }
        +]
      • removedInput schema / properties / body / items / allOf
        Removed value: -[
        -  {
        -    "anyOf": [
        -      {
        -        "required": [
        -          "language_name"
        -        ]
        -      },
        -      {
        -        "required": [
        -          "language_code"
        -        ]
        -      }
        -    ]
        -  }
        -]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "keywords": [
        +          "login page",
        +          "audi a7",
        +          "elon musk",
        +          "milk store new york"
        +        ]
        +      }
        +    ],
        +    "properties": {
        +      "keywords": {
        +        "description": "<em>target keywords</em><br><strong>required field</strong><br>UTF-8 encoding<br>maximum number of keywords you can specify in this array: 1000;<br>the keywords will be converted to lowercase format<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "keywords": {
        -    "description": "target keywords required field UTF-8 encoding maximum number of keywords you can specify in this array: 1000; the keywords will be converted to lowercase format learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "language_code": {
        -    "description": "language code required field if don’t specify language_name you can receive the list of available languages with their language_code by making a separate request to https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages Note: this endpoint currently supports these languages only; example: en",
        -    "type": "string"
        -  },
        -  "language_name": {
        -    "description": "full name of the language required field if don’t specify language_code you can receive the list of available languages with their language_name by making a separate request to https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages Note: this endpoint currently supports the following languages only: Arabic, ar, Chinese(Traditional), zh-TW, Czech, cs, Danish, da, Dutch, nl, English, en, Finnish, fi, French, fr, German, de, Hebrew, he, Hindi, hi, Italian, it, Japanese, ja, Korean, ko, Malay, ms, Norwegian(Bokmål), nb, Polish, pl, Portuguese, pt, Romanian, ro, Russian, ru, Spanish, es, Swedish, sv, Thai, th, Ukrainian, uk, Vietnamese, vi, Bulgarian, bg, Croatian, hr, Serbian, sr, Slovenian, sl, Bosnian, bs, Greek, el, Hungarian, hu, Slovak, sk, Turkish, tr example: English",
        -    "type": "string"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "keywords"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_labs_google_serp_competitors_live8 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "item_types": [
        +      "organic"
        +    ],
        +    "keywords": [
        +      "phone"
        +    ],
        +    "language_name": "English",
        +    "limit": 5,
        +    "location_code": 2840
        +  }
        +]
      • removedInput schema / properties / body / items / allOf
        Removed value: -[
        -  {
        -    "anyOf": [
        -      {
        -        "required": [
        -          "location_name"
        -        ]
        -      },
        -      {
        -        "required": [
        -          "location_code"
        -        ]
        -      }
        -    ]
        -  },
        -  {
        -    "anyOf": [
        -      {
        -        "required": [
        -          "language_name"
        -        ]
        -      },
        -      {
        -        "required": [
        -          "language_code"
        -        ]
        -      }
        -    ]
        -  }
        -]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "item_types": [
        +          "organic"
        +        ],
        +        "keywords": [
        +          "phone"
        +        ],
        +        "language_name": "English",
        +        "limit": 5,
        +        "location_code": 2840
        +      }
        +    ],
        +    "properties": {
        +      "filters": {
        +        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>match</code>, <code>not_match</code>, <code>ilike</code>, <code>not_ilike</code>, <code>like</code>, <code>not_like</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code>, as well as <code>ilike</code> and <code>not_ilike</code> to match any string of zero or more characters<br>example:<br><code>[\"median_position\",\"in\",[1,10]]</code><p><code>[[\"median_position\",\"in\",[1,10]],\"and\",[\"domain\",\"not_like\",\"%wikipedia.org%\"]]</code><p><code>[[\"domain\",\"not_like\",\"%wikipedia.org%\"],<br>\"and\",<br>[[\"relevant_serp_items\",\"&gt;\",0],\"or\",[\"median_position\",\"in\",[1,10]]]]</code><br>for more information about filters, please refer to <a href=\"/v3/dataforseo_labs/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Dataforseo Labs - Filters</a> or this <a href=\"https://dataforseo.com/help-center/how-to-use-filters-in-dataforseo-labs-api\" rel=\"noopener noreferrer\" target=\"_blank\">help center guide</a>",
        +        "items": {
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "include_subdomains": {
        +        "description": "<em>indicates if the subdomains will be included in the search</em><br>optional field<br>if set to <code>false</code>, the subdomains will be ignored<br>default value: <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "item_types": {
        +        "description": "<em>search results type</em><br>indicates type of search results included in the response<br>optional field<p>possible values: <br><code>[\"organic\", \"paid\", \"featured_snippet\", \"local_pack\"]</code><br>default value: <br><code>[\"organic\", \"paid\"]</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "keywords": {
        +        "description": "<em>keywords array</em><br><strong>required field</strong><br>the results will be based on the keywords you specify in this array<br>UTF-8 encoding;<br>the keywords will be converted to lowercase format;<br><strong>you can specify the maximum of 200 keywords</strong><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "language_code": {
        +        "description": "<em>unique language identifier</em><br><strong>required field if you don't specify</strong> <code>language_name</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available languages with their <code>language_code</code> parameters by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">en</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "<em>full name of the language</em><br><strong>required field if you don't specify</strong> <code>language_code</code><br><strong>Note:</strong> it is required to specify either <code>language_name</code> or <code>language_code</code><br>you can receive the list of available languages with their <code>language_name</code> parameters by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">English</code>",
        +        "type": "string"
        +      },
        +      "limit": {
        +        "description": "<em>the maximum number of returned domains</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_code": {
        +        "description": "<em>unique location identifier</em><br><strong>required field if you don't specify</strong> <code>location_name</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with their <code>location_code</code> parameters by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">2840</code>",
        +        "type": "integer"
        +      },
        +      "location_name": {
        +        "description": "<em>full name of the location</em><br><strong>required field if you don't specify</strong> <code>location_code</code><br><strong>Note:</strong> it is required to specify either <code>location_name</code> or <code>location_code</code><br>you can receive the list of available locations with <code>location_name</code> parameters by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>example:<br><code class=\"long-string\">United Kingdom</code>",
        +        "type": "string"
        +      },
        +      "offset": {
        +        "description": "<em>offset in the results array of returned domains</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten domains in the results array will be omitted and the data will be provided for the successive domains",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "order_by": {
        +        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>the comma is used as a separator<br>example:<br><code>[\"avg_position,asc\"]</code><br>default rule:<br><code>[\"rating,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"avg_position,asc\",\"etv,desc\"]</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "filters": {
        -    "description": "array of results filtering parameters optional field you can add several filters at once (8 filters maximum) you should set a logical operator and, or between the conditions the following operators are supported: regex, not_regex, , , >, >=, =, , in, not_in, match, not_match, ilike, not_ilike, like, not_like you can use the % operator with like and not_like, as well as ilike and not_ilike to match any string of zero or more characters example: [\"median_position\",\"in\",[1,10]] [[\"median_position\",\"in\",[1,10]],\"and\",[\"domain\",\"not_like\",\"%wikipedia.org%\"]] [[\"domain\",\"not_like\",\"%wikipedia.org%\"], \"and\", [[\"relevant_serp_items\",\">\",0],\"or\",[\"median_position\",\"in\",[1,10]]]] for more information about filters, please refer to Dataforseo Labs – Filters or this help center guide",
        -    "items": {},
        -    "type": "array"
        -  },
        -  "include_subdomains": {
        -    "description": "indicates if the subdomains will be included in the search optional field if set to false, the subdomains will be ignored default value: true",
        -    "type": "boolean"
        -  },
        -  "item_types": {
        -    "description": "search results type indicates type of search results included in the response optional field possible values: [\"organic\", \"paid\", \"featured_snippet\", \"local_pack\"] default value: [\"organic\", \"paid\"]",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "keywords": {
        -    "description": "keywords array required field the results will be based on the keywords you specify in this array UTF-8 encoding; the keywords will be converted to lowercase format; you can specify the maximum of 200 keywords learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "language_code": {
        -    "description": "unique language identifier required field if you don’t specify language_name Note: it is required to specify either language_name or language_code you can receive the list of available languages with their language_code parameters by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: en",
        -    "type": "string"
        -  },
        -  "language_name": {
        -    "description": "full name of the language required field if you don’t specify language_code Note: it is required to specify either language_name or language_code you can receive the list of available languages with their language_name parameters by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: English",
        -    "type": "string"
        -  },
        -  "limit": {
        -    "description": "the maximum number of returned domains optional field default value: 100 maximum value: 1000",
        -    "type": "integer"
        -  },
        -  "location_code": {
        -    "description": "unique location identifier required field if you don’t specify location_name Note: it is required to specify either location_name or location_code you can receive the list of available locations with their location_code parameters by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: 2840",
        -    "type": "integer"
        -  },
        -  "location_name": {
        -    "description": "full name of the location required field if you don’t specify location_code Note: it is required to specify either location_name or location_code you can receive the list of available locations with location_name parameters by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: United Kingdom",
        -    "type": "string"
        -  },
        -  "offset": {
        -    "description": "offset in the results array of returned domains optional field default value: 0 if you specify the 10 value, the first ten domains in the results array will be omitted and the data will be provided for the successive domains",
        -    "type": "integer"
        -  },
        -  "order_by": {
        -    "description": "results sorting rules optional field you can use the same values as in the filters array to sort the results possible sorting types: asc – results will be sorted in the ascending order desc – results will be sorted in the descending order the comma is used as a separator example: [\"avg_position,asc\"] default rule: [\"rating,desc\"] note that you can set no more than three sorting rules in a single request you should use a comma to separate several sorting rules example: [\"avg_position,asc\",\"etv,desc\"]",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "keywords"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_labs_google_subdomains_live7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "filters": [
        +      [
        +        "metrics.organic.pos_1",
        +        "<>",
        +        0
        +      ],
        +      "or",
        +      [
        +        "metrics.organic.pos_2_3",
        +        "<>",
        +        0
        +      ]
        +    ],
        +    "language_name": "English",
        +    "location_code": 2840,
        +    "target": "dataforseo.com"
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "filters": [
        +          [
        +            "metrics.organic.pos_1",
        +            "<>",
        +            0
        +          ],
        +          "or",
        +          [
        +            "metrics.organic.pos_2_3",
        +            "<>",
        +            0
        +          ]
        +        ],
        +        "language_name": "English",
        +        "location_code": 2840,
        +        "target": "dataforseo.com"
        +      }
        +    ],
        +    "properties": {
        +      "filters": {
        +        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code><br>example:<br><code>[\"metrics.paid.count\",\"&gt;\",0]</code><p><code>[[\"metrics.paid.count\",\"&gt;\",0],\"and\",[\"metrics.paid.etv\",\"&gt;\",\"50\"]]</code><p><code>[[\"metrics.organic.count\",\"&gt;\",\"10\"],<br>\"and\",<br>[[\"metrics.organic.pos_1\",\"&lt;&gt;\",0],\"or\",[\"metrics.organic.pos_2_3\",\"&lt;&gt;\",0]]]</code><br>for more information about filters, please refer to <a href=\"/v3/dataforseo_labs/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Dataforseo Labs - Filters</a> or this <a href=\"https://dataforseo.com/help-center/how-to-use-filters-in-dataforseo-labs-api\" rel=\"noopener noreferrer\" target=\"_blank\">help center guide</a>",
        +        "items": {
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "historical_serp_mode": {
        +        "description": "<em>data collection mode</em><br>optional field<br>you can use this field to filter the results;<br>possible types of filtering:<br><code>live</code> — return metrics for SERPs in which the specified <code>target</code> currently has ranking results;<br><code>lost</code> — return metrics for SERPs in which the specified <code>target</code> had previously had ranking results, but didn't have them during the last check;<br><code>all</code> — return metrics for both types of SERPs.<br>default value: <code>live</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "ignore_synonyms": {
        +        "description": "<em>ignore highly similar keywords</em><br>optional field<br>if set to <code class=\"prettyprint\">true</code>, only core keywords will be returned, all highly similar keywords will be excluded;  <br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_clickstream_data": {
        +        "description": "<em>include or exclude data from clickstream-based metrics in the result</em><br>optional field<br>if the parameter is set to <code>true</code>, you will receive <code>clickstream_etv</code>, <code>clickstream_gender_distribution</code>, and <code>clickstream_age_distribution</code> fields with clickstream data in the response<br>default value: <code>false</code><br>with this parameter enabled, you will be charged double the price for the request<p>learn more about how clickstream-based metrics are calculated in this <a href=\"https://dataforseo.com/help-center/what-are-clickstream-based-metrics-and-how-do-we-calculate-them\" rel=\"noopener noreferrer\" target=\"_blank\">help center article</a>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "item_types": {
        +        "description": "<em>display results by item type</em><br>optional field<br>indicates the type of search results included in the response<p><strong>Note:</strong> if the <code>item_types</code> array contains item types that are different from <code>organic</code>, the results will be ordered by the first item type in the array; you will not be able to sort and filter results by the types of search results not included in the response;<p>possible values: <br><code>[\"organic\", \"paid\", \"featured_snippet\", \"local_pack\"]</code><br>default value: <br><code>[\"organic\", \"paid\"]</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "language_code": {
        +        "description": "<em>language code</em><br>optional field<br>if you use this field, you don't need to specify <code>language_name</code><br>you can receive the list of available languages with their <code>language_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available languages<br>example:<br><code class=\"long-string\">en</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "<em>full name of the language</em><br>optional field<br>if you use this field, you don't need to specify <code>language_code</code><br>you can receive the list of available languages with their <code>language_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available languages<br>example:<br><code class=\"long-string\">English</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "limit": {
        +        "description": "<em>the maximum number of returned keywords</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_code": {
        +        "description": "<em>location code</em><br>optional field<br>if you use this field, you don't need to specify <code>location_name</code><br>you can receive the list of available locations with their <code>location_code</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">2840</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_name": {
        +        "description": "<em>full name of the location</em><br>optional field<br>if you use this field, you don't need to specify <code>location_code</code><br>you can receive the list of available locations with their <code>location_name</code> by making a separate request to the <br><code>https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages</code><br>ignore this field to get the results for all available locations<br>example:<br><code class=\"long-string\">United Kingdom</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "offset": {
        +        "description": "<em>offset in the results array of returned keywords</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten keywords in the results array will be omitted and the data will be provided for the successive keywords",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "order_by": {
        +        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to specify a sorting type<br>example:<br><code>[\"metrics.paid.etv,asc\"]</code><br><strong>Note:</strong> you can set no more than three sorting rules in a single request<br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"metrics.organic.etv,desc\",\"metrics.paid.count,asc\"]</code><p>default rule:<br><code>[\"metrics.organic.count,desc\"]</code><br><strong>Note:</strong> if the <code>item_types</code> array contains item types that are different from <code>organic</code>, the results will be ordered by the first item type in the array",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "target": {
        +        "description": "<em>domain</em><br><strong>required field</strong><br>the domain name of the target website<br>the domain should be specified without <code>https://</code> and <code>www.</code>",
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "filters": {
        -    "description": "array of results filtering parameters optional field you can add several filters at once (8 filters maximum) you should set a logical operator and, or between the conditions the following operators are supported: regex, not_regex, , , >, >=, =, , in, not_in example: [\"metrics.paid.count\",\">\",0] [[\"metrics.paid.count\",\">\",0],\"and\",[\"metrics.paid.etv\",\">\",\"50\"]] [[\"metrics.organic.count\",\">\",\"10\"], \"and\", [[\"metrics.organic.pos_1\",\"\",0],\"or\",[\"metrics.organic.pos_2_3\",\"\",0]]] for more information about filters, please refer to Dataforseo Labs – Filters or this help center guide",
        -    "items": {},
        -    "type": "array"
        -  },
        -  "historical_serp_mode": {
        -    "description": "data collection mode optional field you can use this field to filter the results; possible types of filtering: live — return metrics for SERPs in which the specified target currently has ranking results; lost — return metrics for SERPs in which the specified target had previously had ranking results, but didn’t have them during the last check; all — return metrics for both types of SERPs. default value: live",
        -    "type": "string"
        -  },
        -  "ignore_synonyms": {
        -    "description": "ignore highly similar keywords optional field if set to true, only core keywords will be returned, all highly similar keywords will be excluded; default value: false",
        -    "type": "boolean"
        -  },
        -  "include_clickstream_data": {
        -    "description": "include or exclude data from clickstream-based metrics in the result optional field if the parameter is set to true, you will receive clickstream_etv, clickstream_gender_distribution, and clickstream_age_distribution fields with clickstream data in the response default value: false with this parameter enabled, you will be charged double the price for the request learn more about how clickstream-based metrics are calculated in this help center article",
        -    "type": "boolean"
        -  },
        -  "item_types": {
        -    "description": "display results by item type optional field indicates the type of search results included in the response Note: if the item_types array contains item types that are different from organic, the results will be ordered by the first item type in the array; you will not be able to sort and filter results by the types of search results not included in the response; possible values: [\"organic\", \"paid\", \"featured_snippet\", \"local_pack\"] default value: [\"organic\", \"paid\"]",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "language_code": {
        -    "description": "language code optional field if you use this field, you don’t need to specify language_name you can receive the list of available languages with their language_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages ignore this field to get the results for all available languages example: en",
        -    "type": "string"
        -  },
        -  "language_name": {
        -    "description": "full name of the language optional field if you use this field, you don’t need to specify language_code you can receive the list of available languages with their language_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages ignore this field to get the results for all available languages example: English",
        -    "type": "string"
        -  },
        -  "limit": {
        -    "description": "the maximum number of returned keywords optional field default value: 100 maximum value: 1000",
        -    "type": "integer"
        -  },
        -  "location_code": {
        -    "description": "location code optional field if you use this field, you don’t need to specify location_name you can receive the list of available locations with their location_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages ignore this field to get the results for all available locations example: 2840",
        -    "type": "integer"
        -  },
        -  "location_name": {
        -    "description": "full name of the location optional field if you use this field, you don’t need to specify location_code you can receive the list of available locations with their location_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages ignore this field to get the results for all available locations example: United Kingdom",
        -    "type": "string"
        -  },
        -  "offset": {
        -    "description": "offset in the results array of returned keywords optional field default value: 0 if you specify the 10 value, the first ten keywords in the results array will be omitted and the data will be provided for the successive keywords",
        -    "type": "integer"
        -  },
        -  "order_by": {
        -    "description": "results sorting rules optional field you can use the same values as in the filters array to sort the results possible sorting types: asc – results will be sorted in the ascending order desc – results will be sorted in the descending order you should use a comma to specify a sorting type example: [\"metrics.paid.etv,asc\"] Note: you can set no more than three sorting rules in a single request you should use a comma to separate several sorting rules example: [\"metrics.organic.etv,desc\",\"metrics.paid.count,asc\"] default rule: [\"metrics.organic.count,desc\"] Note: if the item_types array contains item types that are different from organic, the results will be ordered by the first item type in the array",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  },
        -  "target": {
        -    "description": "domain required field the domain name of the target website the domain should be specified without https:// and www.",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "target"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_on_page_duplicate_content7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "id": "07281559-0695-0216-0000-c269be8b7592",
        +    "url": "https://www.etsy.com/"
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "id": "07281559-0695-0216-0000-c269be8b7592",
        +        "url": "https://www.etsy.com/"
        +      }
        +    ],
        +    "properties": {
        +      "id": {
        +        "description": "<em>ID of the task</em><br><strong>required field</strong><br>you can get this ID in the response of the <a href=\"https://docs.dataforseo.com/v3/on_page/task_post/\">Task POST</a> endpoint<br>example:<br>\"07131248-1535-0216-1000-17384017ad04\"",
        +        "type": "string"
        +      },
        +      "limit": {
        +        "description": "<em>the maximum number of returned pages</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "offset": {
        +        "description": "<em>offset in the results array of returned pages</em><br>optional field<br>default value: <code>0</code><br>maximum value: <code>2000000</code><br>if you specify the <code>10</code> value, the first ten pages in the results array will be omitted and the data will be provided for the successive pages",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "similarity": {
        +        "description": "<em>content similarity score</em><br>by default, the content is considered duplicate if the value is greater than or equals <code>6</code><br>you can specify any similarity score in the 0-to-10 range",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "url": {
        +        "description": "<em>page URL</em><br><strong>required field</strong><br>specify the initial page you want to receive duplicate content for",
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "id": {
        -    "description": "ID of the task required field you can get this ID in the response of the Task POST endpoint example: “07131248-1535-0216-1000-17384017ad04”",
        -    "type": "string"
        -  },
        -  "limit": {
        -    "description": "the maximum number of returned pages optional field default value: 100 maximum value: 1000",
        -    "type": "integer"
        -  },
        -  "offset": {
        -    "description": "offset in the results array of returned pages optional field default value: 0 maximum value: 2000000 if you specify the 10 value, the first ten pages in the results array will be omitted and the data will be provided for the successive pages",
        -    "type": "integer"
        -  },
        -  "similarity": {
        -    "description": "content similarity score by default, the content is considered duplicate if the value is greater than or equals 6 you can specify any similarity score in the 0-to-10 range",
        -    "type": "integer"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  },
        -  "url": {
        -    "description": "page URL required field specify the initial page you want to receive duplicate content for",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "id",
        -  "url"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_on_page_lighthouse_live_json7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "for_mobile": true,
        +    "tag": "some_string_123",
        +    "url": "https://dataforseo.com"
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "for_mobile": true,
        +        "tag": "some_string_123",
        +        "url": "https://dataforseo.com"
        +      }
        +    ],
        +    "properties": {
        +      "audits": {
        +        "description": "<em>Lighthouse audits</em><br>optional field<br>audits are individual tests Lighthouse runs for each specific feature/optimization/metric to produce a numeric score (<a href=\"https://github.com/GoogleChrome/lighthouse/blob/master/docs/architecture.md#components--terminology\" rel=\"noopener noreferrer\" target=\"_blank\">see official definition</a>);  <p><strong>if you ignore this field, we will return data for all audits</strong>;<br>use this field to get data for specific audits you indicate here;<p><strong>Note:</strong> that some audits do not belong to a specific category and are stand-alone page quality measurements;<p>in general, there can be several use cases:<p>1. if you ignore <code>categories</code>, you can use this field to get data for the specified audits only<br>for example, if you ignore <code>\"categories\"</code> and specify <code>\"audits\": [\"metrics/cumulative-layout-shift\",\"metrics/largest-contentful-paint\",\"metrics/total-blocking-time\"]</code>, you will get data only for these audits<p>2. if you specify a category, you can use this field to additionally receive audits that do not belong to the category(-ies) you specified<br>for example, if you specify <code>\"categories\": [\"seo\"]</code> and <code>\"audits\": [\"metrics/cumulative-layout-shift\",\"metrics/largest-contentful-paint\",\"metrics/total-blocking-time\"]</code>, you will get only these audits under \"performance\" and all audits under \"seo\"<p>you can get <a href=\"/v3/on_page/lighthouse/audits/\">the full list of possible audits here</a>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "browser_cpu_throttling_multiplier": {
        +        "description": "<em>browser CPU throttling multiplier</em><br><strong>required if <code>browser_network_throttling_method</code> is set to <code>devtools</code>;</strong><br>set the CPU throttling multiplier to simulate device performance conditions during the Lighthouse audit;<br>can be specified within the following range: <code>1–4</code>;<br><strong>Note:</strong> this parameter is applied only when <code>browser_network_throttling_method</code> is set to <code>devtools</code>;",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "browser_network_throttling": {
        +        "description": "<em>browser network throttling</em><br><strong>required if <code>browser_network_throttling_method</code> is set to <code>devtools</code>;</strong><br>set the network throttling profile to simulate connection speed conditions during the Lighthouse audit;<br>possible values: <code>no_throttling</code>, <code>fast_4g</code>, <code>slow_4g</code>, <code>regular_3g</code>, <code>pc</code>;<br><strong>Note:</strong> this parameter is applied only when <code>browser_network_throttling_method</code> is set to <code>devtools</code>;",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "browser_network_throttling_method": {
        +        "description": "<em>browser network throttling method</em><br>optional field<br>defines the method used to apply throttling during the Lighthouse audit;<br>possible vaules:<br><code>simulate</code> - calculates estimated performance metrics without applying explicit throttling;<br><code>devtools</code> -  applies the throttling settings specified in <code>browser_network_throttling</code> and <code>browser_cpu_throttling_multiplier</code>;<br><code>provided</code> - uses the network conditions of the crawling environment;",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "browser_screen_height": {
        +        "description": "<em>browser screen height</em><br>optional field<br>set the screen height of the browser used for the Lighthouse audit to emulate a specific device;<br>can be specified within the following range: <code>240–9999</code>;",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "browser_screen_scale_factor": {
        +        "description": "<em>browser screen scale factor</em><br>optional field<br>set the device pixel ratio of the browser used for the Lighthouse audit;<br>can be specified within the following range: <code>0.5–3</code>;",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "browser_screen_width": {
        +        "description": "<em>browser screen width</em><br>optional field<br>set the screen width of the browser used for the Lighthouse audit to emulate a specific device;<br>can be specified within the following range: <code>240–9999</code>;",
        +        "format": "int64",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "categories": {
        +        "description": "<em>categories of Lighthouse audits</em><br>optional field<br>each category is a collection of audits and audit groups that applies weighting and scoring to the section (<a href=\"https://github.com/GoogleChrome/lighthouse/blob/master/docs/architecture.md#auditreport-terminology\" rel=\"noopener noreferrer\" target=\"_blank\">see official definition</a>)<p><strong>if you ignore this field, we will return data for all categories unless you specify <code>audits</code></strong><br>use this field to get data for specific categories you indicate here<p>possible values:<br><code>seo</code>, <code>performance</code>, <code>best_practices</code>, <code>accessibility</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "custom_user_agent": {
        +        "description": "<em>custom user agent</em><br>optional field<br>specify the custom user agent used by the browser when running the Lighthouse audit;<br>can be specified with up to 254 characters;",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "for_mobile": {
        +        "description": "<em>applies mobile emulation</em><br>optional field<br>if set to <code>true</code>, Lighthouse will use mobile device and screen emulation to test the page against mobile environment<br>if set to <code>false</code>, the results will be provided for desktop<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "language_code": {
        +        "description": "<em>lighthouse language code</em><br>optional field<br>you can receive the list of available languages of the search engine with their <code>language_code</code> by making a separate request to <code>https://api.dataforseo.com/v3/on_page/lighthouse/languages</code><br>default value:<br><code class=\"long-string\">en</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "<em>lighthouse language name</em><br>optional field<br>you can receive the list of available languages of the search engine with their <code>language_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/on_page/lighthouse/languages</code><br>default value:<br><code class=\"long-string\">English</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "url": {
        +        "description": "<em>target URL</em><br><strong>required field</strong><br>target page should be specified with its absolute URL (including http:// or https://)<br>example:<br><code>https://dataforseo.com/</code>",
        +        "type": "string"
        +      },
        +      "version": {
        +        "description": "<em>lighthouse version</em><br>optional field<br>you can obtain the results specific to a certain Lighthouse version by specifying its number<br>the list of available versions is available through the <a href=\"/v3/on_page/lighthouse/versions/\" rel=\"noopener noreferrer\" target=\"_blank\">Lighthouse Versions endpoint</a>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "audits": {
        -    "description": "Lighthouse audits optional field audits are individual tests Lighthouse runs for each specific feature/optimization/metric to produce a numeric score (see official definition); if you ignore this field, we will return data for all audits; use this field to get data for specific audits you indicate here; Note: that some audits do not belong to a specific category and are stand-alone page quality measurements; in general, there can be several use cases: 1. if you ignore categories, you can use this field to get data for the specified audits only for example, if you ignore \"categories\" and specify \"audits\": [\"metrics/cumulative-layout-shift\",\"metrics/largest-contentful-paint\",\"metrics/total-blocking-time\"], you will get data only for these audits 2. if you specify a category, you can use this field to additionally receive audits that do not belong to the category(-ies) you specified for example, if you specify \"categories\": [\"seo\"] and \"audits\": [\"metrics/cumulative-layout-shift\",\"metrics/largest-contentful-paint\",\"metrics/total-blocking-time\"], you will get only these audits under “performance” and all audits under “seo” you can get the full list of possible audits here",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "categories": {
        -    "description": "categories of Lighthouse audits optional field each category is a collection of audits and audit groups that applies weighting and scoring to the section (see official definition) if you ignore this field, we will return data for all categories unless you specify audits use this field to get data for specific categories you indicate here possible values: seo, performance, best_practices, accessibility",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "for_mobile": {
        -    "description": "applies mobile emulation optional field if set to true, Lighthouse will use mobile device and screen emulation to test the page against mobile environment if set to false, the results will be provided for desktop default value: false",
        -    "type": "boolean"
        -  },
        -  "language_code": {
        -    "description": "lighthouse language code optional field you can receive the list of available languages of the search engine with their language_code by making a separate request to https://api.dataforseo.com/v3/on_page/lighthouse/languages default value: en",
        -    "type": "string"
        -  },
        -  "language_name": {
        -    "description": "lighthouse language name optional field you can receive the list of available languages of the search engine with their language_name by making a separate request to https://api.dataforseo.com/v3/on_page/lighthouse/languages default value: English",
        -    "type": "string"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  },
        -  "url": {
        -    "description": "target URL required field target page should be specified with its absolute URL (including http:// or https://) example: https://dataforseo.com/",
        -    "type": "string"
        -  },
        -  "version": {
        -    "description": "lighthouse version optional field you can obtain the results specific to a certain Lighthouse version by specifying its number the list of available versions is available through the Lighthouse Versions endpoint",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "url"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_on_page_links7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "filters": [
        +      [
        +        "dofollow",
        +        "=",
        +        true
        +      ],
        +      "and",
        +      [
        +        "direction",
        +        "=",
        +        "external"
        +      ]
        +    ],
        +    "id": "07281559-0695-0216-0000-c269be8b7592",
        +    "limit": 10,
        +    "page_from": "/apis/google-trends-api"
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "filters": [
        +          [
        +            "dofollow",
        +            "=",
        +            true
        +          ],
        +          "and",
        +          [
        +            "direction",
        +            "=",
        +            "external"
        +          ]
        +        ],
        +        "id": "07281559-0695-0216-0000-c269be8b7592",
        +        "limit": 10,
        +        "page_from": "/apis/google-trends-api"
        +      }
        +    ],
        +    "properties": {
        +      "filters": {
        +        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>, <code>not_like</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters<br>example:<br><code>[\"direction\",\"=\",\"external\"]</code><p><code>[[\"domain_to\",\"&lt;&gt;\",\"example.com\"],<br>\"and\",<br>[\"link_from\",\"not_like\",\"%example.com/blog%\"]]</code><p><code>[[\"direction\",\"=\",\"external\"],<br>\"and\",<br>[[\"link_from\",\"like\",\"%example.com/blog%\"],\"or\",[\"link_from\",\"like\",\"%example.com/help%\"]]]</code><p>The full list of possible filters is available <a href=\"/v3/on_page/filters_and_thresholds/?bash\" rel=\"noopener noreferrer\" target=\"_blank\">by this link.</a>",
        +        "items": {
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "id": {
        +        "description": "<em>ID of the task</em><br><strong>required field</strong><br>you can get this ID in the response of the <a href=\"https://docs.dataforseo.com/v3/on_page/task_post/\">Task POST</a> endpoint<br>example:<br>\"07131248-1535-0216-1000-17384017ad04\"",
        +        "type": "string"
        +      },
        +      "limit": {
        +        "description": "<em>the maximum number of returned links</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "offset": {
        +        "description": "<em>offset in the results array of returned links</em><br>optional field<br>default value: <code>0</code><br>maximum value: <code>2000000</code><br>if you specify the <code>10</code> value, the first ten links in the results array will be omitted and the data will be provided for the successive links",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "page_from": {
        +        "description": "<em>relative page URL</em><br>optional field<br>if you use this field, the API response will contain only links from the specified page<br>note that in this field you can specify relative URLs only",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "page_to": {
        +        "description": "<em>relative page URL</em><br>optional field<br>if you use this field, the API response will contain only internal links pointing to the specified page<br>note that in this field you can specify relative URLs only",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "search_after_token": {
        +        "description": "<em>token for subsequent requests</em><br>optional field<br>provided in the identical filed of the response to each request;<br>use this parameter to avoid timeouts while trying to obtain over <code>20,000</code> results in a single request;<br>by specifying the unique <code>search_after_token</code> value from the response array, you will get the subsequent results of the initial task;<br><code>search_after_token</code> values are unique for each subsequent task ;<br><strong>Note:</strong> if the <code>search_after_token</code> is specified in the request, all other parameters should be identical to the previous request",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "filters": {
        -    "description": "array of results filtering parameters optional field you can add several filters at once (8 filters maximum) you should set a logical operator and, or between the conditions the following operators are supported: regex, not_regex, =, , in, not_in, like, not_like you can use the % operator with like and not_like to match any string of zero or more characters example: [\"direction\",\"=\",\"external\"] [[\"domain_to\",\"\",\"example.com\"], \"and\", [\"link_from\",\"not_like\",\"%example.com/blog%\"]] [[\"direction\",\"=\",\"external\"], \"and\", [[\"link_from\",\"like\",\"%example.com/blog%\"],\"or\",[\"link_from\",\"like\",\"%example.com/help%\"]]] The full list of possible filters is available by this link.",
        -    "items": {},
        -    "type": "array"
        -  },
        -  "id": {
        -    "description": "ID of the task required field you can get this ID in the response of the Task POST endpoint example: “07131248-1535-0216-1000-17384017ad04”",
        -    "type": "string"
        -  },
        -  "limit": {
        -    "description": "the maximum number of returned links optional field default value: 100 maximum value: 1000",
        -    "type": "integer"
        -  },
        -  "offset": {
        -    "description": "offset in the results array of returned links optional field default value: 0 maximum value: 2000000 if you specify the 10 value, the first ten links in the results array will be omitted and the data will be provided for the successive links",
        -    "type": "integer"
        -  },
        -  "page_from": {
        -    "description": "relative page URL optional field if you use this field, the API response will contain only links from the specified page note that in this field you can specify relative URLs only",
        -    "type": "string"
        -  },
        -  "page_to": {
        -    "description": "relative page URL optional field if you use this field, the API response will contain only internal links pointing to the specified page note that in this field you can specify relative URLs only",
        -    "type": "string"
        -  },
        -  "search_after_token": {
        -    "description": "token for subsequent requests optional field provided in the identical filed of the response to each request; use this parameter to avoid timeouts while trying to obtain over 20,000 results in a single request; by specifying the unique search_after_token value from the response array, you will get the subsequent results of the initial task; search_after_token values are unique for each subsequent task ; Note: if the search_after_token is specified in the request, all other parameters should be identical to the previous request",
        -    "type": "string"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "id"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_on_page_non_indexable7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "filters": [
        +      [
        +        "reason",
        +        "=",
        +        "robots_txt"
        +      ],
        +      "and",
        +      [
        +        "url",
        +        "like",
        +        "%go%"
        +      ]
        +    ],
        +    "id": "07281559-0695-0216-0000-c269be8b7592",
        +    "limit": 10
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "filters": [
        +          [
        +            "reason",
        +            "=",
        +            "robots_txt"
        +          ],
        +          "and",
        +          [
        +            "url",
        +            "like",
        +            "%go%"
        +          ]
        +        ],
        +        "id": "07281559-0695-0216-0000-c269be8b7592",
        +        "limit": 10
        +      }
        +    ],
        +    "properties": {
        +      "filters": {
        +        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>, <code>not_like</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters<br>example:<br><code>[[\"reason\",\"&lt;&gt;\",\"robots_txt\"],<br>\"and\",<br>[\"url\",\"not_like\",\"%/wp-admin/%\"]]</code><p><code>[[\"url\",\"not_like\",\"%/wp-admin/%\"],<br>\"and\",<br>[[\"reason\",\"&lt;&gt;\",\"meta_tag\"],\"or\",[\"reason\",\"&lt;&gt;\",\"http_header\"]]]</code><p>The full list of possible filters is available <a href=\"/v3/on_page/filters_and_thresholds/?bash\" target=\"_blank\" rel=\"noopener noreferrer\">by this link.</a>",
        +        "items": {
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "id": {
        +        "description": "<em>ID of the task</em><br><strong>required field</strong><br>you can get this ID in the response of the <a href=\"/v3/on_page/task_post/\">Task POST</a> endpoint<br>example:<br>\"07131248-1535-0216-1000-17384017ad04\"",
        +        "type": "string"
        +      },
        +      "limit": {
        +        "description": "<em>the maximum number of returned pages</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "offset": {
        +        "description": "<em>offset in the results array of returned pages</em><br>optional field<br>default value: <code>0</code><br>maximum value: <code>2000000</code><br>if you specify the <code>10</code> value, the first ten pages in the results array will be omitted and the data will be provided for the successive pages",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "filters": {
        -    "description": "array of results filtering parameters optional field you can add several filters at once (8 filters maximum) you should set a logical operator and, or between the conditions the following operators are supported: regex, not_regex, <, <=, >, >=, =, <>, in, not_in, like, not_like you can use the % operator with like and not_like to match any string of zero or more characters example: [[\"reason\",\"<>\",\"robots_txt\"], \"and\", [\"url\",\"not_like\",\"%/wp-admin/%\"]] [[\"url\",\"not_like\",\"%/wp-admin/%\"], \"and\", [[\"reason\",\"<>\",\"meta_tag\"],\"or\",[\"reason\",\"<>\",\"http_header\"]]] The full list of possible filters is available by this link.",
        -    "items": {},
        -    "type": "array"
        -  },
        -  "id": {
        -    "description": "ID of the task required field you can get this ID in the response of the Task POST endpoint example: “07131248-1535-0216-1000-17384017ad04”",
        -    "type": "string"
        -  },
        -  "limit": {
        -    "description": "the maximum number of returned pages optional field default value: 100 maximum value: 1000",
        -    "type": "integer"
        -  },
        -  "offset": {
        -    "description": "offset in the results array of returned pages optional field default value: 0 maximum value: 2000000 if you specify the 10 value, the first ten pages in the results array will be omitted and the data will be provided for the successive pages",
        -    "type": "integer"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "id"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_on_page_submit7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "custom_js": "meta = {}; meta.url = document.URL; meta;",
        +    "enable_javascript": true,
        +    "load_resources": true,
        +    "max_crawl_pages": 10,
        +    "pingback_url": "https://your-server.com/pingscript?id=$id&tag=$tag",
        +    "tag": "some_string_123",
        +    "target": "dataforseo.com"
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "custom_js": "meta = {}; meta.url = document.URL; meta;",
        +        "enable_javascript": true,
        +        "load_resources": true,
        +        "max_crawl_pages": 10,
        +        "pingback_url": "https://your-server.com/pingscript?id=$id&tag=$tag",
        +        "tag": "some_string_123",
        +        "target": "dataforseo.com"
        +      }
        +    ],
        +    "properties": {
        +      "accept_language": {
        +        "description": "<em>language header for accessing the website</em><br>optional field<br>all locale formats are supported (xx, xx-XX, xxx-XX, etc.)<br><strong>Note:</strong> if you do not specify this parameter, some websites may deny access; in this case, pages will be returned with the <code>\"type\":\"broken</code> in the response array",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "allow_subdomains": {
        +        "description": "<em>include pages on subdomains</em><br>optional field<br>set to <code>true</code> if you want to crawl all subdomains of a target website<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "allowed_subdomains": {
        +        "description": "<em>subdomains to crawl</em><br>optional field<br>specify subdomains that you want to crawl<br>example: <code>[\"blog.site.com\", \"my.site.com\", \"shop.site.com\"]</code><br><strong>Note:</strong> to use this parameter, the <code>allow_subdomains</code> parameter should be set to <code>false</code>;<br>otherwise, the content of <code>allowed_subdomains</code> field will be ignored and the results will be returned for all subdomains",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "browser_preset": {
        +        "description": "<em>preset for browser screen parameters</em><br>optional field<br>if you use this field, you don't need to indicate <code>browser_screen_width</code>, <code>browser_screen_height</code>, <code>browser_screen_scale_factor</code>possible values:<br><code>desktop</code>, <code>mobile</code>, <code>tablet</code><code>desktop</code> preset will apply the following values:<code>browser_screen_width: 1920</code><br><code>browser_screen_height: 1080</code><br><code>browser_screen_scale_factor: 1</code><code>mobile</code> preset will apply the following values:<code>browser_screen_width: 390</code><br><code>browser_screen_height: 844</code><br><code>browser_screen_scale_factor: 3</code><code>tablet</code> preset will apply the following values:<code>browser_screen_width: 1024</code><br><code>browser_screen_height: 1366</code><br><code>browser_screen_scale_factor: 2</code><br><strong>Note:</strong> to use this parameter, set <code>enable_javascript</code> or <code>enable_browser_rendering</code> to <code>true</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "browser_screen_height": {
        +        "description": "<em>browser screen height</em><br>optional field<br>you can set a custom browser screen height to perform an audit for a particular device;<br>if you use this field, you don't need to indicate <code>browser_preset</code> as it will be ignored;<br><strong>Note:</strong> to use this parameter, set <code>enable_javascript</code> or <code>enable_browser_rendering</code> to <code>true</code>minimum value, in pixels: <code>240</code><br>maximum value, in pixels: <code>9999</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "browser_screen_scale_factor": {
        +        "description": "<em>browser screen scale factor</em><br>optional field<br>you can set a custom browser screen resolution ratio to perform audit for a particular device;<br>if you use this field, you don't need to indicate <code>browser_preset</code> as it will be ignored;<br><strong>Note:</strong> to use this parameter, set <code>enable_javascript</code> or <code>enable_browser_rendering</code> to <code>true</code>minimum value: <code>0.5</code><br>maximum value: <code>3</code>",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "browser_screen_width": {
        +        "description": "<em>browser screen width</em><br>optional field<br>you can set a custom browser screen width to perform audit for a particular device;<br>if you use this field, you don't need to indicate <code>browser_preset</code> as it will be ignored;<br><strong>Note:</strong> to use this parameter, set <code>enable_javascript</code> or <code>enable_browser_rendering</code> to <code>true</code>minimum value, in pixels: <code>240</code><br>maximum value, in pixels: <code>9999</code>",
        +        "format": "int64",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "calculate_keyword_density": {
        +        "description": "<em>calculate keyword density for the target domain</em><br>optional field<br>set to <code>true</code> if you want to calculate keyword density for website pages<br>default value: <code>false</code><br><strong>Note:</strong> if you use this parameter, additional charges will apply; learn more about the cost of tasks with this parameter <a href=\"https://dataforseo.com/help-center/cost-of-onpage-api-parameters\" target=\"_blank\" rel=\"noopener noreferrer\">in our help article</a><br>once the crawl is completed, you can obtain keyword density values with <a href=\"/v3/on_page/keyword_density?bash\" target=\"_blank\" rel=\"noopener noreferrer\">the Keyword Density endpoint</a>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "check_spell": {
        +        "description": "<em>check spelling</em><br>optional field<br>set to <code>true</code> to check spelling on a website using <a href=\"http://hunspell.github.io/\" target=\"_blank\" rel=\"noopener noreferrer\">Hunspell</a> library<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "check_spell_exceptions": {
        +        "description": "<em>words excluded from spell check</em><br>optional field<br>specify the words that you want to exclude from spell check<br>maximum word length: 100 characters<br>maximum amount of words: 1000<br>example: <code>\"SERP\", \"minifiers\", \"JavaScript\"</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "check_spell_language": {
        +        "description": "<em>language of the spell check</em><br>optional field<br>supported languages: 'hy', 'eu', 'bg', 'ca', 'hr', 'cs', 'da', 'nl', 'en', 'eo', 'et', 'fo', 'fa', 'fr', 'fy', 'gl', 'ka', 'de', 'el', 'he', 'hu', 'is', 'ia', 'ga', 'it', 'rw', 'la', 'lv', 'lt', 'mk', 'mn', 'ne', 'nb', 'nn', 'pl', 'pt', 'ro', 'gd', 'sr', 'sk', 'sl', 'es', 'sv', 'tr', 'tk', 'uk', 'vi'<br><strong>Note:</strong> if no language is specified, it will be set automatically based on page content",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "checks_threshold": {
        +        "additionalProperties": {
        +          "format": "int64",
        +          "type": [
        +            "integer",
        +            "null"
        +          ]
        +        },
        +        "description": "<em>custom threshold values for checks</em><br>optional field<br>you can specify custom threshold values for the parameters included in the <code>checks</code> object of OnPage API responses;<br><strong>Note:</strong> only integer threshold values can be modified;<br>for example, the <code>high_loading_time</code> and <code>large_page_size</code> parameters are set to 3 seconds and 1 megabyte respectively by default;<br>if you want to change these thresholds to 1 second and 1000 kbytes, use the following snippet:<br>`\"checks_threshold\": {<br>\"high_loading_time\": 1,<br>\"large_page_size\": 1000<br>}`<br>available customizable parameters with default values:<br>`\"title_too_short\", default value: 30, type: \"int\"<br>\"title_too_long\", default value: 65, type: \"int\"<br>\"small_page_size\", default value: 1024, type: \"int\"<br>\"large_page_size\", default value: 1048576 (1024 * 1024), type: \"int\"<br>\"low_character_count\", default value: 1024, type: \"int\"<br>\"high_character_count\", default value: 256000 (250 * 1024), type: \"int\"<br>\"low_content_rate\", default value: 0.1, type: \"float\"<br>\"high_content_rate\", default value: 0.9, type: \"float\"<br>\"high_loading_time\", default value: 3000, type: \"int\"<br>\"high_waiting_time\", default value: 1500, type: \"int\"<br>\"low_readability_rate\", default value: 15.0, type: \"float\"<br>\"irrelevant_description\", default value: 0.2, type: \"float\"<br>\"irrelevant_title\", default value: 0.3, type: \"float\"<br>\"irrelevant_meta_keywords\", default value: 0.6, type: \"float\"`",
        +        "type": [
        +          "object",
        +          "null"
        +        ]
        +      },
        +      "crawl_delay": {
        +        "description": "<em>delay between hits, ms</em><br>optional field<br>the custom delay between crawler hits to the server<br>default value: <code>2000</code>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "crawl_sitemap_only": {
        +        "description": "<em>crawl only pages indicated in the sitemap</em><br>optional field<br>set to <code>true</code> if you want to crawl only the pages indicated in the sitemap<br>if you set this parameter to <code>true</code> and do not specify <code>custom_sitemap</code>, we will crawl the default sitemap<br>default value: <code>false</code><br><strong>Note:</strong> if you want to use this parameter, <code>respect_sitemap</code> should be <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "custom_js": {
        +        "description": "<em>custom javascript</em><br>optional field<br><strong>Note</strong> that the execution time for the script you enter here should be 700 ms maximum, for example, you can use the following JS snippet to check if the website contains Google Tag Manager as a <code>scr</code> attribute:<br><code>let meta = { haveGoogleAnalytics: false, haveTagManager: false };rnfor (var i = 0; i &lt; document.scripts.length; i++) {rn let src = document.scripts[i].getAttribute(\"src\");rn if (src != undefined) {rn if (src.indexOf(\"analytics.js\") &gt;= 0)rn      meta.haveGoogleAnalytics = true;rntif (src.indexOf(\"gtm.js\") &gt;= 0)rn      meta.haveTagManager = true;rn  }rn}rnmeta;</code>the returned value depends on what you specified in this field. For instance, if you specify the following script:<br>`meta = {}; meta.url = document.URL; meta.test = 'test'; meta;`<br>as a response you will receive the following data:<br>`\"custom_js_response\": {<br>\"url\": \"https://dataforseo.com/\",<br>\"test\": \"test\"<br>}`<br><strong>Note:</strong> the length of the script you enter must be no more than 2000 characters",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "custom_robots_txt": {
        +        "description": "<em>custom robots.txt settings</em><br>optional field<br>example: <code>Disallow: /directory1/</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "custom_sitemap": {
        +        "description": "<em>custom sitemap url</em><br>optional field<br>the URL of the page where the alternative sitemap is located<br><strong>Note:</strong> if you want to use this parameter, <code>respect_sitemap</code> should be <code>true</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "custom_user_agent": {
        +        "description": "<em>custom user agent</em><br>optional field<br>custom user agent for crawling a website<br>example: <code>Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36<br></code><br>default value: <code>Mozilla/5.0 (compatible; RSiteAuditor)</code>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "disable_cookie_popup": {
        +        "description": "<em>disable the cookie popup</em><br>optional field<br>set to <code>true</code> if you want to disable the popup requesting cookie consent from the user;<br>default value:<br><code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "disable_page_checks": {
        +        "description": "<em>prevent certain page checks from running</em><br>optional field<br>specify certain <code>checks</code> to prevent them from running and impacting the <code>onpage_score</code>example:<br><code>\"disable_page_checks\": [\"is_5xx_code\", \"is_4xx_code\"]</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "disable_sitewide_checks": {
        +        "description": "<em>prevent certain sitewide checks from running</em><br>optional field<br>specify the following <code>checks</code> to prevent them from running on the <code>target</code> website:<br><code>\"test_page_not_found\"</code><br><code>\"test_canonicalization\"</code><br><code>\"test_https_redirect\"</code><br><code>\"test_directory_browsing\"</code>example:<br><code>\"disable_sitewide_checks\": [\"test_directory_browsing\", \"test_page_not_found\"]</code>learn more on <a href=\"https://dataforseo.com/help-center/how-to-disable-sitewide-checks-in-onpage-api\" target=\"_blank\" rel=\"noopener noreferrer\">our help center</a>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "disallowed_subdomains": {
        +        "description": "<em>subdomains not to crawl</em><br>optional field<br>specify subdomains that you don't want to crawl<br>example: <code>[\"status.site.com\", \"docs.site.com\"]</code><br><strong>Note:</strong> to use this parameter, the <code>allow_subdomains</code> parameter should be set to <code>true</code>",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "enable_browser_rendering": {
        +        "description": "<em>emulate browser rendering to measure Core Web Vitals</em><br>optional field<br>by using this parameter you will be able to emulate a browser when loading a web page;<br><code>enable_browser_rendering</code> loads styles, images, fonts, animations, videos, and other resources on a page;<br>default value: <code>false</code><br>set to <code>true</code> to obtain Core Web Vitals (FID, CLS, LCP) metrics in the response;<br><strong>if you use this field, <code>enable_javascript</code>, and <code>load_resources</code> parameters must be set to <code>true</code></strong><br><strong>Note:</strong> if you use this parameter, additional charges will apply; learn more about the cost of tasks with this parameter <a href=\"https://dataforseo.com/help-center/cost-of-onpage-api-parameters\" target=\"_blank\" rel=\"noopener noreferrer\">in our help article</a>; the cost can be calculated on the <a href=\"https://dataforseo.com/pricing/on-page/onpage-api\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing Page</a>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "enable_content_parsing": {
        +        "description": "<em>parse content on crawled pages</em><br>optional field<br>set to <code>true</code> to use the <a href=\"/v3/on_page/content_parsing/live/\" target=\"_blank\" rel=\"noopener noreferrer\">OnPage Content Parsing endpoint</a><br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "enable_javascript": {
        +        "description": "<em>load javascript on a page</em><br>optional field<br>set to <code>true</code> if you want to load the scripts available on a page<br>default value: <code>false</code><br><strong>Note:</strong> if you use this parameter, additional charges will apply; learn more about the cost of tasks with this parameter <a href=\"https://dataforseo.com/help-center/cost-of-onpage-api-parameters\" target=\"_blank\" rel=\"noopener noreferrer\">in our help article</a>; the cost can be calculated on the <a href=\"https://dataforseo.com/pricing/on-page/onpage-api\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing Page</a>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "enable_www_redirect_check": {
        +        "description": "<em>check if the domain implemented the www redirection</em><br>optional field<br>set to <code>true</code> if you want to check if the requested domain implemented the www to non-www or non-www to www redirect;<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "enable_xhr": {
        +        "description": "<em>enable XMLHttpRequest on a page</em><br>optional field<br>set to <code>true</code> if you want our crawler to request data from a web server using the XMLHttpRequest object<br>default value: <code>false</code>;if you use this field, <code>enable_javascript</code> must be set to <code>true</code>;",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "force_sitewide_checks": {
        +        "description": "<em>enable sitewide checks when crawling a single page</em><br>optional field<br>set to <code>true</code> to get data on sitewide checks when crawling a single page;<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "load_resources": {
        +        "description": "<em>load resources</em><br>optional field<br>set to <code>true</code> if you want to load image, stylesheets, scripts, and broken resources<br>default value: <code>false</code><br><strong>Note:</strong> if you use this parameter, additional charges will apply; learn more about the cost of tasks with this parameter <a href=\"https://dataforseo.com/help-center/cost-of-onpage-api-parameters\" target=\"_blank\" rel=\"noopener noreferrer\">in our help article</a>; the cost can be calculated on the <a href=\"https://dataforseo.com/pricing/on-page/onpage-api\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing Page</a>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "max_crawl_depth": {
        +        "description": "<em>crawl depth</em><br>optional field<br>the linking depth of the pages to crawl;<br>for example, starting page of the crawl is level 0, pages that have links from that page are level 1, etc.",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "max_crawl_pages": {
        +        "description": "<em>crawled pages limit</em><br><strong>required field</strong><br>the number of pages to crawl on the specified domain<br><strong>Note:</strong><br>if you set <code>max_crawl_pages</code> to 1 and do not specify <code>start_url</code> or set a homepage in it, the following sitewide checks will be disabled:<br><code>test_canonicalization</code>, <code>enable_www_redirect_check</code>, <code>test_hidden_server_signature</code>, <code>test_page_not_found</code>, <code>test_directory_browsing</code>, <code>test_https_redirect</code><br>to enable them anyway, set <code>force_sitewide_checks</code> to <code>true</code>if you set <code>max_crawl_pages</code> to 1 and specify <code>start_url</code> other than a homepage, all sitewide checks will be disabled;<br>to enable them anyway, set <code>force_sitewide_checks</code> to <code>true</code>",
        +        "type": "integer"
        +      },
        +      "pingback_url": {
        +        "description": "<em>notification URL of a completed task</em><br>optional field<br>when a task is completed we will notify you by GET request sent to the URL you have specified<br>you can use the ‘$id’ string as a <code>$id</code> variable and ‘$tag’ as urlencoded <code>$tag</code> variable. We will set the necessary values before sending the request.<br>example:<br><code>http://your-server.com/pingscript?id=$id</code><br><code>http://your-server.com/pingscript?id=$id&amp;tag=$tag</code><br><strong>Note:</strong> special characters in <code>pingback_url</code> will be urlencoded;<br>i.a., the <code>#</code> character will be encoded into <code>%23</code><p>learn more on our <a href=\"https://dataforseo.com/help-center/pingbacks-postbacks-with-dataforseo-api\" target=\"_blank\" rel=\"noopener noreferrer\">Help Center</a>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "priority_urls": {
        +        "description": "<em>urls to be crawled bypassing the queue</em><br>optional field<br>URLs specified in this array will be crawled in the first instance, bypassing the crawling queue;<br><strong>Note:</strong> you should specify the absolute URL;<br>you can specify up to <strong>20 URLs</strong>;<br>all URLs in the array must belong to the <code>target</code> domain;<br>subdomains will be ignored unless the <code>allow_subdomains</code> parameter is set to <code>true</code>example:<br>`\"priority_urls\": [<br>\"https://dataforseo.com/apis/serp-api\",<br>\"https://dataforseo.com/contact\"<br>]`",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "respect_sitemap": {
        +        "description": "<em>respect sitemap when crawling</em><br>optional field<br>set to <code>true</code> if you want to follow the order of pages indicated in the primary sitemap when crawling;<br>default value: <code>false</code><br><strong>Note:</strong> if set to <code>true</code>, the <code>click_depth</code> value in the API response will equal <code>0</code>;<br>the <code>max_crawl_depth</code> field of the request will be ignored, you can specify the number of pages to crawl using the <code>max_crawl_pages</code> parameter",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "return_despite_timeout": {
        +        "description": "<em>return data on pages despite the timeout error</em><br>optional field<br>if <code>true</code>, the data will be provided on pages that failed to load within 120 seconds and responded with a timeout error;<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "robots_txt_merge_mode": {
        +        "description": "<em>merge with or override robots.txt settings</em><br>optional field<br>possible values: <code>merge</code>, <code>override</code>;<br>set to <code>override</code> if you want to ignore website crawling restrictions and other robots.txt settings<br>default value: <code>merge</code>;<br><strong>Note:</strong> if set to <code>override</code>, specify the <code>custom_robots_txt</code> parameter",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "start_url": {
        +        "description": "<em>the first url to crawl </em><br>optional field<br><strong>Note:</strong> you should specify an absolute URL<br>if you want to crawl a single page, specify its URL in this field and additionally set the <code>max_crawl_pages</code> parameter to <code>1</code><br>you can also use the <a href=\"/v3/on_page/instant_pages/?bash\" target=\"_blank\" rel=\"noopener noreferrer\">live Instant Pages endpoint</a> to get page-specific data",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "store_raw_html": {
        +        "description": "<em>store HTML of crawled pages</em><br>optional field<br>set to <code>true</code> if you want to get the HTML of the page using the <a href=\"/v3/on_page/raw_html/\" target=\"_blank\" rel=\"noopener noreferrer\">OnPage Raw HTML endpoint</a><br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "support_cookies": {
        +        "description": "<em>support cookies on crawled pages</em><br>optional field<br>set to <code>true</code> to support cookies when crawling the pages<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "switch_pool": {
        +        "description": "<em>switch proxy pool</em><br>optional field<br>if <code>true</code>, additional proxy pools will be used to obtain the requested data;<br>the parameter can be used if a multitude of tasks is set simultaneously, resulting in occasional <code>rate-limit</code> and/or <code>site_unreachable</code> errors",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "target": {
        +        "description": "<em>target domain</em><br><strong>required field</strong><br>domain name should be specified without <code>https://</code> and <code>www.</code><br>if you specify the page URL, the results will be returned for the domain included in the URL",
        +        "type": "string"
        +      },
        +      "validate_micromarkup": {
        +        "description": "<em>enable microdata validation</em><br>optional field<br>set to <code>true</code> if you want to use the <a href=\"/v3/on_page/microdata/\" target=\"_blank\" rel=\"noopener noreferrer\">OnPage API Microdata endpoint</a><br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "accept_language": {
        -    "description": "language header for accessing the website optional field all locale formats are supported (xx, xx-XX, xxx-XX, etc.) Note: if you do not specify this parameter, some websites may deny access; in this case, pages will be returned with the \"type\":\"broken in the response array",
        -    "type": "string"
        -  },
        -  "allow_subdomains": {
        -    "description": "include pages on subdomains optional field set to true if you want to crawl all subdomains of a target website default value: false",
        -    "type": "boolean"
        -  },
        -  "allowed_subdomains": {
        -    "description": "subdomains to crawl optional field specify subdomains that you want to crawl example: [\"blog.site.com\", \"my.site.com\", \"shop.site.com\"] Note: to use this parameter, the allow_subdomains parameter should be set to false; otherwise, the content of allowed_subdomains field will be ignored and the results will be returned for all subdomains",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "browser_preset": {
        -    "description": "preset for browser screen parameters optional field if you use this field, you don’t need to indicate browser_screen_width, browser_screen_height, browser_screen_scale_factorpossible values: desktop, mobile, tabletdesktop preset will apply the following values:browser_screen_width: 1920 browser_screen_height: 1080 browser_screen_scale_factor: 1mobile preset will apply the following values:browser_screen_width: 390 browser_screen_height: 844 browser_screen_scale_factor: 3tablet preset will apply the following values:browser_screen_width: 1024 browser_screen_height: 1366 browser_screen_scale_factor: 2 Note: to use this parameter, set enable_javascript or enable_browser_rendering to true",
        -    "type": "string"
        -  },
        -  "browser_screen_height": {
        -    "description": "browser screen height optional field you can set a custom browser screen height to perform an audit for a particular device; if you use this field, you don’t need to indicate browser_preset as it will be ignored; Note: to use this parameter, set enable_javascript or enable_browser_rendering to trueminimum value, in pixels: 240 maximum value, in pixels: 9999",
        -    "type": "integer"
        -  },
        -  "browser_screen_scale_factor": {
        -    "description": "browser screen scale factor optional field you can set a custom browser screen resolution ratio to perform audit for a particular device; if you use this field, you don’t need to indicate browser_preset as it will be ignored; Note: to use this parameter, set enable_javascript or enable_browser_rendering to trueminimum value: 0.5 maximum value: 3",
        -    "type": "number"
        -  },
        -  "browser_screen_width": {
        -    "description": "browser screen width optional field you can set a custom browser screen width to perform audit for a particular device; if you use this field, you don’t need to indicate browser_preset as it will be ignored; Note: to use this parameter, set enable_javascript or enable_browser_rendering to trueminimum value, in pixels: 240 maximum value, in pixels: 9999",
        -    "type": "integer"
        -  },
        -  "calculate_keyword_density": {
        -    "description": "calculate keyword density for the target domain optional field set to true if you want to calculate keyword density for website pages default value: false Note: if you use this parameter, additional charges will apply; learn more about the cost of tasks with this parameter in our help article once the crawl is completed, you can obtain keyword density values with the Keyword Density endpoint",
        -    "type": "boolean"
        -  },
        -  "check_spell": {
        -    "description": "check spelling optional field set to true to check spelling on a website using Hunspell library default value: false",
        -    "type": "boolean"
        -  },
        -  "check_spell_exceptions": {
        -    "description": "words excluded from spell check optional field specify the words that you want to exclude from spell check maximum word length: 100 characters maximum amount of words: 1000 example: \"SERP\", \"minifiers\", \"JavaScript\"",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "check_spell_language": {
        -    "description": "language of the spell check optional field supported languages: ‘hy’, ‘eu’, ‘bg’, ‘ca’, ‘hr’, ‘cs’, ‘da’, ‘nl’, ‘en’, ‘eo’, ‘et’, ‘fo’, ‘fa’, ‘fr’, ‘fy’, ‘gl’, ‘ka’, ‘de’, ‘el’, ‘he’, ‘hu’, ‘is’, ‘ia’, ‘ga’, ‘it’, ‘rw’, ‘la’, ‘lv’, ‘lt’, ‘mk’, ‘mn’, ‘ne’, ‘nb’, ‘nn’, ‘pl’, ‘pt’, ‘ro’, ‘gd’, ‘sr’, ‘sk’, ‘sl’, ‘es’, ‘sv’, ‘tr’, ‘tk’, ‘uk’, ‘vi’ Note: if no language is specified, it will be set automatically based on page content",
        -    "type": "string"
        -  },
        -  "checks_threshold": {
        -    "description": "custom threshold values for checks optional field you can specify custom threshold values for the parameters included in the checks object of OnPage API responses; Note: only integer threshold values can be modified; for example, the high_loading_time and large_page_size parameters are set to 3 seconds and 1 megabyte respectively by default; if you want to change these thresholds to 1 second and 1000 kbytes, use the following snippet: \"checks_threshold\": { \"high_loading_time\": 1, \"large_page_size\": 1000 }available customizable parameters with default values: \"title_too_short\", default value: 30, type: \"int\" \"title_too_long\", default value: 65, type: \"int\" \"small_page_size\", default value: 1024, type: \"int\" \"large_page_size\", default value: 1048576 (1024 * 1024), type: \"int\" \"low_character_count\", default value: 1024, type: \"int\" \"high_character_count\", default value: 256000 (250 * 1024), type: \"int\" \"low_content_rate\", default value: 0.1, type: \"float\" \"high_content_rate\", default value: 0.9, type: \"float\" \"high_loading_time\", default value: 3000, type: \"int\" \"high_waiting_time\", default value: 1500, type: \"int\" \"low_readability_rate\", default value: 15.0, type: \"float\" \"irrelevant_description\", default value: 0.2, type: \"float\" \"irrelevant_title\", default value: 0.3, type: \"float\" \"irrelevant_meta_keywords\", default value: 0.6, type: \"float\"",
        -    "type": "object"
        -  },
        -  "crawl_delay": {
        -    "description": "delay between hits, ms optional field the custom delay between crawler hits to the server default value: 2000",
        -    "type": "integer"
        -  },
        -  "crawl_sitemap_only": {
        -    "description": "crawl only pages indicated in the sitemap optional field set to true if you want to crawl only the pages indicated in the sitemap if you set this parameter to true and do not specify custom_sitemap, we will crawl the default sitemap default value: false Note: if you want to use this parameter, respect_sitemap should be true",
        -    "type": "boolean"
        -  },
        -  "custom_js": {
        -    "description": "custom javascript optional field Note that the execution time for the script you enter here should be 700 ms maximum, for example, you can use the following JS snippet to check if the website contains Google Tag Manager as a scr attribute: let meta = { haveGoogleAnalytics: false, haveTagManager: false };rnfor (var i = 0; i < document.scripts.length; i++) {rn let src = document.scripts[i].getAttribute(\"src\");rn if (src!= undefined) {rn if (src.indexOf(\"analytics.js\") >= 0)rn meta.haveGoogleAnalytics = true;rntif (src.indexOf(\"gtm.js\") >= 0)rn meta.haveTagManager = true;rn }rn}rnmeta;the returned value depends on what you specified in this field. For instance, if you specify the following script: `meta = {}; meta.url = document.URL; meta.test = 'test'; meta;` as a response you will receive the following data: `\"custom_js_response\": { \"url\": \"https://dataforseo.com/\", \"test\": \"test\" }` Note: the length of the script you enter must be no more than 2000 characters",
        -    "type": "string"
        -  },
        -  "custom_robots_txt": {
        -    "description": "custom robots.txt settings optional field example: Disallow: /directory1/",
        -    "type": "string"
        -  },
        -  "custom_sitemap": {
        -    "description": "custom sitemap url optional field the URL of the page where the alternative sitemap is located Note: if you want to use this parameter, respect_sitemap should be true",
        -    "type": "string"
        -  },
        -  "custom_user_agent": {
        -    "description": "custom user agent optional field custom user agent for crawling a website example: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36 default value: Mozilla/5.0 (compatible; RSiteAuditor)",
        -    "type": "string"
        -  },
        -  "disable_cookie_popup": {
        -    "description": "disable the cookie popup optional field set to true if you want to disable the popup requesting cookie consent from the user; default value: false",
        -    "type": "boolean"
        -  },
        -  "disable_page_checks": {
        -    "description": "prevent certain page checks from running optional field specify certain checks to prevent them from running and impacting the onpage_scoreexample: \"disable_page_checks\": [\"is_5xx_code\", \"is_4xx_code\"]",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "disable_sitewide_checks": {
        -    "description": "prevent certain sitewide checks from running optional field specify the following checks to prevent them from running on the target website: \"test_page_not_found\" \"test_canonicalization\" \"test_https_redirect\" \"test_directory_browsing\"example: \"disable_sitewide_checks\": [\"test_directory_browsing\", \"test_page_not_found\"]learn more on our help center",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "disallowed_subdomains": {
        -    "description": "subdomains not to crawl optional field specify subdomains that you don’t want to crawl example: [\"status.site.com\", \"docs.site.com\"] Note: to use this parameter, the allow_subdomains parameter should be set to true",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "enable_browser_rendering": {
        -    "description": "emulate browser rendering to measure Core Web Vitals optional field by using this parameter you will be able to emulate a browser when loading a web page; enable_browser_rendering loads styles, images, fonts, animations, videos, and other resources on a page; default value: false set to true to obtain Core Web Vitals (FID, CLS, LCP) metrics in the response; if you use this field, enable_javascript, and load_resources parameters must be set to true Note: if you use this parameter, additional charges will apply; learn more about the cost of tasks with this parameter in our help article",
        -    "type": "boolean"
        -  },
        -  "enable_content_parsing": {
        -    "description": "parse content on crawled pages optional field set to true to use the OnPage Content Parsing endpoint default value: false",
        -    "type": "boolean"
        -  },
        -  "enable_javascript": {
        -    "description": "load javascript on a page optional field set to true if you want to load the scripts available on a page default value: false Note: if you use this parameter, additional charges will apply; learn more about the cost of tasks with this parameter in our help article",
        -    "type": "boolean"
        -  },
        -  "enable_www_redirect_check": {
        -    "description": "check if the domain implemented the www redirection optional field set to true if you want to check if the requested domain implemented the www to non-www or non-www to www redirect; default value: false",
        -    "type": "boolean"
        -  },
        -  "enable_xhr": {
        -    "description": "enable XMLHttpRequest on a page optional field set to true if you want our crawler to request data from a web server using the XMLHttpRequest object default value: false;if you use this field, enable_javascript must be set to true;",
        -    "type": "boolean"
        -  },
        -  "force_sitewide_checks": {
        -    "description": "enable sitewide checks when crawling a single page optional field set to true to get data on sitewide checks when crawling a single page; default value: false",
        -    "type": "boolean"
        -  },
        -  "load_resources": {
        -    "description": "load resources optional field set to true if you want to load image, stylesheets, scripts, and broken resources default value: false Note: if you use this parameter, additional charges will apply; learn more about the cost of tasks with this parameter in our help article",
        -    "type": "boolean"
        -  },
        -  "max_crawl_depth": {
        -    "description": "crawl depth optional field the linking depth of the pages to crawl; for example, starting page of the crawl is level 0, pages that have links from that page are level 1, etc.",
        -    "type": "integer"
        -  },
        -  "max_crawl_pages": {
        -    "description": "crawled pages limit required field the number of pages to crawl on the specified domain Note: if you set max_crawl_pages to 1 and do not specify start_url or set a homepage in it, the following sitewide checks will be disabled: test_canonicalization, enable_www_redirect_check, test_hidden_server_signature, test_page_not_found, test_directory_browsing, test_https_redirect to enable them anyway, set force_sitewide_checks to trueif you set max_crawl_pages to 1 and specify start_url other than a homepage, all sitewide checks will be disabled; to enable them anyway, set force_sitewide_checks to true",
        -    "type": "integer"
        -  },
        -  "pingback_url": {
        -    "description": "notification URL of a completed task optional field when a task is completed we will notify you by GET request sent to the URL you have specified you can use the ‘$id’ string as a $id variable and ‘$tag’ as urlencoded $tag variable. We will set the necessary values before sending the request. example: http://your-server.com/pingscript?id=$id http://your-server.com/pingscript?id=$id&tag=$tag Note: special characters in pingback_url will be urlencoded; i.a., the # character will be encoded into %23 learn more on our Help Center",
        -    "type": "string"
        -  },
        -  "priority_urls": {
        -    "description": "urls to be crawled bypassing the queue optional field URLs specified in this array will be crawled in the first instance, bypassing the crawling queue; Note: you should specify the absolute URL; you can specify up to 20 URLs; all URLs in the array must belong to the target domain; subdomains will be ignored unless the allow_subdomains parameter is set to trueexample: \"priority_urls\": [ \"https://dataforseo.com/apis/serp-api\", \"https://dataforseo.com/contact\" ]",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "respect_sitemap": {
        -    "description": "respect sitemap when crawling optional field set to true if you want to follow the order of pages indicated in the primary sitemap when crawling; default value: false Note: if set to true, the click_depth value in the API response will equal 0; the max_crawl_depth field of the request will be ignored, you can specify the number of pages to crawl using the max_crawl_pages parameter",
        -    "type": "boolean"
        -  },
        -  "return_despite_timeout": {
        -    "description": "return data on pages despite the timeout error optional field if true, the data will be provided on pages that failed to load within 120 seconds and responded with a timeout error; default value: false",
        -    "type": "boolean"
        -  },
        -  "robots_txt_merge_mode": {
        -    "description": "merge with or override robots.txt settings optional field possible values: merge, override; set to override if you want to ignore website crawling restrictions and other robots.txt settings default value: merge; Note: if set to override, specify the custom_robots_txt parameter",
        -    "type": "string"
        -  },
        -  "start_url": {
        -    "description": "the first url to crawl optional field Note: you should specify an absolute URL if you want to crawl a single page, specify its URL in this field and additionally set the max_crawl_pages parameter to 1 you can also use the live Instant Pages endpoint to get page-specific data",
        -    "type": "string"
        -  },
        -  "store_raw_html": {
        -    "description": "store HTML of crawled pages optional field set to true if you want to get the HTML of the page using the OnPage Raw HTML endpoint default value: false",
        -    "type": "boolean"
        -  },
        -  "support_cookies": {
        -    "description": "support cookies on crawled pages optional field set to true to support cookies when crawling the pages default value: false",
        -    "type": "boolean"
        -  },
        -  "switch_pool": {
        -    "description": "switch proxy pool optional field if true, additional proxy pools will be used to obtain the requested data; the parameter can be used if a multitude of tasks is set simultaneously, resulting in occasional rate-limit and/or site_unreachable errors",
        -    "type": "boolean"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  },
        -  "target": {
        -    "description": "target domain required field domain name should be specified without https:// and www. if you specify the page URL, the results will be returned for the domain included in the URL",
        -    "type": "string"
        -  },
        -  "validate_micromarkup": {
        -    "description": "enable microdata validation optional field set to true if you want to use the OnPage API Microdata endpoint default value: false",
        -    "type": "boolean"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "target",
        -  "max_crawl_pages"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_serp_ai_summary7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "fetch_content": true,
        +    "include_links": true,
        +    "prompt": "explain what DataForSEO is",
        +    "task_id": "07031739-1535-0139-0000-9d1e639a5b7d"
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "fetch_content": true,
        +        "include_links": true,
        +        "prompt": "explain what DataForSEO is",
        +        "task_id": "07031739-1535-0139-0000-9d1e639a5b7d"
        +      }
        +    ],
        +    "properties": {
        +      "fetch_content": {
        +        "description": "<em>fetch content from pages in SERPs</em><br>optional field<br>if set to <code>true</code>, the API will fetch the content from pages featured in SERP results, and the AI model will consider this content when generating the summary in the result;<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "include_links": {
        +        "description": "<em>include source links in the summary</em><br>optional field<br>if set to <code>true</code>, the <code>summary</code> field in the API response will contain links to sources of the generated summary;<br>default value: <code>false</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "prompt": {
        +        "description": "<em>AI prompt</em><br>optional field<br>additional task for AI summariser;<br>any form of text, question or information that communicates to AI what response you're looking for;<br>max number of symbols or characters you can specify: <code>2000</code>;<br><strong>note:</strong> your prompt has to be relevant to the keyword specified in the POST request to SERP API",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "support_extra": {
        +        "description": "<em>support extra SERP features</em><br>optional field<br>if set to <code>true</code>, the AI model will consider the following extra SERP features, in addition to <code>organic</code> results: <code>answer_box</code>, <code>knowledge_graph</code>, <code>featured_snippet</code>;<br>default value: <code>true</code>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "task_id": {
        +        "description": "<em>task identifier</em><br><strong>required field</strong><br>unique identifier of the associated task in the <a href=\"https://en.wikipedia.org/wiki/Universally_unique_identifier\">UUID</a> format<br>you will be able to use it within <strong>30 days</strong> to request the results of the task at any time",
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "fetch_content": {
        -    "description": "fetch content from pages in SERPs optional field if set to true, the API will fetch the content from pages featured in SERP results, and the AI model will consider this content when generating the summary in the result; default value: false",
        -    "type": "boolean"
        -  },
        -  "include_links": {
        -    "description": "include source links in the summary optional field if set to true, the summary field in the API response will contain links to sources of the generated summary; default value: false",
        -    "type": "boolean"
        -  },
        -  "prompt": {
        -    "description": "AI prompt optional field additional task for AI summariser; any form of text, question or information that communicates to AI what response you're looking for; max number of symbols or characters you can specify: 2000; note: your prompt has to be relevant to the keyword specified in the POST request to SERP API",
        -    "type": "string"
        -  },
        -  "support_extra": {
        -    "description": "support extra SERP features optional field if set to true, the AI model will consider the following extra SERP features, in addition to organic results: answer_box, knowledge_graph, featured_snippet; default value: true",
        -    "type": "boolean"
        -  },
        -  "task_id": {
        -    "description": "task identifier required field unique identifier of the associated task in the UUID format you will be able to use it within 30 days to request the results of the task at any time",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "task_id"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_serp_bing_organic_live7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "keyword": "flight ticket new york san francisco",
        +    "language_code": "en",
        +    "location_code": 2840
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "keyword": "flight ticket new york san francisco",
        +        "language_code": "en",
        +        "location_code": 2840
        +      }
        +    ],
        +    "properties": {
        +      "browser_screen_height": {
        +        "description": "<p><em>browser screen height</em><p>optional field<p>you can set a custom browser screen height to calculate pixel rankings for a particular device;<p>can be specified within the following range: <code>240-9999</code>;<p>by default, the parameter is set to:<p><code>1080</code> for <code>desktop</code>;<p><code>640</code> for <code>mobile</code> on <code>android</code>;<p><code>812</code> for <code>mobile</code> on <code>iOS</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "browser_screen_resolution_ratio": {
        +        "description": "<p><em>browser screen resolution ratio</em><p>optional field<p>you can set a custom browser screen resolution ratio to calculate pixel rankings for a particular device;<p>can be specified within the following range: <code>0.5-3</code>;<p>by default, the parameter is set to:<p><code>1</code> for <code>desktop</code>;<p><code>3</code> for <code>mobile</code> on <code>android</code>;<p><code>3</code> for <code>mobile</code> on <code>iOS</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "browser_screen_width": {
        +        "description": "<p><em>browser screen width</em><p>optional field<p>you can set a custom browser screen width to calculate pixel rankings for a particular device;<p>can be specified within the following range: <code>240-9999</code>;<p>by default, the parameter is set to:<p><code>1920</code> for <code>desktop</code>;<p><code>360</code> for <code>mobile</code> on <code>android</code>;<p><code>375</code> for <code>mobile</code> on <code>iOS</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
        +        "format": "int64",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "calculate_rectangles": {
        +        "description": "<p><em>calculate pixel rankings for SERP elements in advanced results</em><p>optional field<p>pixel ranking refers to the distance between the result snippet and top left corner of the screen;<p><a href=\"https://dataforseo.com/help-center/pixel-ranking-in-serp-api\">Visit Help Center to learn more&gt;&gt;</a><p>by default, the parameter is set to <code>false</code><p><strong>Note:</strong> you will be charged extra $0.002 for using this parameter</p>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "depth": {
        +        "description": "<p><em>parsing depth</em><p>optional field<p>number of results in SERP<p>default value: <code>10</code><p>max value: <code>200</code></p><br><strong>Your account will be billed per each SERP containing up to 10 results;</strong><p>Setting depth above 10 may result in additional charges <a href=\"https://dataforseo.com/help-center/how-many-results-scraped\" rel=\"noopener noreferrer\" target=\"_blank\">if the search engine returns more than 10 results</a>;<p>The cost can be calculated on the <a title=\"Pricing\" href=\"https://dataforseo.com/pricing/serp/bing-organic-serp-api\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page.",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "device": {
        +        "description": "<p><em>device type</em><p>optional field<p>return results for a specific device type<p>can take the values:<code>desktop</code>, <code>mobile</code><p>default value: <code>desktop</code></p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "keyword": {
        +        "description": "<p><em>keyword</em><p><strong>required field</strong><p>you can specify <strong>up to 700 characters</strong> in the <code>keyword</code> field<p><strong>all %## will be decoded (plus character '+' will be decoded to a space character)</strong><p>if you need to use the \"%\" character for your <code>keyword</code>, please specify it as \"%25\";<p>if you need to use the “+” character for your <code>keyword</code>, please specify it as “%2B”;</p><br><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" target=\"_blank\" rel=\"noopener noreferrer\">Help Center article</a></p>",
        +        "type": "string"
        +      },
        +      "language_code": {
        +        "description": "<p><em>search engine language code</em><p><strong>required field if you don't specify</strong> <code>language_name</code><p><strong>if you use this field, you don't need to specify <code>language_name</code></strong><p>you can receive the list of available languages of the search engine with their <code>language_code</code>&nbsp;by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages</code><em><p></em>example:<em><p></em><code class=\"long-string\">en</code></p>",
        +        "type": "string"
        +      },
        +      "language_name": {
        +        "description": "<p><em>full name of search engine language</em><p><strong>required field if you don't specify</strong> <code>language_code</code><p><strong>if you use this field, you don't need to specify <code>language_code</code></strong><p>you can receive the list of available languages of the search engine with their <code>language_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages</code><p>example:<p><code class=\"long-string\">English</code></p>",
        +        "type": "string"
        +      },
        +      "location_code": {
        +        "description": "<p><em>search engine location code</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations</code><p>example:<p><code class=\"long-string\">2840</code></p>",
        +        "type": "integer"
        +      },
        +      "location_coordinate": {
        +        "description": "<p><em>GPS coordinates of a location</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_code</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_code</code></strong><p><code>location_coordinate</code> parameter should be specified in the <em>\"latitude,longitude\"</em> format<p>the maximum number of decimal digits for <em>\"latitude\"</em> and <em>\"longitude\"</em>: 7<p>example:<p><code class=\"long-string\">53.476225,-2.243572</code></p>",
        +        "type": "string"
        +      },
        +      "location_name": {
        +        "description": "<p><em>full name of search engine location</em><p><strong>required field if you don't specify</strong> <code>location_code</code> or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_code</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations</code><p>example:<p><code class=\"long-string\">London,England,United Kingdom</code></p>",
        +        "type": "string"
        +      },
        +      "match_type": {
        +        "description": "<p><em>target match type</em><p><strong>required field if <code>stop_crawl_on_match</code> is specified</strong><p>type of match for the <code>match_value</code><p>possible values:<p><code>domain</code> – specific domain or subdomain<p><code>with_subdomains</code> – main domain and subdomains<p><code>wildcard</code> –  wildcard pattern</p>",
        +        "type": "string"
        +      },
        +      "match_value": {
        +        "description": "<p><em>target domain, subdomain, or wildcard value</em><p><strong>required field if <code>stop_crawl_on_match</code> is specified</strong><p>specify a target domain, subdomain, or wildcard value;<p><strong>Note:</strong> domain or subdomain must be specified without a request protocol;<p>example: <code>\"match_value\": \"dataforseo.com\"</code>,<p><code>\"match_value\": \"/blog/post-*\"</code></p>",
        +        "type": "string"
        +      },
        +      "max_crawl_pages": {
        +        "description": "<p><em>page crawl limit</em><p>optional field<p>number of search results pages to crawl<p>default value: <code>1</code><p>max value: <code>100</code><p><strong>Note:</strong> the <code>max_crawl_pages</code> and <code>depth</code> parameters complement each other;<p>learn more at <a href=\"https://dataforseo.com/help-center/what-is-max-crawl-pages-and-how-does-it-work\" rel=\"noopener noreferrer\" target=\"_blank\">our help center</a></p>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "os": {
        +        "description": "<p><em>device operating system</em><p>optional field<p>if you specify <code>desktop</code> in the <code>device</code> field, choose from the following values: <code>windows</code>, <code>macos</code><p>default value: <code>windows</code><p>if you specify <code>mobile</code> in the <code>device</code> field, choose from the following values: <code>android</code>, <code>ios</code><p>default value: <code>android</code></p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "search_param": {
        +        "description": "<p><em>additional parameters of the search query</em><p>optional field<p><a href=\"https://dataforseo.com/help-center/bing-search-engine-parameters-and-how-to-use-them\">get the list of available parameters and additional details here</a></p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "stop_crawl_on_match": {
        +        "description": "array of targets to stop crawling\noptional field\nif specified, the response will contain SERP results up to and including the specified match_value;\nyou can specify up to 10 target values in this array\nexample:\n\"stop_crawl_on_match\":[{\"match_value\":\"dataforseo.com\",\"match_type\":\"with_subdomains\"}]\nlearn more about this parameter on our Help Center - https://dataforseo.com/help-center/using-the-stop_crawl_on_match-parameter-in-serp-api\nYour account will be billed per each SERP crawled through the specified targets",
        +        "items": {
        +          "anyOf": [
        +            {
        +              "properties": {
        +                "match_type": {
        +                  "description": "target match type\nrequired field if stop_crawl_on_match is specified;\ntype of match for the match_value\npossible values: domain, with_subdomains, wildcard",
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                },
        +                "match_value": {
        +                  "description": "arget domain or wildcard value\nrequired field if stop_crawl_on_match is specified;\nspecify a target domain or wildcard value;\nNote: domain name must be specified without a request protocol;\nexample: dataforseo.com",
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                }
        +              },
        +              "type": "object"
        +            }
        +          ],
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<p><em>user-defined task identifier</em><p>optional field<p><em>the character limit is 255</em><p>you can use this parameter to identify the task and match it with the result<p>you will find the specified <code>tag</code> value in the <code>data</code> object of the response</p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "target": {
        +        "description": "<p><em>target domain, subdomain, or webpage to get results for</em><p>optional field<p>a domain or a subdomain should be specified without <code>https://</code> and <code>www.</code><p>note that the results of <code>target</code>-specific tasks will only include SERP elements that contain a <code>url</code> string;<p>you can also use a wildcard (‘*’) character to specify the search pattern in SERP and narrow down the results;<p>examples:<p><strong><code class=\"long-string\">example.com</code></strong>  - returns results for the website's home page with URLs, such as <code class=\"long-string\">https://example.com</code>, or <code class=\"long-string\">https://www.example.com/</code>, or <code class=\"long-string\">https://example.com/</code>;<p><strong><code class=\"long-string\">example.com*</code></strong> - returns results for the domain, including all its pages;<p><strong><code class=\"long-string\">*example.com*</code></strong> - returns results for the entire domain, including all its pages and subdomains;<p><strong><code class=\"long-string\">*example.com</code></strong>  - returns results for the home page regardless of the subdomain, such as <code class=\"long-string\">https://en.example.com</code>;<p><strong><code class=\"long-string\">example.com/example-page</code></strong>  - returns results for the exact URL;<p><strong><code class=\"long-string\">example.com/example-page*</code></strong>  - returns results for all domain's URLs that start with the specified string</p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "url": {
        +        "description": "<p><em>direct URL of the search query</em><p>optional field<p>you can specify a direct URL and we will sort it out to the necessary fields. Note that this method is the most difficult for our API to process and also requires you to specify the exact language and location in the URL. In most cases, we wouldn’t recommend using this method.<p>example:<p><code class=\"long-string\">https://www.bing.com/search?q=rank%20checker&amp;count=50&amp;first=1&amp;setlang=en&amp;cc=US&amp;safesearch=Moderate&amp;FORM=SEPAGE</code></p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "device": {
        -    "description": "device type optional field return results for a specific device type can take the values:desktop, mobile default value: desktop",
        -    "type": "string"
        -  },
        -  "keyword": {
        -    "description": "keyword required field you can specify up to 700 characters in the keyword field all %## will be decoded (plus character '+' will be decoded to a space character) if you need to use the \"%\" character for your keyword, please specify it as \"%25\"; if you need to use the “+” character for your keyword, please specify it as “%2B”; learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        -    "type": "string"
        -  },
        -  "language_code": {
        -    "description": "search engine language code required field if you don't specify language_name if you use this field, you don't need to specify language_name. Use the AIsa tool [get_dataforseo_serp_bing_languages](https://aisa.one/docs/api-reference/dataforseo/get_dataforseo-serp-bing-languages) to retrieve supported Bing languages. Select a language from the returned list and use its `language_code` value exactly. When using MCP, discover this tool through `search` and obtain its schema with `batch_get_schema` if needed. example: en",
        -    "type": "string"
        -  },
        -  "language_name": {
        -    "description": "full name of search engine language required field if you don't specify language_code if you use this field, you don't need to specify language_code. Use the AIsa tool [get_dataforseo_serp_bing_languages](https://aisa.one/docs/api-reference/dataforseo/get_dataforseo-serp-bing-languages) to retrieve supported Bing languages. Select a language from the returned list and use its `language_name` value exactly. When using MCP, discover this tool through `search` and obtain its schema with `batch_get_schema` if needed. example: English",
        -    "type": "string"
        -  },
        -  "location_code": {
        -    "description": "search engine location code required field if you don't specify location_name or location_coordinate if you use this field, you don't need to specify location_name or location_coordinate. Use the AIsa tool [get_dataforseo_serp_bing_locations](https://aisa.one/docs/api-reference/dataforseo/get_dataforseo-serp-bing-locations) to retrieve supported Bing locations. Select a location from the returned list and use its `location_code` value exactly. When using MCP, discover this tool through `search` and obtain its schema with `batch_get_schema` if needed. example: 2840",
        -    "type": "integer"
        -  },
        -  "location_name": {
        -    "description": "full name of search engine location required field if you don't specify location_code or location_coordinate if you use this field, you don't need to specify location_code or location_coordinate. Use the AIsa tool [get_dataforseo_serp_bing_locations](https://aisa.one/docs/api-reference/dataforseo/get_dataforseo-serp-bing-locations) to retrieve supported Bing locations. Select a location from the returned list and use its `location_name` value exactly. When using MCP, discover this tool through `search` and obtain its schema with `batch_get_schema` if needed. example: London,England,United Kingdom",
        -    "type": "string"
        -  },
        -  "os": {
        -    "description": "device operating system optional field if you specify desktop in the device field, choose from the following values: windows, macos default value: windows if you specify mobile in the device field, choose from the following values: android, ios default value: android",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "keyword"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_serp_google_ai_mode_live7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "keyword": "what is google ai mode",
        +    "language_code": "en",
        +    "location_code": 2840
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "keyword": "what is google ai mode",
        +        "language_code": "en",
        +        "location_code": 2840
        +      }
        +    ],
        +    "properties": {
        +      "browser_screen_height": {
        +        "description": "<p><em>browser screen height</em><p>optional field<p>you can set a custom browser screen height to calculate pixel rankings for a particular device;<p>can be specified within the following range: <code>240-9999</code>;<p>by default, the parameter is set to:<p><code>1080</code> for <code>desktop</code>;<p><code>640</code> for <code>mobile</code> on <code>android</code>;<p><code>812</code> for <code>mobile</code> on <code>iOS</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "browser_screen_resolution_ratio": {
        +        "description": "<p><em>browser screen resolution ratio</em><p>optional field<p>you can set a custom browser screen resolution ratio to calculate pixel rankings for a particular device;<p>can be specified within the following range: <code>0.5-3</code>;<p>by default, the parameter is set to:<p><code>1</code> for <code>desktop</code>;<p><code>3</code> for <code>mobile</code> on <code>android</code>;<p><code>3</code> for <code>mobile</code> on <code>iOS</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "browser_screen_width": {
        +        "description": "<p><em>browser screen width</em><p>optional field<p>you can set a custom browser screen width to calculate pixel rankings for a particular device;<p>can be specified within the following range: <code>240-9999</code>;<p>by default, the parameter is set to:<p><code>1920</code> for <code>desktop</code>;<p><code>360</code> for <code>mobile</code> on <code>android</code>;<p><code>375</code> for <code>mobile</code> on <code>iOS</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
        +        "format": "int64",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "calculate_rectangles": {
        +        "description": "<p><em>calculate pixel rankings for SERP elements in advanced results</em><p>optional field<p>pixel ranking refers to the distance between the result snippet and top left corner of the screen;<p><a href=\"https://dataforseo.com/help-center/pixel-ranking-in-serp-api\">Visit Help Center to learn more&gt;&gt;</a><p>by default, the parameter is set to <code>false</code><p><strong>Note:</strong> if set to <code>true</code>, the charge per task will be multiplied by 2</p>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "device": {
        +        "description": "<p><em>device type</em><p>optional field<p>return results for a specific device type<p>can take the values:<code>desktop</code>, <code>mobile</code><p>default value: <code>desktop</code></p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "keyword": {
        +        "description": "<p><em>keyword</em><p><strong>required field</strong><p>you can specify <strong>up to 700 characters</strong> in the <code>keyword</code> field<p>all %## will be decoded (plus character ‘+’ will be decoded to a space character)<p>if you need to use the “%” character for your <code>keyword</code>, please specify it as “%25”;<p>if you need to use the “+” character for your <code>keyword</code>, please specify it as “%2B”</p><br><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a></p>",
        +        "type": "string"
        +      },
        +      "language_code": {
        +        "description": "<p><em>search engine language code</em><p>required field if you don't specify <code>language_name</code>;<p>if you use this field, you don't need to specify <code>language_name</code>;<p>you can receive the list of available languages of the search engine with their <code>language_code</code>&nbsp;by making a separate request to the <code>https://api.dataforseo.com/v3/serp/google/ai_mode/languages</code></p>",
        +        "type": "string"
        +      },
        +      "language_name": {
        +        "description": "<p><em>full name of search engine language</em><p>required field if you don't specify <code>language_code</code>;<p>if you use this field, you don't need to specify <code>language_code</code>;<p>you can receive the list of available languages of the search engine with their <code>language_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/google/ai_mode/languages</code>;</p>",
        +        "type": "string"
        +      },
        +      "location_code": {
        +        "description": "<p><em>search engine location code</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/google/locations</code><p><strong>Note:</strong> check <a href=\"https://support.google.com/websearch/answer/16011537?hl=en&amp;co=GENIE.Platform%3DAndroid#\" target=\"_blank\"> Google Search Help</a> for the list of countries where AI Mode is currently available</p>",
        +        "type": "integer"
        +      },
        +      "location_coordinate": {
        +        "description": "<p><em>GPS coordinates of a location</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_code</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_code</code></strong><p><code>location_coordinate</code> parameter should be specified in the <em>\"latitude,longitude,zoom\"</em> format<p>if <em>\"zoom\"</em> is not specified, <em>9z</em> will be applied as a default value<p>the maximum number of decimal digits for <em>\"latitude\"</em> and <em>\"longitude\"</em>: 7<p>the minimum value for <em>\"zoom\"</em>: 4z<p>the maximum value for <em>\"zoom\"</em>: 18z<p>example:<p><code class=\"long-string\">52.6178549,-155.352142,18z</code></p>",
        +        "type": "string"
        +      },
        +      "location_name": {
        +        "description": "<p><em>full name of search engine location</em><p><strong>required field if you don't specify</strong> <code>location_code</code> or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_code</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/google/locations</code><p><strong>Note:</strong> check <a href=\"https://support.google.com/websearch/answer/16011537?hl=en&amp;co=GENIE.Platform%3DAndroid#\" target=\"_blank\"> Google Search Help</a> for the list of countries where AI Mode is currently available</p>",
        +        "type": "string"
        +      },
        +      "os": {
        +        "description": "<p><em>device operating system</em><p>optional field<p>if you specify <code>desktop</code> in the <code>device</code> field, choose from the following values: <code>windows</code>, <code>macos</code><p>default value: <code>windows</code><p>if you specify <code>mobile</code> in the <code>device</code> field, choose from the following values: <code>android</code>, <code>ios</code><p>default value: <code>android</code></p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<p><em>user-defined task identifier</em><p>optional field<p><em>the character limit is 255</em><p>you can use this parameter to identify the task and match it with the result<p>you will find the specified <code>tag</code> value in the <code>data</code> object of the response</p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "browser_screen_height": {
        -    "description": "browser screen height optional field you can set a custom browser screen height to calculate pixel rankings for a particular device; can be specified within the following range: 240-9999; by default, the parameter is set to: 1080 for desktop; 640 for mobile on android; 812 for mobile on iOS; Note: to use this parameter, set calculate_rectangles to true",
        -    "type": "integer"
        -  },
        -  "browser_screen_resolution_ratio": {
        -    "description": "browser screen resolution ratio optional field you can set a custom browser screen resolution ratio to calculate pixel rankings for a particular device; can be specified within the following range: 0.5-3; by default, the parameter is set to: 1 for desktop; 3 for mobile on android; 3 for mobile on iOS; Note: to use this parameter, set calculate_rectangles to true",
        -    "type": "number"
        -  },
        -  "browser_screen_width": {
        -    "description": "browser screen width optional field you can set a custom browser screen width to calculate pixel rankings for a particular device; can be specified within the following range: 240-9999; by default, the parameter is set to: 1920 for desktop; 360 for mobile on android; 375 for mobile on iOS; Note: to use this parameter, set calculate_rectangles to true",
        -    "type": "integer"
        -  },
        -  "calculate_rectangles": {
        -    "description": "calculate pixel rankings for SERP elements in advanced results optional field pixel ranking refers to the distance between the result snippet and top left corner of the screen; Visit Help Center to learn more>> by default, the parameter is set to false Note: if set to true, the charge per task will be multiplied by 2",
        -    "type": "boolean"
        -  },
        -  "device": {
        -    "description": "device type optional field return results for a specific device type can take the values:desktop, mobile default value: desktop",
        -    "type": "string"
        -  },
        -  "keyword": {
        -    "description": "keyword required field you can specify up to 700 characters in the keyword field all %## will be decoded (plus character ‘+’ will be decoded to a space character) if you need to use the “%” character for your keyword, please specify it as “%25”; if you need to use the “+” character for your keyword, please specify it as “%2B” learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        -    "type": "string"
        -  },
        -  "language_code": {
        -    "description": "search engine language code required field if you don't specify language_name; if you use this field, you don't need to specify language_name; you can receive the list of available languages of the search engine with their language_code by making a separate request to the https://api.dataforseo.com/v3/serp/google/ai_mode/languages",
        -    "type": "string"
        -  },
        -  "language_name": {
        -    "description": "full name of search engine language required field if you don't specify language_code; if you use this field, you don't need to specify language_code; you can receive the list of available languages of the search engine with their language_name by making a separate request to the https://api.dataforseo.com/v3/serp/google/ai_mode/languages;",
        -    "type": "string"
        -  },
        -  "location_code": {
        -    "description": "search engine location code required field if you don't specify location_name or location_coordinate if you use this field, you don't need to specify location_name or location_coordinate you can receive the list of available locations of the search engines with their location_code by making a separate request to the https://api.dataforseo.com/v3/serp/google/locations Note: check Google Search Help for the list of countries where AI Mode is currently available",
        -    "type": "integer"
        -  },
        -  "location_coordinate": {
        -    "description": "GPS coordinates of a location required field if you don't specify location_name or location_code if you use this field, you don't need to specify location_name or location_code location_coordinate parameter should be specified in the \"latitude,longitude,zoom\" format if \"zoom\" is not specified, 9z will be applied as a default value the maximum number of decimal digits for \"latitude\" and \"longitude\": 7 the minimum value for \"zoom\": 4z the maximum value for \"zoom\": 18z example: 52.6178549,-155.352142,18z",
        -    "type": "string"
        -  },
        -  "location_name": {
        -    "description": "full name of search engine location required field if you don't specify location_code or location_coordinate if you use this field, you don't need to specify location_code or location_coordinate you can receive the list of available locations of the search engine with their location_name by making a separate request to the https://api.dataforseo.com/v3/serp/google/locations Note: check Google Search Help for the list of countries where AI Mode is currently available",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "keyword"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_serp_google_autocomplete_live7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "client": "gws-wiz-serp",
        +    "keyword": "albert einstein",
        +    "language_code": "en",
        +    "location_code": 2840
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "client": "gws-wiz-serp",
        +        "keyword": "albert einstein",
        +        "language_code": "en",
        +        "location_code": 2840
        +      }
        +    ],
        +    "properties": {
        +      "client": {
        +        "description": "<p><em>search client for autocomplete</em><p>optional field<p>autocomplete results may differ depending on the search client;<p>possible values:<p><code>chrome</code> — used when google search is opened in google chrome;<p><code>chrome-omni</code> — used in the address bar in chrome;<p><code>gws-wiz</code> — used in google search home page;<p><code>gws-wiz-serp</code> — used in google search engine results page;<p><code>safari</code> — used when google search is opened in safari browser;<p><code>firefox</code> — used when google search is opened in firefox browser;<p><code>psy-ab</code> — may be used when google search is opened in google chrome browser;<p><code>toolbar</code> — returns XML;<p><code>youtube</code> — returns JSONP;<p><code>gws-wiz-local</code> — used in google local;<p><code>img</code> — used in google's image search;<p><code>products-cc</code> — used in google shopping search</p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "cursor_pointer": {
        +        "description": "<p><em>search bar cursor pointer</em><p>optional field<p>the horizontal numerical position of the cursor pointer within the keyword in the search bar;<p>by modifying the position of the cursor pointer, you will obtain different autocomplete suggestions for the same seed keyword;<p>minimal value: <code>0</code><p>default value: the number of the last character of the specified <code>keyword</code><p>example:<p><code>|which query are s</code> - <code>\"cursor_pointer\": 0</code><p><code>which query is s|</code> - <code>\"cursor_pointer\": 16</code><p><code>which que|ry is s</code> - <code>\"cursor_pointer\": 9</code></p>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "keyword": {
        +        "description": "<p><em>keyword</em><p><strong>required field</strong><p>you can specify <strong>up to 700 characters</strong> in the <code>keyword</code> field<p>all %## will be decoded (plus character ‘+’ will be decoded to a space character)<p>if you need to use the “%” character for your <code>keyword</code>, please specify it as “%25”;<p>if you need to use the “+” character for your <code>keyword</code>, please specify it as “%2B”;</p><br><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a></p>",
        +        "type": "string"
        +      },
        +      "language_code": {
        +        "description": "<p><em>search engine language code</em><p><strong>required field if you don't specify</strong> <code>language_name</code><p><strong>if you use this field, you don't need to specify <code>language_name</code></strong>;<p>you can receive the list of available languages of the search engine with their <code>language_code</code>&nbsp;by making a separate request to the <code>https://api.dataforseo.com/v3/serp/google/languages</code><em><p></em>example:<em><p></em><code class=\"long-string\">en</code></p>",
        +        "type": "string"
        +      },
        +      "language_name": {
        +        "description": "<p><em>full name of search engine language</em><p><strong>required field if you don't specify</strong> <code>language_code</code><p><strong>if you use this field, you don't need to specify <code>language_code</code></strong>;<p>you can receive the list of available languages of the search engine with their <code>language_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/serp/google/languages</code><p>example:<p><code class=\"long-string\">English</code></p>",
        +        "type": "string"
        +      },
        +      "location_code": {
        +        "description": "<p><em>search engine location code</em><p><strong>required field if you don't specify</strong> <code>location_name</code>;<p>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to <code>https://api.dataforseo.com/v3/serp/google/locations</code><p>example:<p><code class=\"long-string\">2840</code></p>",
        +        "type": "integer"
        +      },
        +      "location_name": {
        +        "description": "<p><em>full name of search engine location</em><p><strong>required field if you don't specify</strong> <code>location_code</code><p><strong>if you use this field, you don't need to specify <code>location_code</code></strong>;<p>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/serp/google/autocomplete/locations</code><p>example:<p><code class=\"long-string\">London,England,United Kingdom</code></p>",
        +        "type": "string"
        +      },
        +      "tag": {
        +        "description": "<p><em>user-defined task identifier</em><p>optional field<p><em>the character limit is 255</em><p>you can use this parameter to identify the task and match it with the result<p>you will find the specified <code>tag</code> value in the <code>data</code> object of the response</p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "client": {
        -    "description": "search client for autocomplete optional field autocomplete results may differ depending on the search client; possible values: chrome — used when google search is opened in google chrome; chrome-omni — used in the address bar in chrome; gws-wiz — used in google search home page; gws-wiz-serp — used in google search engine results page; safari — used when google search is opened in safari browser; firefox — used when google search is opened in firefox browser; psy-ab — may be used when google search is opened in google chrome browser; toolbar — returns XML; youtube — returns JSONP; gws-wiz-local — used in google local; img — used in google's image search; products-cc — used in google shopping search",
        -    "type": "string"
        -  },
        -  "keyword": {
        -    "description": "keyword required field you can specify up to 700 characters in the keyword field all %## will be decoded (plus character ‘+’ will be decoded to a space character) if you need to use the “%” character for your keyword, please specify it as “%25”; if you need to use the “+” character for your keyword, please specify it as “%2B”; learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        -    "type": "string"
        -  },
        -  "language_code": {
        -    "description": "search engine language code required field if you don't specify language_name if you use this field, you don't need to specify language_name; you can receive the list of available languages of the search engine with their language_code by making a separate request to the https://api.dataforseo.com/v3/serp/google/languages example: en",
        -    "type": "string"
        -  },
        -  "language_name": {
        -    "description": "full name of search engine language required field if you don't specify language_code if you use this field, you don't need to specify language_code; you can receive the list of available languages of the search engine with their language_name by making a separate request to https://api.dataforseo.com/v3/serp/google/languages example: English",
        -    "type": "string"
        -  },
        -  "location_code": {
        -    "description": "search engine location code required field if you don't specify location_name; you can receive the list of available locations of the search engines with their location_code by making a separate request to https://api.dataforseo.com/v3/serp/google/locations example: 2840",
        -    "type": "integer"
        -  },
        -  "location_name": {
        -    "description": "full name of search engine location required field if you don't specify location_code if you use this field, you don't need to specify location_code; you can receive the list of available locations of the search engine with their location_name by making a separate request to https://api.dataforseo.com/v3/serp/google/autocomplete/locations example: London,England,United Kingdom",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "keyword"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_serp_google_local_finder_live7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "keyword": "local nail services",
        +    "language_code": "en",
        +    "location_code": 2840,
        +    "min_rating": 4.5,
        +    "time_filter": "monday"
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "keyword": "local nail services",
        +        "language_code": "en",
        +        "location_code": 2840,
        +        "min_rating": 4.5,
        +        "time_filter": "monday"
        +      }
        +    ],
        +    "properties": {
        +      "depth": {
        +        "description": "<p><em>parsing depth</em><p>optional field<p>number of results in SERP<br><p>default value: <code>10</code><p>max value: <code>100</code></p><br><strong>Your account will be billed per each SERP containing up to 10 results;</strong><p>Setting depth above 10 may result in additional charges if the search engine returns more than 10 results respectively;<p>If the specified depth is higher than the number of results in the response, the difference will be refunded to your account balance automatically<p>The cost can be calculated on the <a title=\"Pricing\" href=\"https://dataforseo.com/pricing/serp/google-local-finder-serp-api\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page.",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "device": {
        +        "description": "<p><em>device type</em><p>optional field<p>return results for a specific device type<p>can take the values:<code>desktop</code>, <code>mobile</code><p>default value: <code>desktop</code></p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "keyword": {
        +        "description": "<p><em>keyword</em><p><strong>required field</strong><p>you can specify <strong>up to 700 characters</strong> in the <code>keyword</code> field<p>all %## will be decoded (plus character ‘+’ will be decoded to a space character)<p>if you need to use the “%” character for your <code>keyword</code>, please specify it as “%25”;<p>if you need to use the “+” character for your <code>keyword</code>, please specify it as “%2B”</p><br><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a></p>",
        +        "type": "string"
        +      },
        +      "language_code": {
        +        "description": "<p><em>search engine language code</em><p><strong>required field if you don't specify</strong> <code>language_name</code><p><strong>if you use this field, you don't need to specify <code>language_name</code></strong><p>you can receive the list of available languages of the search engine with their <code>language_code</code>&nbsp;by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages</code><p>example:<code class=\"long-string\">en</code></p>",
        +        "type": "string"
        +      },
        +      "language_name": {
        +        "description": "<p><em>full name of search engine language</em><p><strong>required field if you don't specify</strong> <code>language_code</code><p><strong>if you use this field, you don't need to specify <code>language_code</code></strong><p>you can receive the list of available languages of the search engine with their <code>language_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages</code><p>example:<p><code class=\"long-string\">English</code></p>",
        +        "type": "string"
        +      },
        +      "location_code": {
        +        "description": "<p><em>search engine location code</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations</code><p>example:<p><code class=\"long-string\">2840</code></p>",
        +        "type": "integer"
        +      },
        +      "location_coordinate": {
        +        "description": "<p><em>GPS coordinates of a location</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_code</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_code</code></strong><p><code>location_coordinate</code> parameter should be specified in the <em>\"latitude,longitude,zoom\"</em> format<p>if <em>\"zoom\"</em> is not specified, <em>9z</em> will be applied as a default value<p>the maximum number of decimal digits for <em>\"latitude\"</em> and <em>\"longitude\"</em>: 7<p>the minimum value for <em>\"zoom\"</em>: 4z<p>the maximum value for <em>\"zoom\"</em>: 18z<p>example:<p><code class=\"long-string\">52.6178549,-155.352142,20z</code></p>",
        +        "type": "string"
        +      },
        +      "location_name": {
        +        "description": "<p><em>full name of search engine location</em><p><strong>required field if you don't specify</strong> <code>location_code</code> or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_code</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations</code><p>example:<p><code class=\"long-string\">London,England,United Kingdom</code></p>",
        +        "type": "string"
        +      },
        +      "min_rating": {
        +        "description": "<p><em>filter results by minimum rating</em><p>optional field<p>possible values for <code>desktop</code>: <code>3.5</code>, <code>4</code>, <code>4.5</code>;<p>possible values for <code>mobile</code>: <code>2</code>, <code>2.5</code>, <code>3</code>, <code>3.5</code>, <code>4</code>, <code>4.5</code></p>",
        +        "format": "double",
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "os": {
        +        "description": "<p><em>device operating system</em><p>optional field<p>if you specify <code>desktop</code> in the <code>device</code> field, choose from the following values: <code>windows</code>, <code>macos</code><p>default value: <code>windows</code><p>if you specify <code>mobile</code> in the <code>device</code> field, choose from the following values: <code>android</code>, <code>ios</code><p>default value: <code>android</code></p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "priority": {
        +        "description": "<p><em>task priority</em><p>optional field<p>can take the following values:<p>1 – normal execution priority (set by default)<p>2 – high execution priority</p><br>You will be additionally charged for the tasks with high execution priority.<p>The cost can be calculated on the <a title=\"Pricing\" href=\"https://dataforseo.com/pricing/serp/google-local-finder-serp-api\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page.",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<p><em>user-defined task identifier</em><p>optional field<p><em>the character limit is 255</em><p>you can use this parameter to identify the task and match it with the result<p>you will find the specified <code>tag</code> value in the <code>data</code> object of the response</p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "time_filter": {
        +        "description": "<p><em>filter results by open hours</em><p>optional field<p>using this field, you can filter places in the results by the time a place is open for visitors<p>note that Google may also provide results that do not match this filter<p>possible values: <code>\"open_now\"</code>, <code>\"24_hours\"</code>, <code>\"$day_value\"</code>, <code>\"$day_value;$time_value\"</code>;<p>instead of <code>$day_value</code> use one of these values: <code>\"monday\"</code>, <code>\"tuesday\"</code>, <code>\"wednesday\"</code>, <code>\"thursday\"</code>, <code>\"friday\"</code>, <code>\"saturday\"</code>, <code>\"sunday\"</code>;<p>instead of <code>$time_value</code> use one of these values: <code>\"00\"</code>, <code>\"01\"</code>, <code>\"02\"</code>, <code>\"03\"</code>, <code>\"04\"</code>, <code>\"05\"</code>, <code>\"06\"</code>, <code>\"07\"</code>, <code>\"08\"</code>, <code>\"09\"</code>, <code>\"10\"</code>, <code>\"11\"</code>, <code>\"12\"</code>, <code>\"13\"</code>, <code>\"14\"</code>, <code>\"15\"</code>, <code>\"16\"</code>, <code>\"17\"</code>, <code>\"18\"</code>, <code>\"19\"</code>, <code>\"20\"</code>, <code>\"21\"</code>, <code>\"22\"</code>, <code>\"23\"</code><p>example: <code class=\"long-string\">\"tuesday;18\"</code></p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "keyword": {
        -    "description": "keyword required field you can specify up to 700 characters in the keyword field all %## will be decoded (plus character ‘+’ will be decoded to a space character) if you need to use the “%” character for your keyword, please specify it as “%25”; if you need to use the “+” character for your keyword, please specify it as “%2B” learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        -    "type": "string"
        -  },
        -  "language_code": {
        -    "description": "search engine language code required field if you don't specify language_name if you use this field, you don't need to specify language_name you can receive the list of available languages of the search engine with their language_code by making a separate request to the https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages example:en",
        -    "type": "string"
        -  },
        -  "language_name": {
        -    "description": "full name of search engine language required field if you don't specify language_code if you use this field, you don't need to specify language_code you can receive the list of available languages of the search engine with their language_name by making a separate request to the https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages example: English",
        -    "type": "string"
        -  },
        -  "location_code": {
        -    "description": "search engine location code required field if you don't specify location_name or location_coordinate if you use this field, you don't need to specify location_name or location_coordinate you can receive the list of available locations of the search engines with their location_code by making a separate request to the https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations example: 2840",
        -    "type": "integer"
        -  },
        -  "location_coordinate": {
        -    "description": "GPS coordinates of a location required field if you don't specify location_name or location_code if you use this field, you don't need to specify location_name or location_code location_coordinate parameter should be specified in the \"latitude,longitude,zoom\" format if \"zoom\" is not specified, 9z will be applied as a default value the maximum number of decimal digits for \"latitude\" and \"longitude\": 7 the minimum value for \"zoom\": 4z the maximum value for \"zoom\": 18z example: 52.6178549,-155.352142,20z",
        -    "type": "string"
        -  },
        -  "location_name": {
        -    "description": "full name of search engine location required field if you don't specify location_code or location_coordinate if you use this field, you don't need to specify location_code or location_coordinate you can receive the list of available locations of the search engine with their location_name by making a separate request to the https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations example: London,England,United Kingdom",
        -    "type": "string"
        -  },
        -  "min_rating": {
        -    "description": "filter results by minimum rating optional field possible values for desktop: 3.5, 4, 4.5; possible values for mobile: 2, 2.5, 3, 3.5, 4, 4.5",
        -    "type": "number"
        -  },
        -  "time_filter": {
        -    "description": "filter results by open hours optional field using this field, you can filter places in the results by the time a place is open for visitors note that Google may also provide results that do not match this filter possible values: \"open_now\", \"24_hours\", \"$day_value\", \"$day_value;$time_value\"; instead of $day_value use one of these values: \"monday\", \"tuesday\", \"wednesday\", \"thursday\", \"friday\", \"saturday\", \"sunday\"; instead of $time_value use one of these values: \"00\", \"01\", \"02\", \"03\", \"04\", \"05\", \"06\", \"07\", \"08\", \"09\", \"10\", \"11\", \"12\", \"13\", \"14\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", \"23\" example: \"tuesday;18\"",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "keyword"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_serp_google_maps_live7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "keyword": "albert einstein",
        +    "language_code": "en",
        +    "location_code": 2840
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "keyword": "albert einstein",
        +        "language_code": "en",
        +        "location_code": 2840
        +      }
        +    ],
        +    "properties": {
        +      "depth": {
        +        "description": "<p><em>parsing depth</em><p>optional field<p>number of results in SERP<p>default value: <code>100</code><p>max value: <code>700</code></p><br><strong>Your account will be billed per each SERP containing up to 100 results;</strong><p>Setting depth above 100 may result in additional charges <a href=\"https://dataforseo.com/help-center/how-many-results-scraped\" rel=\"noopener noreferrer\" target=\"_blank\">if the search engine returns more than 100 results</a>;<p>The cost can be calculated on the <a title=\"Pricing\" href=\"https://dataforseo.com/pricing/serp/google-maps-serp-api\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page.",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "device": {
        +        "description": "<p><em>device type</em><p>optional field<p>return results for a specific device type<p>can take the values:<code>desktop</code>, <code>mobile</code><p>default value: <code>desktop</code><p><strong>note:</strong> for <code>mobile</code> device, only 20 results are returned for every SERP</p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "keyword": {
        +        "description": "<p><em>keyword</em><p><strong>required field</strong><p>you can specify <strong>up to 700 characters</strong> in the <code>keyword</code> field<p>all %## will be decoded (plus character '+' will be decoded to a space character)<p>if you need to use the \"%\" character for your <code>keyword</code>, please specify it as \"%25\";<p>if you need to use the “+” character for your <code>keyword</code>, please specify it as “%2B”;<p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a></p>",
        +        "type": "string"
        +      },
        +      "language_code": {
        +        "description": "<p><em>search engine language code</em><p><strong>required field if you don't specify</strong> <code>language_name</code><p><strong>if you use this field, you don't need to specify <code>language_name</code></strong><p>you can receive the list of available languages of the search engine with their <code>language_code</code>&nbsp;by making a separate request to the <code>https://api.dataforseo.com/v3/serp/google/languages</code><em><p></em>example:<em><p></em><code class=\"long-string\">en</code></p>",
        +        "type": "string"
        +      },
        +      "language_name": {
        +        "description": "<p><em>full name of search engine language</em><p><strong>required field if you don't specify</strong> <code>language_code</code><p><strong>if you use this field, you don't need to specify <code>language_code</code></strong><p>you can receive the list of available languages  of the search engine with their <code>language_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/google/languages</code><p>example:<p><code class=\"long-string\">English</code></p>",
        +        "type": "string"
        +      },
        +      "location_code": {
        +        "description": "<p><em>search engine location code</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/google/locations</code><p>example:<p><code class=\"long-string\">2840</code></p>",
        +        "type": "integer"
        +      },
        +      "location_coordinate": {
        +        "description": "<p><em>GPS coordinates of a location</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_code</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_code</code></strong><p><code>location_coordinate</code> parameter should be specified in the <em>\"latitude,longitude,zoom\"</em> format<p>if <em>\"zoom\"</em> is not specified, <em>17z</em> will be applied as a default value<p>the maximum number of decimal digits for <em>\"latitude\"</em> and <em>\"longitude\"</em>: 7<p>the minimum value for <em>\"zoom\"</em>: 3z<p>the maximum value for <em>\"zoom\"</em>: 21z<p>example:<p><code class=\"long-string\">52.6178549,-155.352142,20z</code></p>",
        +        "type": "string"
        +      },
        +      "location_name": {
        +        "description": "<p><em>full name of search engine location</em><p><strong>required field if you don't specify</strong> <code>location_code</code> or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_code</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/google/locations</code><p>example:<p><code class=\"long-string\">London,England,United Kingdom</code></p>",
        +        "type": "string"
        +      },
        +      "max_crawl_pages": {
        +        "description": "<p><em>page crawl limit</em><p>optional field<p>number of search results pages to crawl<p>max value: <code>100</code><p><strong>Note:</strong> the <code>max_crawl_pages</code> and <code>depth</code> parameters complement each other;<p>learn more at <a href=\"https://dataforseo.com/help-center/what-is-max-crawl-pages-and-how-does-it-work\" rel=\"noopener noreferrer\" target=\"_blank\">our help center</a></p>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "os": {
        +        "description": "<p><em>device operating system</em><p>optional field<p>if you specify <code>desktop</code> in the <code>device</code> field, choose from the following values: <code>windows</code>, <code>macos</code><p>default value: <code>windows</code><p>if you specify <code>mobile</code> in the <code>device</code> field, choose from the following values: <code>android</code>, <code>ios</code><p>default value: <code>android</code></p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "se_domain": {
        +        "description": "<p><em>search engine domain</em><p>optional field<p>we choose the relevant search engine domain automatically according to the location and language you specify<p>however, you can set a custom search engine domain in this field<p>example:<p><code><em>google.co.uk</em></code>, <code><em>google.com.au</em></code>, <code><em>google.de</em></code>, etc.</p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "search_places": {
        +        "description": "<p><em>search places mode</em><p>optional field<p>the search places mode allows to obtain Google Maps results on a certain place (e.g., Apple Store in New York)<p>however, due to the pecularities of our data mining algorithm, this mode might interfere with some local-intent queries - and display results for a location that is different from that specified in the request;<p>to prevent this interference and obtain correct results for keywords with local intent you may set this parameter to <code>false</code>;</p><br><p>default value: <code>true</code><p><strong>Note:</strong> if the <code>search_places</code> mode is turned off and no results were found in the search area, the <code>results</code> array will be empty</p>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "search_this_area": {
        +        "description": "<p><em>show results from the displayed area</em><p>optional field<p>can take the values:<code>true</code>, <code>false</code><p>default value: <code>true</code></p><br><p>if set to <code>false</code>, the <code>search_this_area</code> mode will be turned off</p><br><p><strong>Note:</strong> if the <code>search_this_area</code> mode is turned off, Google Maps listings might contain results beyond the displayed area</p>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "<p><em>user-defined task identifier</em><p>optional field<p><em>the character limit is 255</em><p>you can use this parameter to identify the task and match it with the result<p>you will find the specified <code>tag</code> value in the <code>data</code> object of the response</p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "url": {
        +        "description": "<p><em>direct URL of the search query</em><p>optional field<p>you can specify a direct URL and we will sort it out to the necessary fields. Note that this method is the most difficult for our API to process and also requires you to specify the exact language and location in the URL. In most cases, we wouldn’t recommend using this method.<p>example:<p><code class=\"long-string\">https://google.com/maps/search/pizza/@37.09024,-95.712891,4z</code></p><br><strong>Note:</strong> the following search engine parameters are not supported and will be automatically unset if specified in the URL: <code>allinanchor:</code>, <code>allintext:</code>, <code>allintitle:</code>, <code>allinurl:</code>, <code>cache:</code>, <code>define:</code>, <code>definition:</code>, <code>filetype:</code>, <code>id:</code>, <code>inanchor:</code>, <code>info:</code>, <code>intext:</code>, <code>intitle:</code>, <code>inurl:</code>, <code>link:</code>, <code>site:</code>.",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "depth": {
        -    "description": "parsing depth optional field number of results in SERP default value: 100 max value: 700 Your account will be billed per each SERP containing up to 100 results; Setting depth above 100 may result in additional charges if the search engine returns more than 100 results.",
        -    "type": "integer"
        -  },
        -  "keyword": {
        -    "description": "keyword required field you can specify up to 700 characters in the keyword field all %## will be decoded (plus character '+' will be decoded to a space character) if you need to use the \"%\" character for your keyword, please specify it as \"%25\"; if you need to use the “+” character for your keyword, please specify it as “%2B”; learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        -    "type": "string"
        -  },
        -  "language_code": {
        -    "description": "search engine language code required field if you don't specify language_name if you use this field, you don't need to specify language_name you can receive the list of available languages of the search engine with their language_code by making a separate request to the https://api.dataforseo.com/v3/serp/google/languages example: en",
        -    "type": "string"
        -  },
        -  "language_name": {
        -    "description": "full name of search engine language required field if you don't specify language_code if you use this field, you don't need to specify language_code you can receive the list of available languages of the search engine with their language_name by making a separate request to the https://api.dataforseo.com/v3/serp/google/languages example: English",
        -    "type": "string"
        -  },
        -  "location_code": {
        -    "description": "search engine location code required field if you don't specify location_name or location_coordinate if you use this field, you don't need to specify location_name or location_coordinate you can receive the list of available locations of the search engines with their location_code by making a separate request to the https://api.dataforseo.com/v3/serp/google/locations example: 2840",
        -    "type": "integer"
        -  },
        -  "location_coordinate": {
        -    "description": "GPS coordinates of a location required field if you don't specify location_name or location_code if you use this field, you don't need to specify location_name or location_code location_coordinate parameter should be specified in the \"latitude,longitude,zoom\" format if \"zoom\" is not specified, 17z will be applied as a default value the maximum number of decimal digits for \"latitude\" and \"longitude\": 7 the minimum value for \"zoom\": 3z the maximum value for \"zoom\": 21z example: 52.6178549,-155.352142,20z",
        -    "type": "string"
        -  },
        -  "location_name": {
        -    "description": "full name of search engine location required field if you don't specify location_code or location_coordinate if you use this field, you don't need to specify location_code or location_coordinate you can receive the list of available locations of the search engine with their location_name by making a separate request to the https://api.dataforseo.com/v3/serp/google/locations example: London,England,United Kingdom",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "keyword"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_serp_google_news_live7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "keyword": "android",
        +    "language_code": "en",
        +    "location_code": 2840
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "keyword": "android",
        +        "language_code": "en",
        +        "location_code": 2840
        +      }
        +    ],
        +    "properties": {
        +      "browser_screen_height": {
        +        "description": "<p><em>browser screen height</em><p>optional field<p>you can set a custom browser screen height to calculate pixel rankings for a particular device;<p>by default, the parameter is set to <code>1080</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "browser_screen_resolution_ratio": {
        +        "description": "<p><em>browser screen resolution ratio</em><p>optional field<p>you can set a custom browser screen resolution ratio to calculate pixel rankings for a particular device;<p>by default, the parameter is set to <code>1</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "browser_screen_width": {
        +        "description": "<p><em>browser screen width</em><p>optional field<p>you can set a custom browser screen width to calculate pixel rankings for a particular device;<p>by default, the parameter is set to <code>1920</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
        +        "format": "int64",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "calculate_rectangles": {
        +        "description": "<p><em>calculate pixel rankings for SERP elements in advanced results</em><p>optional field<p>pixel ranking refers to the distance between the result snippet and top left corner of the screen;<p><a href=\"https://dataforseo.com/help-center/pixel-ranking-in-serp-api\">Visit Help Center to learn more&gt;&gt;</a><p>by default, the parameter is set to <code>false</code><p><strong>Note:</strong> if set to <code>true</code>, the charge per task will be multiplied by 2</p>",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "depth": {
        +        "description": "<p><em>parsing depth</em><p>optional field<p>number of results in SERP<p>default value: <code>10</code><p>max value: <code>200</code></p><br><strong>Your account will be billed per each SERP containing up to 10 results;</strong><p>Setting depth above 10 may result in additional charges if the search engine returns more than 10 results;<p>If the specified depth is higher than the number of results in the response, the difference will be refunded to your account balance automatically<p>The cost can be calculated on the <a title=\"Pricing\" href=\"https://dataforseo.com/pricing/serp/google-news-serp-api\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page.",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "keyword": {
        +        "description": "<p><em>keyword</em><p><strong>required field</strong><p>you can specify <strong>up to 700 characters</strong> in the <code>keyword</code> field<p>all %## will be decoded (plus character '+' will be decoded to a space character)<p>if you need to use the \"%\" character for your <code>keyword</code>, please specify it as \"%25\";<p>if you need to use the “+” character for your <code>keyword</code>, please specify it as “%2B”;<p>if this field contains such parameters as <em>'allinanchor:', 'allintext:', 'allintitle:', 'allinurl:', 'define:', 'filetype:', 'id:', 'inanchor:', 'info:', 'intext:', 'intitle:', 'inurl:', 'link:', 'related:', 'site:'</em>, <strong>the charge per task will be multiplied by 5</strong><p><strong>Note:</strong> queries containing the ‘cache:’ parameter are not supported and will return a validation error</p><br><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" rel=\"noopener noreferrer\" target=\"_blank\">Help Center article</a></p>",
        +        "type": "string"
        +      },
        +      "language_code": {
        +        "description": "<p><em>search engine language code</em><p><strong>required field if you don't specify</strong> <code>language_name</code><p><strong>if you use this field, you don't need to specify <code>language_name</code></strong><p>you can receive the list of available languages of the search engine with their <code>language_code</code>&nbsp;by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages</code><em><p></em>example:<em><p></em><code class=\"long-string\">en</code></p>",
        +        "type": "string"
        +      },
        +      "language_name": {
        +        "description": "<p><em>full name of search engine language</em><p><strong>required field if you don't specify</strong> <code>language_code</code><p><strong>if you use this field, you don't need to specify <code>language_code</code></strong><p>you can receive the list of available languages of the search engine with their <code>language_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages</code><p>example:<p><code class=\"long-string\">English</code></p>",
        +        "type": "string"
        +      },
        +      "location_code": {
        +        "description": "<p><em>search engine location code</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations</code><p>example:<p><code class=\"long-string\">2840</code></p>",
        +        "type": "integer"
        +      },
        +      "location_coordinate": {
        +        "description": "<p><em>GPS coordinates of a location</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_code</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_code</code></strong><p><code>location_coordinate</code> parameter should be specified in the <em>\"latitude,longitude,radius\"</em> format<p>the maximum number of decimal digits for <em>\"latitude\"</em> and <em>\"longitude\"</em>: 7<p>the minimum value for <em>\"radius\"</em>: 199.9 (mm)<p>the maximum value for <em>\"radius\"</em>: 199999 (mm)<p>example:<p><code class=\"long-string\">53.476225,-2.243572,200</code></p>",
        +        "type": "string"
        +      },
        +      "location_name": {
        +        "description": "<p><em>full name of search engine location</em><p><strong>required field if you don't specify</strong> <code>location_code</code> or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_code</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations</code><p>example:<p><code class=\"long-string\">London,England,United Kingdom</code></p>",
        +        "type": "string"
        +      },
        +      "max_crawl_pages": {
        +        "description": "<p><em>page crawl limit</em><p>optional field<p>number of search results pages to crawl<p>max value: <code>100</code><p><strong>Note:</strong> the <code>max_crawl_pages</code> and <code>depth</code> parameters complement each other;<p>learn more at <a href=\"https://dataforseo.com/help-center/what-is-max-crawl-pages-and-how-does-it-work\" rel=\"noopener noreferrer\" target=\"_blank\">our help center</a></p>",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "os": {
        +        "description": "<p><em>device operating system</em><p>optional field<p><strong>note that this API provides results for desktop only</strong><p>choose from the following values: <code>windows</code>, <code>macos</code><p>default value: <code>windows</code></p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "se_domain": {
        +        "description": "<p><em>search engine domain</em><p>optional field<p>we choose the relevant search engine domain automatically according to the location and language you specify<p>however, you can set a custom search engine domain in this field<p>example:<p><code><em>google.co.uk</em></code>, <code><em>google.com.au</em></code>, <code><em>google.de</em></code>, etc.</p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "search_param": {
        +        "description": "<p><em>additional parameters of the search query</em><p>optional field<p><a href=\"https://dataforseo.com/help-center/google-search-engine-parameters-and-how-to-use-them\">Get the list of available parameters and additional details here.</a></p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "url": {
        +        "description": "<p><em>direct URL of the search query</em><p>optional field<p>you can specify a direct URL and we will sort it out to the necessary fields. Note that this method is the most difficult for our API to process and also requires you to specify the exact language and location in the URL. In most cases, we wouldn’t recommend using this method.<p>example:<p><code class=\"long-string\">https://www.google.co.uk/search?q=%20rank%20tracker%20api&amp;hl=en&amp;gl=GB&amp;uule=w+CAIQIFISCXXeIa8LoNhHEZkq1d1aOpZS</code></p>",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "depth": {
        -    "description": "parsing depth optional field number of results in SERP default value: 10 max value: 200 Your account will be billed per each SERP containing up to 10 results; Setting depth above 10 may result in additional charges if the search engine returns more than 10 results; If the specified depth is higher than the number of results in the response, the difference will be refunded to your account balance automatically.",
        -    "type": "integer"
        -  },
        -  "keyword": {
        -    "description": "keyword required field you can specify up to 700 characters in the keyword field all %## will be decoded (plus character '+' will be decoded to a space character) if you need to use the \"%\" character for your keyword, please specify it as \"%25\"; if you need to use the “+” character for your keyword, please specify it as “%2B”; if this field contains such parameters as 'allinanchor:', 'allintext:', 'allintitle:', 'allinurl:', 'define:', 'filetype:', 'id:', 'inanchor:', 'info:', 'intext:', 'intitle:', 'inurl:', 'link:', 'related:', 'site:', the charge per task will be multiplied by 5 Note: queries containing the ‘cache:’ parameter are not supported and will return a validation error learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        -    "type": "string"
        -  },
        -  "language_code": {
        -    "description": "search engine language code required field if you don't specify language_name if you use this field, you don't need to specify language_name you can receive the list of available languages of the search engine with their language_code by making a separate request to the https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages example: en",
        -    "type": "string"
        -  },
        -  "language_name": {
        -    "description": "full name of search engine language required field if you don't specify language_code if you use this field, you don't need to specify language_code you can receive the list of available languages of the search engine with their language_name by making a separate request to the https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages example: English",
        -    "type": "string"
        -  },
        -  "location_code": {
        -    "description": "search engine location code required field if you don't specify location_name or location_coordinate if you use this field, you don't need to specify location_name or location_coordinate you can receive the list of available locations of the search engines with their location_code by making a separate request to the https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations example: 2840",
        -    "type": "integer"
        -  },
        -  "location_coordinate": {
        -    "description": "GPS coordinates of a location required field if you don't specify location_name or location_code if you use this field, you don't need to specify location_name or location_code location_coordinate parameter should be specified in the \"latitude,longitude,radius\" format the maximum number of decimal digits for \"latitude\" and \"longitude\": 7 the minimum value for \"radius\": 199.9 (mm) the maximum value for \"radius\": 199999 (mm) example: 53.476225,-2.243572,200",
        -    "type": "string"
        -  },
        -  "location_name": {
        -    "description": "full name of search engine location required field if you don't specify location_code or location_coordinate if you use this field, you don't need to specify location_code or location_coordinate you can receive the list of available locations of the search engine with their location_name by making a separate request to the https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations example: London,England,United Kingdom",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "keyword"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_serp_google_organic_live7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "calculate_rectangles": true,
        +    "keyword": "albert einstein",
        +    "language_code": "en",
        +    "location_code": 2840
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "calculate_rectangles": true,
        +        "keyword": "albert einstein",
        +        "language_code": "en",
        +        "location_code": 2840
        +      }
        +    ],
        +    "properties": {
        +      "browser_screen_height": {
        +        "description": "browser screen heightoptional fieldyou can set a custom browser screen height to calculate pixel rankings for a particular device;can be specified within the following range: 240-9999;by default, the parameter is set to:1080 for desktop;640 for mobile on android;812 for mobile on iOS;Note: to use this parameter, set calculate_rectangles to true",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "browser_screen_resolution_ratio": {
        +        "description": "browser screen resolution ratiooptional fieldyou can set a custom browser screen resolution ratio to calculate pixel rankings for a particular device;can be specified within the following range: 0.5-3;by default, the parameter is set to:1 for desktop;3 for mobile on android;3 for mobile on iOS;Note: to use this parameter, set calculate_rectangles to true",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "browser_screen_width": {
        +        "description": "browser screen widthoptional fieldyou can set a custom browser screen width to calculate pixel rankings for a particular device;can be specified within the following range: 240-9999;by default, the parameter is set to:1920 for desktop;360 for mobile on android;375 for mobile on iOS;Note: to use this parameter, set calculate_rectangles to true",
        +        "format": "int64",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "calculate_rectangles": {
        +        "description": "calcualte pixel rankings for SERP elements in advanced resultsoptional fieldpixel ranking refers to the distance between the result snippet and top left corner of the screen;Visit Help Center to learn more>>by default, the parameter is set to false;Note: you will be charged extra $0.002 for using this parameter",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "depth": {
        +        "description": "parsing depthoptional fieldnumber of results in SERPdefault value: 10max value: 200Your account will be billed per each SERP containing up to 10 results;Setting depth above 10 may result in additional charges if the search engine returns more than 10 results;The cost can be calculated on the Pricing page.",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "device": {
        +        "description": "device typeoptional fieldreturn results for a specific device typecan take the values:desktop, mobiledefault value: desktop",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "find_targets_in": {
        +        "description": "SERP element types to check for targetsoptional fieldto enable this parameter, stop_crawl_on_match must also be enabledspecifies which SERP element types should be checked for target matchesif not specified, all first-level elements with url and domain fields are checked for targetspossible values: organic, paid, local_pack, featured_snippet, events, google_flights, images, jobs, knowledge_graph, local_service, map, scholarly_articles, third_party_reviews, twitterNote: cannot contain the same element types as ignore_targets_inexample:\"find_targets_in\": [\"organic\", \"featured_snippet\"]learn more about this parameter on our Help Center",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "group_organic_results": {
        +        "description": "display related resultsoptional fieldif set to true, the related_result element in the response will be provided as a snippet of its parent organic result;if set to false, the related_result element will be provided as a separate organic result;default value: true",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "ignore_targets_in": {
        +        "description": "SERP element types to exclude from target searchoptional fieldto enable this parameter, stop_crawl_on_match must also be enabledspecifies which SERP element types should be excluded when searching for target matchespossible values: organic, paid, local_pack, featured_snippet, events, google_flights, images, jobs, knowledge_graph, local_service, map, scholarly_articles, third_party_reviews, twitterNote: cannot contain the same element types as find_targets_inexample:\"ignore_targets_in\": [\"paid\", \"images\"]learn more about this parameter on our Help Center",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "keyword": {
        +        "description": "keywordrequired fieldyou can specify up to 700 characters in the keyword fieldall %## will be decoded (plus character ‘+’ will be decoded to a space character)if you need to use the “%” character for your keyword, please specify it as “%25”;if you need to use the “+” character for your keyword, please specify it as “%2B”;if this field contains such parameters as ‘allinanchor:’, ‘allintext:’, ‘allintitle:’, ‘allinurl:’, ‘cache:’, ‘define:’, ‘definition:’, ‘filetype:’, ‘id:’, ‘inanchor:’, ‘info:’, ‘intext:’, ‘intitle:’, ‘inurl:’, ‘link:’, ‘site:’, the charge per task will be multiplied by 5learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        +        "type": "string"
        +      },
        +      "language_code": {
        +        "description": "search engine language codeoptional field if you specify language_nameif you use this field, you don't need to specify language_nameyou can receive the list of available languages of the search engine with their language_code by making a separate request to the https://api.dataforseo.com/v3/serp/google/languagesexample:en",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "full name of search engine languageoptional field if you specify language_codeif you use this field, you don't need to specify language_codeyou can receive the list of available languages of the search engine with their language_name by making a separate request to the https://api.dataforseo.com/v3/serp/google/languagesexample:English",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "load_async_ai_overview": {
        +        "description": "load asynchronous ai overviewoptional fieldset to true to obtain ai_overview items is SERPs even if they are loaded asynchronously;if set to false, you will only obtain ai_overview items from cache;default value: falseNote: you will be charged extra $0.002 for using this parameter;if the element is absent or contains \"asynchronous_ai_overview\": false, all extra charges will be returned to your account balance",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "location_code": {
        +        "description": "search engine location coderequired field if you don't specify location_name or location_coordinateif you use this field, you don't need to specify location_name or location_coordinateyou can receive the list of available locations of the search engines with their location_code by making a separate request to the https://api.dataforseo.com/v3/serp/google/locationsexample:2840",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_coordinate": {
        +        "description": "GPS coordinates of a locationoptional field if you specify location_name or location_codeif you use this field, you don't need to specify location_name or location_codelocation_coordinate parameter should be specified in the \"latitude,longitude,radius\" formatthe maximum number of decimal digits for \"latitude\" and \"longitude\": 7the minimum value for \"radius\": 199 (mm)the maximum value for \"radius\": 199999 (mm)example:53.476225,-2.243572,200",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "location_name": {
        +        "description": "full name of search engine locationrequired field if you don't specify location_code or location_coordinateif you use this field, you don't need to specify location_code or location_coordinateyou can receive the list of available locations of the search engine with their location_name by making a separate request to the https://api.dataforseo.com/v3/serp/google/locationsexample:London,England,United Kingdom",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "match_type": {
        +        "description": "target match typerequired field if stop_crawl_on_match is specifiedtype of match for the match_valuepossible values:domain – specific domain or subdomainwith_subdomains – main domain and subdomainswildcard –  wildcard pattern",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "match_value": {
        +        "description": "target domain, subdomain, or wildcard valuerequired field if stop_crawl_on_match is specifiedspecify a target domain, subdomain, or wildcard value;Note: domain or subdomain must be specified without a request protocol;example: \"match_value\": \"dataforseo.com\",\"match_value\": \"/blog/post-*\"",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "max_crawl_pages": {
        +        "description": "page crawl limitoptional fieldnumber of search results pages to crawlmax value: 100Note: you will be charged for each page crawled (10 organic results per page);learn more about pricing on our Pricing page;Note#2: the max_crawl_pages and depth parameters complement each other;learn more at our help center",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "os": {
        +        "description": "device operating systemoptional fieldif you specify desktop in the device field, choose from the following values: windows, macosdefault value: windowsif you specify mobile in the device field, choose from the following values: android, iosdefault value: android",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "people_also_ask_click_depth": {
        +        "description": "clicks on the corresponding elementoptional fieldspecify the click depth on the people_also_ask element to get additional people_also_ask_element items;Note your account will be billed $0.00015 extra for each click;if the element is absent or we perform fewer clicks than you specified, all extra charges will be returned to your account balancepossible values: from 1 to 4",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "remove_from_url": {
        +        "description": "remove specific parameters from URLsoptional fieldusing this field, you can specify up to 10 parameters to remove from URLs in the resultexample:\"remove_from_url\": [\"srsltid\"]Note: if the target field is specified, the specified URL parameters will be removed before the search",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "se_domain": {
        +        "description": "search engine domainoptional fieldwe choose the relevant search engine domain automatically according to the location and language you specifyhowever, you can set a custom search engine domain in this fieldexample:google.co.uk, google.com.au, google.de, etc.",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "search_param": {
        +        "description": "additional parameters of the search queryoptional fieldget the list of available parameters and additional details hereNote: the following search engine parameters are not supported and will be automatically unset if specified: lr, cr, as_qdr, as_sitesearch, as_occt, as_filetype.",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "stop_crawl_on_match": {
        +        "description": "array of targets to stop crawling\noptional field\nif specified, the response will contain SERP results up to and including the specified match_value;\nyou can specify up to 10 target values in this array\nexample:\n\"stop_crawl_on_match\":[{\"match_value\":\"dataforseo.com\",\"match_type\":\"with_subdomains\"}]\nlearn more about this parameter on our Help Center - https://dataforseo.com/help-center/using-the-stop_crawl_on_match-parameter-in-serp-api\nYour account will be billed per each SERP crawled through the specified targets",
        +        "items": {
        +          "anyOf": [
        +            {
        +              "properties": {
        +                "match_type": {
        +                  "description": "target match type\nrequired field if stop_crawl_on_match is specified;\ntype of match for the match_value\npossible values: domain, with_subdomains, wildcard",
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                },
        +                "match_value": {
        +                  "description": "arget domain or wildcard value\nrequired field if stop_crawl_on_match is specified;\nspecify a target domain or wildcard value;\nNote: domain name must be specified without a request protocol;\nexample: dataforseo.com",
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                }
        +              },
        +              "type": "object"
        +            }
        +          ],
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "user-defined task identifieroptional fieldthe character limit is 255you can use this parameter to identify the task and match it with the resultyou will find the specified tag value in the data object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "target": {
        +        "description": "target domain, subdomain, or webpage to get results foroptional fielda domain or a subdomain should be specified without https:// and www.note that the results of target-specific tasks will only include SERP elements that contain a url string;you can also use a wildcard (‘*’) character to specify the search pattern in SERP and narrow down the results;examples:example.com - returns results for the website's home page with URLs, such as https://example.com, or https://www.example.com/, or https://example.com/;example.com* - returns results for the domain, including all its pages;*example.com* - returns results for the entire domain, including all its pages and subdomains;*example.com - returns results for the home page regardless of the subdomain, such as https://en.example.com;example.com/example-page - returns results for the exact URL;example.com/example-page* - returns results for all domain's URLs that start with the specified string",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "target_search_mode": {
        +        "description": "target matching modeoptional fieldto enable this parameter, stop_crawl_on_match must also be enableddefines how the crawl should stop when multiple targets are specified in stop_crawl_on_matchpossible values: all, anyall – the crawl stops only when all specified targets are foundany – the crawl stops when any single target is founddefault value: anylearn more about this parameter on our Help Center",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "url": {
        +        "description": "direct URL of the search queryoptional fieldyou can specify a direct URL and we will sort it out to the necessary fields. Note that this method is the most difficult for our API to process and also requires you to specify the exact language and location in the URL. In most cases, we wouldn’t recommend using this method.example:https://www.google.co.uk/search?q=%20rank%20tracker%20api&hl=en&gl=GB&uule=w+CAIQIFISCXXeIa8LoNhHEZkq1d1aOpZSNote: the following search engine parameters are not supported and will be automatically unset if specified in the URL: lr, cr, as_qdr, as_sitesearch, as_occt, as_filetype.",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "calculate_rectangles": {
        -    "description": "calcualte pixel rankings for SERP elements in advanced results optional field pixel ranking refers to the distance between the result snippet and top left corner of the screen; Visit Help Center to learn more>> by default, the parameter is set to false; Note: you will be charged extra for using this parameter",
        -    "type": "boolean"
        -  },
        -  "depth": {
        -    "description": "parsing depth optional field number of results in SERP default value: 10 max value: 200 Your account will be billed per each SERP containing up to 10 results; Setting depth above 10 may result in additional charges if the search engine returns more than 10 results.",
        -    "type": "integer"
        -  },
        -  "device": {
        -    "description": "device type optional field return results for a specific device type can take the values:desktop, mobile default value: desktop",
        -    "type": "string"
        -  },
        -  "keyword": {
        -    "description": "keyword required field you can specify up to 700 characters in the keyword field all %## will be decoded (plus character ‘+’ will be decoded to a space character) if you need to use the “%” character for your keyword, please specify it as “%25”; if you need to use the “+” character for your keyword, please specify it as “%2B”; if this field contains such parameters as ‘allinanchor:’, ‘allintext:’, ‘allintitle:’, ‘allinurl:’, ‘cache:’, ‘define:’, ‘definition:’, ‘filetype:’, ‘id:’, ‘inanchor:’, ‘info:’, ‘intext:’, ‘intitle:’, ‘inurl:’, ‘link:’, ‘site:’, the charge per task will be multiplied by 5 learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        -    "type": "string"
        -  },
        -  "language_code": {
        -    "description": "search engine language code optional field if you specify language_name if you use this field, you don't need to specify language_name you can receive the list of available languages of the search engine with their language_code by making a separate request to the https://api.dataforseo.com/v3/serp/google/languages example: en",
        -    "type": "string"
        -  },
        -  "language_name": {
        -    "description": "full name of search engine language optional field if you specify language_code if you use this field, you don't need to specify language_code you can receive the list of available languages of the search engine with their language_name by making a separate request to the https://api.dataforseo.com/v3/serp/google/languages example: English",
        -    "type": "string"
        -  },
        -  "location_code": {
        -    "description": "search engine location code required field if you don't specify location_name or location_coordinate if you use this field, you don't need to specify location_name or location_coordinate you can receive the list of available locations of the search engines with their location_code by making a separate request to the https://api.dataforseo.com/v3/serp/google/locations example: 2840",
        -    "type": "integer"
        -  },
        -  "location_coordinate": {
        -    "description": "GPS coordinates of a location optional field if you specify location_name or location_code if you use this field, you don't need to specify location_name or location_code location_coordinate parameter should be specified in the \"latitude,longitude,radius\" format the maximum number of decimal digits for \"latitude\" and \"longitude\": 7 the minimum value for \"radius\": 199 (mm) the maximum value for \"radius\": 199999 (mm) example: 53.476225,-2.243572,200",
        -    "type": "string"
        -  },
        -  "location_name": {
        -    "description": "full name of search engine location required field if you don't specify location_code or location_coordinate if you use this field, you don't need to specify location_code or location_coordinate you can receive the list of available locations of the search engine with their location_name by making a separate request to the https://api.dataforseo.com/v3/serp/google/locations example: London,England,United Kingdom",
        -    "type": "string"
        -  },
        -  "max_crawl_pages": {
        -    "description": "page crawl limit optional field number of search results pages to crawl max value: 100 Note: you will be charged for each page crawled (10 organic results per page); Note#2: the max_crawl_pages and depth parameters complement each other; learn more at our help center",
        -    "type": "integer"
        -  },
        -  "os": {
        -    "description": "device operating system optional field if you specify desktop in the device field, choose from the following values: windows, macos default value: windows if you specify mobile in the device field, choose from the following values: android, ios default value: android",
        -    "type": "string"
        -  },
        -  "tag": {
        -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "keyword"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedpost_dataforseo_serp_youtube_organic_live7 fields changed
      • addedInput schema / properties / body / example
        Added value: +[
        +  {
        +    "keyword": "audi",
        +    "language_code": "en",
        +    "location_code": 2840
        +  }
        +]
      • addedInput schema / properties / body / items / anyOf
        Added value: +[
        +  {
        +    "example": [
        +      {
        +        "keyword": "audi",
        +        "language_code": "en",
        +        "location_code": 2840
        +      }
        +    ],
        +    "properties": {
        +      "block_depth": {
        +        "description": "parsing depth\noptional field\nnumber of blocks of results in SERP\ndefault value: 20\nmax value: 200\nNote: your account will be billed per each SERP containing up to 20 results;\nthus, setting a block depth above 20 may result in additional charges if the search engine returns more than 20 results;\nif the specified block depth is higher than the number of results in the response, the difference will be refunded automatically to your account balance",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "device": {
        +        "description": "device type\noptional field\nreturn results for a specific device type\navailable values: desktop, mobile",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "keyword": {
        +        "description": "keyword\nrequired field\nyou can specify up to 700 characters in the keyword field\nall %## will be decoded (plus character ‘+’ will be decoded to a space character)\nif you need to use the “%” character for your keyword, please specify it as “%25”;\nif you need to use the “+” character for your keyword, please specify it as “%2B”;\nlearn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
        +        "type": "string"
        +      },
        +      "language_code": {
        +        "description": "search engine language code\nrequired field if you don't specify language_name\nif you use this field, you don't need to specify language_name\nyou can receive the list of available languages of the search engine with their language_code by making a separate request to the https://api.dataforseo.com/v3/serp/youtube/languages\nexample:\nen",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "language_name": {
        +        "description": "full name of search engine language\nrequired field if you don't specify language_code\nif you use this field, you don't need to specify language_code\nyou can receive the list of available languages of the search engine with their language_name by making a separate request to the https://api.dataforseo.com/v3/serp/youtube/languages\nexample:\nEnglish",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "location_code": {
        +        "description": "search engine location code\nrequired field if you don't specify location_name \nif you use this field, you don't need to specify location_name\nyou can receive the list of available locations of the search engines with their location_code by making a separate request to the https://api.dataforseo.com/v3/serp/youtube/locations\nexample:\n2840",
        +        "type": [
        +          "integer",
        +          "null"
        +        ]
        +      },
        +      "location_name": {
        +        "description": "full name of search engine location\nrequired field if you don't specify location_code\nif you use this field, you don't need to specify location_code\nyou can receive the list of available locations of the search engine with their location_name by making a separate request to the https://api.dataforseo.com/v3/serp/youtube/locations\nexample:\nUnited States",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "os": {
        +        "description": "device operating system\noptional field\nif you specify desktop in the device field, choose from the following values: windows, macos\ndefault value: windows\nif you specify mobile in the device field, choose from the following values: android, ios\ndefault value: android",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "search_param": {
        +        "description": "additional parameters of the search query\noptional field\nexample:\nsp=EgIQAg%253D%253D",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "tag": {
        +        "description": "user-defined task identifier\noptional field\nthe character limit is 255\nyou can use this parameter to identify the task and match it with the result\nyou will find the specified tag value in the data object of the response",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / body / items / properties
        Removed value: -{
        -  "keyword": {
        -    "description": "Keyword to search for",
        -    "type": "string"
        -  },
        -  "language_code": {
        -    "description": "Search engine language code",
        -    "type": "string"
        -  },
        -  "language_name": {
        -    "description": "Full name of search engine language",
        -    "type": "string"
        -  },
        -  "location_code": {
        -    "description": "Search engine location code",
        -    "type": "integer"
        -  },
        -  "location_name": {
        -    "description": "Full name of search engine location",
        -    "type": "string"
        -  }
        -}
      • removedInput schema / properties / body / items / required
        Removed value: -[
        -  "keyword"
        -]
      • changedInput schema / properties / body / items / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "body"
        -]New value: +[]
      • addedOutput schema / x-fastmcp-wrap-result
        Added value: +true
    • Changedsearch17 fields changed
      • addedInput schema / $schema
        Added value: +"https://json-schema.org/draft/2020-12/schema"
      • removedInput schema / properties / category / anyOf
        Removed value: -[
        -  {
        -    "enum": [
        -      "seo",
        -      "finance",
        -      "social",
        -      "search",
        -      "sales",
        -      "mail"
        -    ],
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / category / default
        Removed value: -null
      • changedInput schema / properties / category / description
        Previous value: -"Restrict to one category (seo, finance, social, search, sales, mail). Omit to search everything."New value: +"Restrict retrieval to one category. Omit to search everything. (AIsa-only: tool-router has no equivalent.)"
      • addedInput schema / properties / category / enum
        Added value: +[
        +  "seo",
        +  "finance",
        +  "social",
        +  "search",
        +  "sales",
        +  "mail"
        +]
      • addedInput schema / properties / category / type
        Added value: +"string"
      • addedInput schema / properties / known_fields
        Added value: +{
        +  "additionalProperties": true,
        +  "default": {},
        +  "description": "Known values such as ticker, URL, provider, or identifier that improve retrieval.",
        +  "type": "object"
        +}
      • changedInput schema / properties / limit / description
        Previous value: -"Maximum candidates, 1-10"New value: +"Maximum number of additional direct tool candidates."
      • addedInput schema / properties / limit / maximum
        Added value: +20
      • addedInput schema / properties / limit / minimum
        Added value: +1
      • addedInput schema / properties / provider_filters
        Added value: +{
        +  "default": [],
        +  "description": "Optional exact catalog provider keys used to narrow retrieval (for example similarweb). Do not use display brands. Omit this field if the exact key is unknown.",
        +  "items": {
        +    "type": "string"
        +  },
        +  "maxItems": 50,
        +  "type": "array",
        +  "uniqueItems": true
        +}
      • changedInput schema / properties / query / description
        Previous value: -"What you need, in plain language, e.g. 'backlinks of a domain', 'recent tweets by a user', 'insider trades for AAPL'. English works best."New value: +"Natural-language capability or task to discover."
      • addedInput schema / properties / query / maxLength
        Added value: +2000
      • addedInput schema / properties / query / minLength
        Added value: +1
      • addedInput schema / properties / session_id
        Added value: +{
        +  "description": "Reuse the session_id returned by Search in all subsequent tool calls for this task. If omitted, a new session is created.",
        +  "maxLength": 128,
        +  "pattern": "^[A-Za-z0-9_-]*$",
        +  "type": "string"
        +}
      • addedOutput schema / properties
        Added value: +{
        +  "next_steps_guidance": {
        +    "anyOf": [
        +      {
        +        "type": "null"
        +      },
        +      {
        +        "type": "array"
        +      }
        +    ],
        +    "items": {
        +      "type": "string"
        +    }
        +  },
        +  "plan": {
        +    "additionalProperties": false,
        +    "anyOf": [
        +      {
        +        "type": "null"
        +      },
        +      {
        +        "type": "object"
        +      }
        +    ],
        +    "properties": {
        +      "canonical_use_case": {
        +        "type": "string"
        +      },
        +      "description": {
        +        "type": "string"
        +      },
        +      "known_pitfalls": {
        +        "anyOf": [
        +          {
        +            "type": "null"
        +          },
        +          {
        +            "type": "array"
        +          }
        +        ],
        +        "items": {
        +          "type": "string"
        +        }
        +      },
        +      "plan_ref": {
        +        "type": "string"
        +      },
        +      "primary_tools": {
        +        "anyOf": [
        +          {
        +            "type": "null"
        +          },
        +          {
        +            "type": "array"
        +          }
        +        ],
        +        "items": {
        +          "type": "string"
        +        }
        +      },
        +      "recommended_steps": {
        +        "anyOf": [
        +          {
        +            "type": "null"
        +          },
        +          {
        +            "type": "array"
        +          }
        +        ],
        +        "items": {
        +          "type": "string"
        +        }
        +      },
        +      "related_tools": {
        +        "anyOf": [
        +          {
        +            "type": "null"
        +          },
        +          {
        +            "type": "array"
        +          }
        +        ],
        +        "items": {
        +          "type": "string"
        +        }
        +      }
        +    },
        +    "required": [
        +      "canonical_use_case",
        +      "description",
        +      "known_pitfalls",
        +      "plan_ref",
        +      "primary_tools",
        +      "recommended_steps",
        +      "related_tools"
        +    ]
        +  },
        +  "retrieval_mode": {
        +    "anyOf": [
        +      {
        +        "type": "null"
        +      },
        +      {
        +        "type": "string"
        +      }
        +    ]
        +  },
        +  "search_id": {
        +    "type": "string"
        +  },
        +  "session_id": {
        +    "description": "Reuse the session_id returned by Search in all subsequent tool calls for this task. If omitted, a new session is created.",
        +    "maxLength": 128,
        +    "minLength": 1,
        +    "pattern": "^[A-Za-z0-9_-]{1,128}$",
        +    "type": "string"
        +  },
        +  "tools": {
        +    "anyOf": [
        +      {
        +        "type": "null"
        +      },
        +      {
        +        "type": "array"
        +      }
        +    ],
        +    "items": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "arguments_schema": {
        +          "additionalProperties": true,
        +          "anyOf": [
        +            {
        +              "type": "null"
        +            },
        +            {
        +              "type": "object"
        +            }
        +          ]
        +        },
        +        "description": {
        +          "type": "string"
        +        },
        +        "execution_supported": {
        +          "description": "Whether this router can execute and quote the operation; false retains documentation and discovery only.",
        +          "type": "boolean"
        +        },
        +        "execution_unsupported_reason": {
        +          "description": "Why execution and quoting remain unavailable through this router.",
        +          "type": "string"
        +        },
        +        "has_full_schema": {
        +          "type": "boolean"
        +        },
        +        "match_reasons": {
        +          "anyOf": [
        +            {
        +              "type": "null"
        +            },
        +            {
        +              "type": "array"
        +            }
        +          ],
        +          "items": {
        +            "type": "string"
        +          }
        +        },
        +        "price": {
        +          "additionalProperties": true,
        +          "type": "object"
        +        },
        +        "retrieval_debug": {
        +          "additionalProperties": false,
        +          "anyOf": [
        +            {
        +              "type": "null"
        +            },
        +            {
        +              "type": "object"
        +            }
        +          ],
        +          "properties": {
        +            "fused_rank": {
        +              "type": "integer"
        +            },
        +            "fused_score": {
        +              "type": "number"
        +            },
        +            "lexical_rank": {
        +              "type": "integer"
        +            },
        +            "lexical_score": {
        +              "type": "number"
        +            },
        +            "rerank_admission_rank": {
        +              "type": "integer"
        +            },
        +            "rerank_rank": {
        +              "type": "integer"
        +            },
        +            "rerank_score": {
        +              "anyOf": [
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "type": "number"
        +                }
        +              ]
        +            },
        +            "runtime_availability": {
        +              "type": "string"
        +            },
        +            "vector_view_ranks": {
        +              "additionalProperties": {
        +                "type": "integer"
        +              },
        +              "type": "object"
        +            },
        +            "vector_view_scores": {
        +              "additionalProperties": {
        +                "type": "number"
        +              },
        +              "type": "object"
        +            }
        +          },
        +          "required": [
        +            "fused_rank",
        +            "fused_score",
        +            "lexical_rank",
        +            "lexical_score",
        +            "rerank_admission_rank",
        +            "rerank_rank",
        +            "runtime_availability",
        +            "vector_view_ranks",
        +            "vector_view_scores"
        +          ]
        +        },
        +        "summary": {
        +          "type": "string"
        +        },
        +        "tool": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "description",
        +        "has_full_schema",
        +        "price",
        +        "summary",
        +        "tool"
        +      ],
        +      "type": "object"
        +    }
        +  }
        +}
      • addedOutput schema / required
        Added value: +[
        +  "next_steps_guidance",
        +  "search_id",
        +  "session_id",
        +  "tools"
        +]
    • Changeduse1 field changed
      • changedInput schema / properties / max_price_usd / description
        Previous value: -"Refuse the call before any spend if it would cost more than this many USD"New value: +"Refuse the call before any spend if its quoted price is above this many USD"
  6. 1 tool update
    • Changedget_details1 field changed
      • addedInput schema / properties / include_documentation
        Added value: +{
        +  "default": false,
        +  "description": "Include the complete native public OpenAPI document, reference closure and scoped completeness. Existing execution schemas remain unchanged.",
        +  "type": "boolean"
        +}
  7. 7 tool updates
    • Changedpost_dataforseo_ai_claude_llm_responses_live1 field changed
      • changedInput schema / properties / body / items / properties / web_search / description
        Previous value: -"enable web search for current information optional field when enabled, the AI model can access and cite current web information; Note: refer to the Models endpoint for a list of models that support web_search; default value: false; The cost of the parameter can be calculated on the Pricing page"New value: +"enable web search for current information optional field when enabled, the AI model can access and cite current web information; Note: refer to the Models endpoint for a list of models that support web_search; default value: false"
    • Changedpost_dataforseo_ai_gemini_llm_responses_live1 field changed
      • changedInput schema / properties / body / items / properties / web_search / description
        Previous value: -"enable web search for current information optional field when enabled, the AI model can access and cite current web information; Note: refer to the Models endpoint for a list of models that support web_search; default value: false; The cost of the parameter can be calculated on the Pricing page"New value: +"enable web search for current information optional field when enabled, the AI model can access and cite current web information; Note: refer to the Models endpoint for a list of models that support web_search; default value: false"
    • Changedpost_dataforseo_on_page_submit3 fields changed
      • changedInput schema / properties / body / items / properties / enable_browser_rendering / description
        Previous value: -"emulate browser rendering to measure Core Web Vitals optional field by using this parameter you will be able to emulate a browser when loading a web page; enable_browser_rendering loads styles, images, fonts, animations, videos, and other resources on a page; default value: false set to true to obtain Core Web Vitals (FID, CLS, LCP) metrics in the response; if you use this field, enable_javascript, and load_resources parameters must be set to true Note: if you use this parameter, additional charges will apply; learn more about the cost of tasks with this parameter in our help article; the cost can be calculated on the Pricing Page"New value: +"emulate browser rendering to measure Core Web Vitals optional field by using this parameter you will be able to emulate a browser when loading a web page; enable_browser_rendering loads styles, images, fonts, animations, videos, and other resources on a page; default value: false set to true to obtain Core Web Vitals (FID, CLS, LCP) metrics in the response; if you use this field, enable_javascript, and load_resources parameters must be set to true Note: if you use this parameter, additional charges will apply; learn more about the cost of tasks with this parameter in our help article"
      • changedInput schema / properties / body / items / properties / enable_javascript / description
        Previous value: -"load javascript on a page optional field set to true if you want to load the scripts available on a page default value: false Note: if you use this parameter, additional charges will apply; learn more about the cost of tasks with this parameter in our help article; the cost can be calculated on the Pricing Page"New value: +"load javascript on a page optional field set to true if you want to load the scripts available on a page default value: false Note: if you use this parameter, additional charges will apply; learn more about the cost of tasks with this parameter in our help article"
      • changedInput schema / properties / body / items / properties / load_resources / description
        Previous value: -"load resources optional field set to true if you want to load image, stylesheets, scripts, and broken resources default value: false Note: if you use this parameter, additional charges will apply; learn more about the cost of tasks with this parameter in our help article; the cost can be calculated on the Pricing Page"New value: +"load resources optional field set to true if you want to load image, stylesheets, scripts, and broken resources default value: false Note: if you use this parameter, additional charges will apply; learn more about the cost of tasks with this parameter in our help article"
    • Changedpost_dataforseo_serp_bing_organic_live4 fields changed
      • changedInput schema / properties / body / items / properties / language_code / description
        Previous value: -"search engine language code required field if you don't specify language_name if you use this field, you don't need to specify language_name you can receive the list of available languages of the search engine with their language_code by making a separate request to the https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages example: en"New value: +"search engine language code required field if you don't specify language_name if you use this field, you don't need to specify language_name. Use the AIsa tool [get_dataforseo_serp_bing_languages](https://aisa.one/docs/api-reference/dataforseo/get_dataforseo-serp-bing-languages) to retrieve supported Bing languages. Select a language from the returned list and use its `language_code` value exactly. When using MCP, discover this tool through `search` and obtain its schema with `batch_get_schema` if needed. example: en"
      • changedInput schema / properties / body / items / properties / language_name / description
        Previous value: -"full name of search engine language required field if you don't specify language_code if you use this field, you don't need to specify language_code you can receive the list of available languages of the search engine with their language_name by making a separate request to the https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages example: English"New value: +"full name of search engine language required field if you don't specify language_code if you use this field, you don't need to specify language_code. Use the AIsa tool [get_dataforseo_serp_bing_languages](https://aisa.one/docs/api-reference/dataforseo/get_dataforseo-serp-bing-languages) to retrieve supported Bing languages. Select a language from the returned list and use its `language_name` value exactly. When using MCP, discover this tool through `search` and obtain its schema with `batch_get_schema` if needed. example: English"
      • changedInput schema / properties / body / items / properties / location_code / description
        Previous value: -"search engine location code required field if you don't specify location_name or location_coordinate if you use this field, you don't need to specify location_name or location_coordinate you can receive the list of available locations of the search engines with their location_code by making a separate request to the https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations example: 2840"New value: +"search engine location code required field if you don't specify location_name or location_coordinate if you use this field, you don't need to specify location_name or location_coordinate. Use the AIsa tool [get_dataforseo_serp_bing_locations](https://aisa.one/docs/api-reference/dataforseo/get_dataforseo-serp-bing-locations) to retrieve supported Bing locations. Select a location from the returned list and use its `location_code` value exactly. When using MCP, discover this tool through `search` and obtain its schema with `batch_get_schema` if needed. example: 2840"
      • changedInput schema / properties / body / items / properties / location_name / description
        Previous value: -"full name of search engine location required field if you don't specify location_code or location_coordinate if you use this field, you don't need to specify location_code or location_coordinate you can receive the list of available locations of the search engine with their location_name by making a separate request to the https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations example: London,England,United Kingdom"New value: +"full name of search engine location required field if you don't specify location_code or location_coordinate if you use this field, you don't need to specify location_code or location_coordinate. Use the AIsa tool [get_dataforseo_serp_bing_locations](https://aisa.one/docs/api-reference/dataforseo/get_dataforseo-serp-bing-locations) to retrieve supported Bing locations. Select a location from the returned list and use its `location_name` value exactly. When using MCP, discover this tool through `search` and obtain its schema with `batch_get_schema` if needed. example: London,England,United Kingdom"
    • Changedpost_dataforseo_serp_google_maps_live1 field changed
      • changedInput schema / properties / body / items / properties / depth / description
        Previous value: -"parsing depth optional field number of results in SERP default value: 100 max value: 700 Your account will be billed per each SERP containing up to 100 results; Setting depth above 100 may result in additional charges if the search engine returns more than 100 results; The cost can be calculated on the Pricing page."New value: +"parsing depth optional field number of results in SERP default value: 100 max value: 700 Your account will be billed per each SERP containing up to 100 results; Setting depth above 100 may result in additional charges if the search engine returns more than 100 results."
    • Changedpost_dataforseo_serp_google_news_live1 field changed
      • changedInput schema / properties / body / items / properties / depth / description
        Previous value: -"parsing depth optional field number of results in SERP default value: 10 max value: 200 Your account will be billed per each SERP containing up to 10 results; Setting depth above 10 may result in additional charges if the search engine returns more than 10 results; If the specified depth is higher than the number of results in the response, the difference will be refunded to your account balance automatically The cost can be calculated on the Pricing page."New value: +"parsing depth optional field number of results in SERP default value: 10 max value: 200 Your account will be billed per each SERP containing up to 10 results; Setting depth above 10 may result in additional charges if the search engine returns more than 10 results; If the specified depth is higher than the number of results in the response, the difference will be refunded to your account balance automatically."
    • Changedpost_dataforseo_serp_google_organic_live3 fields changed
      • changedInput schema / properties / body / items / properties / calculate_rectangles / description
        Previous value: -"calcualte pixel rankings for SERP elements in advanced results optional field pixel ranking refers to the distance between the result snippet and top left corner of the screen; Visit Help Center to learn more>> by default, the parameter is set to false; Note: you will be charged extra $0.002 for using this parameter"New value: +"calcualte pixel rankings for SERP elements in advanced results optional field pixel ranking refers to the distance between the result snippet and top left corner of the screen; Visit Help Center to learn more>> by default, the parameter is set to false; Note: you will be charged extra for using this parameter"
      • changedInput schema / properties / body / items / properties / depth / description
        Previous value: -"parsing depth optional field number of results in SERP default value: 10 max value: 200 Your account will be billed per each SERP containing up to 10 results; Setting depth above 10 may result in additional charges if the search engine returns more than 10 results; The cost can be calculated on the Pricing page."New value: +"parsing depth optional field number of results in SERP default value: 10 max value: 200 Your account will be billed per each SERP containing up to 10 results; Setting depth above 10 may result in additional charges if the search engine returns more than 10 results."
      • changedInput schema / properties / body / items / properties / max_crawl_pages / description
        Previous value: -"page crawl limit optional field number of search results pages to crawl max value: 100 Note: you will be charged for each page crawled (10 organic results per page); learn more about pricing on our Pricing page; Note#2: the max_crawl_pages and depth parameters complement each other; learn more at our help center"New value: +"page crawl limit optional field number of search results pages to crawl max value: 100 Note: you will be charged for each page crawled (10 organic results per page); Note#2: the max_crawl_pages and depth parameters complement each other; learn more at our help center"
  8. 24 tool updates
    • Changedget_dataforseo_on_page_summary1 field changed
      • changedInput schema / properties / id / description
        Previous value: -"DataForSEO task ID."New value: +"task identifier required field you can get this ID in the response of the Task POST endpoint example: “07131248-1535-0216-1000-17384017ad04”"
    • Changedpost_dataforseo_ai_chat_gpt_llm_responses_live6 fields changed
      • changedInput schema / properties / body / items / properties / message_chain / description
        Previous value: -"conversation history optional field array of message objects representing previous conversation turns; each object must contain role and message parameters: role string with either user or ai role; message string with message content (max 500 characters); you can specify the maximum of 10 message objects in the array; example: \"message_chain\": [{\"role\":\"user\",\"message\":\"Hello, what’s up?\"},{\"role\":\"ai\",\"message\":\"Hello! I’m doing well, thank you. How can I assist you today?\"}]"New value: +"conversation history optional field array of message objects representing previous conversation turns; each object must contain: role string with either user or ai role; message string with message content (max 500 characters); you can specify maximum of 10 message objects in the array; Note: for Perplexity models, messages must strictly alternate between user and AI roles (user → ai); example: \"message_chain\": [{\"role\":\"user\",\"message\":\"Hello, what’s up?\"},{\"role\":\"ai\",\"message\":\"Hello! I’m doing well, thank you. How can I assist you today?\"}]"
      • addedInput schema / properties / body / items / properties / message_chain / items / properties / message / description
        Added value: +"message text"
      • addedInput schema / properties / body / items / properties / message_chain / items / properties / role / description
        Added value: +"role of the user from whom the message originates"
      • changedInput schema / properties / body / items / properties / top_p / description
        Previous value: -""New value: +"diversity of the AI response optional field controls diversity of the response by limiting token selection; minimum value: 0 maximum value: 1 default value: 0.92 Note: top_p cannot be used together with temperature in the same request"
      • changedInput schema / properties / body / items / properties / web_search_city / description
        Previous value: -"city name of the location optional field Note: specify web_search_country_iso_code to use this parameter Note #2: not supported in o3-mini, o1-pro, o1 models"New value: +"city name of the location optional field Note: not supported in o3-mini, o1-pro, o1 models"
      • changedInput schema / properties / body / items / properties / web_search_country_iso_code / description
        Previous value: -"ISO country code of the location optional field required if web_search_city is specified; to enable this parameter, web_search must also be enabled; when enabled, the AI model will search the web from the country you specify; Note: not supported in o3-mini, o1-pro, o1 models"New value: +"ISO country code of the location optional field to enable this parameter, web_search must also be enabled; when enabled, the AI model will search the web from the country you specify; Note: not supported in o3-mini, o1-pro, o1 models"
    • Changedpost_dataforseo_ai_claude_llm_responses_live5 fields changed
      • changedInput schema / properties / body / items / properties / message_chain / description
        Previous value: -"conversation history optional field array of message objects representing previous conversation turns; each object must contain role and message parameters: role string with either user or ai role; message string with message content (max 500 characters); you can specify the maximum of 10 message objects in the array; example: \"message_chain\": [{\"role\":\"user\",\"message\":\"Hello, what’s up?\"},{\"role\":\"ai\",\"message\":\"Hello! I’m doing well, thank you. How can I assist you today?\"}]"New value: +"conversation history optional field array of message objects representing previous conversation turns; each object must contain: role string with either user or ai role; message string with message content (max 500 characters); you can specify maximum of 10 message objects in the array; Note: for Perplexity models, messages must strictly alternate between user and AI roles (user → ai); example: \"message_chain\": [{\"role\":\"user\",\"message\":\"Hello, what’s up?\"},{\"role\":\"ai\",\"message\":\"Hello! I’m doing well, thank you. How can I assist you today?\"}]"
      • addedInput schema / properties / body / items / properties / message_chain / items / properties / message / description
        Added value: +"message text"
      • addedInput schema / properties / body / items / properties / message_chain / items / properties / role / description
        Added value: +"role of the user from whom the message originates"
      • changedInput schema / properties / body / items / properties / web_search_city / description
        Previous value: -"city name of the location optional field Note: specify web_search_country_iso_code to use this parameter"New value: +"city name of the location used for searching the web optional field"
      • changedInput schema / properties / body / items / properties / web_search_country_iso_code / description
        Previous value: -"ISO country code of the location optional field possible values: 'AR','AT','AU','BE','BR','CA','CH','CL','CN','DE','DK','ES','FI','FR','GB','HK','ID','IN','IT','JP','KR','MX','MY','NL','NO','NZ','PH','PL','PT','RU','SA','SE','TR','TW','US','ZA'"New value: +"ISO country code of the location used for searching the web optional field possible values: 'AR','AT','AU','BE','BR','CA','CH','CL','CN','DE','DK','ES','FI','FR','GB','HK','ID','IN','IT','JP','KR','MX','MY','NL','NO','NZ','PH','PL','PT','RU','SA','SE','TR','TW','US','ZA'"
    • Changedpost_dataforseo_ai_gemini_llm_responses_live3 fields changed
      • changedInput schema / properties / body / items / properties / message_chain / description
        Previous value: -"conversation history optional field array of message objects representing previous conversation turns; each object must contain role and message parameters: role string with either user or ai role; message string with message content (max 500 characters); you can specify the maximum of 10 message objects in the array; example: \"message_chain\": [{\"role\":\"user\",\"message\":\"Hello, what’s up?\"},{\"role\":\"ai\",\"message\":\"Hello! I’m doing well, thank you. How can I assist you today?\"}]"New value: +"conversation history optional field array of message objects representing previous conversation turns; each object must contain: role string with either user or ai role; message string with message content (max 500 characters); you can specify maximum of 10 message objects in the array; Note: for Perplexity models, messages must strictly alternate between user and AI roles (user → ai); example: \"message_chain\": [{\"role\":\"user\",\"message\":\"Hello, what’s up?\"},{\"role\":\"ai\",\"message\":\"Hello! I’m doing well, thank you. How can I assist you today?\"}]"
      • addedInput schema / properties / body / items / properties / message_chain / items / properties / message / description
        Added value: +"message text"
      • addedInput schema / properties / body / items / properties / message_chain / items / properties / role / description
        Added value: +"role of the user from whom the message originates"
    • Changedpost_dataforseo_ai_perplexity_llm_responses_live2 fields changed
      • addedInput schema / properties / body / items / properties / message_chain / items / properties / message / description
        Added value: +"message text"
      • addedInput schema / properties / body / items / properties / message_chain / items / properties / role / description
        Added value: +"role of the user from whom the message originates"
    • Changedpost_dataforseo_keywords_gads_search_volume_live1 field changed
      • changedInput schema / properties / body / items / properties / include_adult_keywords / description
        Previous value: -"include keywords associated with adult content optional field if set to true, adult keywords will be included in the response default value: false note that the API may return no data for such keywords due to Google Ads restrictions"New value: +"include keywords associated with adult content optional field if set to_true, adult keywords will be included in the response default value:_false note_that the API may return no data for such keywords due to_Google Ads restrictions n"
    • Changedpost_dataforseo_keywords_trends_explore_live1 field changed
      • changedInput schema / properties / body / items / properties / type / description
        Previous value: -"dataforseo trends type optional field if you don’t specify this field, the web type will be used by default possible values: web, news, ecommerce"New value: +"type of element"
    • Changedpost_dataforseo_labs_google_bulk_traffic_estimation_live1 field changed
      • changedInput schema / properties / body / items / properties / ignore_synonyms / description
        Previous value: -"ignore highly similar keywords optional field if set to true, only core keywords will be returned, all highly similar keywords will be excluded; default value: false"New value: +"ignore highly similar keywords optional field if set to_true, only core keywords will be returned, all highly similar keywords will be excluded; default value: false"
    • Changedpost_dataforseo_labs_google_domain_rank_overview_live1 field changed
      • changedInput schema / properties / body / items / properties / ignore_synonyms / description
        Previous value: -"ignore highly similar keywords optional field if set to true, all highly similar keywords will be excluded from the ranking and traffic calculations, the results will be based on data for main keywords from groups of synonyms default value: false"New value: +"ignore highly similar keywords optional field if set to_true, all highly similar keywords will be excluded from the ranking and traffic calculations, the results will be based on data for main keywords from groups of synonyms default value: falsen"
    • Changedpost_dataforseo_labs_google_keyword_ideas_live3 fields changed
      • changedInput schema / properties / body / items / properties / closely_variants / description
        Previous value: -"search mode optional field if set to true the results will be based on the phrase-match search algorithm if set to false the results will be based on the broad-match search algorithm default value: false"New value: +"search mode optional field if set to_true the results will be based on the phrase-match search algorithm if set to false the results will be based on the broad-match search algorithm default value: falsen"
      • changedInput schema / properties / body / items / properties / filters / description
        Previous value: -"array of results filtering parameters optional field you can add several filters at once (8 filters maximum) you should set a logical operator and, or between the conditions the following operators are supported: regex, not_regex, , , >, >=, =, , in, not_in, match, not_match, ilike, not_ilike, like, not_like you can use the % operator with like and not_like,as well as ilike, not_ilike to match any string of zero or more characters note that you can not filter the results by relevance example: [\"keyword_info.search_volume\",\">\",0] [[\"keyword_info.search_volume\",\"in\",[0,1000]], \"and\", [\"keyword_info.competition_level\",\"=\",\"LOW\"]] [[\"keyword_info.search_volume\",\">\",100], \"and\", [[\"keyword_info.cpc\",\" for more information about filters, please refer to Dataforseo Labs – Filters or this help center guide"New value: +"array of results filtering parameters optional field you can add several filters at once (8 filters maximum) you should set a logical operator and, or between the conditions the following operators are supported: regex, not_regex, <, <=, >, >=, =, <>, in, not_in, match, not_match, ilike, not_ilike, like, not_like you can use the % operator with like and not_like,as well as ilike, not_ilike to match any string of zero or more characters note that you can not filter the results by relevance example: [\"keyword_info.search_volume\",\">\",0] [[\"keyword_info.search_volume\",\"in\",[0,1000]], \"and\", [\"keyword_info.competition_level\",\"=\",\"LOW\"]] [[\"keyword_info.search_volume\",\">\",100], \"and\", [[\"keyword_info.cpc\",\"<\",0.5], \"or\", [\"keyword_info.high_top_of_page_bid\",\"<=\",0.5]]] for more information about filters, please refer to Dataforseo Labs - Filters or this help center guide"
      • changedInput schema / properties / body / items / properties / ignore_synonyms / description
        Previous value: -"ignore highly similar keywords optional field if set to true only core keywords will be returned, all highly similar keywords will be excluded; default value: false"New value: +"ignore highly similar keywords optional field if set to_true only core keywords will be returned, all highly similar keywords will be excluded; default value: falsen"
    • Changedpost_dataforseo_labs_google_keyword_suggestions_live1 field changed
      • changedInput schema / properties / body / items / properties / filters / description
        Previous value: -"array of results filtering parameters optional field you can add several filters at once (8 filters maximum) you should set a logical operator and, or between the conditions the following operators are supported: regex, not_regex, , , >, >=, =, , in, not_in, match, not_match, ilike, not_ilike, like, not_like you can use the % operator with like and not_like, as well as ilike and not_ilike to match any string of zero or more characters example: [\"keyword_info.search_volume\",\">\",0] [[\"keyword_info.search_volume\",\"in\",[0,1000]], \"and\", [\"keyword_info.competition_level\",\"=\",\"LOW\"]][[\"keyword_info.search_volume\",\">\",100], \"and\", [[\"keyword_info.cpc\",\" for more information about filters, please refer to Dataforseo Labs – Filters or this help center guide"New value: +"array of results filtering parameters optional field you can add several filters at once (8 filters maximum) you should set a logical operator and, or between the conditions the following operators are supported: regex, not_regex, <, <=, >, >=, =, <>, in, not_in, match, not_match, ilike, not_ilike, like, not_like you can use the % operator with like and not_like, as well as ilike and not_ilike to match any string of zero or more characters example: [\"keyword_info.search_volume\",\">\",0] [[\"keyword_info.search_volume\",\"in\",[0,1000]], \"and\", [\"keyword_info.competition_level\",\"=\",\"LOW\"]][[\"keyword_info.search_volume\",\">\",100], \"and\", [[\"keyword_info.cpc\",\"<\",0.5], \"or\", [\"keyword_info.high_top_of_page_bid\",\"<=\",0.5]]] for more information about filters, please refer to Dataforseo Labs - Filters or this help center guide"
    • Changedpost_dataforseo_labs_google_related_keywords_live1 field changed
      • changedInput schema / properties / body / items / properties / filters / description
        Previous value: -"array of results filtering parameters optional field you can add several filters at once (8 filters maximum) you should set a logical operator and, or between the conditions the following operators are supported: regex, not_regex, , , >, >=, =, , in, not_in, match, not_match, ilike, not_ilike, like,not_like you can use the % operator with like and not_like, as well as ilike and not_ilike to match any string of zero or more characters example: [\"keyword_data.keyword_info.search_volume\",\">\",0] [[\"keyword_info.search_volume\",\"in\",[0,1000]], \"and\", [\"keyword_data.keyword_info.competition_level\",\"=\",\"LOW\"]] [[\"keyword_data.keyword_info.search_volume\",\">\",100], \"and\", [[\"keyword_data.keyword_info.cpc\",\" for more information about filters, please refer to Dataforseo Labs – Filters or this help center guide"New value: +"array of results filtering parameters optional field you can add several filters at once (8 filters maximum) you should set a logical operator and, or between the conditions the following operators are supported: regex, not_regex, <, <=, >, >=, =, <>, in, not_in, match, not_match, ilike, not_ilike, like,not_like you can use the % operator with like and not_like, as well as ilike and not_ilike to match any string of zero or more characters example: [\"keyword_data.keyword_info.search_volume\",\">\",0] [[\"keyword_info.search_volume\",\"in\",[0,1000]], \"and\", [\"keyword_data.keyword_info.competition_level\",\"=\",\"LOW\"]] [[\"keyword_data.keyword_info.search_volume\",\">\",100], \"and\", [[\"keyword_data.keyword_info.cpc\",\"<\",0.5], \"or\", [\"keyword_info.high_top_of_page_bid\",\"<=\",0.5]]] for more information about filters, please refer to Dataforseo Labs - Filters or this help center guide"
    • Changedpost_dataforseo_on_page_duplicate_content1 field changed
      • changedInput schema / properties / body / items / properties / offset / description
        Previous value: -"offset in the results array of returned pages optional field default value: 0 if you specify the 10 value, the first ten pages in the results array will be omitted and the data will be provided for the successive pages"New value: +"offset in the results array of returned pages optional field default value: 0 maximum value: 2000000 if you specify the 10 value, the first ten pages in the results array will be omitted and the data will be provided for the successive pages"
    • Changedpost_dataforseo_on_page_links1 field changed
      • changedInput schema / properties / body / items / properties / offset / description
        Previous value: -"offset in the results array of returned links optional field default value: 0 if you specify the 10 value, the first ten links in the results array will be omitted and the data will be provided for the successive links"New value: +"offset in the results array of returned links optional field default value: 0 maximum value: 2000000 if you specify the 10 value, the first ten links in the results array will be omitted and the data will be provided for the successive links"
    • Changedpost_dataforseo_on_page_non_indexable2 fields changed
      • changedInput schema / properties / body / items / properties / filters / description
        Previous value: -"array of results filtering parameters optional field you can add several filters at once (8 filters maximum) you should set a logical operator and, or between the conditions the following operators are supported: regex, not_regex, , , >, >=, =, , in, not_in, like, not_like you can use the % operator with like and not_like to match any string of zero or more characters example: [\"reason\",\"=\",\"robots_txt\"][[\"reason\",\"\",\"robots_txt\"], \"and\", [\"url\",\"not_like\",\"%/wp-admin/%\"]] [[\"url\",\"not_like\",\"%/wp-admin/%\"], \"and\", [[\"reason\",\"\",\"meta_tag\"],\"or\",[\"reason\",\"\",\"http_header\"]]] The full list of possible filters is available by this link."New value: +"array of results filtering parameters optional field you can add several filters at once (8 filters maximum) you should set a logical operator and, or between the conditions the following operators are supported: regex, not_regex, <, <=, >, >=, =, <>, in, not_in, like, not_like you can use the % operator with like and not_like to match any string of zero or more characters example: [[\"reason\",\"<>\",\"robots_txt\"], \"and\", [\"url\",\"not_like\",\"%/wp-admin/%\"]] [[\"url\",\"not_like\",\"%/wp-admin/%\"], \"and\", [[\"reason\",\"<>\",\"meta_tag\"],\"or\",[\"reason\",\"<>\",\"http_header\"]]] The full list of possible filters is available by this link."
      • changedInput schema / properties / body / items / properties / offset / description
        Previous value: -"offset in the results array of returned pages optional field default value: 0 if you specify the 10 value, the first ten pages in the results array will be omitted and the data will be provided for the successive pages"New value: +"offset in the results array of returned pages optional field default value: 0 maximum value: 2000000 if you specify the 10 value, the first ten pages in the results array will be omitted and the data will be provided for the successive pages"
    • Changedpost_dataforseo_on_page_submit1 field changed
      • changedInput schema / properties / body / items / properties / custom_js / description
        Previous value: -"custom javascript optional field Note that the execution time for the script you enter here should be 700 ms maximum, for example, you can use the following JS snippet to check if the website contains Google Tag Manager as a scr attribute: let meta = { haveGoogleAnalytics: false, haveTagManager: false };\\r\\nfor (var i = 0; i = 0)\\r\\n meta.haveGoogleAnalytics = true;\\r\\n\\tif (src.indexOf(\\\"gtm.js\\\") >= 0)\\r\\n meta.haveTagManager = true;\\r\\n }\\r\\n}\\r\\nmeta;the returned value depends on what you specified in this field. For instance, if you specify the following script: meta = {}; meta.url = document.URL; meta.test = 'test'; meta; as a response you will receive the following data: \"custom_js_response\": { \"url\": \"https://dataforseo.com/\", \"test\": \"test\" } Note: the length of the script you enter must be no more than 2000 characters Note: if you use this parameter, additional charges will apply; learn more about the cost of tasks with this parameter in our help article; the cost can be calculated on the Pricing Page"New value: +"custom javascript optional field Note that the execution time for the script you enter here should be 700 ms maximum, for example, you can use the following JS snippet to check if the website contains Google Tag Manager as a scr attribute: let meta = { haveGoogleAnalytics: false, haveTagManager: false };rnfor (var i = 0; i < document.scripts.length; i++) {rn let src = document.scripts[i].getAttribute(\"src\");rn if (src!= undefined) {rn if (src.indexOf(\"analytics.js\") >= 0)rn meta.haveGoogleAnalytics = true;rntif (src.indexOf(\"gtm.js\") >= 0)rn meta.haveTagManager = true;rn }rn}rnmeta;the returned value depends on what you specified in this field. For instance, if you specify the following script: `meta = {}; meta.url = document.URL; meta.test = 'test'; meta;` as a response you will receive the following data: `\"custom_js_response\": { \"url\": \"https://dataforseo.com/\", \"test\": \"test\" }` Note: the length of the script you enter must be no more than 2000 characters"
    • Changedpost_dataforseo_serp_ai_summary5 fields changed
      • changedInput schema / properties / body / items / properties / fetch_content / description
        Previous value: -"Whether to fetch content from pages in SERPs; default false"New value: +"fetch content from pages in SERPs optional field if set to true, the API will fetch the content from pages featured in SERP results, and the AI model will consider this content when generating the summary in the result; default value: false"
      • changedInput schema / properties / body / items / properties / include_links / description
        Previous value: -"Whether to include source links in the summary; default false"New value: +"include source links in the summary optional field if set to true, the summary field in the API response will contain links to sources of the generated summary; default value: false"
      • changedInput schema / properties / body / items / properties / prompt / description
        Previous value: -"Additional AI prompt; maximum 2000 characters"New value: +"AI prompt optional field additional task for AI summariser; any form of text, question or information that communicates to AI what response you're looking for; max number of symbols or characters you can specify: 2000; note: your prompt has to be relevant to the keyword specified in the POST request to SERP API"
      • changedInput schema / properties / body / items / properties / support_extra / description
        Previous value: -"Whether to consider extra SERP features such as answer_box, knowledge_graph, and featured_snippet; default true"New value: +"support extra SERP features optional field if set to true, the AI model will consider the following extra SERP features, in addition to organic results: answer_box, knowledge_graph, featured_snippet; default value: true"
      • changedInput schema / properties / body / items / properties / task_id / description
        Previous value: -"Unique identifier of the associated task in UUID format; can be used within 30 days"New value: +"task identifier required field unique identifier of the associated task in the UUID format you will be able to use it within 30 days to request the results of the task at any time"
    • Changedpost_dataforseo_serp_bing_organic_live7 fields changed
      • changedInput schema / properties / body / items / properties / device / description
        Previous value: -"Device type"New value: +"device type optional field return results for a specific device type can take the values:desktop, mobile default value: desktop"
      • changedInput schema / properties / body / items / properties / keyword / description
        Previous value: -"Keyword to search for"New value: +"keyword required field you can specify up to 700 characters in the keyword field all %## will be decoded (plus character '+' will be decoded to a space character) if you need to use the \"%\" character for your keyword, please specify it as \"%25\"; if you need to use the “+” character for your keyword, please specify it as “%2B”; learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article"
      • changedInput schema / properties / body / items / properties / language_code / description
        Previous value: -"Search engine language code"New value: +"search engine language code required field if you don't specify language_name if you use this field, you don't need to specify language_name you can receive the list of available languages of the search engine with their language_code by making a separate request to the https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages example: en"
      • changedInput schema / properties / body / items / properties / language_name / description
        Previous value: -"Full name of search engine language"New value: +"full name of search engine language required field if you don't specify language_code if you use this field, you don't need to specify language_code you can receive the list of available languages of the search engine with their language_name by making a separate request to the https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages example: English"
      • changedInput schema / properties / body / items / properties / location_code / description
        Previous value: -"Search engine location code"New value: +"search engine location code required field if you don't specify location_name or location_coordinate if you use this field, you don't need to specify location_name or location_coordinate you can receive the list of available locations of the search engines with their location_code by making a separate request to the https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations example: 2840"
      • changedInput schema / properties / body / items / properties / location_name / description
        Previous value: -"Full name of search engine location"New value: +"full name of search engine location required field if you don't specify location_code or location_coordinate if you use this field, you don't need to specify location_code or location_coordinate you can receive the list of available locations of the search engine with their location_name by making a separate request to the https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations example: London,England,United Kingdom"
      • changedInput schema / properties / body / items / properties / os / description
        Previous value: -"Device operating system"New value: +"device operating system optional field if you specify desktop in the device field, choose from the following values: windows, macos default value: windows if you specify mobile in the device field, choose from the following values: android, ios default value: android"
    • Changedpost_dataforseo_serp_google_ai_mode_live11 fields changed
      • changedInput schema / properties / body / items / properties / browser_screen_height / description
        Previous value: -"Custom browser screen height"New value: +"browser screen height optional field you can set a custom browser screen height to calculate pixel rankings for a particular device; can be specified within the following range: 240-9999; by default, the parameter is set to: 1080 for desktop; 640 for mobile on android; 812 for mobile on iOS; Note: to use this parameter, set calculate_rectangles to true"
      • changedInput schema / properties / body / items / properties / browser_screen_resolution_ratio / description
        Previous value: -"Screen resolution ratio for rectangle calculations"New value: +"browser screen resolution ratio optional field you can set a custom browser screen resolution ratio to calculate pixel rankings for a particular device; can be specified within the following range: 0.5-3; by default, the parameter is set to: 1 for desktop; 3 for mobile on android; 3 for mobile on iOS; Note: to use this parameter, set calculate_rectangles to true"
      • changedInput schema / properties / body / items / properties / browser_screen_width / description
        Previous value: -"Custom browser screen width"New value: +"browser screen width optional field you can set a custom browser screen width to calculate pixel rankings for a particular device; can be specified within the following range: 240-9999; by default, the parameter is set to: 1920 for desktop; 360 for mobile on android; 375 for mobile on iOS; Note: to use this parameter, set calculate_rectangles to true"
      • changedInput schema / properties / body / items / properties / calculate_rectangles / description
        Previous value: -"Enable pixel ranking calculations for elements in SERP"New value: +"calculate pixel rankings for SERP elements in advanced results optional field pixel ranking refers to the distance between the result snippet and top left corner of the screen; Visit Help Center to learn more>> by default, the parameter is set to false Note: if set to true, the charge per task will be multiplied by 2"
      • changedInput schema / properties / body / items / properties / device / description
        Previous value: -"Device type: desktop or mobile"New value: +"device type optional field return results for a specific device type can take the values:desktop, mobile default value: desktop"
      • changedInput schema / properties / body / items / properties / keyword / description
        Previous value: -"Keyword; you can specify up to 700 characters"New value: +"keyword required field you can specify up to 700 characters in the keyword field all %## will be decoded (plus character ‘+’ will be decoded to a space character) if you need to use the “%” character for your keyword, please specify it as “%25”; if you need to use the “+” character for your keyword, please specify it as “%2B” learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article"
      • changedInput schema / properties / body / items / properties / language_code / description
        Previous value: -"Search engine language code; required if language_name is not specified"New value: +"search engine language code required field if you don't specify language_name; if you use this field, you don't need to specify language_name; you can receive the list of available languages of the search engine with their language_code by making a separate request to the https://api.dataforseo.com/v3/serp/google/ai_mode/languages"
      • changedInput schema / properties / body / items / properties / language_name / description
        Previous value: -"Full name of search engine language; required if language_code is not specified"New value: +"full name of search engine language required field if you don't specify language_code; if you use this field, you don't need to specify language_code; you can receive the list of available languages of the search engine with their language_name by making a separate request to the https://api.dataforseo.com/v3/serp/google/ai_mode/languages;"
      • changedInput schema / properties / body / items / properties / location_code / description
        Previous value: -"Search engine location code; required if location_name or location_coordinate is not specified"New value: +"search engine location code required field if you don't specify location_name or location_coordinate if you use this field, you don't need to specify location_name or location_coordinate you can receive the list of available locations of the search engines with their location_code by making a separate request to the https://api.dataforseo.com/v3/serp/google/locations Note: check Google Search Help for the list of countries where AI Mode is currently available"
      • changedInput schema / properties / body / items / properties / location_coordinate / description
        Previous value: -"GPS coordinates of a location; required if location_name or location_code is not specified"New value: +"GPS coordinates of a location required field if you don't specify location_name or location_code if you use this field, you don't need to specify location_name or location_code location_coordinate parameter should be specified in the \"latitude,longitude,zoom\" format if \"zoom\" is not specified, 9z will be applied as a default value the maximum number of decimal digits for \"latitude\" and \"longitude\": 7 the minimum value for \"zoom\": 4z the maximum value for \"zoom\": 18z example: 52.6178549,-155.352142,18z"
      • changedInput schema / properties / body / items / properties / location_name / description
        Previous value: -"Full name of search engine location; required if location_code or location_coordinate is not specified"New value: +"full name of search engine location required field if you don't specify location_code or location_coordinate if you use this field, you don't need to specify location_code or location_coordinate you can receive the list of available locations of the search engine with their location_name by making a separate request to the https://api.dataforseo.com/v3/serp/google/locations Note: check Google Search Help for the list of countries where AI Mode is currently available"
    • Changedpost_dataforseo_serp_google_autocomplete_live6 fields changed
      • changedInput schema / properties / body / items / properties / client / description
        Previous value: -"Search client for autocomplete"New value: +"search client for autocomplete optional field autocomplete results may differ depending on the search client; possible values: chrome — used when google search is opened in google chrome; chrome-omni — used in the address bar in chrome; gws-wiz — used in google search home page; gws-wiz-serp — used in google search engine results page; safari — used when google search is opened in safari browser; firefox — used when google search is opened in firefox browser; psy-ab — may be used when google search is opened in google chrome browser; toolbar — returns XML; youtube — returns JSONP; gws-wiz-local — used in google local; img — used in google's image search; products-cc — used in google shopping search"
      • changedInput schema / properties / body / items / properties / keyword / description
        Previous value: -"Keyword to get autocomplete suggestions for"New value: +"keyword required field you can specify up to 700 characters in the keyword field all %## will be decoded (plus character ‘+’ will be decoded to a space character) if you need to use the “%” character for your keyword, please specify it as “%25”; if you need to use the “+” character for your keyword, please specify it as “%2B”; learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article"
      • changedInput schema / properties / body / items / properties / language_code / description
        Previous value: -"Search engine language code"New value: +"search engine language code required field if you don't specify language_name if you use this field, you don't need to specify language_name; you can receive the list of available languages of the search engine with their language_code by making a separate request to the https://api.dataforseo.com/v3/serp/google/languages example: en"
      • changedInput schema / properties / body / items / properties / language_name / description
        Previous value: -"Full name of search engine language"New value: +"full name of search engine language required field if you don't specify language_code if you use this field, you don't need to specify language_code; you can receive the list of available languages of the search engine with their language_name by making a separate request to https://api.dataforseo.com/v3/serp/google/languages example: English"
      • changedInput schema / properties / body / items / properties / location_code / description
        Previous value: -"Search engine location code"New value: +"search engine location code required field if you don't specify location_name; you can receive the list of available locations of the search engines with their location_code by making a separate request to https://api.dataforseo.com/v3/serp/google/locations example: 2840"
      • changedInput schema / properties / body / items / properties / location_name / description
        Previous value: -"Full name of search engine location"New value: +"full name of search engine location required field if you don't specify location_code if you use this field, you don't need to specify location_code; you can receive the list of available locations of the search engine with their location_name by making a separate request to https://api.dataforseo.com/v3/serp/google/autocomplete/locations example: London,England,United Kingdom"
    • Changedpost_dataforseo_serp_google_local_finder_live8 fields changed
      • changedInput schema / properties / body / items / properties / keyword / description
        Previous value: -"Keyword to search for"New value: +"keyword required field you can specify up to 700 characters in the keyword field all %## will be decoded (plus character ‘+’ will be decoded to a space character) if you need to use the “%” character for your keyword, please specify it as “%25”; if you need to use the “+” character for your keyword, please specify it as “%2B” learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article"
      • changedInput schema / properties / body / items / properties / language_code / description
        Previous value: -"Search engine language code"New value: +"search engine language code required field if you don't specify language_name if you use this field, you don't need to specify language_name you can receive the list of available languages of the search engine with their language_code by making a separate request to the https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages example:en"
      • changedInput schema / properties / body / items / properties / language_name / description
        Previous value: -"Full name of search engine language"New value: +"full name of search engine language required field if you don't specify language_code if you use this field, you don't need to specify language_code you can receive the list of available languages of the search engine with their language_name by making a separate request to the https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages example: English"
      • changedInput schema / properties / body / items / properties / location_code / description
        Previous value: -"Search engine location code"New value: +"search engine location code required field if you don't specify location_name or location_coordinate if you use this field, you don't need to specify location_name or location_coordinate you can receive the list of available locations of the search engines with their location_code by making a separate request to the https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations example: 2840"
      • changedInput schema / properties / body / items / properties / location_coordinate / description
        Previous value: -"GPS coordinates of a location"New value: +"GPS coordinates of a location required field if you don't specify location_name or location_code if you use this field, you don't need to specify location_name or location_code location_coordinate parameter should be specified in the \"latitude,longitude,zoom\" format if \"zoom\" is not specified, 9z will be applied as a default value the maximum number of decimal digits for \"latitude\" and \"longitude\": 7 the minimum value for \"zoom\": 4z the maximum value for \"zoom\": 18z example: 52.6178549,-155.352142,20z"
      • changedInput schema / properties / body / items / properties / location_name / description
        Previous value: -"Full name of search engine location"New value: +"full name of search engine location required field if you don't specify location_code or location_coordinate if you use this field, you don't need to specify location_code or location_coordinate you can receive the list of available locations of the search engine with their location_name by making a separate request to the https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations example: London,England,United Kingdom"
      • changedInput schema / properties / body / items / properties / min_rating / description
        Previous value: -"Minimum rating filter"New value: +"filter results by minimum rating optional field possible values for desktop: 3.5, 4, 4.5; possible values for mobile: 2, 2.5, 3, 3.5, 4, 4.5"
      • changedInput schema / properties / body / items / properties / time_filter / description
        Previous value: -"Time filter"New value: +"filter results by open hours optional field using this field, you can filter places in the results by the time a place is open for visitors note that Google may also provide results that do not match this filter possible values: \"open_now\", \"24_hours\", \"$day_value\", \"$day_value;$time_value\"; instead of $day_value use one of these values: \"monday\", \"tuesday\", \"wednesday\", \"thursday\", \"friday\", \"saturday\", \"sunday\"; instead of $time_value use one of these values: \"00\", \"01\", \"02\", \"03\", \"04\", \"05\", \"06\", \"07\", \"08\", \"09\", \"10\", \"11\", \"12\", \"13\", \"14\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", \"23\" example: \"tuesday;18\""
    • Changedpost_dataforseo_serp_google_maps_live7 fields changed
      • changedInput schema / properties / body / items / properties / depth / description
        Previous value: -"Parsing depth"New value: +"parsing depth optional field number of results in SERP default value: 100 max value: 700 Your account will be billed per each SERP containing up to 100 results; Setting depth above 100 may result in additional charges if the search engine returns more than 100 results; The cost can be calculated on the Pricing page."
      • changedInput schema / properties / body / items / properties / keyword / description
        Previous value: -"Keyword to search for"New value: +"keyword required field you can specify up to 700 characters in the keyword field all %## will be decoded (plus character '+' will be decoded to a space character) if you need to use the \"%\" character for your keyword, please specify it as \"%25\"; if you need to use the “+” character for your keyword, please specify it as “%2B”; learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article"
      • changedInput schema / properties / body / items / properties / language_code / description
        Previous value: -"Search engine language code"New value: +"search engine language code required field if you don't specify language_name if you use this field, you don't need to specify language_name you can receive the list of available languages of the search engine with their language_code by making a separate request to the https://api.dataforseo.com/v3/serp/google/languages example: en"
      • changedInput schema / properties / body / items / properties / language_name / description
        Previous value: -"Full name of search engine language"New value: +"full name of search engine language required field if you don't specify language_code if you use this field, you don't need to specify language_code you can receive the list of available languages of the search engine with their language_name by making a separate request to the https://api.dataforseo.com/v3/serp/google/languages example: English"
      • changedInput schema / properties / body / items / properties / location_code / description
        Previous value: -"Search engine location code"New value: +"search engine location code required field if you don't specify location_name or location_coordinate if you use this field, you don't need to specify location_name or location_coordinate you can receive the list of available locations of the search engines with their location_code by making a separate request to the https://api.dataforseo.com/v3/serp/google/locations example: 2840"
      • changedInput schema / properties / body / items / properties / location_coordinate / description
        Previous value: -"GPS coordinates of a location"New value: +"GPS coordinates of a location required field if you don't specify location_name or location_code if you use this field, you don't need to specify location_name or location_code location_coordinate parameter should be specified in the \"latitude,longitude,zoom\" format if \"zoom\" is not specified, 17z will be applied as a default value the maximum number of decimal digits for \"latitude\" and \"longitude\": 7 the minimum value for \"zoom\": 3z the maximum value for \"zoom\": 21z example: 52.6178549,-155.352142,20z"
      • changedInput schema / properties / body / items / properties / location_name / description
        Previous value: -"Full name of search engine location"New value: +"full name of search engine location required field if you don't specify location_code or location_coordinate if you use this field, you don't need to specify location_code or location_coordinate you can receive the list of available locations of the search engine with their location_name by making a separate request to the https://api.dataforseo.com/v3/serp/google/locations example: London,England,United Kingdom"
    • Changedpost_dataforseo_serp_google_news_live7 fields changed
      • changedInput schema / properties / body / items / properties / depth / description
        Previous value: -"Parsing depth"New value: +"parsing depth optional field number of results in SERP default value: 10 max value: 200 Your account will be billed per each SERP containing up to 10 results; Setting depth above 10 may result in additional charges if the search engine returns more than 10 results; If the specified depth is higher than the number of results in the response, the difference will be refunded to your account balance automatically The cost can be calculated on the Pricing page."
      • changedInput schema / properties / body / items / properties / keyword / description
        Previous value: -"Keyword to search for"New value: +"keyword required field you can specify up to 700 characters in the keyword field all %## will be decoded (plus character '+' will be decoded to a space character) if you need to use the \"%\" character for your keyword, please specify it as \"%25\"; if you need to use the “+” character for your keyword, please specify it as “%2B”; if this field contains such parameters as 'allinanchor:', 'allintext:', 'allintitle:', 'allinurl:', 'define:', 'filetype:', 'id:', 'inanchor:', 'info:', 'intext:', 'intitle:', 'inurl:', 'link:', 'related:', 'site:', the charge per task will be multiplied by 5 Note: queries containing the ‘cache:’ parameter are not supported and will return a validation error learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article"
      • changedInput schema / properties / body / items / properties / language_code / description
        Previous value: -"Search engine language code"New value: +"search engine language code required field if you don't specify language_name if you use this field, you don't need to specify language_name you can receive the list of available languages of the search engine with their language_code by making a separate request to the https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages example: en"
      • changedInput schema / properties / body / items / properties / language_name / description
        Previous value: -"Full name of search engine language"New value: +"full name of search engine language required field if you don't specify language_code if you use this field, you don't need to specify language_code you can receive the list of available languages of the search engine with their language_name by making a separate request to the https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages example: English"
      • changedInput schema / properties / body / items / properties / location_code / description
        Previous value: -"Search engine location code"New value: +"search engine location code required field if you don't specify location_name or location_coordinate if you use this field, you don't need to specify location_name or location_coordinate you can receive the list of available locations of the search engines with their location_code by making a separate request to the https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations example: 2840"
      • changedInput schema / properties / body / items / properties / location_coordinate / description
        Previous value: -"GPS coordinates of a location"New value: +"GPS coordinates of a location required field if you don't specify location_name or location_code if you use this field, you don't need to specify location_name or location_code location_coordinate parameter should be specified in the \"latitude,longitude,radius\" format the maximum number of decimal digits for \"latitude\" and \"longitude\": 7 the minimum value for \"radius\": 199.9 (mm) the maximum value for \"radius\": 199999 (mm) example: 53.476225,-2.243572,200"
      • changedInput schema / properties / body / items / properties / location_name / description
        Previous value: -"Full name of search engine location"New value: +"full name of search engine location required field if you don't specify location_code or location_coordinate if you use this field, you don't need to specify location_code or location_coordinate you can receive the list of available locations of the search engine with their location_name by making a separate request to the https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations example: London,England,United Kingdom"
    • Changedpost_dataforseo_serp_google_organic_live12 fields changed
      • changedInput schema / properties / body / items / properties / calculate_rectangles / description
        Previous value: -"Calculate pixel rankings for SERP elements"New value: +"calcualte pixel rankings for SERP elements in advanced results optional field pixel ranking refers to the distance between the result snippet and top left corner of the screen; Visit Help Center to learn more>> by default, the parameter is set to false; Note: you will be charged extra $0.002 for using this parameter"
      • changedInput schema / properties / body / items / properties / depth / description
        Previous value: -"Parsing depth, default 100, max 700"New value: +"parsing depth optional field number of results in SERP default value: 10 max value: 200 Your account will be billed per each SERP containing up to 10 results; Setting depth above 10 may result in additional charges if the search engine returns more than 10 results; The cost can be calculated on the Pricing page."
      • changedInput schema / properties / body / items / properties / device / description
        Previous value: -"Device type: desktop or mobile"New value: +"device type optional field return results for a specific device type can take the values:desktop, mobile default value: desktop"
      • changedInput schema / properties / body / items / properties / keyword / description
        Previous value: -"Keyword to search for"New value: +"keyword required field you can specify up to 700 characters in the keyword field all %## will be decoded (plus character ‘+’ will be decoded to a space character) if you need to use the “%” character for your keyword, please specify it as “%25”; if you need to use the “+” character for your keyword, please specify it as “%2B”; if this field contains such parameters as ‘allinanchor:’, ‘allintext:’, ‘allintitle:’, ‘allinurl:’, ‘cache:’, ‘define:’, ‘definition:’, ‘filetype:’, ‘id:’, ‘inanchor:’, ‘info:’, ‘intext:’, ‘intitle:’, ‘inurl:’, ‘link:’, ‘site:’, the charge per task will be multiplied by 5 learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article"
      • changedInput schema / properties / body / items / properties / language_code / description
        Previous value: -"Search engine language code"New value: +"search engine language code optional field if you specify language_name if you use this field, you don't need to specify language_name you can receive the list of available languages of the search engine with their language_code by making a separate request to the https://api.dataforseo.com/v3/serp/google/languages example: en"
      • changedInput schema / properties / body / items / properties / language_name / description
        Previous value: -"Full name of search engine language"New value: +"full name of search engine language optional field if you specify language_code if you use this field, you don't need to specify language_code you can receive the list of available languages of the search engine with their language_name by making a separate request to the https://api.dataforseo.com/v3/serp/google/languages example: English"
      • changedInput schema / properties / body / items / properties / location_code / description
        Previous value: -"Search engine location code"New value: +"search engine location code required field if you don't specify location_name or location_coordinate if you use this field, you don't need to specify location_name or location_coordinate you can receive the list of available locations of the search engines with their location_code by making a separate request to the https://api.dataforseo.com/v3/serp/google/locations example: 2840"
      • changedInput schema / properties / body / items / properties / location_coordinate / description
        Previous value: -"GPS coordinates of a location"New value: +"GPS coordinates of a location optional field if you specify location_name or location_code if you use this field, you don't need to specify location_name or location_code location_coordinate parameter should be specified in the \"latitude,longitude,radius\" format the maximum number of decimal digits for \"latitude\" and \"longitude\": 7 the minimum value for \"radius\": 199 (mm) the maximum value for \"radius\": 199999 (mm) example: 53.476225,-2.243572,200"
      • changedInput schema / properties / body / items / properties / location_name / description
        Previous value: -"Full name of search engine location"New value: +"full name of search engine location required field if you don't specify location_code or location_coordinate if you use this field, you don't need to specify location_code or location_coordinate you can receive the list of available locations of the search engine with their location_name by making a separate request to the https://api.dataforseo.com/v3/serp/google/locations example: London,England,United Kingdom"
      • changedInput schema / properties / body / items / properties / max_crawl_pages / description
        Previous value: -"Page crawl limit, max 100"New value: +"page crawl limit optional field number of search results pages to crawl max value: 100 Note: you will be charged for each page crawled (10 organic results per page); learn more about pricing on our Pricing page; Note#2: the max_crawl_pages and depth parameters complement each other; learn more at our help center"
      • changedInput schema / properties / body / items / properties / os / description
        Previous value: -"Device operating system"New value: +"device operating system optional field if you specify desktop in the device field, choose from the following values: windows, macos default value: windows if you specify mobile in the device field, choose from the following values: android, ios default value: android"
      • changedInput schema / properties / body / items / properties / tag / description
        Previous value: -"User-defined task identifier"New value: +"user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response"
  9. 65 tool updates
    • First observedbatch_use
    • First observedget_ahrefs_domain_rating
    • First observedget_ahrefs_site_metrics
    • First observedget_dataforseo_on_page_summary
    • First observedget_details
    • First observedget_semrush_backlinks_overview
    • First observedget_semrush_domain_organic_keywords
    • First observedget_semrush_domain_overview
    • First observedget_semrush_keyword_difficulty
    • First observedget_semrush_keyword_overview
    • First observedget_semrush_organic_competitors
    • First observedget_semrush_organic_results
    • First observedget_semrush_referring_domains
    • First observedlist_categories
    • First observedpost_dataforseo_ai_chat_gpt_llm_responses_live
    • First observedpost_dataforseo_ai_claude_llm_responses_live
    • First observedpost_dataforseo_ai_gemini_llm_responses_live
    • First observedpost_dataforseo_ai_keyword_volume_live
    • First observedpost_dataforseo_ai_llm_mentions_aggregated_metrics_live
    • First observedpost_dataforseo_ai_llm_mentions_search_live
    • First observedpost_dataforseo_ai_llm_mentions_top_domains_live
    • First observedpost_dataforseo_ai_perplexity_llm_responses_live
    • First observedpost_dataforseo_backlinks_anchors_live
    • First observedpost_dataforseo_backlinks_backlinks_live
    • First observedpost_dataforseo_backlinks_competitors_live
    • First observedpost_dataforseo_backlinks_history_live
    • First observedpost_dataforseo_backlinks_referring_domains_live
    • First observedpost_dataforseo_backlinks_summary_live
    • First observedpost_dataforseo_content_search_live
    • First observedpost_dataforseo_content_sentiment_analysis_live
    • First observedpost_dataforseo_content_summary_live
    • First observedpost_dataforseo_domains_tech_for_domain_live
    • First observedpost_dataforseo_domains_whois_overview_live
    • First observedpost_dataforseo_keywords_gads_kw_for_keywords_live
    • First observedpost_dataforseo_keywords_gads_search_volume_live
    • First observedpost_dataforseo_keywords_trends_explore_live
    • First observedpost_dataforseo_labs_google_bulk_keyword_difficulty_live
    • First observedpost_dataforseo_labs_google_bulk_traffic_estimation_live
    • First observedpost_dataforseo_labs_google_domain_rank_overview_live
    • First observedpost_dataforseo_labs_google_historical_keyword_data_live
    • First observedpost_dataforseo_labs_google_historical_rank_live
    • First observedpost_dataforseo_labs_google_keyword_ideas_live
    • First observedpost_dataforseo_labs_google_keyword_overview_live
    • First observedpost_dataforseo_labs_google_keyword_suggestions_live
    • First observedpost_dataforseo_labs_google_related_keywords_live
    • First observedpost_dataforseo_labs_google_relevant_pages_live
    • First observedpost_dataforseo_labs_google_search_intent_live
    • First observedpost_dataforseo_labs_google_serp_competitors_live
    • First observedpost_dataforseo_labs_google_subdomains_live
    • First observedpost_dataforseo_on_page_duplicate_content
    • First observedpost_dataforseo_on_page_lighthouse_live_json
    • First observedpost_dataforseo_on_page_links
    • First observedpost_dataforseo_on_page_non_indexable
    • First observedpost_dataforseo_on_page_submit
    • First observedpost_dataforseo_serp_ai_summary
    • First observedpost_dataforseo_serp_bing_organic_live
    • First observedpost_dataforseo_serp_google_ai_mode_live
    • First observedpost_dataforseo_serp_google_autocomplete_live
    • First observedpost_dataforseo_serp_google_local_finder_live
    • First observedpost_dataforseo_serp_google_maps_live
    • First observedpost_dataforseo_serp_google_news_live
    • First observedpost_dataforseo_serp_google_organic_live
    • First observedpost_dataforseo_serp_youtube_organic_live
    • First observedsearch
    • First observeduse

Publisher details

Operator
AIsa · Publisher source
Operator website
https://aisa.one
Vendor relationship
Independent
Trust center
Not available
Restrictions
No paid plan, admin approval, regional limit or custom OAuth app is needed to connect. Sign-in is OAuth against auth.aisa.one with dynamic client registration (RFC 7591), or an Authorization: Bearer AIsa API key. search, get_details and list_categories are free. use and batch_use are billed per call to the caller's own AIsa key, and max_price_usd refuses anything above a cap before any spend. Some operations are subscription-only on the gateway and answer 402 without the Hive GTM Growth plan.

Related MCP Connectors

  • Your agent needs the derived numbers — domain authority, what a site ranks for, related and relevant keywords, search intent, and who the real competitors are — for Google, Amazon and the app stores. **What you can ask for** • "What is this domain's authority, and how has its rank history moved?" • "Which keywords does this site rank for, and with what intent?" • "Who are this domain's organic competitors, and where do we overlap?" • "Which keywords does this Amazon product rank for?" • "Compare these two domains keyword by keyword." **How to use it** Point any MCP client at https://mcp.aisa.one/seo-labs/mcp and sign in with OAuth — there is no key to create or paste. 46 tools: ranked, related and relevant keywords, keyword ideas and intent, domain authority and rank history, competitor and intersection analysis, bulk metrics, plus the same shapes for Amazon products and Apple and Google Play apps. **Why this rather than the source** Ahrefs domain rating, Semrush rank history and DataForSEO Labs answering the same questions side by side. **It is also a door to the rest** The same login reaches 26 sources and 580+ operations. Size the competitor here, then ask the same agent for their traffic mix or their contacts — without adding a second server. **What it costs** Finding and inspecting an operation is free. Running one is billed per call at API prices, with no seat and no monthly minimum, and every call takes max_price_usd so an agent cannot overspend by accident. **Where else it reaches** https://mcp.aisa.one/seo/mcp for all of it at once — rankings, keywords, backlinks, site health and AI-answer visibility across DataForSEO, Semrush and Ahrefs.

  • Your brand is now answered about, not just ranked. Your agent needs to know whether ChatGPT, Claude, Gemini and Perplexity name you when someone asks about your category — and what they cite instead. **What you can ask for** • "Ask ChatGPT, Claude, Gemini and Perplexity 'best CRM for startups' and tell me who gets named." • "How often is our brand mentioned across AI answers this month, and is it rising?" • "Which domains get cited most in answers about this topic?" • "Which of our pages do the models quote?" • "How much search volume sits behind the prompts people actually type?" **How to use it** Point any MCP client at https://mcp.aisa.one/seo-ai-visibility/mcp and sign in with OAuth — there is no key to create or paste. 23 tools: live responses from ChatGPT, Claude, Gemini and Perplexity, the raw scraped answer page where you need it, plus brand-mention search, aggregated and cross metrics, top cited domains and top cited pages, and AI keyword volume. **Why this rather than the source** Four engines measured the same way, so the comparison is between models rather than between vendors' methodologies. **It is also a door to the rest** The same login reaches 26 sources and 580+ operations. Find who the models cite here, then ask the same agent for that domain's backlinks or traffic to see why — without adding a second server. **What it costs** Finding and inspecting an operation is free. Running one is billed per call at API prices, with no seat and no monthly minimum, and every call takes max_price_usd so an agent cannot overspend by accident. **Where else it reaches** https://mcp.aisa.one/seo/mcp for all of it at once — rankings, keywords, backlinks, site health and AI-answer visibility across DataForSEO, Semrush and Ahrefs.

  • Your agent needs live data — a competitor's traffic, who to contact there, what people are saying, what Google and ChatGPT answer about you, a company's filings. Normally that is six vendor accounts, six sets of keys and six SDKs. This is one URL. **What you can ask for** • "How much traffic does stripe.com get, where does it come from, and who competes for the same keywords?" • "Find 20 Series-B fintech companies in Germany and the heads of marketing there, with emails." • "Does ChatGPT mention our brand when someone asks for the best CRM — and what does it cite?" • "What is X saying about $NVDA today, and what did the stock actually do?" • "Search the web for this, then scrape the three best pages into markdown." **How to use it** Point any MCP client at https://mcp.aisa.one/mcp and sign in with OAuth — there is no key to create or paste. Then just ask: the agent calls search to find the right operation and use to run it. **Why this rather than the source** 26 sources behind one account and one bill — DataForSEO, Semrush, Ahrefs, Similarweb, Apollo, X/Twitter, Instagram, Reddit, Pinterest, YouTube, Tavily, Exa, Perplexity, Firecrawl, CoinGecko, Kalshi, Polymarket, AgentMail and more, 580+ operations. tools/list returns five tools, not 580, so the introduction does not eat your context window. **What it costs** Finding and inspecting an operation is free. Running one is billed per call at API prices, with no seat and no monthly minimum, and every call takes max_price_usd so an agent cannot overspend by accident. **Where else it reaches** One slice at a time: https://mcp.aisa.one/seo/mcp · /finance/mcp · /social/mcp · /search/mcp · /sales/mcp · /mail/mcp · /gtm/mcp, or a single provider like /twitter-api/mcp. Same account, fewer tools listed, and search still reaches everything. Full list at https://mcp.aisa.one/servers

  • Your agent needs the Google results page as it actually renders — organic and paid, the AI overview, maps, images, news, jobs and the finance panel — not a scraped guess. **What you can ask for** • "What does the SERP for this keyword look like in Germany, on mobile?" • "Does this query trigger an AI overview, and what does it say?" • "Who is advertising against our brand name?" • "Find local results and the map pack for this phrase." • "Search Google by this image and tell me where else it appears." **How to use it** Point any MCP client at https://mcp.aisa.one/seo-serp/mcp and sign in with OAuth — there is no key to create or paste. 38 tools across Google's surfaces: organic, ads and advertisers, AI mode, autocomplete, images, news, maps and local, events, jobs, datasets, scholar, finance quotes and markets, plus Semrush's organic and paid result sets. **Why this rather than the source** Location and language are parameters, so you can read the page a customer in another country sees. **It is also a door to the rest** The same login reaches 26 sources and 580+ operations. Read the SERP here, then ask the same agent who links to the winner or how much traffic they get — without adding a second server. **What it costs** Finding and inspecting an operation is free. Running one is billed per call at API prices, with no seat and no monthly minimum, and every call takes max_price_usd so an agent cannot overspend by accident. **Where else it reaches** https://mcp.aisa.one/seo-serp-other-engines/mcp for Bing, Yahoo, Baidu, Naver, Seznam and YouTube. https://mcp.aisa.one/seo/mcp for all of it at once — rankings, keywords, backlinks, site health and AI-answer visibility across DataForSEO, Semrush and Ahrefs.

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    AI search intelligence + Ahrefs-class SEO suite as 59 MCP tools. Track your brand across ChatGPT, Google AI Overview, Gemini, Claude, and Perplexity with persona-anchored Brand Radar dispatches.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to perform live Google SERP searches, run on-page and full-site SEO audits with prioritized fixes, and check brand visibility in AI answer engines via four MCP tools.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Agent-first SEO toolkit with 24 MCP tools for keyword research, rank tracking, site audits up to 50k pages, competitor analysis, content gap detection, domain reputation, backlink intelligence, Google Search Console integration, and AI-powered strategy generation with Claude, GPT, and Ollama. SQLite-backed and bring-your-own-key.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Google PageRank for AI agents — live search across 25,000+ scored MCP servers and tools. AgentRank gives your AI a live, ranked index of 25,000+ MCP servers and agent tools, scored daily from real GitHub signals (stars, freshness, issue health, contributors, dependents). Your AI's training data is months old — it can't tell you if a tool was abandoned last week or that something better shipped y
    5 npm
    2
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources