AIsa Technologies & Whois
Server Details
Your agent needs to know what a site is built on and who owns it — or to find every site running a given technology.
What you can ask for • "What is this site built on — CMS, analytics, payments, CDN?" • "Find every domain running Shopify in Germany." • "Who owns this domain, and when does it expire?" • "How many sites use this technology, and is that growing?" • "Find domains whose HTML contains this snippet."
How to use it Point any MCP client at https://mcp.aisa.one/seo-domains/mcp and sign in with OAuth — there is no key to create or paste. 12 tools: technology detection for one domain, domains by technology, domains by HTML term, technology stats and aggregations, plus whois overview and its filters.
Why this rather than the source Prospecting by tech stack and ownership lookup in the same call shape.
It is also a door to the rest The same login reaches 26 sources and 580+ operations. Find the stack here, then ask the same agent for that company's traffic and the people to contact — 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/sales/mcp turns a technology list into a contactable pipeline. 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.
- Status
- Healthy
- Uptime
- 93.7% over 43 days
- OAuth
- Works in Glama
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 19 tools
Most DataForSEO tech endpoints are distinguishable by their descriptions, but the set mixes meta-tools and data endpoints in ways that can confuse selection. The deprecated `use` next to `batch_use`, plus overlapping-sounding tech endpoints such as aggregation, summary, and technology_stats, create avoidable ambiguity.
All names are snake_case, but conventions vary widely: noun-like names (`account`, `search`), `batch_*` meta-tools, `list_categories`, and long `get_dataforseo_*` / `post_dataforseo_*_live` endpoint names. The deprecated `use` further breaks any predictable verb_noun pattern.
At 19 tools, the surface is slightly heavy but reasonable for a router plus DataForSEO domains-tech and WHOIS endpoint coverage. Each endpoint appears to have a specific role, though the deprecated `use` tool should be removed.
The AIsa discovery, schema, quote, and execution workflow is covered, and the DataForSEO tech/WHOIS surface includes useful reference and live endpoints. Minor gaps remain around direct single-domain WHOIS convenience and task-result patterns, but core workflows are workable.
Available Tools
19 toolsaccountShow account and usageARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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.
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.
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.
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.
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.
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 batchARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| tools | Yes | Exact tool names returned by search whose complete contracts are needed. Never invent tool names. | |
| session_id | No | Reuse the session_id returned by Search in all subsequent tool calls for this task. If omitted, a new session is created. | |
| include_documentation | No | Return the complete immutable public OpenAPI operation, referenced declarations, provenance and scoped completeness. Documentation does not change execution support. | |
| include_response_schema | No | Return the complete response_schema. Defaults to false. | |
| include_arguments_schema | No | Return the complete arguments_schema. Defaults to true. |
Output Schema
| Name | Required | Description |
|---|---|---|
| tools | Yes | |
| session_id | Yes | Reuse the session_id returned by Search in all subsequent tool calls for this task. If omitted, a new session is created. |
| error_count | Yes | |
| total_count | Yes | |
| success_count | Yes | |
| next_steps_guidance | Yes |
TDQS
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.
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.
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.
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.
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.
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 themARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| calls | Yes | ||
| search_id | No | Optional search correlation identifier returned by search. | |
| session_id | No | Reuse the session_id returned by Search in all subsequent tool calls for this task. If omitted, a new session is created. |
Output Schema
| Name | Required | Description |
|---|---|---|
| results | Yes | |
| batch_id | Yes | |
| session_id | Yes | Reuse the session_id returned by Search in all subsequent tool calls for this task. If omitted, a new session is created. |
| error_count | Yes | |
| total_count | Yes | |
| success_count | Yes | |
| next_steps_guidance | Yes | Deterministic next-step instructions derived from this result. Not an authorization grant. |
| auto_execute_eligible | No | True 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_usd | No | Configured auto-execute threshold in micro-USD. 0 disables automatic execution. Present on quote responses. |
TDQS
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.
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.
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.
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.
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.
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 toolsADestructiveInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| calls | Yes | ||
| search_id | No | Optional search correlation identifier returned by search. | |
| session_id | No | Reuse the session_id returned by Search in all subsequent tool calls for this task. If omitted, a new session is created. |
Output Schema
| Name | Required | Description |
|---|---|---|
| results | Yes | |
| batch_id | Yes | |
| session_id | Yes | Reuse the session_id returned by Search in all subsequent tool calls for this task. If omitted, a new session is created. |
| error_count | Yes | |
| total_count | Yes | |
| success_count | Yes | |
| next_steps_guidance | Yes | Deterministic next-step instructions derived from this result. Not an authorization grant. |
TDQS
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.
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.
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.
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.
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.
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_dataforseo_domains_tech_available_filtersFilters for Domain Analytics Technologies APIBRead-onlyIdempotentInspect
Here you will find all the necessary information about filters that can be used with Domain Analytics Technologies API endpoints.
Usage-based billing; Default request estimate: $0.012 USD (not a fixed price). Account-specific pricing and final settlement may differ.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld and non-destructive, and an output schema exists, so the safety profile is covered. The description adds a genuinely useful behavioral detail — usage-based billing (~$0.012 per request, non-fixed) — but does nothing else to characterize behavior beyond what structured fields supply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core sentence is short and front-loaded. However, the text opens with stray zero-width characters and is padded by a templated pricing block that, while useful, is boilerplate rather than tool-specific content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless read-only discovery tool with a defined output schema, the description supplies enough to call it correctly. Return values are covered by the output schema, so the only real omission is any hint of when in a workflow to use it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing to document and the 4 baseline applies. The empty schema is trivially complete and the description need not compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the resource clearly: filters usable with Domain Analytics Technologies API endpoints. It is distinguishable from siblings like get_dataforseo_domains_tech_languages or _list, though it does not explicitly name or contrast an alternative. The verb is weak ('you will find') for a discovery tool, but purpose is still legible.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to-use guidance is given, and no alternative is mentioned. The agent is left to infer that this is a discovery call made before issuing filtered queries against sibling endpoints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_dataforseo_domains_tech_languagesList of Languages for Domain Analytics Technologies APIBRead-onlyIdempotentInspect
You will receive the list of languages by calling this API. As a response of the API server, you will receive JSON-encoded data containing a tasks array with the information specific to the set tasks.
Usage-based billing; Default request estimate: $0.012 USD (not a fixed price). Account-specific pricing and final settlement may differ.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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 structurally. The description adds one genuinely useful behavioral fact — usage-based billing with a ~$0.012 per-request estimate — but its response-shape sentence ('tasks array') merely duplicates what the existing output schema already provides.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, but the second sentence about the API server returning JSON with a tasks array is filler given the output schema exists, and the pricing block is injected boilerplate. The useful content (what it returns, what it costs) is not clearly front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter list endpoint with a full output schema and read-only annotations, the description covers the essentials: what is returned and that billing applies. The missing piece is scope/usage context relative to sibling endpoints, which keeps it from being fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is no parameter semantics to explain; the baseline for a no-param tool is 4. Nothing in the description misleads about inputs, and no compensating detail is required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states that the caller receives 'the list of languages', which matches the tool's name almost word-for-word, so the purpose is discernible but largely a restatement rather than an independent specification. It never distinguishes this from the closely-named sibling get_dataforseo_domains_tech_locations, nor does it say what the language list is scoped to. Adequate but thin.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this versus the sibling lookup endpoints (locations, available_filters, list) or the post_* analytics endpoints. The only 'guidance' is the tautological instruction to call the API. An agent must infer the use case 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.
get_dataforseo_domains_tech_listList of Technologies for Domain Analytics Technologies APIARead-onlyIdempotentInspect
This endpoint will provide you with the full list of available technologies structured by technology groups and categories each particular technology belongs to.
Usage-based billing; Default request estimate: $0.012 USD (not a fixed price). Account-specific pricing and final settlement may differ.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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 fully covered. The description adds a genuinely useful behavioral detail not in annotations: usage-based billing with a ~$0.012 default request estimate and the caveat that final pricing may differ. It says nothing about auth needs or response shape, but the output schema covers the latter.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The functional sentence is front-loaded and wastes no words. The trailing pricing block is template boilerplate rather than tool-specific prose, but it is short and informative, so it does not meaningfully dilute the definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read-only reference endpoint with an output schema and full annotation coverage, the description supplies what the agent needs: what the list contains and how it is structured. Only the when-to-use routing to sibling endpoints is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; the 4 baseline applies. The mention of grouping structure is a minor bonus but not a parameter concern.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: returns the full list of available technologies, and adds the shape of the payload (grouped by technology groups and categories). An agent can distinguish it from the sibling languages/locations/filters endpoints. It stops short of explicitly naming those siblings as alternatives, so it is clear but not fully differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent can infer this is the reference lookup to call before using technology names in post_dataforseo_domains_tech_domains_by_technology_live, but the description never says when to use it or when not to. No prerequisites, no routing to alternatives such as available_filters or languages.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_dataforseo_domains_tech_locationsList of Locations for Domain Analytics Technologies APICRead-onlyIdempotentInspect
You will receive the list of locations by this API call.
Usage-based billing; Default request estimate: $0.012 USD (not a fixed price). Account-specific pricing and final settlement may differ.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and non-destructive behavior, so the safety profile is covered. The description adds essentially nothing behavioral except a usage-based pricing note, and says nothing about response size, caching, or how locations are scoped.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core sentence is short and front-loaded, but the bulk of the text is an auto-injected pricing block that is irrelevant to invoking the tool. It is not verbose in a harmful way, but the signal-to-noise ratio is poor.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and an output schema present, the description needn't explain return values, and annotations cover safety. However, it never explains what a 'location' is or how the returned values feed into the other domains/tech endpoints, which is the main thing an agent would need to use this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the schema baseline of 4 applies; there is nothing for the description to clarify. No parameter-level value is added or needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only that 'you will receive the list of locations by this API call,' which essentially restates the tool name and title without adding a verb+resource description of what the data represents. It makes no attempt to differentiate from near-identical siblings such as get_dataforseo_domains_tech_languages or get_dataforseo_domains_tech_available_filters.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this tool, what it is a prerequisite for, or how it relates to the post_dataforseo_domains_tech_* siblings that presumably consume location values. The only added text is billing boilerplate, which does not help selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_dataforseo_domains_whois_available_filtersFilters for Domain Analytics Whois APICRead-onlyIdempotentInspect
Here you will find all the necessary information about filters that can be used with Domain Analytics Whois API.
Usage-based billing; Default request estimate: $0.012 USD (not a fixed price). Account-specific pricing and final settlement may differ.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is fully covered. The description adds no behavioral context beyond that—no statement of what the response contains, whether results are static, or any rate/caching behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core description is a single short sentence, which is appropriately brief, but 'Here you will find all the necessary information' is filler that does not earn its place. The injected pricing note is boilerplate, not tool semantics.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With zero parameters and an output schema present, the description has little to carry and need not explain return values. Still, it never states what the filter reference includes or how it should be used, leaving a low-complexity tool only minimally covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes no parameters, so per the rubric the baseline is 4. Schema coverage is 100% and there is nothing for the description to add on parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description indicates the tool surfaces filter information for the Domain Analytics Whois API, and the word 'Whois' loosely distinguishes it from the sibling 'tech' filters tool. However, 'all the necessary information about filters' is vague about what is actually returned (a reference list of filter fields?), so the purpose is only implied.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 prerequisites, and no routing to alternatives such as the parallel tech filters tool. An agent must infer that this is a reference lookup to consult before querying the Whois API.
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 catalogueARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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.
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.
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.
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.
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.
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_domains_tech_aggregation_liveAggregation TechnologiesBDestructiveInspect
The Aggregation Technologies endpoint will provide you with a list of the most popular technologies websites use alongside the technologies you specify. Alternatively, you can specify technology categories or groups to obtain wider stats.
Usage-based billing; Default request estimate: $0.012 USD (not a fixed price). Account-specific pricing and final settlement may differ.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=true, openWorldHint=true and idempotentHint=false, so the safety profile is covered structurally. The description adds a genuinely new behavioral trait — usage-based billing with a ~$0.012 estimate — which is useful cost context. It does not, however, reconcile the surprising destructive/non-idempotent flags with what reads like a data-retrieval call, nor mention rate limits 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences plus a billing note, with the core purpose front-loaded. The pricing disclosure earns its space. Minor deduction for leading zero-width artifacts and for spending words on billing while omitting routing/parameter context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 correctly need not be explained. But for an endpoint with 13 nested optional fields, pagination limits (limit/offset up to 10000/9999) and the destructive-flag mismatch, the description leaves meaningful gaps an agent would want covered before issuing a paid call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is reported at 0% and the single top-level body parameter is undocumented in the description; the description only alludes to the three mutually exclusive input fields (technology, category, group) without explaining their alternative semantics. The nested schema itself is richly documented per field, so the description neither compensates fully nor contradicts it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (technology aggregation data) and what it returns: a list of the most popular technologies alongside the ones specified, or wider stats for categories/groups. This is clear and non-tautological. It does not, however, differentiate itself from close siblings such as post_dataforseo_domains_tech_technology_stats_live or post_dataforseo_domains_tech_summary_live, which an agent must disambiguate 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It hints at two input modes ('specify technologies' vs 'specify categories or groups for wider stats') but never says when to prefer this tool over the numerous sibling aggregation/stats endpoints. There are no when-not-to-use conditions and no named alternatives, so an agent gets no 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_domains_tech_domains_by_html_terms_liveDomains by HTML TermsBDestructiveInspect
This endpoint provides domains based on the HTML terms they use on their homepage. In addition to the list of domains, you will also get their technology profiles, the country and language they belong to, and other related data.
Usage-based billing; Default request estimate: $0.012 USD (not a fixed price). Account-specific pricing and final settlement may differ.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=true, openWorldHint=true and idempotentHint=false, so safety behavior is delegated to structured data. The description adds value only by naming what comes back (technology profiles, country, language) and by disclosing usage-based billing with a ~$0.012 estimate, but it says nothing about rate limits, auth, or pagination via offset_token.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded: the purpose sentence comes first and is followed only by response-content and pricing notes. No padding in the prose itself, though the pricing block is boilerplate that consumes roughly half the text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 annotations carry the safety profile. What remains missing is the usage/parameter layer — no indication that search_terms is required in practice and no routing versus the many sibling endpoints, which leaves the definition only minimally viable for a complex live query endpoint.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is reported at 0%, so the description is expected to compensate and does not: it never mentions search_terms (the effective required field), filters, limit/offset, order_by, or mode. An agent must read the nested schema to learn that a search term such as 'data-attrid' is needed at all.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific retrieval: domains selected by the HTML terms present on their homepage, plus their technology profiles, country and language. That is clear enough to separate it from the sibling post_dataforseo_domains_tech_domains_by_technology_live, though the distinction is implied by the 'HTML terms' criterion rather than stated explicitly against the sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance: nothing says when to prefer HTML-term lookups over the technology, summary, or aggregation siblings, and no prerequisites or exclusions are given. The only usage signal is the tool name itself.
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_domains_by_technology_liveDomains by TechnologyCDestructiveInspect
This endpoint provides domains based on the technology they use. In addition to the list of domains, you will also get their technology profiles, the country and language they belong to, and other related data.
Usage-based billing; Default request estimate: $0.012 USD (not a fixed price). Account-specific pricing and final settlement may differ.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description portrays a pure data retrieval ('This endpoint provides domains... you will also get their technology profiles'), yet the annotations declare destructiveHint=true and readOnlyHint=false. A retrieval endpoint described as destructive is a direct inconsistency an agent would notice. The only behavioral note offered is boilerplate pricing, which does not resolve the conflict.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with what the tool returns, plus a brief pricing note. Minimal waste, though the pricing boilerplate is extraneous filler that does not help tool selection.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 nested schema documents the filter fields. However, for a complex filtered-search endpoint the description is thin: it omits the one-of filter requirement, pagination via offset_token, and any routing to sibling endpoints, leaving meaningful gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description contributes nothing about parameters, and the single top-level `body` parameter carries no schema description (coverage reported at 0%). The nested fields do have rich schema documentation, but per the low-coverage rule the description was expected to compensate and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific retrieval ('provides domains') scoped by a clear criterion ('based on the technology they use') and even lists the returned payload (technology profiles, country, language). It is clear what the tool does, but it does not distinguish itself from close siblings such as domains_by_html_terms_live or for_domain_live, which also return domain sets filtered on a different dimension.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 alternative named. The description only narrates the output; it never tells the agent when this endpoint should be chosen over the sibling technology endpoints or what input it requires (the schema's one-of constraint on groups/technologies/categories/keywords/technology_paths is not surfaced).
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 TechnologiesCDestructiveInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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.
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.
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.
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.
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.
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_tech_summary_liveTechnologies SummaryBDestructiveInspect
The Technologies Summary endpoint will provide you with the number of domains across different countries and languages that use the specified technology names, technology groups, or technology categories.
Usage-based billing; Default request estimate: $0.012 USD (not a fixed price). Account-specific pricing and final settlement may differ.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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), and the description does not contradict them. It does add genuinely useful context the annotations lack: usage-based billing with a ~$0.012 default estimate and the note that pricing may differ. It says nothing about rate limits, latency, or what the query actually consumes, so it is only partially additive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One tight sentence stating the purpose, followed by the standard pricing block. Purpose is front-loaded with no filler. Minor deduction for the stray zero-width characters before the opening text and for the pricing boilerplate that is not really part of the tool's semantics.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return structure needn't be explained. However, the schema marks no top-level fields required while conditionally requiring at least one of groups/technologies/categories/keywords/technology_paths; the description hints at this but never states the 'at least one selector' rule, which is the key thing an agent must know to call it successfully.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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' parameter is undocumented), though the nested fields carry rich provider descriptions. The description partially compensates by naming the three selector dimensions (technology names, groups, categories) but omits keywords, technology_paths, mode, filters, and internal_list_limit. Baseline 3 for partial compensation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: it returns the count of domains by country/language that use given technology names, groups, or categories. This is far more informative than a restatement of the title. It does not, however, distinguish itself from siblings like post_dataforseo_domains_tech_technology_stats_live or post_dataforseo_domains_tech_aggregation_live, which sound very similar.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description names the three input dimensions (technology names, groups, categories) but gives no when-to-use guidance, no exclusions, and no pointer to alternative endpoints. An agent cannot tell from this text why it should pick this tool over technology_stats_live or aggregation_live.
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_technology_stats_liveTechnology StatsCDestructiveInspect
The Technology Stats endpoint will provide you with historical data on the number of domains across different countries and languages that use the specified technology.
Usage-based billing; Default request estimate: $0.012 USD (not a fixed price). Account-specific pricing and final settlement may differ.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description frames the endpoint purely as a data retrieval ('will provide you with historical data'), while annotations declare readOnlyHint=false and destructiveHint=true. That is the same read-versus-destructive mismatch flagged in the calibration for annotation contradictions. The only genuine added context is the pricing note, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Core purpose is a single front-loaded sentence, with pricing clearly separated into its own block. A stray leading zero-width character and the billing clamp add minor noise, but nothing is bloated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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. However, for a POST data endpoint sitting among five overlapping tech siblings, the description supplies no selection criteria, no date-range defaults, and no note that 'technology' is mandatory inside the body array - gaps the schema alone does not close.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The top-level 'body' wrapper has no description (0% coverage on the reported metric) and the description adds no parameter information at all. The nested properties (tag, date_to, date_from, technology) do carry rich inline descriptions with formats, defaults, and examples, so the effective gap is narrower than the metric suggests, but the description itself contributes nothing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource and output: historical domain counts by country/language for a specified technology. That is far more informative than the bare title 'Technology Stats'. It does not, however, differentiate itself from closely named siblings like post_dataforseo_domains_tech_aggregation_live, summary_live, or domains_by_technology_live, which an agent would have to disambiguate 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description never says when to prefer this endpoint over the sibling tech endpoints (aggregation, summary, domains_by_technology) that clearly overlap. There is also no mention of defaults for the date range or that a technology must be supplied, despite the schema requiring it inside the body object.
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 OverviewBDestructiveInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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.
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.
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.
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.
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.
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.
searchSearch AIsa tools and agent-ready plansARead-onlyInspect
Discover AIsa tools and Plans for external data or actions. Skip tasks that only need supplied content or general knowledge. For multi-step tasks, search the full goal before decomposing it. Use English; put identifiers in known_fields. If has_full_schema=false, call batch_get_schema. Next call batch_quote, not batch_use. Do not search for standalone rewriting, translation, summarization, formatting, or calculations on supplied content. For one capability, use an atomic query. Select a matching capability, date window, and metric. A Plan may cover only part of the task; assess its purpose and follow next_steps_guidance.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of additional direct tool candidates. | |
| query | Yes | Natural-language capability or task to discover. | |
| category | No | Restrict retrieval to one category. Omit to search everything. (AIsa-only: tool-router has no equivalent.) | |
| session_id | No | Reuse the session_id returned by Search in all subsequent tool calls for this task. If omitted, a new session is created. | |
| known_fields | No | Known values such as ticker, URL, provider, or identifier that improve retrieval. | |
| provider_filters | No | 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. |
Output Schema
| Name | Required | Description |
|---|---|---|
| plan | No | |
| tools | Yes | |
| search_id | Yes | |
| session_id | Yes | Reuse the session_id returned by Search in all subsequent tool calls for this task. If omitted, a new session is created. |
| retrieval_mode | No | |
| next_steps_guidance | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds workflow behavior the annotations cannot: the has_full_schema flag gates a required batch_get_schema call, and the next step after search is batch_quote, not batch_use. It stops short of disclosing retrieval limits or catalog breadth that would push it to 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a dense run of imperatives rather than flowing prose, but each sentence carries a distinct rule (scope, language, workflow branch, negative cases, result interpretation) and the most important scoping guidance is front-loaded. Slightly more compression would help.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 it correctly avoids doing so while still referencing the output fields that drive the workflow (has_full_schema, next_steps_guidance). A mutation-free, well-annotated search tool is adequately covered, though catalog scope ('AIsa-only', no external providers) could be stated more explicitly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the structured baseline is 3. The description adds genuine meaning beyond the schema by telling the agent to write the query in English and to place tickers, URLs, providers, or identifiers in known_fields, which is non-obvious routing guidance for a nested free-form object.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb+resource: 'Discover AIsa tools and Plans for external data or actions.' It also separates this discovery step from the sibling execution tools by naming batch_get_schema, batch_quote, and batch_use and stating when each follows, so an agent can place it in the workflow without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit when-to-use ('tasks needing external data or actions'), when-not ('tasks that only need supplied content or general knowledge'; no standalone rewriting, translation, summarization, formatting, or calculations), and named alternatives (batch_get_schema when has_full_schema=false, batch_quote rather than batch_use). It also specifies query language and atomic-query style, leaving little to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
useRun an AIsa operationCDestructiveInspect
deprecated, use batch_use instead
| Name | Required | Description | Default |
|---|---|---|---|
| arguments | No | Arguments matching input_schema / arguments_schema | |
| search_id | No | search_id from the search that found this operation | |
| operation_id | Yes | operation_id as returned by search | |
| max_price_usd | No | Refuse the call before any spend if its quoted price is above this many USD |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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.
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.
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.
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.
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.
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.
9 tool updates
- Added
account - Removed
get_details - Changed
post_dataforseo_domains_tech_aggregation_live3 fields changed- added
Input schema / $defsAdded 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." + } +} - added
Input schema / properties / body / items / anyOfAdded value: +[ + { + "properties": { + "category": { + "description": "<em>id of the target technology category</em><br><strong>required field if you don't specify <code>group</code>, <code>keyword</code> or <code>technology</code></strong><br>at least one field (<code>group</code>, <code>category</code>, <code>keyword</code>, <code>technology</code>) must be set<br>you can find the full list of technology category ids <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br>example:<br><code>\"crm\"</code>", + "type": "string" + }, + "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><=</code>, <code>></code>, <code>>=</code>, <code>=</code>, <code><></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>you can use the following parameters to filter the results: <code>domain_rank</code>, <code>last_visited</code>, <code>country_iso_code</code>, <code>language_code</code>, <code>content_language_code</code><br><strong>Note:</strong> all filtering parameters are taken from the <code>domain_technology_item</code> of the <a href=\"/v3/domain_analytics/technologies/filters\" target=\"_blank\" rel=\"noopener noreferrer\">domain_technologies</a> endpoint;<br>example:<br><code>[[\"country_iso_code\",\"=\",\"US\"],<br>\"and\",<br>[\"domain_rank\",\">\",800]]</code>for more information about filters, please refer to <a href=\"/v3/domain_analytics/technologies/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Domain Analytics Technologies 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" + ] + }, + "group": { + "description": "<em>id of the target technology group</em><br><strong>required field if you don't specify <code>technology</code>, <code>category</code> or <code>keyword</code></strong><br>at least one field (<code>group</code>, <code>category</code>, <code>keyword</code>, <code>technology</code>) must be set<br>you can find the full list of technology group ids <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br>example:<br><code>\"marketing\"</code>", + "type": "string" + }, + "internal_categories_list_limit": { + "description": "<em>maximum number of returned technology categories within the same group</em><br>optional field<br>you can use this field to limit the number of items with identical <code>\"category\"</code> in the results<br>default value: <code>5</code><br>minimum value: <code>1</code><br>maximum value: <code>10000</code>", + "type": [ + "integer", + "null" + ] + }, + "internal_groups_list_limit": { + "description": "<em>maximum number of returned technology groups</em><br>optional field<br>you can use this field to limit the number of items with identical <code>\"group\"</code> in the results<br>default value: <code>5</code><br>minimum value: <code>1</code><br>maximum value: <code>10000</code>", + "type": [ + "integer", + "null" + ] + }, + "internal_list_limit": { + "description": "<em>maximum number of items with identical <code>\"category\"</code>, <code>\"group\"</code>, and <code>\"technology\"</code></em><br>optional field<br>if you use this field, the values specified in <code>internal_groups_list_limit</code>, <code>internal_categories_list_limit</code> and <code>internal_technologies_list_limit</code> will be ignored;<br>you can use this field to limit the number of items with identical <code>\"category\"</code>, <code>\"group\"</code>, or <code>\"technology\"</code><br>default value: <code>10</code><br>minimum value: <code>1</code><br>maximum value: <code>10000</code>", + "type": [ + "integer", + "null" + ] + }, + "internal_technologies_list_limit": { + "description": "<em>maximum number of returned technologies within the same category</em><br>optional field<br>you can use this field to limit the number of items with identical <code>\"technology\"</code> in the results<br>default value: <code>10</code><br>minimum value: <code>1</code><br>maximum value: <code>10000</code>", + "type": [ + "integer", + "null" + ] + }, + "keyword": { + "description": "<em>target keyword in the domain's meta keywords</em><br><strong>required field if you don't specify <code>group</code>, <code>category</code> or <code>technology</code></strong><br>at least one field (<code>group</code>, <code>category</code>, <code>keyword</code>, <code>technology</code>) must be set<br>UTF-8 encoding<br>example:<br><code>\"seo\"</code>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>", + "type": "string" + }, + "limit": { + "description": "<em>the maximum number of returned technologies</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>10000</code>", + "type": [ + "integer", + "null" + ] + }, + "mode": { + "description": "<em>search mode</em><br>optional field<br>possible search mode types:<br><code>as_is</code> - search for results exactly matching the specified group ids, category ids, or technology names<br><code>entry</code> - search for results matching a part of the specified group ids, category ids, or technology names<br>default value: <code>as_is</code>", + "type": [ + "string", + "null" + ] + }, + "offset": { + "description": "<em>offset in the results array of returned domains</em><br>optional field<br>default value: <code>0</code><br>maximum value: <code>9999</code><br>if you specify the <code>10</code> value, the first ten technologies in the results array will be omitted and the data will be provided for the successive technologies", + "type": [ + "integer", + "null" + ] + }, + "order_by": { + "description": "<em>results sorting rules</em><br>optional field<br>you can use the following values to sort the results: <code>groups_count</code>, <code>categories_count</code>, <code>technologies_count</code><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>[\"groups_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>[\"groups_count,desc\",\"technologies_count,desc\"]</code><br>default value:<br><code>[\"groups_count,desc\",\"categories_count,desc\",\"technologies_count,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" + ] + }, + "technology": { + "description": "<em>target technology</em><br><strong>required field if you don't specify <code>group</code>, <code>keyword</code> or <code>category</code></strong><br>at least one field (<code>group</code>, <code>category</code>, <code>keyword</code>, <code>technology</code>) must be set<br>you can find the full list of technologies <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br>example:<br><code>\"Salesforce\"</code>", + "type": "string" + } + }, + "type": "object" + } +] - removed
Input schema / properties / body / items / oneOfRemoved value: -[ - { - "example": [ - { - "filters": [ - [ - "country_iso_code", - "=", - "US" - ], - "and", - [ - "domain_rank", - ">", - 800 - ] - ], - "keyword": "WordPress", - "limit": 10, - "mode": "entry", - "order_by": [ - "groups_count,desc" - ], - "technology": "Nginx" - } - ], - "properties": { - "category": { - "description": "<em>id of the target technology category</em><br><strong>required field if you don't specify <code>group</code>, <code>keyword</code> or <code>technology</code></strong><br>at least one field (<code>group</code>, <code>category</code>, <code>keyword</code>, <code>technology</code>) must be set<br>you can find the full list of technology category ids <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br>example:<br><code>\"crm\"</code>", - "type": "string" - }, - "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><=</code>, <code>></code>, <code>>=</code>, <code>=</code>, <code><></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>you can use the following parameters to filter the results: <code>domain_rank</code>, <code>last_visited</code>, <code>country_iso_code</code>, <code>language_code</code>, <code>content_language_code</code><br><strong>Note:</strong> all filtering parameters are taken from the <code>domain_technology_item</code> of the <a href=\"/v3/domain_analytics/technologies/filters\" target=\"_blank\" rel=\"noopener noreferrer\">domain_technologies</a> endpoint;<br>example:<br><code>[[\"country_iso_code\",\"=\",\"US\"],<br>\"and\",<br>[\"domain_rank\",\">\",800]]</code>for more information about filters, please refer to <a href=\"/v3/domain_analytics/technologies/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Domain Analytics Technologies API - Filters</a>", - "items": { - "type": [ - "object", - "null" - ] - }, - "type": [ - "array", - "null" - ] - }, - "group": { - "description": "<em>id of the target technology group</em><br><strong>required field if you don't specify <code>technology</code>, <code>category</code> or <code>keyword</code></strong><br>at least one field (<code>group</code>, <code>category</code>, <code>keyword</code>, <code>technology</code>) must be set<br>you can find the full list of technology group ids <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br>example:<br><code>\"marketing\"</code>", - "type": "string" - }, - "internal_categories_list_limit": { - "description": "<em>maximum number of returned technology categories within the same group</em><br>optional field<br>you can use this field to limit the number of items with identical <code>\"category\"</code> in the results<br>default value: <code>5</code><br>minimum value: <code>1</code><br>maximum value: <code>10000</code>", - "type": [ - "integer", - "null" - ] - }, - "internal_groups_list_limit": { - "description": "<em>maximum number of returned technology groups</em><br>optional field<br>you can use this field to limit the number of items with identical <code>\"group\"</code> in the results<br>default value: <code>5</code><br>minimum value: <code>1</code><br>maximum value: <code>10000</code>", - "type": [ - "integer", - "null" - ] - }, - "internal_list_limit": { - "description": "<em>maximum number of items with identical <code>\"category\"</code>, <code>\"group\"</code>, and <code>\"technology\"</code></em><br>optional field<br>if you use this field, the values specified in <code>internal_groups_list_limit</code>, <code>internal_categories_list_limit</code> and <code>internal_technologies_list_limit</code> will be ignored;<br>you can use this field to limit the number of items with identical <code>\"category\"</code>, <code>\"group\"</code>, or <code>\"technology\"</code><br>default value: <code>10</code><br>minimum value: <code>1</code><br>maximum value: <code>10000</code>", - "type": [ - "integer", - "null" - ] - }, - "internal_technologies_list_limit": { - "description": "<em>maximum number of returned technologies within the same category</em><br>optional field<br>you can use this field to limit the number of items with identical <code>\"technology\"</code> in the results<br>default value: <code>10</code><br>minimum value: <code>1</code><br>maximum value: <code>10000</code>", - "type": [ - "integer", - "null" - ] - }, - "keyword": { - "description": "<em>target keyword in the domain's meta keywords</em><br><strong>required field if you don't specify <code>group</code>, <code>category</code> or <code>technology</code></strong><br>at least one field (<code>group</code>, <code>category</code>, <code>keyword</code>, <code>technology</code>) must be set<br>UTF-8 encoding<br>example:<br><code>\"seo\"</code>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>", - "type": "string" - }, - "limit": { - "description": "<em>the maximum number of returned technologies</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>10000</code>", - "type": [ - "integer", - "null" - ] - }, - "mode": { - "description": "<em>search mode</em><br>optional field<br>possible search mode types:<br><code>as_is</code> - search for results exactly matching the specified group ids, category ids, or technology names<br><code>entry</code> - search for results matching a part of the specified group ids, category ids, or technology names<br>default value: <code>as_is</code>", - "type": [ - "string", - "null" - ] - }, - "offset": { - "description": "<em>offset in the results array of returned domains</em><br>optional field<br>default value: <code>0</code><br>maximum value: <code>9999</code><br>if you specify the <code>10</code> value, the first ten technologies in the results array will be omitted and the data will be provided for the successive technologies", - "type": [ - "integer", - "null" - ] - }, - "order_by": { - "description": "<em>results sorting rules</em><br>optional field<br>you can use the following values to sort the results: <code>groups_count</code>, <code>categories_count</code>, <code>technologies_count</code><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>[\"groups_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>[\"groups_count,desc\",\"technologies_count,desc\"]</code><br>default value:<br><code>[\"groups_count,desc\",\"categories_count,desc\",\"technologies_count,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" - ] - }, - "technology": { - "description": "<em>target technology</em><br><strong>required field if you don't specify <code>group</code>, <code>keyword</code> or <code>category</code></strong><br>at least one field (<code>group</code>, <code>category</code>, <code>keyword</code>, <code>technology</code>) must be set<br>you can find the full list of technologies <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br>example:<br><code>\"Salesforce\"</code>", - "type": "string" - } - }, - "type": "object" - } -]
- Changed
post_dataforseo_domains_tech_domains_by_html_terms_live3 fields changed- added
Input schema / $defsAdded 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." + } +} - added
Input schema / properties / body / items / anyOfAdded 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><</code>, <code><=</code>, <code>></code>, <code>>=</code>, <code>=</code>, <code><></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>[\"domain\",\"like\",\"%seo%\"]</code><p><code>[[\"country_iso_code\",\"=\",\"US\"],<br>\"and\",<br>[\"domain_rank\",\">\",100]]</code><p><code>[[\"domain_rank\",\">\",100],<br>\"and\",<br>[[\"country_iso_code\",\"=\",\"US\"],\"or\",[\"country_iso_code\",\"=\",\"CA\"]]]</code><p>for more information about filters, please refer to <a href=\"/v3/domain_analytics/technologies/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Domain Analytics Technologies 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" + ] + }, + "keywords": { + "description": "<em>target keywords in the domain's title, description or meta keywords</em><br>optional field<br>UTF-8 encoding<br>maximum number of keywords you can specify: 10 <br>example:<br><code>[\"seo\",\"software\"]</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>", + "items": { + "type": "string" + }, + "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>10000</code>", + "type": [ + "integer", + "null" + ] + }, + "mode": { + "description": "<em>search mode</em><br>optional field<br>possible search mode types:<br><code>strict_entry</code> - search for results exactly matching the order, intervals and separators in the specified search terms<br><code>entry</code> - search for results ignoring the order, intervals and separators in the specified search terms<br>default value: <code>entry</code>", + "type": [ + "string", + "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 domains;<br><strong>Note:</strong> the maximum value is <code>9999</code>, the sum of <code>limit</code> and <code>offset</code> must not exceed <code>10000</code>;<br>use the <code>offset_token</code> if you would like to offset more results", + "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>available fields: <br><code>domain_rank</code>, <code>domain</code>, <code>last_visited</code>, <code>country_iso_code</code>, <code>language_code</code>, <code>content_language_code</code><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>[\"last_visited,desc\"]</code><br>default rule:<br><code>[\"domain_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>[\"last_visited,desc\",\"domain_rank,desc\"]</code>", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "search_terms": { + "description": "<em>target search terms</em><br><strong>required field</strong><br>specify target HTML elements, tags, attributes, their content or all of the above<br>if you specify more than one search term, you will receive only the domains containing all of the specified terms in the HTML code of their homepage<br>maximum number of search terms you can specify: 10<br>example:<br><code>[\"data-attrid\"]</code>", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } +] - removed
Input schema / properties / body / items / oneOfRemoved value: -[ - { - "example": [ - { - "limit": 10, - "offset": 0, - "order_by": [ - "last_visited,desc" - ], - "search_terms": [ - "data-attrid" - ] - } - ], - "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><</code>, <code><=</code>, <code>></code>, <code>>=</code>, <code>=</code>, <code><></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>[\"domain\",\"like\",\"%seo%\"]</code><p><code>[[\"country_iso_code\",\"=\",\"US\"],<br>\"and\",<br>[\"domain_rank\",\">\",100]]</code><p><code>[[\"domain_rank\",\">\",100],<br>\"and\",<br>[[\"country_iso_code\",\"=\",\"US\"],\"or\",[\"country_iso_code\",\"=\",\"CA\"]]]</code><p>for more information about filters, please refer to <a href=\"/v3/domain_analytics/technologies/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Domain Analytics Technologies API - Filters</a>", - "items": { - "type": [ - "object", - "null" - ] - }, - "type": [ - "array", - "null" - ] - }, - "keywords": { - "description": "<em>target keywords in the domain's title, description or meta keywords</em><br>optional field<br>UTF-8 encoding<br>maximum number of keywords you can specify: 10 <br>example:<br><code>[\"seo\",\"software\"]</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>", - "items": { - "type": "string" - }, - "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>10000</code>", - "type": [ - "integer", - "null" - ] - }, - "mode": { - "description": "<em>search mode</em><br>optional field<br>possible search mode types:<br><code>strict_entry</code> - search for results exactly matching the order, intervals and separators in the specified search terms<br><code>entry</code> - search for results ignoring the order, intervals and separators in the specified search terms<br>default value: <code>entry</code>", - "type": [ - "string", - "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 domains;<br><strong>Note:</strong> the maximum value is <code>9999</code>, the sum of <code>limit</code> and <code>offset</code> must not exceed <code>10000</code>;<br>use the <code>offset_token</code> if you would like to offset more results", - "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>available fields: <br><code>domain_rank</code>, <code>domain</code>, <code>last_visited</code>, <code>country_iso_code</code>, <code>language_code</code>, <code>content_language_code</code><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>[\"last_visited,desc\"]</code><br>default rule:<br><code>[\"domain_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>[\"last_visited,desc\",\"domain_rank,desc\"]</code>", - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "search_terms": { - "description": "<em>target search terms</em><br><strong>required field</strong><br>specify target HTML elements, tags, attributes, their content or all of the above<br>if you specify more than one search term, you will receive only the domains containing all of the specified terms in the HTML code of their homepage<br>maximum number of search terms you can specify: 10<br>example:<br><code>[\"data-attrid\"]</code>", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - } -]
- Changed
post_dataforseo_domains_tech_domains_by_technology_live3 fields changed- added
Input schema / $defsAdded 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." + } +} - added
Input schema / properties / body / items / anyOfAdded value: +[ + { + "properties": { + "categories": { + "description": "<em>ids of the target technology categories</em><br><strong>required field if you don't specify <code>groups</code>, <code>technology_paths</code>, <code>keywords</code> or <code>technologies</code></strong><br>you can find the full list of technology category ids <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br><strong>note:</strong> you can specify up to 10 technology categories in this array<br>example:<br><code>[\"payment_processors\",\"crm\"]</code>", + "items": { + "type": "string" + }, + "type": "array" + }, + "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><=</code>, <code>></code>, <code>>=</code>, <code>=</code>, <code><></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>[\"country_iso_code\",\"=\",\"US\"]</code><p><code>[[\"country_iso_code\",\"=\",\"US\"],<br>\"and\",<br>[\"domain_rank\",\">\",100]]</code><p><code>[[\"domain_rank\",\">\",100],<br>\"and\",<br>[[\"country_iso_code\",\"=\",\"US\"],\"or\",[\"country_iso_code\",\"=\",\"CA\"]]]</code><p>for more information about filters, please refer to <a href=\"/v3/domain_analytics/technologies/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Domain Analytics Technologies 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" + ] + }, + "groups": { + "description": "<em>ids of the target technology groups</em><br><strong>required field if you don't specify <code>technologies</code>, <code>technology_paths</code>, <code>keywords</code> or <code>categories</code></strong><br>you can find the full list of technology group ids <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br><strong>note:</strong> you can specify up to 10 technology groups in this array<br>example:<br><code>[\"sales\", \"marketing\"]</code>", + "items": { + "type": "string" + }, + "type": "array" + }, + "keywords": { + "description": "<em>target keywords in the domain's title, description or meta keywords</em><br><strong>required field if you don't specify <code>groups</code>, <code>technology_paths</code>, <code>technologies</code> or <code>categories</code></strong><br>optional field<br>you can specify the maximum of 10 keywords;<br>UTF-8 encoding;<br>example:<br><code>[\"seo\",\"software\"]</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>", + "items": { + "type": "string" + }, + "type": "array" + }, + "limit": { + "description": "<em>the maximum number of returned domains</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>10000</code>", + "type": [ + "integer", + "null" + ] + }, + "mode": { + "description": "<em>search mode</em><br>optional field<br>possible search mode types:<br><code>as_is</code> - search for results exactly matching the specified group ids, category ids, or technology names<br><code>entry</code> - search for results matching a part of the specified group ids, category ids, or technology names<br>default value: <code>as_is</code>", + "type": [ + "string", + "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 domains;<br><strong>Note:</strong> the maximum value is <code>9999</code>, the sum of <code>limit</code> and <code>offset</code> must not exceed <code>10000</code>;<br>use the <code>offset_token</code> if you would like to offset more results", + "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>available fields: <br><code>domain_rank</code>, <code>domain</code>, <code>last_visited</code>, <code>country_iso_code</code>, <code>language_code</code>, <code>content_language_code</code><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>[\"last_visited,desc\"]</code><br>default rule:<br><code>[\"domain_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>[\"last_visited,desc\",\"domain_rank,desc\"]</code>", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "technologies": { + "description": "<em>target technologies</em><br><strong>required field if you don't specify <code>groups</code>, <code>technology_paths</code>, <code>keywords</code> or <code>categories</code></strong><br>you can find the full list of technologies you can specify here <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br><strong>note:</strong> you can specify up to 10 technologies in this array<br>example:<br><code>[\"Google Pay\",\"Salesforce\"]</code>", + "items": { + "type": "string" + }, + "type": "array" + }, + "technology_paths": { + "description": "<em>target technology paths</em><br><strong>required field if you don't specify <code>groups</code>, <code>technologies</code>, <code>keywords</code> or <code>categories</code></strong><br>at least one field (<code>technology_paths</code>, <code>groups</code>, <code>technologies</code>, <code>keywords</code> or <code>categories</code>) must be set;<br>each technology path should be specified as a separate object containing \"path\" and \"name\", where \"path\" is specified as \"$group_id.$category_id\" and \"name\" - as the name of the target technology; <br>each object with a technology path should be separated with a comma<br>you can find the full list of technology group ids, category ids and technology names <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br><strong>note:</strong> you can specify up to 10 technology paths in this array<br>example:<br><code>[{\"path\": \"content.cms\",\"name\": \"wordpress\"}, {\"path\": \"marketing.crm\",\"name\": \"salesforce\"}]</code>", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } +] - removed
Input schema / properties / body / items / oneOfRemoved value: -[ - { - "example": [ - { - "filters": [ - [ - "country_iso_code", - "=", - "US" - ], - "and", - [ - "domain_rank", - ">", - 800 - ] - ], - "limit": 10, - "order_by": [ - "last_visited,desc" - ], - "technologies": [ - "Nginx" - ] - } - ], - "properties": { - "categories": { - "description": "<em>ids of the target technology categories</em><br><strong>required field if you don't specify <code>groups</code>, <code>technology_paths</code>, <code>keywords</code> or <code>technologies</code></strong><br>you can find the full list of technology category ids <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br><strong>note:</strong> you can specify up to 10 technology categories in this array<br>example:<br><code>[\"payment_processors\",\"crm\"]</code>", - "items": { - "type": "string" - }, - "type": "array" - }, - "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><=</code>, <code>></code>, <code>>=</code>, <code>=</code>, <code><></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>[\"country_iso_code\",\"=\",\"US\"]</code><p><code>[[\"country_iso_code\",\"=\",\"US\"],<br>\"and\",<br>[\"domain_rank\",\">\",100]]</code><p><code>[[\"domain_rank\",\">\",100],<br>\"and\",<br>[[\"country_iso_code\",\"=\",\"US\"],\"or\",[\"country_iso_code\",\"=\",\"CA\"]]]</code><p>for more information about filters, please refer to <a href=\"/v3/domain_analytics/technologies/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Domain Analytics Technologies API - Filters</a>", - "items": { - "type": [ - "object", - "null" - ] - }, - "type": [ - "array", - "null" - ] - }, - "groups": { - "description": "<em>ids of the target technology groups</em><br><strong>required field if you don't specify <code>technologies</code>, <code>technology_paths</code>, <code>keywords</code> or <code>categories</code></strong><br>you can find the full list of technology group ids <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br><strong>note:</strong> you can specify up to 10 technology groups in this array<br>example:<br><code>[\"sales\", \"marketing\"]</code>", - "items": { - "type": "string" - }, - "type": "array" - }, - "keywords": { - "description": "<em>target keywords in the domain's title, description or meta keywords</em><br><strong>required field if you don't specify <code>groups</code>, <code>technology_paths</code>, <code>technologies</code> or <code>categories</code></strong><br>optional field<br>you can specify the maximum of 10 keywords;<br>UTF-8 encoding;<br>example:<br><code>[\"seo\",\"software\"]</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>", - "items": { - "type": "string" - }, - "type": "array" - }, - "limit": { - "description": "<em>the maximum number of returned domains</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>10000</code>", - "type": [ - "integer", - "null" - ] - }, - "mode": { - "description": "<em>search mode</em><br>optional field<br>possible search mode types:<br><code>as_is</code> - search for results exactly matching the specified group ids, category ids, or technology names<br><code>entry</code> - search for results matching a part of the specified group ids, category ids, or technology names<br>default value: <code>as_is</code>", - "type": [ - "string", - "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 domains;<br><strong>Note:</strong> the maximum value is <code>9999</code>, the sum of <code>limit</code> and <code>offset</code> must not exceed <code>10000</code>;<br>use the <code>offset_token</code> if you would like to offset more results", - "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>available fields: <br><code>domain_rank</code>, <code>domain</code>, <code>last_visited</code>, <code>country_iso_code</code>, <code>language_code</code>, <code>content_language_code</code><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>[\"last_visited,desc\"]</code><br>default rule:<br><code>[\"domain_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>[\"last_visited,desc\",\"domain_rank,desc\"]</code>", - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "technologies": { - "description": "<em>target technologies</em><br><strong>required field if you don't specify <code>groups</code>, <code>technology_paths</code>, <code>keywords</code> or <code>categories</code></strong><br>you can find the full list of technologies you can specify here <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br><strong>note:</strong> you can specify up to 10 technologies in this array<br>example:<br><code>[\"Google Pay\",\"Salesforce\"]</code>", - "items": { - "type": "string" - }, - "type": "array" - }, - "technology_paths": { - "description": "<em>target technology paths</em><br><strong>required field if you don't specify <code>groups</code>, <code>technologies</code>, <code>keywords</code> or <code>categories</code></strong><br>at least one field (<code>technology_paths</code>, <code>groups</code>, <code>technologies</code>, <code>keywords</code> or <code>categories</code>) must be set;<br>each technology path should be specified as a separate object containing \"path\" and \"name\", where \"path\" is specified as \"$group_id.$category_id\" and \"name\" - as the name of the target technology; <br>each object with a technology path should be separated with a comma<br>you can find the full list of technology group ids, category ids and technology names <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br><strong>note:</strong> you can specify up to 10 technology paths in this array<br>example:<br><code>[{\"path\": \"content.cms\",\"name\": \"wordpress\"}, {\"path\": \"marketing.crm\",\"name\": \"salesforce\"}]</code>", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - } -]
- Changed
post_dataforseo_domains_tech_for_domain_live1 field changed- changed
Input schema / properties / body / items / oneOfPrevious 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" + } +]
- Changed
post_dataforseo_domains_tech_summary_live3 fields changed- added
Input schema / $defsAdded 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." + } +} - added
Input schema / properties / body / items / anyOfAdded value: +[ + { + "properties": { + "categories": { + "description": "<em>ids of the target technology categories</em><br><strong>required field if you don't specify <code>groups</code>, <code>technology_paths</code>, <code>technologies</code>, or <code>keywords</code></strong><br>you can find the full list of technology category ids <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br><strong>note:</strong> you can specify up to 10 technology categories in this array<br>example:<br><code>[\"payment_processors\",\"crm\"]</code>", + "items": { + "type": "string" + }, + "type": "array" + }, + "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><=</code>, <code>></code>, <code>>=</code>, <code>=</code>, <code><></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>you can use the following parameters to filter the results: <code>domain_rank</code>, <code>last_visited</code>, <code>country_iso_code</code>, <code>language_code</code>, <code>content_language_code</code><br>example:<br><code>[[\"country_iso_code\",\"=\",\"US\"],<br>\"and\",<br>[\"domain_rank\",\">\",800]]</code><p>for more information about filters, please refer to <a href=\"/v3/domain_analytics/technologies/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Domain Analytics Technologies 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" + ] + }, + "groups": { + "description": "<em>ids of the target technology groups</em><br><strong>required field if you don't specify <code>technologies</code>, <code>technology_paths</code>, <code>categories</code>, or <code>keywords</code></strong><br>you can find the full list of technology group ids <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br><strong>note:</strong> you can specify up to 10 technology groups in this array<br>example:<br><code>[\"sales\", \"marketing\"]</code>", + "items": { + "type": "string" + }, + "type": "array" + }, + "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>countries</code>, <code>languages</code>, <code>content_languages</code>, <code>keywords</code><br>default value: <code>10</code><br>minimum value: <code>1</code><br>maximum value: <code>10000</code>", + "type": [ + "integer", + "null" + ] + }, + "keywords": { + "description": "<em>target keywords in the domain's title, description or meta keywords</em><br><strong>required field if you don't specify <code>groups</code>, <code>technology_paths</code>, <code>categories</code>, or <code>technologies</code></strong><br>you can specify the maximum of 10 keywords;<br>UTF-8 encoding;<br>example:<br><code>[\"seo\",\"software\"]</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>", + "items": { + "type": "string" + }, + "type": "array" + }, + "mode": { + "description": "<em>search mode</em><br>optional field<br>possible search mode types:<br><code>as_is</code> - search for results exactly matching the specified group ids, category ids, or technology names<br><code>entry</code> - search for results matching a part of the specified group ids, category ids, or technology names<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" + ] + }, + "technologies": { + "description": "<em>target technologies</em><br><strong>required field if you don't specify <code>groups</code>, <code>technology_paths</code>, <code>categories</code>, or <code>keywords</code></strong><br>you can find the full list of technologies you can specify here <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br><strong>note:</strong> you can specify up to 10 technologies in this array<br>example:<br><code>[\"Google Pay\",\"Salesforce\"]</code>", + "items": { + "type": "string" + }, + "type": "array" + }, + "technology_paths": { + "description": "<em>target technology paths</em><br><strong>required field if you don't specify <code>groups</code>, <code>technologies</code> and <code>categories</code></strong><br>each technology path should be specified as a separate object containing \"path\" and \"name\", where \"path\" is specified as \"$group_id.$category_id\" and \"name\" - as the name of the target technology; <br>each object with a technology path should be separated with a comma<br>you can find the full list of technology group ids, category ids and technology names <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br><strong>note:</strong> you can specify up to 10 technology paths in this array<br>example:<br><code>[{\"path\": \"content.cms\",\"name\": \"wordpress\"}, {\"path\": \"marketing.crm\",\"name\": \"salesforce\"}]</code>", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } +] - removed
Input schema / properties / body / items / oneOfRemoved value: -[ - { - "example": [ - { - "filters": [ - [ - "country_iso_code", - "=", - "US" - ], - "and", - [ - "domain_rank", - ">", - 800 - ] - ], - "keywords": [ - "WordPress" - ], - "mode": "entry", - "technologies": [ - "Ngi" - ] - } - ], - "properties": { - "categories": { - "description": "<em>ids of the target technology categories</em><br><strong>required field if you don't specify <code>groups</code>, <code>technology_paths</code>, <code>technologies</code>, or <code>keywords</code></strong><br>you can find the full list of technology category ids <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br><strong>note:</strong> you can specify up to 10 technology categories in this array<br>example:<br><code>[\"payment_processors\",\"crm\"]</code>", - "items": { - "type": "string" - }, - "type": "array" - }, - "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><=</code>, <code>></code>, <code>>=</code>, <code>=</code>, <code><></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>you can use the following parameters to filter the results: <code>domain_rank</code>, <code>last_visited</code>, <code>country_iso_code</code>, <code>language_code</code>, <code>content_language_code</code><br>example:<br><code>[[\"country_iso_code\",\"=\",\"US\"],<br>\"and\",<br>[\"domain_rank\",\">\",800]]</code><p>for more information about filters, please refer to <a href=\"/v3/domain_analytics/technologies/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Domain Analytics Technologies API - Filters</a>", - "items": { - "type": [ - "object", - "null" - ] - }, - "type": [ - "array", - "null" - ] - }, - "groups": { - "description": "<em>ids of the target technology groups</em><br><strong>required field if you don't specify <code>technologies</code>, <code>technology_paths</code>, <code>categories</code>, or <code>keywords</code></strong><br>you can find the full list of technology group ids <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br><strong>note:</strong> you can specify up to 10 technology groups in this array<br>example:<br><code>[\"sales\", \"marketing\"]</code>", - "items": { - "type": "string" - }, - "type": "array" - }, - "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>countries</code>, <code>languages</code>, <code>content_languages</code>, <code>keywords</code><br>default value: <code>10</code><br>minimum value: <code>1</code><br>maximum value: <code>10000</code>", - "type": [ - "integer", - "null" - ] - }, - "keywords": { - "description": "<em>target keywords in the domain's title, description or meta keywords</em><br><strong>required field if you don't specify <code>groups</code>, <code>technology_paths</code>, <code>categories</code>, or <code>technologies</code></strong><br>you can specify the maximum of 10 keywords;<br>UTF-8 encoding;<br>example:<br><code>[\"seo\",\"software\"]</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>", - "items": { - "type": "string" - }, - "type": "array" - }, - "mode": { - "description": "<em>search mode</em><br>optional field<br>possible search mode types:<br><code>as_is</code> - search for results exactly matching the specified group ids, category ids, or technology names<br><code>entry</code> - search for results matching a part of the specified group ids, category ids, or technology names<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" - ] - }, - "technologies": { - "description": "<em>target technologies</em><br><strong>required field if you don't specify <code>groups</code>, <code>technology_paths</code>, <code>categories</code>, or <code>keywords</code></strong><br>you can find the full list of technologies you can specify here <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br><strong>note:</strong> you can specify up to 10 technologies in this array<br>example:<br><code>[\"Google Pay\",\"Salesforce\"]</code>", - "items": { - "type": "string" - }, - "type": "array" - }, - "technology_paths": { - "description": "<em>target technology paths</em><br><strong>required field if you don't specify <code>groups</code>, <code>technologies</code> and <code>categories</code></strong><br>each technology path should be specified as a separate object containing \"path\" and \"name\", where \"path\" is specified as \"$group_id.$category_id\" and \"name\" - as the name of the target technology; <br>each object with a technology path should be separated with a comma<br>you can find the full list of technology group ids, category ids and technology names <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br><strong>note:</strong> you can specify up to 10 technology paths in this array<br>example:<br><code>[{\"path\": \"content.cms\",\"name\": \"wordpress\"}, {\"path\": \"marketing.crm\",\"name\": \"salesforce\"}]</code>", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - } -]
- Changed
post_dataforseo_domains_tech_technology_stats_live1 field changed- changed
Input schema / properties / body / items / oneOfPrevious value: -[ - { - "example": [ - { - "date_from": "2022-10-31", - "date_to": "2023-06-01", - "technology": "jQuery" - } - ], - "properties": { - "date_from": { - "description": "<em>starting date of the time range</em><br>optional field<br>minimum value: <code>2022-10-31</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>\"2023-06-01\"</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>\"2023-01-15\"</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" - ] - }, - "technology": { - "description": "<em>target technology</em><br><strong>required field</strong><br>you can find the full list of technologies you can specify here <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br>example:<br><code>\"Salesforce\"</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>2022-10-31</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>\"2023-06-01\"</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>\"2023-01-15\"</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" + ] + }, + "technology": { + "description": "<em>target technology</em><br><strong>required field</strong><br>you can find the full list of technologies you can specify here <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br>example:<br><code>\"Salesforce\"</code>", + "type": "string" + } + }, + "type": "object" + } +]
- Changed
post_dataforseo_domains_whois_overview_live3 fields changed- added
Input schema / $defsAdded 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." + } +} - added
Input schema / properties / body / items / anyOfAdded 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><</code>, <code><=</code>, <code>></code>, <code>>=</code>, <code>=</code>, <code><></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" + } +] - removed
Input schema / properties / body / items / oneOfRemoved 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><</code>, <code><=</code>, <code>></code>, <code>>=</code>, <code>=</code>, <code><></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" - } -]
7 tool updates
- Changed
post_dataforseo_domains_tech_aggregation_live2 fields changed- removed
Input schema / properties / body / items / anyOfRemoved value: -[ - { - "example": [ - { - "filters": [ - [ - "country_iso_code", - "=", - "US" - ], - "and", - [ - "domain_rank", - ">", - 800 - ] - ], - "keyword": "WordPress", - "limit": 10, - "mode": "entry", - "order_by": [ - "groups_count,desc" - ], - "technology": "Nginx" - } - ], - "properties": { - "category": { - "description": "<em>id of the target technology category</em><br><strong>required field if you don't specify <code>group</code>, <code>keyword</code> or <code>technology</code></strong><br>at least one field (<code>group</code>, <code>category</code>, <code>keyword</code>, <code>technology</code>) must be set<br>you can find the full list of technology category ids <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br>example:<br><code>\"crm\"</code>", - "type": "string" - }, - "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><=</code>, <code>></code>, <code>>=</code>, <code>=</code>, <code><></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>you can use the following parameters to filter the results: <code>domain_rank</code>, <code>last_visited</code>, <code>country_iso_code</code>, <code>language_code</code>, <code>content_language_code</code><br><strong>Note:</strong> all filtering parameters are taken from the <code>domain_technology_item</code> of the <a href=\"/v3/domain_analytics/technologies/filters\" target=\"_blank\" rel=\"noopener noreferrer\">domain_technologies</a> endpoint;<br>example:<br><code>[[\"country_iso_code\",\"=\",\"US\"],<br>\"and\",<br>[\"domain_rank\",\">\",800]]</code>for more information about filters, please refer to <a href=\"/v3/domain_analytics/technologies/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Domain Analytics Technologies API - Filters</a>", - "items": { - "type": [ - "object", - "null" - ] - }, - "type": [ - "array", - "null" - ] - }, - "group": { - "description": "<em>id of the target technology group</em><br><strong>required field if you don't specify <code>technology</code>, <code>category</code> or <code>keyword</code></strong><br>at least one field (<code>group</code>, <code>category</code>, <code>keyword</code>, <code>technology</code>) must be set<br>you can find the full list of technology group ids <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br>example:<br><code>\"marketing\"</code>", - "type": "string" - }, - "internal_categories_list_limit": { - "description": "<em>maximum number of returned technology categories within the same group</em><br>optional field<br>you can use this field to limit the number of items with identical <code>\"category\"</code> in the results<br>default value: <code>5</code><br>minimum value: <code>1</code><br>maximum value: <code>10000</code>", - "type": [ - "integer", - "null" - ] - }, - "internal_groups_list_limit": { - "description": "<em>maximum number of returned technology groups</em><br>optional field<br>you can use this field to limit the number of items with identical <code>\"group\"</code> in the results<br>default value: <code>5</code><br>minimum value: <code>1</code><br>maximum value: <code>10000</code>", - "type": [ - "integer", - "null" - ] - }, - "internal_list_limit": { - "description": "<em>maximum number of items with identical <code>\"category\"</code>, <code>\"group\"</code>, and <code>\"technology\"</code></em><br>optional field<br>if you use this field, the values specified in <code>internal_groups_list_limit</code>, <code>internal_categories_list_limit</code> and <code>internal_technologies_list_limit</code> will be ignored;<br>you can use this field to limit the number of items with identical <code>\"category\"</code>, <code>\"group\"</code>, or <code>\"technology\"</code><br>default value: <code>10</code><br>minimum value: <code>1</code><br>maximum value: <code>10000</code>", - "type": [ - "integer", - "null" - ] - }, - "internal_technologies_list_limit": { - "description": "<em>maximum number of returned technologies within the same category</em><br>optional field<br>you can use this field to limit the number of items with identical <code>\"technology\"</code> in the results<br>default value: <code>10</code><br>minimum value: <code>1</code><br>maximum value: <code>10000</code>", - "type": [ - "integer", - "null" - ] - }, - "keyword": { - "description": "<em>target keyword in the domain's meta keywords</em><br><strong>required field if you don't specify <code>group</code>, <code>category</code> or <code>technology</code></strong><br>at least one field (<code>group</code>, <code>category</code>, <code>keyword</code>, <code>technology</code>) must be set<br>UTF-8 encoding<br>example:<br><code>\"seo\"</code>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>", - "type": "string" - }, - "limit": { - "description": "<em>the maximum number of returned technologies</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>10000</code>", - "type": [ - "integer", - "null" - ] - }, - "mode": { - "description": "<em>search mode</em><br>optional field<br>possible search mode types:<br><code>as_is</code> - search for results exactly matching the specified group ids, category ids, or technology names<br><code>entry</code> - search for results matching a part of the specified group ids, category ids, or technology names<br>default value: <code>as_is</code>", - "type": [ - "string", - "null" - ] - }, - "offset": { - "description": "<em>offset in the results array of returned domains</em><br>optional field<br>default value: <code>0</code><br>maximum value: <code>9999</code><br>if you specify the <code>10</code> value, the first ten technologies in the results array will be omitted and the data will be provided for the successive technologies", - "type": [ - "integer", - "null" - ] - }, - "order_by": { - "description": "<em>results sorting rules</em><br>optional field<br>you can use the following values to sort the results: <code>groups_count</code>, <code>categories_count</code>, <code>technologies_count</code><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>[\"groups_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>[\"groups_count,desc\",\"technologies_count,desc\"]</code><br>default value:<br><code>[\"groups_count,desc\",\"categories_count,desc\",\"technologies_count,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" - ] - }, - "technology": { - "description": "<em>target technology</em><br><strong>required field if you don't specify <code>group</code>, <code>keyword</code> or <code>category</code></strong><br>at least one field (<code>group</code>, <code>category</code>, <code>keyword</code>, <code>technology</code>) must be set<br>you can find the full list of technologies <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br>example:<br><code>\"Salesforce\"</code>", - "type": "string" - } - }, - "type": "object" - } -] - added
Input schema / properties / body / items / oneOfAdded value: +[ + { + "example": [ + { + "filters": [ + [ + "country_iso_code", + "=", + "US" + ], + "and", + [ + "domain_rank", + ">", + 800 + ] + ], + "keyword": "WordPress", + "limit": 10, + "mode": "entry", + "order_by": [ + "groups_count,desc" + ], + "technology": "Nginx" + } + ], + "properties": { + "category": { + "description": "<em>id of the target technology category</em><br><strong>required field if you don't specify <code>group</code>, <code>keyword</code> or <code>technology</code></strong><br>at least one field (<code>group</code>, <code>category</code>, <code>keyword</code>, <code>technology</code>) must be set<br>you can find the full list of technology category ids <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br>example:<br><code>\"crm\"</code>", + "type": "string" + }, + "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><=</code>, <code>></code>, <code>>=</code>, <code>=</code>, <code><></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>you can use the following parameters to filter the results: <code>domain_rank</code>, <code>last_visited</code>, <code>country_iso_code</code>, <code>language_code</code>, <code>content_language_code</code><br><strong>Note:</strong> all filtering parameters are taken from the <code>domain_technology_item</code> of the <a href=\"/v3/domain_analytics/technologies/filters\" target=\"_blank\" rel=\"noopener noreferrer\">domain_technologies</a> endpoint;<br>example:<br><code>[[\"country_iso_code\",\"=\",\"US\"],<br>\"and\",<br>[\"domain_rank\",\">\",800]]</code>for more information about filters, please refer to <a href=\"/v3/domain_analytics/technologies/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Domain Analytics Technologies API - Filters</a>", + "items": { + "type": [ + "object", + "null" + ] + }, + "type": [ + "array", + "null" + ] + }, + "group": { + "description": "<em>id of the target technology group</em><br><strong>required field if you don't specify <code>technology</code>, <code>category</code> or <code>keyword</code></strong><br>at least one field (<code>group</code>, <code>category</code>, <code>keyword</code>, <code>technology</code>) must be set<br>you can find the full list of technology group ids <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br>example:<br><code>\"marketing\"</code>", + "type": "string" + }, + "internal_categories_list_limit": { + "description": "<em>maximum number of returned technology categories within the same group</em><br>optional field<br>you can use this field to limit the number of items with identical <code>\"category\"</code> in the results<br>default value: <code>5</code><br>minimum value: <code>1</code><br>maximum value: <code>10000</code>", + "type": [ + "integer", + "null" + ] + }, + "internal_groups_list_limit": { + "description": "<em>maximum number of returned technology groups</em><br>optional field<br>you can use this field to limit the number of items with identical <code>\"group\"</code> in the results<br>default value: <code>5</code><br>minimum value: <code>1</code><br>maximum value: <code>10000</code>", + "type": [ + "integer", + "null" + ] + }, + "internal_list_limit": { + "description": "<em>maximum number of items with identical <code>\"category\"</code>, <code>\"group\"</code>, and <code>\"technology\"</code></em><br>optional field<br>if you use this field, the values specified in <code>internal_groups_list_limit</code>, <code>internal_categories_list_limit</code> and <code>internal_technologies_list_limit</code> will be ignored;<br>you can use this field to limit the number of items with identical <code>\"category\"</code>, <code>\"group\"</code>, or <code>\"technology\"</code><br>default value: <code>10</code><br>minimum value: <code>1</code><br>maximum value: <code>10000</code>", + "type": [ + "integer", + "null" + ] + }, + "internal_technologies_list_limit": { + "description": "<em>maximum number of returned technologies within the same category</em><br>optional field<br>you can use this field to limit the number of items with identical <code>\"technology\"</code> in the results<br>default value: <code>10</code><br>minimum value: <code>1</code><br>maximum value: <code>10000</code>", + "type": [ + "integer", + "null" + ] + }, + "keyword": { + "description": "<em>target keyword in the domain's meta keywords</em><br><strong>required field if you don't specify <code>group</code>, <code>category</code> or <code>technology</code></strong><br>at least one field (<code>group</code>, <code>category</code>, <code>keyword</code>, <code>technology</code>) must be set<br>UTF-8 encoding<br>example:<br><code>\"seo\"</code>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>", + "type": "string" + }, + "limit": { + "description": "<em>the maximum number of returned technologies</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>10000</code>", + "type": [ + "integer", + "null" + ] + }, + "mode": { + "description": "<em>search mode</em><br>optional field<br>possible search mode types:<br><code>as_is</code> - search for results exactly matching the specified group ids, category ids, or technology names<br><code>entry</code> - search for results matching a part of the specified group ids, category ids, or technology names<br>default value: <code>as_is</code>", + "type": [ + "string", + "null" + ] + }, + "offset": { + "description": "<em>offset in the results array of returned domains</em><br>optional field<br>default value: <code>0</code><br>maximum value: <code>9999</code><br>if you specify the <code>10</code> value, the first ten technologies in the results array will be omitted and the data will be provided for the successive technologies", + "type": [ + "integer", + "null" + ] + }, + "order_by": { + "description": "<em>results sorting rules</em><br>optional field<br>you can use the following values to sort the results: <code>groups_count</code>, <code>categories_count</code>, <code>technologies_count</code><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>[\"groups_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>[\"groups_count,desc\",\"technologies_count,desc\"]</code><br>default value:<br><code>[\"groups_count,desc\",\"categories_count,desc\",\"technologies_count,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" + ] + }, + "technology": { + "description": "<em>target technology</em><br><strong>required field if you don't specify <code>group</code>, <code>keyword</code> or <code>category</code></strong><br>at least one field (<code>group</code>, <code>category</code>, <code>keyword</code>, <code>technology</code>) must be set<br>you can find the full list of technologies <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br>example:<br><code>\"Salesforce\"</code>", + "type": "string" + } + }, + "type": "object" + } +]
- Changed
post_dataforseo_domains_tech_domains_by_html_terms_live2 fields changed- removed
Input schema / properties / body / items / anyOfRemoved value: -[ - { - "example": [ - { - "limit": 10, - "offset": 0, - "order_by": [ - "last_visited,desc" - ], - "search_terms": [ - "data-attrid" - ] - } - ], - "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><</code>, <code><=</code>, <code>></code>, <code>>=</code>, <code>=</code>, <code><></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>[\"domain\",\"like\",\"%seo%\"]</code><p><code>[[\"country_iso_code\",\"=\",\"US\"],<br>\"and\",<br>[\"domain_rank\",\">\",100]]</code><p><code>[[\"domain_rank\",\">\",100],<br>\"and\",<br>[[\"country_iso_code\",\"=\",\"US\"],\"or\",[\"country_iso_code\",\"=\",\"CA\"]]]</code><p>for more information about filters, please refer to <a href=\"/v3/domain_analytics/technologies/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Domain Analytics Technologies API - Filters</a>", - "items": { - "type": [ - "object", - "null" - ] - }, - "type": [ - "array", - "null" - ] - }, - "keywords": { - "description": "<em>target keywords in the domain's title, description or meta keywords</em><br>optional field<br>UTF-8 encoding<br>maximum number of keywords you can specify: 10 <br>example:<br><code>[\"seo\",\"software\"]</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>", - "items": { - "type": "string" - }, - "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>10000</code>", - "type": [ - "integer", - "null" - ] - }, - "mode": { - "description": "<em>search mode</em><br>optional field<br>possible search mode types:<br><code>strict_entry</code> - search for results exactly matching the order, intervals and separators in the specified search terms<br><code>entry</code> - search for results ignoring the order, intervals and separators in the specified search terms<br>default value: <code>entry</code>", - "type": [ - "string", - "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 domains;<br><strong>Note:</strong> the maximum value is <code>9999</code>, the sum of <code>limit</code> and <code>offset</code> must not exceed <code>10000</code>;<br>use the <code>offset_token</code> if you would like to offset more results", - "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>available fields: <br><code>domain_rank</code>, <code>domain</code>, <code>last_visited</code>, <code>country_iso_code</code>, <code>language_code</code>, <code>content_language_code</code><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>[\"last_visited,desc\"]</code><br>default rule:<br><code>[\"domain_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>[\"last_visited,desc\",\"domain_rank,desc\"]</code>", - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "search_terms": { - "description": "<em>target search terms</em><br><strong>required field</strong><br>specify target HTML elements, tags, attributes, their content or all of the above<br>if you specify more than one search term, you will receive only the domains containing all of the specified terms in the HTML code of their homepage<br>maximum number of search terms you can specify: 10<br>example:<br><code>[\"data-attrid\"]</code>", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - } -] - added
Input schema / properties / body / items / oneOfAdded value: +[ + { + "example": [ + { + "limit": 10, + "offset": 0, + "order_by": [ + "last_visited,desc" + ], + "search_terms": [ + "data-attrid" + ] + } + ], + "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><</code>, <code><=</code>, <code>></code>, <code>>=</code>, <code>=</code>, <code><></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>[\"domain\",\"like\",\"%seo%\"]</code><p><code>[[\"country_iso_code\",\"=\",\"US\"],<br>\"and\",<br>[\"domain_rank\",\">\",100]]</code><p><code>[[\"domain_rank\",\">\",100],<br>\"and\",<br>[[\"country_iso_code\",\"=\",\"US\"],\"or\",[\"country_iso_code\",\"=\",\"CA\"]]]</code><p>for more information about filters, please refer to <a href=\"/v3/domain_analytics/technologies/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Domain Analytics Technologies API - Filters</a>", + "items": { + "type": [ + "object", + "null" + ] + }, + "type": [ + "array", + "null" + ] + }, + "keywords": { + "description": "<em>target keywords in the domain's title, description or meta keywords</em><br>optional field<br>UTF-8 encoding<br>maximum number of keywords you can specify: 10 <br>example:<br><code>[\"seo\",\"software\"]</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>", + "items": { + "type": "string" + }, + "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>10000</code>", + "type": [ + "integer", + "null" + ] + }, + "mode": { + "description": "<em>search mode</em><br>optional field<br>possible search mode types:<br><code>strict_entry</code> - search for results exactly matching the order, intervals and separators in the specified search terms<br><code>entry</code> - search for results ignoring the order, intervals and separators in the specified search terms<br>default value: <code>entry</code>", + "type": [ + "string", + "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 domains;<br><strong>Note:</strong> the maximum value is <code>9999</code>, the sum of <code>limit</code> and <code>offset</code> must not exceed <code>10000</code>;<br>use the <code>offset_token</code> if you would like to offset more results", + "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>available fields: <br><code>domain_rank</code>, <code>domain</code>, <code>last_visited</code>, <code>country_iso_code</code>, <code>language_code</code>, <code>content_language_code</code><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>[\"last_visited,desc\"]</code><br>default rule:<br><code>[\"domain_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>[\"last_visited,desc\",\"domain_rank,desc\"]</code>", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "search_terms": { + "description": "<em>target search terms</em><br><strong>required field</strong><br>specify target HTML elements, tags, attributes, their content or all of the above<br>if you specify more than one search term, you will receive only the domains containing all of the specified terms in the HTML code of their homepage<br>maximum number of search terms you can specify: 10<br>example:<br><code>[\"data-attrid\"]</code>", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } +]
- Changed
post_dataforseo_domains_tech_domains_by_technology_live2 fields changed- removed
Input schema / properties / body / items / anyOfRemoved value: -[ - { - "example": [ - { - "filters": [ - [ - "country_iso_code", - "=", - "US" - ], - "and", - [ - "domain_rank", - ">", - 800 - ] - ], - "limit": 10, - "order_by": [ - "last_visited,desc" - ], - "technologies": [ - "Nginx" - ] - } - ], - "properties": { - "categories": { - "description": "<em>ids of the target technology categories</em><br><strong>required field if you don't specify <code>groups</code>, <code>technology_paths</code>, <code>keywords</code> or <code>technologies</code></strong><br>you can find the full list of technology category ids <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br><strong>note:</strong> you can specify up to 10 technology categories in this array<br>example:<br><code>[\"payment_processors\",\"crm\"]</code>", - "items": { - "type": "string" - }, - "type": "array" - }, - "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><=</code>, <code>></code>, <code>>=</code>, <code>=</code>, <code><></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>[\"country_iso_code\",\"=\",\"US\"]</code><p><code>[[\"country_iso_code\",\"=\",\"US\"],<br>\"and\",<br>[\"domain_rank\",\">\",100]]</code><p><code>[[\"domain_rank\",\">\",100],<br>\"and\",<br>[[\"country_iso_code\",\"=\",\"US\"],\"or\",[\"country_iso_code\",\"=\",\"CA\"]]]</code><p>for more information about filters, please refer to <a href=\"/v3/domain_analytics/technologies/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Domain Analytics Technologies API - Filters</a>", - "items": { - "type": [ - "object", - "null" - ] - }, - "type": [ - "array", - "null" - ] - }, - "groups": { - "description": "<em>ids of the target technology groups</em><br><strong>required field if you don't specify <code>technologies</code>, <code>technology_paths</code>, <code>keywords</code> or <code>categories</code></strong><br>you can find the full list of technology group ids <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br><strong>note:</strong> you can specify up to 10 technology groups in this array<br>example:<br><code>[\"sales\", \"marketing\"]</code>", - "items": { - "type": "string" - }, - "type": "array" - }, - "keywords": { - "description": "<em>target keywords in the domain's title, description or meta keywords</em><br><strong>required field if you don't specify <code>groups</code>, <code>technology_paths</code>, <code>technologies</code> or <code>categories</code></strong><br>optional field<br>you can specify the maximum of 10 keywords;<br>UTF-8 encoding;<br>example:<br><code>[\"seo\",\"software\"]</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>", - "items": { - "type": "string" - }, - "type": "array" - }, - "limit": { - "description": "<em>the maximum number of returned domains</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>10000</code>", - "type": [ - "integer", - "null" - ] - }, - "mode": { - "description": "<em>search mode</em><br>optional field<br>possible search mode types:<br><code>as_is</code> - search for results exactly matching the specified group ids, category ids, or technology names<br><code>entry</code> - search for results matching a part of the specified group ids, category ids, or technology names<br>default value: <code>as_is</code>", - "type": [ - "string", - "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 domains;<br><strong>Note:</strong> the maximum value is <code>9999</code>, the sum of <code>limit</code> and <code>offset</code> must not exceed <code>10000</code>;<br>use the <code>offset_token</code> if you would like to offset more results", - "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>available fields: <br><code>domain_rank</code>, <code>domain</code>, <code>last_visited</code>, <code>country_iso_code</code>, <code>language_code</code>, <code>content_language_code</code><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>[\"last_visited,desc\"]</code><br>default rule:<br><code>[\"domain_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>[\"last_visited,desc\",\"domain_rank,desc\"]</code>", - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "technologies": { - "description": "<em>target technologies</em><br><strong>required field if you don't specify <code>groups</code>, <code>technology_paths</code>, <code>keywords</code> or <code>categories</code></strong><br>you can find the full list of technologies you can specify here <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br><strong>note:</strong> you can specify up to 10 technologies in this array<br>example:<br><code>[\"Google Pay\",\"Salesforce\"]</code>", - "items": { - "type": "string" - }, - "type": "array" - }, - "technology_paths": { - "description": "<em>target technology paths</em><br><strong>required field if you don't specify <code>groups</code>, <code>technologies</code>, <code>keywords</code> or <code>categories</code></strong><br>at least one field (<code>technology_paths</code>, <code>groups</code>, <code>technologies</code>, <code>keywords</code> or <code>categories</code>) must be set;<br>each technology path should be specified as a separate object containing \"path\" and \"name\", where \"path\" is specified as \"$group_id.$category_id\" and \"name\" - as the name of the target technology; <br>each object with a technology path should be separated with a comma<br>you can find the full list of technology group ids, category ids and technology names <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br><strong>note:</strong> you can specify up to 10 technology paths in this array<br>example:<br><code>[{\"path\": \"content.cms\",\"name\": \"wordpress\"}, {\"path\": \"marketing.crm\",\"name\": \"salesforce\"}]</code>", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - } -] - added
Input schema / properties / body / items / oneOfAdded value: +[ + { + "example": [ + { + "filters": [ + [ + "country_iso_code", + "=", + "US" + ], + "and", + [ + "domain_rank", + ">", + 800 + ] + ], + "limit": 10, + "order_by": [ + "last_visited,desc" + ], + "technologies": [ + "Nginx" + ] + } + ], + "properties": { + "categories": { + "description": "<em>ids of the target technology categories</em><br><strong>required field if you don't specify <code>groups</code>, <code>technology_paths</code>, <code>keywords</code> or <code>technologies</code></strong><br>you can find the full list of technology category ids <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br><strong>note:</strong> you can specify up to 10 technology categories in this array<br>example:<br><code>[\"payment_processors\",\"crm\"]</code>", + "items": { + "type": "string" + }, + "type": "array" + }, + "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><=</code>, <code>></code>, <code>>=</code>, <code>=</code>, <code><></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>[\"country_iso_code\",\"=\",\"US\"]</code><p><code>[[\"country_iso_code\",\"=\",\"US\"],<br>\"and\",<br>[\"domain_rank\",\">\",100]]</code><p><code>[[\"domain_rank\",\">\",100],<br>\"and\",<br>[[\"country_iso_code\",\"=\",\"US\"],\"or\",[\"country_iso_code\",\"=\",\"CA\"]]]</code><p>for more information about filters, please refer to <a href=\"/v3/domain_analytics/technologies/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Domain Analytics Technologies API - Filters</a>", + "items": { + "type": [ + "object", + "null" + ] + }, + "type": [ + "array", + "null" + ] + }, + "groups": { + "description": "<em>ids of the target technology groups</em><br><strong>required field if you don't specify <code>technologies</code>, <code>technology_paths</code>, <code>keywords</code> or <code>categories</code></strong><br>you can find the full list of technology group ids <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br><strong>note:</strong> you can specify up to 10 technology groups in this array<br>example:<br><code>[\"sales\", \"marketing\"]</code>", + "items": { + "type": "string" + }, + "type": "array" + }, + "keywords": { + "description": "<em>target keywords in the domain's title, description or meta keywords</em><br><strong>required field if you don't specify <code>groups</code>, <code>technology_paths</code>, <code>technologies</code> or <code>categories</code></strong><br>optional field<br>you can specify the maximum of 10 keywords;<br>UTF-8 encoding;<br>example:<br><code>[\"seo\",\"software\"]</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>", + "items": { + "type": "string" + }, + "type": "array" + }, + "limit": { + "description": "<em>the maximum number of returned domains</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>10000</code>", + "type": [ + "integer", + "null" + ] + }, + "mode": { + "description": "<em>search mode</em><br>optional field<br>possible search mode types:<br><code>as_is</code> - search for results exactly matching the specified group ids, category ids, or technology names<br><code>entry</code> - search for results matching a part of the specified group ids, category ids, or technology names<br>default value: <code>as_is</code>", + "type": [ + "string", + "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 domains;<br><strong>Note:</strong> the maximum value is <code>9999</code>, the sum of <code>limit</code> and <code>offset</code> must not exceed <code>10000</code>;<br>use the <code>offset_token</code> if you would like to offset more results", + "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>available fields: <br><code>domain_rank</code>, <code>domain</code>, <code>last_visited</code>, <code>country_iso_code</code>, <code>language_code</code>, <code>content_language_code</code><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>[\"last_visited,desc\"]</code><br>default rule:<br><code>[\"domain_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>[\"last_visited,desc\",\"domain_rank,desc\"]</code>", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "technologies": { + "description": "<em>target technologies</em><br><strong>required field if you don't specify <code>groups</code>, <code>technology_paths</code>, <code>keywords</code> or <code>categories</code></strong><br>you can find the full list of technologies you can specify here <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br><strong>note:</strong> you can specify up to 10 technologies in this array<br>example:<br><code>[\"Google Pay\",\"Salesforce\"]</code>", + "items": { + "type": "string" + }, + "type": "array" + }, + "technology_paths": { + "description": "<em>target technology paths</em><br><strong>required field if you don't specify <code>groups</code>, <code>technologies</code>, <code>keywords</code> or <code>categories</code></strong><br>at least one field (<code>technology_paths</code>, <code>groups</code>, <code>technologies</code>, <code>keywords</code> or <code>categories</code>) must be set;<br>each technology path should be specified as a separate object containing \"path\" and \"name\", where \"path\" is specified as \"$group_id.$category_id\" and \"name\" - as the name of the target technology; <br>each object with a technology path should be separated with a comma<br>you can find the full list of technology group ids, category ids and technology names <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br><strong>note:</strong> you can specify up to 10 technology paths in this array<br>example:<br><code>[{\"path\": \"content.cms\",\"name\": \"wordpress\"}, {\"path\": \"marketing.crm\",\"name\": \"salesforce\"}]</code>", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } +]
- Changed
post_dataforseo_domains_tech_for_domain_live2 fields changed- removed
Input schema / properties / body / items / anyOfRemoved 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" - } -] - added
Input schema / properties / body / items / oneOfAdded 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" + } +]
- Changed
post_dataforseo_domains_tech_summary_live2 fields changed- removed
Input schema / properties / body / items / anyOfRemoved value: -[ - { - "example": [ - { - "filters": [ - [ - "country_iso_code", - "=", - "US" - ], - "and", - [ - "domain_rank", - ">", - 800 - ] - ], - "keywords": [ - "WordPress" - ], - "mode": "entry", - "technologies": [ - "Ngi" - ] - } - ], - "properties": { - "categories": { - "description": "<em>ids of the target technology categories</em><br><strong>required field if you don't specify <code>groups</code>, <code>technology_paths</code>, <code>technologies</code>, or <code>keywords</code></strong><br>you can find the full list of technology category ids <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br><strong>note:</strong> you can specify up to 10 technology categories in this array<br>example:<br><code>[\"payment_processors\",\"crm\"]</code>", - "items": { - "type": "string" - }, - "type": "array" - }, - "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><=</code>, <code>></code>, <code>>=</code>, <code>=</code>, <code><></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>you can use the following parameters to filter the results: <code>domain_rank</code>, <code>last_visited</code>, <code>country_iso_code</code>, <code>language_code</code>, <code>content_language_code</code><br>example:<br><code>[[\"country_iso_code\",\"=\",\"US\"],<br>\"and\",<br>[\"domain_rank\",\">\",800]]</code><p>for more information about filters, please refer to <a href=\"/v3/domain_analytics/technologies/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Domain Analytics Technologies API - Filters</a>", - "items": { - "type": [ - "object", - "null" - ] - }, - "type": [ - "array", - "null" - ] - }, - "groups": { - "description": "<em>ids of the target technology groups</em><br><strong>required field if you don't specify <code>technologies</code>, <code>technology_paths</code>, <code>categories</code>, or <code>keywords</code></strong><br>you can find the full list of technology group ids <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br><strong>note:</strong> you can specify up to 10 technology groups in this array<br>example:<br><code>[\"sales\", \"marketing\"]</code>", - "items": { - "type": "string" - }, - "type": "array" - }, - "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>countries</code>, <code>languages</code>, <code>content_languages</code>, <code>keywords</code><br>default value: <code>10</code><br>minimum value: <code>1</code><br>maximum value: <code>10000</code>", - "type": [ - "integer", - "null" - ] - }, - "keywords": { - "description": "<em>target keywords in the domain's title, description or meta keywords</em><br><strong>required field if you don't specify <code>groups</code>, <code>technology_paths</code>, <code>categories</code>, or <code>technologies</code></strong><br>you can specify the maximum of 10 keywords;<br>UTF-8 encoding;<br>example:<br><code>[\"seo\",\"software\"]</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>", - "items": { - "type": "string" - }, - "type": "array" - }, - "mode": { - "description": "<em>search mode</em><br>optional field<br>possible search mode types:<br><code>as_is</code> - search for results exactly matching the specified group ids, category ids, or technology names<br><code>entry</code> - search for results matching a part of the specified group ids, category ids, or technology names<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" - ] - }, - "technologies": { - "description": "<em>target technologies</em><br><strong>required field if you don't specify <code>groups</code>, <code>technology_paths</code>, <code>categories</code>, or <code>keywords</code></strong><br>you can find the full list of technologies you can specify here <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br><strong>note:</strong> you can specify up to 10 technologies in this array<br>example:<br><code>[\"Google Pay\",\"Salesforce\"]</code>", - "items": { - "type": "string" - }, - "type": "array" - }, - "technology_paths": { - "description": "<em>target technology paths</em><br><strong>required field if you don't specify <code>groups</code>, <code>technologies</code> and <code>categories</code></strong><br>each technology path should be specified as a separate object containing \"path\" and \"name\", where \"path\" is specified as \"$group_id.$category_id\" and \"name\" - as the name of the target technology; <br>each object with a technology path should be separated with a comma<br>you can find the full list of technology group ids, category ids and technology names <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br><strong>note:</strong> you can specify up to 10 technology paths in this array<br>example:<br><code>[{\"path\": \"content.cms\",\"name\": \"wordpress\"}, {\"path\": \"marketing.crm\",\"name\": \"salesforce\"}]</code>", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - } -] - added
Input schema / properties / body / items / oneOfAdded value: +[ + { + "example": [ + { + "filters": [ + [ + "country_iso_code", + "=", + "US" + ], + "and", + [ + "domain_rank", + ">", + 800 + ] + ], + "keywords": [ + "WordPress" + ], + "mode": "entry", + "technologies": [ + "Ngi" + ] + } + ], + "properties": { + "categories": { + "description": "<em>ids of the target technology categories</em><br><strong>required field if you don't specify <code>groups</code>, <code>technology_paths</code>, <code>technologies</code>, or <code>keywords</code></strong><br>you can find the full list of technology category ids <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br><strong>note:</strong> you can specify up to 10 technology categories in this array<br>example:<br><code>[\"payment_processors\",\"crm\"]</code>", + "items": { + "type": "string" + }, + "type": "array" + }, + "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><=</code>, <code>></code>, <code>>=</code>, <code>=</code>, <code><></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>you can use the following parameters to filter the results: <code>domain_rank</code>, <code>last_visited</code>, <code>country_iso_code</code>, <code>language_code</code>, <code>content_language_code</code><br>example:<br><code>[[\"country_iso_code\",\"=\",\"US\"],<br>\"and\",<br>[\"domain_rank\",\">\",800]]</code><p>for more information about filters, please refer to <a href=\"/v3/domain_analytics/technologies/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Domain Analytics Technologies API - Filters</a>", + "items": { + "type": [ + "object", + "null" + ] + }, + "type": [ + "array", + "null" + ] + }, + "groups": { + "description": "<em>ids of the target technology groups</em><br><strong>required field if you don't specify <code>technologies</code>, <code>technology_paths</code>, <code>categories</code>, or <code>keywords</code></strong><br>you can find the full list of technology group ids <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br><strong>note:</strong> you can specify up to 10 technology groups in this array<br>example:<br><code>[\"sales\", \"marketing\"]</code>", + "items": { + "type": "string" + }, + "type": "array" + }, + "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>countries</code>, <code>languages</code>, <code>content_languages</code>, <code>keywords</code><br>default value: <code>10</code><br>minimum value: <code>1</code><br>maximum value: <code>10000</code>", + "type": [ + "integer", + "null" + ] + }, + "keywords": { + "description": "<em>target keywords in the domain's title, description or meta keywords</em><br><strong>required field if you don't specify <code>groups</code>, <code>technology_paths</code>, <code>categories</code>, or <code>technologies</code></strong><br>you can specify the maximum of 10 keywords;<br>UTF-8 encoding;<br>example:<br><code>[\"seo\",\"software\"]</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>", + "items": { + "type": "string" + }, + "type": "array" + }, + "mode": { + "description": "<em>search mode</em><br>optional field<br>possible search mode types:<br><code>as_is</code> - search for results exactly matching the specified group ids, category ids, or technology names<br><code>entry</code> - search for results matching a part of the specified group ids, category ids, or technology names<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" + ] + }, + "technologies": { + "description": "<em>target technologies</em><br><strong>required field if you don't specify <code>groups</code>, <code>technology_paths</code>, <code>categories</code>, or <code>keywords</code></strong><br>you can find the full list of technologies you can specify here <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br><strong>note:</strong> you can specify up to 10 technologies in this array<br>example:<br><code>[\"Google Pay\",\"Salesforce\"]</code>", + "items": { + "type": "string" + }, + "type": "array" + }, + "technology_paths": { + "description": "<em>target technology paths</em><br><strong>required field if you don't specify <code>groups</code>, <code>technologies</code> and <code>categories</code></strong><br>each technology path should be specified as a separate object containing \"path\" and \"name\", where \"path\" is specified as \"$group_id.$category_id\" and \"name\" - as the name of the target technology; <br>each object with a technology path should be separated with a comma<br>you can find the full list of technology group ids, category ids and technology names <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br><strong>note:</strong> you can specify up to 10 technology paths in this array<br>example:<br><code>[{\"path\": \"content.cms\",\"name\": \"wordpress\"}, {\"path\": \"marketing.crm\",\"name\": \"salesforce\"}]</code>", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } +]
- Changed
post_dataforseo_domains_tech_technology_stats_live2 fields changed- removed
Input schema / properties / body / items / anyOfRemoved value: -[ - { - "example": [ - { - "date_from": "2022-10-31", - "date_to": "2023-06-01", - "technology": "jQuery" - } - ], - "properties": { - "date_from": { - "description": "<em>starting date of the time range</em><br>optional field<br>minimum value: <code>2022-10-31</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>\"2023-06-01\"</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>\"2023-01-15\"</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" - ] - }, - "technology": { - "description": "<em>target technology</em><br><strong>required field</strong><br>you can find the full list of technologies you can specify here <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br>example:<br><code>\"Salesforce\"</code>", - "type": "string" - } - }, - "type": "object" - } -] - added
Input schema / properties / body / items / oneOfAdded value: +[ + { + "example": [ + { + "date_from": "2022-10-31", + "date_to": "2023-06-01", + "technology": "jQuery" + } + ], + "properties": { + "date_from": { + "description": "<em>starting date of the time range</em><br>optional field<br>minimum value: <code>2022-10-31</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>\"2023-06-01\"</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>\"2023-01-15\"</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" + ] + }, + "technology": { + "description": "<em>target technology</em><br><strong>required field</strong><br>you can find the full list of technologies you can specify here <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br>example:<br><code>\"Salesforce\"</code>", + "type": "string" + } + }, + "type": "object" + } +]
- Changed
post_dataforseo_domains_whois_overview_live2 fields changed- removed
Input schema / properties / body / items / anyOfRemoved 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><</code>, <code><=</code>, <code>></code>, <code>>=</code>, <code>=</code>, <code><></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" - } -] - added
Input schema / properties / body / items / oneOfAdded 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><</code>, <code><=</code>, <code>></code>, <code>>=</code>, <code>=</code>, <code><></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" + } +]
18 tool updates
- Added
batch_get_schema - Added
batch_quote - Changed
batch_use18 fields changed- added
Input schema / $schemaAdded value: +"https://json-schema.org/draft/2020-12/schema" - removed
Input schema / properties / calls / descriptionRemoved value: -"Up to 20 items of {call_id, operation_id, arguments}; steps at the same execution_level of a plan go in one batch" - added
Input schema / properties / calls / items / $schemaAdded value: +"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / calls / items / additionalPropertiesPrevious value: -trueNew value: +false - added
Input schema / properties / calls / items / propertiesAdded 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" + } +} - added
Input schema / properties / calls / items / requiredAdded value: +[ + "call_id", + "tool", + "arguments" +] - added
Input schema / properties / calls / maxItemsAdded value: +20 - added
Input schema / properties / calls / minItemsAdded value: +1 - removed
Input schema / properties / max_price_usdRemoved value: -{ - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Per-call price cap applied to every item" -} - removed
Input schema / properties / search_id / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - removed
Input schema / properties / search_id / defaultRemoved value: -null - changed
Input schema / properties / search_id / descriptionPrevious value: -"search_id from the search that found these operations"New value: +"Optional search correlation identifier returned by search." - added
Input schema / properties / search_id / typeAdded value: +"string" - added
Input schema / properties / session_idAdded 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" +} - added
Output schema / $defsAdded 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." + } +} - added
Output schema / $schemaAdded value: +"https://json-schema.org/draft/2020-12/schema" - added
Output schema / propertiesAdded 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" + } +} - added
Output schema / requiredAdded value: +[ + "session_id", + "batch_id", + "total_count", + "success_count", + "error_count", + "results", + "next_steps_guidance" +]
- Changed
get_dataforseo_domains_tech_available_filters1 field changed- added
Output schema / x-fastmcp-wrap-resultAdded value: +true
- Changed
get_dataforseo_domains_tech_languages1 field changed- added
Output schema / x-fastmcp-wrap-resultAdded value: +true
- Changed
get_dataforseo_domains_tech_list1 field changed- added
Output schema / x-fastmcp-wrap-resultAdded value: +true
- Changed
get_dataforseo_domains_tech_locations1 field changed- added
Output schema / x-fastmcp-wrap-resultAdded value: +true
- Changed
get_dataforseo_domains_whois_available_filters1 field changed- added
Output schema / x-fastmcp-wrap-resultAdded value: +true
- Changed
get_details13 fields changed- added
Input schema / $schemaAdded value: +"https://json-schema.org/draft/2020-12/schema" - removed
Input schema / properties / argumentsRemoved 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." -} - added
Input schema / properties / include_arguments_schemaAdded value: +{ + "default": true, + "description": "Return the complete arguments_schema. Defaults to true.", + "type": "boolean" +} - changed
Input schema / properties / include_documentation / descriptionPrevious 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." - added
Input schema / properties / include_response_schemaAdded value: +{ + "default": false, + "description": "Return the complete response_schema. Defaults to false.", + "type": "boolean" +} - removed
Input schema / properties / operation_idRemoved value: -{ - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "One operation_id from search" -} - removed
Input schema / properties / operation_idsRemoved value: -{ - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Up to 20 operation_ids, for a batch" -} - added
Input schema / properties / session_idAdded 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" +} - added
Input schema / properties / toolsAdded 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 +} - removed
Input schema / properties / with_quoteRemoved value: -{ - "default": true, - "description": "Whether each operation is priced for this account before the answer. One round trip per operation; spends nothing.", - "type": "boolean" -} - added
Input schema / requiredAdded value: +[ + "tools" +] - added
Output schema / propertiesAdded 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" + } +} - added
Output schema / requiredAdded value: +[ + "error_count", + "next_steps_guidance", + "session_id", + "success_count", + "tools", + "total_count" +]
- Changed
post_dataforseo_domains_tech_aggregation_live7 fields changed- added
Input schema / properties / body / exampleAdded value: +[ + { + "filters": [ + [ + "country_iso_code", + "=", + "US" + ], + "and", + [ + "domain_rank", + ">", + 800 + ] + ], + "keyword": "WordPress", + "limit": 10, + "mode": "entry", + "order_by": [ + "groups_count,desc" + ], + "technology": "Nginx" + } +] - removed
Input schema / properties / body / items / allOfRemoved value: -[ - { - "anyOf": [ - { - "required": [ - "group" - ] - }, - { - "required": [ - "category" - ] - }, - { - "required": [ - "technology" - ] - }, - { - "required": [ - "keyword" - ] - } - ] - } -] - added
Input schema / properties / body / items / anyOfAdded value: +[ + { + "example": [ + { + "filters": [ + [ + "country_iso_code", + "=", + "US" + ], + "and", + [ + "domain_rank", + ">", + 800 + ] + ], + "keyword": "WordPress", + "limit": 10, + "mode": "entry", + "order_by": [ + "groups_count,desc" + ], + "technology": "Nginx" + } + ], + "properties": { + "category": { + "description": "<em>id of the target technology category</em><br><strong>required field if you don't specify <code>group</code>, <code>keyword</code> or <code>technology</code></strong><br>at least one field (<code>group</code>, <code>category</code>, <code>keyword</code>, <code>technology</code>) must be set<br>you can find the full list of technology category ids <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br>example:<br><code>\"crm\"</code>", + "type": "string" + }, + "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><=</code>, <code>></code>, <code>>=</code>, <code>=</code>, <code><></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>you can use the following parameters to filter the results: <code>domain_rank</code>, <code>last_visited</code>, <code>country_iso_code</code>, <code>language_code</code>, <code>content_language_code</code><br><strong>Note:</strong> all filtering parameters are taken from the <code>domain_technology_item</code> of the <a href=\"/v3/domain_analytics/technologies/filters\" target=\"_blank\" rel=\"noopener noreferrer\">domain_technologies</a> endpoint;<br>example:<br><code>[[\"country_iso_code\",\"=\",\"US\"],<br>\"and\",<br>[\"domain_rank\",\">\",800]]</code>for more information about filters, please refer to <a href=\"/v3/domain_analytics/technologies/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Domain Analytics Technologies API - Filters</a>", + "items": { + "type": [ + "object", + "null" + ] + }, + "type": [ + "array", + "null" + ] + }, + "group": { + "description": "<em>id of the target technology group</em><br><strong>required field if you don't specify <code>technology</code>, <code>category</code> or <code>keyword</code></strong><br>at least one field (<code>group</code>, <code>category</code>, <code>keyword</code>, <code>technology</code>) must be set<br>you can find the full list of technology group ids <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br>example:<br><code>\"marketing\"</code>", + "type": "string" + }, + "internal_categories_list_limit": { + "description": "<em>maximum number of returned technology categories within the same group</em><br>optional field<br>you can use this field to limit the number of items with identical <code>\"category\"</code> in the results<br>default value: <code>5</code><br>minimum value: <code>1</code><br>maximum value: <code>10000</code>", + "type": [ + "integer", + "null" + ] + }, + "internal_groups_list_limit": { + "description": "<em>maximum number of returned technology groups</em><br>optional field<br>you can use this field to limit the number of items with identical <code>\"group\"</code> in the results<br>default value: <code>5</code><br>minimum value: <code>1</code><br>maximum value: <code>10000</code>", + "type": [ + "integer", + "null" + ] + }, + "internal_list_limit": { + "description": "<em>maximum number of items with identical <code>\"category\"</code>, <code>\"group\"</code>, and <code>\"technology\"</code></em><br>optional field<br>if you use this field, the values specified in <code>internal_groups_list_limit</code>, <code>internal_categories_list_limit</code> and <code>internal_technologies_list_limit</code> will be ignored;<br>you can use this field to limit the number of items with identical <code>\"category\"</code>, <code>\"group\"</code>, or <code>\"technology\"</code><br>default value: <code>10</code><br>minimum value: <code>1</code><br>maximum value: <code>10000</code>", + "type": [ + "integer", + "null" + ] + }, + "internal_technologies_list_limit": { + "description": "<em>maximum number of returned technologies within the same category</em><br>optional field<br>you can use this field to limit the number of items with identical <code>\"technology\"</code> in the results<br>default value: <code>10</code><br>minimum value: <code>1</code><br>maximum value: <code>10000</code>", + "type": [ + "integer", + "null" + ] + }, + "keyword": { + "description": "<em>target keyword in the domain's meta keywords</em><br><strong>required field if you don't specify <code>group</code>, <code>category</code> or <code>technology</code></strong><br>at least one field (<code>group</code>, <code>category</code>, <code>keyword</code>, <code>technology</code>) must be set<br>UTF-8 encoding<br>example:<br><code>\"seo\"</code>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>", + "type": "string" + }, + "limit": { + "description": "<em>the maximum number of returned technologies</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>10000</code>", + "type": [ + "integer", + "null" + ] + }, + "mode": { + "description": "<em>search mode</em><br>optional field<br>possible search mode types:<br><code>as_is</code> - search for results exactly matching the specified group ids, category ids, or technology names<br><code>entry</code> - search for results matching a part of the specified group ids, category ids, or technology names<br>default value: <code>as_is</code>", + "type": [ + "string", + "null" + ] + }, + "offset": { + "description": "<em>offset in the results array of returned domains</em><br>optional field<br>default value: <code>0</code><br>maximum value: <code>9999</code><br>if you specify the <code>10</code> value, the first ten technologies in the results array will be omitted and the data will be provided for the successive technologies", + "type": [ + "integer", + "null" + ] + }, + "order_by": { + "description": "<em>results sorting rules</em><br>optional field<br>you can use the following values to sort the results: <code>groups_count</code>, <code>categories_count</code>, <code>technologies_count</code><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>[\"groups_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>[\"groups_count,desc\",\"technologies_count,desc\"]</code><br>default value:<br><code>[\"groups_count,desc\",\"categories_count,desc\",\"technologies_count,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" + ] + }, + "technology": { + "description": "<em>target technology</em><br><strong>required field if you don't specify <code>group</code>, <code>keyword</code> or <code>category</code></strong><br>at least one field (<code>group</code>, <code>category</code>, <code>keyword</code>, <code>technology</code>) must be set<br>you can find the full list of technologies <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br>example:<br><code>\"Salesforce\"</code>", + "type": "string" + } + }, + "type": "object" + } +] - removed
Input schema / properties / body / items / propertiesRemoved value: -{ - "category": { - "description": "id of the target technology category required field if you don’t specify group, keyword or technology at least one field (group, category, keyword, technology) must be set you can find the full list of technology category ids on this page example: \"crm\"", - "type": "string" - }, - "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 you can use the % operator with like and not_like to match any string of zero or more characters you can use the following parameters to filter the results: domain_rank, last_visited, country_iso_code, language_code, content_language_code Note: all filtering parameters are taken from the domain_technology_item of the domain_technologies endpoint; example: [[\"country_iso_code\",\"=\",\"US\"], \"and\", [\"domain_rank\",\">\",800]]for more information about filters, please refer to Domain Analytics Technologies API – Filters", - "items": {}, - "type": "array" - }, - "group": { - "description": "id of the target technology group required field if you don’t specify technology, category or keyword at least one field (group, category, keyword, technology) must be set you can find the full list of technology group ids on this page example: \"marketing\"", - "type": "string" - }, - "internal_categories_list_limit": { - "description": "maximum number of returned technology categories within the same group optional field you can use this field to limit the number of items with identical \"category\" in the results default value: 5 minimum value: 1 maximum value: 10000", - "type": "integer" - }, - "internal_groups_list_limit": { - "description": "maximum number of returned technology groups optional field you can use this field to limit the number of items with identical \"group\" in the results default value: 5 minimum value: 1 maximum value: 10000", - "type": "integer" - }, - "internal_list_limit": { - "description": "maximum number of items with identical \"category\", \"group\", and \"technology\" optional field if you use this field, the values specified in internal_groups_list_limit, internal_categories_list_limit and internal_technologies_list_limit will be ignored; you can use this field to limit the number of items with identical \"category\", \"group\", or \"technology\" default value: 10 minimum value: 1 maximum value: 10000", - "type": "integer" - }, - "internal_technologies_list_limit": { - "description": "maximum number of returned technologies within the same category optional field you can use this field to limit the number of items with identical \"technology\" in the results default value: 10 minimum value: 1 maximum value: 10000", - "type": "integer" - }, - "keyword": { - "description": "target keyword in the domain’s meta keywords required field if you don’t specify group, category or technology at least one field (group, category, keyword, technology) must be set UTF-8 encoding example: \"seo\"learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article", - "type": "string" - }, - "limit": { - "description": "the maximum number of returned technologies optional field default value: 100 maximum value: 10000", - "type": "integer" - }, - "mode": { - "description": "search mode optional field possible search mode types: as_is – search for results exactly matching the specified group ids, category ids, or technology names entry – search for results matching a part of the specified group ids, category ids, or technology names default value: as_is", - "type": "string" - }, - "offset": { - "description": "offset in the results array of returned domains optional field default value: 0 maximum value: 9999 if you specify the 10 value, the first ten technologies in the results array will be omitted and the data will be provided for the successive technologies", - "type": "integer" - }, - "order_by": { - "description": "results sorting rules optional field you can use the following values to sort the results: groups_count, categories_count, technologies_count 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: [\"groups_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: [\"groups_count,desc\",\"technologies_count,desc\"] default value: [\"groups_count,desc\",\"categories_count,desc\",\"technologies_count,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" - }, - "technology": { - "description": "target technology required field if you don’t specify group, keyword or category at least one field (group, category, keyword, technology) must be set you can find the full list of technologies on this page example: \"Salesforce\"", - "type": "string" - } -} - changed
Input schema / properties / body / items / typePrevious value: -"object"New value: +[ + "object", + "null" +] - changed
Input schema / requiredPrevious value: -[ - "body" -]New value: +[] - added
Output schema / x-fastmcp-wrap-resultAdded value: +true
- Changed
post_dataforseo_domains_tech_domains_by_html_terms_live7 fields changed- added
Input schema / properties / body / exampleAdded value: +[ + { + "limit": 10, + "offset": 0, + "order_by": [ + "last_visited,desc" + ], + "search_terms": [ + "data-attrid" + ] + } +] - added
Input schema / properties / body / items / anyOfAdded value: +[ + { + "example": [ + { + "limit": 10, + "offset": 0, + "order_by": [ + "last_visited,desc" + ], + "search_terms": [ + "data-attrid" + ] + } + ], + "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><</code>, <code><=</code>, <code>></code>, <code>>=</code>, <code>=</code>, <code><></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>[\"domain\",\"like\",\"%seo%\"]</code><p><code>[[\"country_iso_code\",\"=\",\"US\"],<br>\"and\",<br>[\"domain_rank\",\">\",100]]</code><p><code>[[\"domain_rank\",\">\",100],<br>\"and\",<br>[[\"country_iso_code\",\"=\",\"US\"],\"or\",[\"country_iso_code\",\"=\",\"CA\"]]]</code><p>for more information about filters, please refer to <a href=\"/v3/domain_analytics/technologies/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Domain Analytics Technologies API - Filters</a>", + "items": { + "type": [ + "object", + "null" + ] + }, + "type": [ + "array", + "null" + ] + }, + "keywords": { + "description": "<em>target keywords in the domain's title, description or meta keywords</em><br>optional field<br>UTF-8 encoding<br>maximum number of keywords you can specify: 10 <br>example:<br><code>[\"seo\",\"software\"]</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>", + "items": { + "type": "string" + }, + "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>10000</code>", + "type": [ + "integer", + "null" + ] + }, + "mode": { + "description": "<em>search mode</em><br>optional field<br>possible search mode types:<br><code>strict_entry</code> - search for results exactly matching the order, intervals and separators in the specified search terms<br><code>entry</code> - search for results ignoring the order, intervals and separators in the specified search terms<br>default value: <code>entry</code>", + "type": [ + "string", + "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 domains;<br><strong>Note:</strong> the maximum value is <code>9999</code>, the sum of <code>limit</code> and <code>offset</code> must not exceed <code>10000</code>;<br>use the <code>offset_token</code> if you would like to offset more results", + "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>available fields: <br><code>domain_rank</code>, <code>domain</code>, <code>last_visited</code>, <code>country_iso_code</code>, <code>language_code</code>, <code>content_language_code</code><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>[\"last_visited,desc\"]</code><br>default rule:<br><code>[\"domain_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>[\"last_visited,desc\",\"domain_rank,desc\"]</code>", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "search_terms": { + "description": "<em>target search terms</em><br><strong>required field</strong><br>specify target HTML elements, tags, attributes, their content or all of the above<br>if you specify more than one search term, you will receive only the domains containing all of the specified terms in the HTML code of their homepage<br>maximum number of search terms you can specify: 10<br>example:<br><code>[\"data-attrid\"]</code>", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } +] - removed
Input schema / properties / body / items / propertiesRemoved 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: , , >, >=, =, , 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: [\"domain\",\"like\",\"%seo%\"] [[\"country_iso_code\",\"=\",\"US\"], \"and\", [\"domain_rank\",\">\",100]] [[\"domain_rank\",\">\",100], \"and\", [[\"country_iso_code\",\"=\",\"US\"],\"or\",[\"country_iso_code\",\"=\",\"CA\"]]] for more information about filters, please refer to Domain Analytics Technologies API – Filters", - "items": {}, - "type": "array" - }, - "keywords": { - "description": "target keywords in the domain’s title, description or meta keywords optional field UTF-8 encoding maximum number of keywords you can specify: 10 example: [\"seo\",\"software\"] learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article", - "items": { - "type": "string" - }, - "type": "array" - }, - "limit": { - "description": "the maximum number of returned domains optional field default value: 100 maximum value: 10000", - "type": "integer" - }, - "mode": { - "description": "search mode optional field possible search mode types: strict_entry – search for results exactly matching the order, intervals and separators in the specified search terms entry – search for results ignoring the order, intervals and separators in the specified search terms default value: entry", - "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; Note: the maximum value is 9999, the sum of limit and offset must not exceed 10000; use the offset_token if you would like to offset more results", - "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 available fields: domain_rank, domain, last_visited, country_iso_code, language_code, content_language_code 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: [\"last_visited,desc\"] default rule: [\"domain_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: [\"last_visited,desc\",\"domain_rank,desc\"]", - "items": { - "type": "string" - }, - "type": "array" - }, - "search_terms": { - "description": "target search terms required field specify target HTML elements, tags, attributes, their content or all of the above if you specify more than one search term, you will receive only the domains containing all of the specified terms in the HTML code of their homepage maximum number of search terms you can specify: 10 example: [\"data-attrid\"]", - "items": { - "type": "string" - }, - "type": "array" - } -} - removed
Input schema / properties / body / items / requiredRemoved value: -[ - "search_terms" -] - changed
Input schema / properties / body / items / typePrevious value: -"object"New value: +[ + "object", + "null" +] - changed
Input schema / requiredPrevious value: -[ - "body" -]New value: +[] - added
Output schema / x-fastmcp-wrap-resultAdded value: +true
- Changed
post_dataforseo_domains_tech_domains_by_technology_live7 fields changed- added
Input schema / properties / body / exampleAdded value: +[ + { + "filters": [ + [ + "country_iso_code", + "=", + "US" + ], + "and", + [ + "domain_rank", + ">", + 800 + ] + ], + "limit": 10, + "order_by": [ + "last_visited,desc" + ], + "technologies": [ + "Nginx" + ] + } +] - removed
Input schema / properties / body / items / allOfRemoved value: -[ - { - "anyOf": [ - { - "required": [ - "technology_paths" - ] - }, - { - "required": [ - "groups" - ] - }, - { - "required": [ - "categories" - ] - }, - { - "required": [ - "technologies" - ] - }, - { - "required": [ - "keywords" - ] - } - ] - } -] - added
Input schema / properties / body / items / anyOfAdded value: +[ + { + "example": [ + { + "filters": [ + [ + "country_iso_code", + "=", + "US" + ], + "and", + [ + "domain_rank", + ">", + 800 + ] + ], + "limit": 10, + "order_by": [ + "last_visited,desc" + ], + "technologies": [ + "Nginx" + ] + } + ], + "properties": { + "categories": { + "description": "<em>ids of the target technology categories</em><br><strong>required field if you don't specify <code>groups</code>, <code>technology_paths</code>, <code>keywords</code> or <code>technologies</code></strong><br>you can find the full list of technology category ids <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br><strong>note:</strong> you can specify up to 10 technology categories in this array<br>example:<br><code>[\"payment_processors\",\"crm\"]</code>", + "items": { + "type": "string" + }, + "type": "array" + }, + "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><=</code>, <code>></code>, <code>>=</code>, <code>=</code>, <code><></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>[\"country_iso_code\",\"=\",\"US\"]</code><p><code>[[\"country_iso_code\",\"=\",\"US\"],<br>\"and\",<br>[\"domain_rank\",\">\",100]]</code><p><code>[[\"domain_rank\",\">\",100],<br>\"and\",<br>[[\"country_iso_code\",\"=\",\"US\"],\"or\",[\"country_iso_code\",\"=\",\"CA\"]]]</code><p>for more information about filters, please refer to <a href=\"/v3/domain_analytics/technologies/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Domain Analytics Technologies API - Filters</a>", + "items": { + "type": [ + "object", + "null" + ] + }, + "type": [ + "array", + "null" + ] + }, + "groups": { + "description": "<em>ids of the target technology groups</em><br><strong>required field if you don't specify <code>technologies</code>, <code>technology_paths</code>, <code>keywords</code> or <code>categories</code></strong><br>you can find the full list of technology group ids <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br><strong>note:</strong> you can specify up to 10 technology groups in this array<br>example:<br><code>[\"sales\", \"marketing\"]</code>", + "items": { + "type": "string" + }, + "type": "array" + }, + "keywords": { + "description": "<em>target keywords in the domain's title, description or meta keywords</em><br><strong>required field if you don't specify <code>groups</code>, <code>technology_paths</code>, <code>technologies</code> or <code>categories</code></strong><br>optional field<br>you can specify the maximum of 10 keywords;<br>UTF-8 encoding;<br>example:<br><code>[\"seo\",\"software\"]</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>", + "items": { + "type": "string" + }, + "type": "array" + }, + "limit": { + "description": "<em>the maximum number of returned domains</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>10000</code>", + "type": [ + "integer", + "null" + ] + }, + "mode": { + "description": "<em>search mode</em><br>optional field<br>possible search mode types:<br><code>as_is</code> - search for results exactly matching the specified group ids, category ids, or technology names<br><code>entry</code> - search for results matching a part of the specified group ids, category ids, or technology names<br>default value: <code>as_is</code>", + "type": [ + "string", + "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 domains;<br><strong>Note:</strong> the maximum value is <code>9999</code>, the sum of <code>limit</code> and <code>offset</code> must not exceed <code>10000</code>;<br>use the <code>offset_token</code> if you would like to offset more results", + "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>available fields: <br><code>domain_rank</code>, <code>domain</code>, <code>last_visited</code>, <code>country_iso_code</code>, <code>language_code</code>, <code>content_language_code</code><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>[\"last_visited,desc\"]</code><br>default rule:<br><code>[\"domain_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>[\"last_visited,desc\",\"domain_rank,desc\"]</code>", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "technologies": { + "description": "<em>target technologies</em><br><strong>required field if you don't specify <code>groups</code>, <code>technology_paths</code>, <code>keywords</code> or <code>categories</code></strong><br>you can find the full list of technologies you can specify here <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br><strong>note:</strong> you can specify up to 10 technologies in this array<br>example:<br><code>[\"Google Pay\",\"Salesforce\"]</code>", + "items": { + "type": "string" + }, + "type": "array" + }, + "technology_paths": { + "description": "<em>target technology paths</em><br><strong>required field if you don't specify <code>groups</code>, <code>technologies</code>, <code>keywords</code> or <code>categories</code></strong><br>at least one field (<code>technology_paths</code>, <code>groups</code>, <code>technologies</code>, <code>keywords</code> or <code>categories</code>) must be set;<br>each technology path should be specified as a separate object containing \"path\" and \"name\", where \"path\" is specified as \"$group_id.$category_id\" and \"name\" - as the name of the target technology; <br>each object with a technology path should be separated with a comma<br>you can find the full list of technology group ids, category ids and technology names <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br><strong>note:</strong> you can specify up to 10 technology paths in this array<br>example:<br><code>[{\"path\": \"content.cms\",\"name\": \"wordpress\"}, {\"path\": \"marketing.crm\",\"name\": \"salesforce\"}]</code>", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } +] - removed
Input schema / properties / body / items / propertiesRemoved value: -{ - "categories": { - "description": "ids of the target technology categories required field if you don’t specify groups, technology_paths, keywords or technologies you can find the full list of technology category ids on this page note: you can specify up to 10 technology categories in this array example: [\"payment_processors\",\"crm\"]", - "items": { - "type": "string" - }, - "type": "array" - }, - "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 you can use the % operator with like and not_like to match any string of zero or more characters example: [\"country_iso_code\",\"=\",\"US\"] [[\"country_iso_code\",\"=\",\"US\"], \"and\", [\"domain_rank\",\">\",100]] [[\"domain_rank\",\">\",100], \"and\", [[\"country_iso_code\",\"=\",\"US\"],\"or\",[\"country_iso_code\",\"=\",\"CA\"]]] for more information about filters, please refer to Domain Analytics Technologies API – Filters", - "items": {}, - "type": "array" - }, - "groups": { - "description": "ids of the target technology groups required field if you don’t specify technologies, technology_paths, keywords or categories you can find the full list of technology group ids on this page note: you can specify up to 10 technology groups in this array example: [\"sales\", \"marketing\"]", - "items": { - "type": "string" - }, - "type": "array" - }, - "keywords": { - "description": "target keywords in the domain’s title, description or meta keywords required field if you don’t specify groups, technology_paths, technologies or categories optional field you can specify the maximum of 10 keywords; UTF-8 encoding; example: [\"seo\",\"software\"] learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article", - "items": { - "type": "string" - }, - "type": "array" - }, - "limit": { - "description": "the maximum number of returned domains optional field default value: 100 maximum value: 10000", - "type": "integer" - }, - "mode": { - "description": "search mode optional field possible search mode types: as_is – search for results exactly matching the specified group ids, category ids, or technology names entry – search for results matching a part of the specified group ids, category ids, or technology names default value: as_is", - "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; Note: the maximum value is 9999, the sum of limit and offset must not exceed 10000; use the offset_token if you would like to offset more results", - "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 available fields: domain_rank, domain, last_visited, country_iso_code, language_code, content_language_code 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: [\"last_visited,desc\"] default rule: [\"domain_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: [\"last_visited,desc\",\"domain_rank,desc\"]", - "items": { - "type": "string" - }, - "type": "array" - }, - "technologies": { - "description": "target technologies required field if you don’t specify groups, technology_paths, keywords or categories you can find the full list of technologies you can specify here on this page note: you can specify up to 10 technologies in this array example: [\"Google Pay\",\"Salesforce\"]", - "items": { - "type": "string" - }, - "type": "array" - }, - "technology_paths": { - "description": "target technology paths required field if you don’t specify groups, technologies, keywords or categories at least one field (technology_paths, groups, technologies, keywords or categories) must be set; each technology path should be specified as a separate object containing “path” and “name”, where “path” is specified as “$group_id.$category_id” and “name” – as the name of the target technology; each object with a technology path should be separated with a comma you can find the full list of technology group ids, category ids and technology names on this page note: you can specify up to 10 technology paths in this array example: [{\"path\": \"content.cms\",\"name\": \"wordpress\"}, {\"path\": \"marketing.crm\",\"name\": \"salesforce\"}]", - "items": { - "properties": { - "name": { - "type": "string" - }, - "path": { - "type": "string" - } - }, - "required": [ - "path", - "name" - ], - "type": "object" - }, - "type": "array" - } -} - changed
Input schema / properties / body / items / typePrevious value: -"object"New value: +[ + "object", + "null" +] - changed
Input schema / requiredPrevious value: -[ - "body" -]New value: +[] - added
Output schema / x-fastmcp-wrap-resultAdded value: +true
- Changed
post_dataforseo_domains_tech_for_domain_live7 fields changed- added
Input schema / properties / body / exampleAdded value: +[ + { + "target": "dataforseo.com" + } +] - added
Input schema / properties / body / items / anyOfAdded 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" + } +] - removed
Input schema / properties / body / items / propertiesRemoved 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" - } -} - removed
Input schema / properties / body / items / requiredRemoved value: -[ - "target" -] - changed
Input schema / properties / body / items / typePrevious value: -"object"New value: +[ + "object", + "null" +] - changed
Input schema / requiredPrevious value: -[ - "body" -]New value: +[] - added
Output schema / x-fastmcp-wrap-resultAdded value: +true
- Changed
post_dataforseo_domains_tech_summary_live7 fields changed- added
Input schema / properties / body / exampleAdded value: +[ + { + "filters": [ + [ + "country_iso_code", + "=", + "US" + ], + "and", + [ + "domain_rank", + ">", + 800 + ] + ], + "keywords": [ + "WordPress" + ], + "mode": "entry", + "technologies": [ + "Ngi" + ] + } +] - removed
Input schema / properties / body / items / allOfRemoved value: -[ - { - "anyOf": [ - { - "required": [ - "technology_paths" - ] - }, - { - "required": [ - "groups" - ] - }, - { - "required": [ - "categories" - ] - }, - { - "required": [ - "technologies" - ] - }, - { - "required": [ - "keywords" - ] - } - ] - } -] - added
Input schema / properties / body / items / anyOfAdded value: +[ + { + "example": [ + { + "filters": [ + [ + "country_iso_code", + "=", + "US" + ], + "and", + [ + "domain_rank", + ">", + 800 + ] + ], + "keywords": [ + "WordPress" + ], + "mode": "entry", + "technologies": [ + "Ngi" + ] + } + ], + "properties": { + "categories": { + "description": "<em>ids of the target technology categories</em><br><strong>required field if you don't specify <code>groups</code>, <code>technology_paths</code>, <code>technologies</code>, or <code>keywords</code></strong><br>you can find the full list of technology category ids <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br><strong>note:</strong> you can specify up to 10 technology categories in this array<br>example:<br><code>[\"payment_processors\",\"crm\"]</code>", + "items": { + "type": "string" + }, + "type": "array" + }, + "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><=</code>, <code>></code>, <code>>=</code>, <code>=</code>, <code><></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>you can use the following parameters to filter the results: <code>domain_rank</code>, <code>last_visited</code>, <code>country_iso_code</code>, <code>language_code</code>, <code>content_language_code</code><br>example:<br><code>[[\"country_iso_code\",\"=\",\"US\"],<br>\"and\",<br>[\"domain_rank\",\">\",800]]</code><p>for more information about filters, please refer to <a href=\"/v3/domain_analytics/technologies/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Domain Analytics Technologies API - Filters</a>", + "items": { + "type": [ + "object", + "null" + ] + }, + "type": [ + "array", + "null" + ] + }, + "groups": { + "description": "<em>ids of the target technology groups</em><br><strong>required field if you don't specify <code>technologies</code>, <code>technology_paths</code>, <code>categories</code>, or <code>keywords</code></strong><br>you can find the full list of technology group ids <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br><strong>note:</strong> you can specify up to 10 technology groups in this array<br>example:<br><code>[\"sales\", \"marketing\"]</code>", + "items": { + "type": "string" + }, + "type": "array" + }, + "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>countries</code>, <code>languages</code>, <code>content_languages</code>, <code>keywords</code><br>default value: <code>10</code><br>minimum value: <code>1</code><br>maximum value: <code>10000</code>", + "type": [ + "integer", + "null" + ] + }, + "keywords": { + "description": "<em>target keywords in the domain's title, description or meta keywords</em><br><strong>required field if you don't specify <code>groups</code>, <code>technology_paths</code>, <code>categories</code>, or <code>technologies</code></strong><br>you can specify the maximum of 10 keywords;<br>UTF-8 encoding;<br>example:<br><code>[\"seo\",\"software\"]</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>", + "items": { + "type": "string" + }, + "type": "array" + }, + "mode": { + "description": "<em>search mode</em><br>optional field<br>possible search mode types:<br><code>as_is</code> - search for results exactly matching the specified group ids, category ids, or technology names<br><code>entry</code> - search for results matching a part of the specified group ids, category ids, or technology names<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" + ] + }, + "technologies": { + "description": "<em>target technologies</em><br><strong>required field if you don't specify <code>groups</code>, <code>technology_paths</code>, <code>categories</code>, or <code>keywords</code></strong><br>you can find the full list of technologies you can specify here <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br><strong>note:</strong> you can specify up to 10 technologies in this array<br>example:<br><code>[\"Google Pay\",\"Salesforce\"]</code>", + "items": { + "type": "string" + }, + "type": "array" + }, + "technology_paths": { + "description": "<em>target technology paths</em><br><strong>required field if you don't specify <code>groups</code>, <code>technologies</code> and <code>categories</code></strong><br>each technology path should be specified as a separate object containing \"path\" and \"name\", where \"path\" is specified as \"$group_id.$category_id\" and \"name\" - as the name of the target technology; <br>each object with a technology path should be separated with a comma<br>you can find the full list of technology group ids, category ids and technology names <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br><strong>note:</strong> you can specify up to 10 technology paths in this array<br>example:<br><code>[{\"path\": \"content.cms\",\"name\": \"wordpress\"}, {\"path\": \"marketing.crm\",\"name\": \"salesforce\"}]</code>", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } +] - removed
Input schema / properties / body / items / propertiesRemoved value: -{ - "categories": { - "description": "ids of the target technology categories required field if you don’t specify groups, technology_paths, technologies, or keywords you can find the full list of technology category ids on this page note: you can specify up to 10 technology categories in this array example: [\"payment_processors\",\"crm\"]", - "items": { - "type": "string" - }, - "type": "array" - }, - "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 you can use the % operator with like and not_like to match any string of zero or more characters you can use the following parameters to filter the results: domain_rank, last_visited, country_iso_code, language_code, content_language_code example: [[\"country_iso_code\",\"=\",\"US\"], \"and\", [\"domain_rank\",\">\",800]] for more information about filters, please refer to Domain Analytics Technologies API – Filters", - "items": {}, - "type": "array" - }, - "groups": { - "description": "ids of the target technology groups required field if you don’t specify technologies, technology_paths, categories, or keywords you can find the full list of technology group ids on this page note: you can specify up to 10 technology groups in this array example: [\"sales\", \"marketing\"]", - "items": { - "type": "string" - }, - "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: countries, languages, content_languages, keywords default value: 10 minimum value: 1 maximum value: 10000", - "type": "integer" - }, - "keywords": { - "description": "target keywords in the domain’s title, description or meta keywords required field if you don’t specify groups, technology_paths, categories, or technologies you can specify the maximum of 10 keywords; UTF-8 encoding; example: [\"seo\",\"software\"] learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article", - "items": { - "type": "string" - }, - "type": "array" - }, - "mode": { - "description": "search mode optional field possible search mode types: as_is – search for results exactly matching the specified group ids, category ids, or technology names entry – search for results matching a part of the specified group ids, category ids, or technology names 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" - }, - "technologies": { - "description": "target technologies required field if you don’t specify groups, technology_paths, categories, or keywords you can find the full list of technologies you can specify here on this page note: you can specify up to 10 technologies in this array example: [\"Google Pay\",\"Salesforce\"]", - "items": { - "type": "string" - }, - "type": "array" - }, - "technology_paths": { - "description": "target technology paths required field if you don’t specify groups, technologies and categories each technology path should be specified as a separate object containing “path” and “name”, where “path” is specified as “$group_id.$category_id” and “name” – as the name of the target technology; each object with a technology path should be separated with a comma you can find the full list of technology group ids, category ids and technology names on this page note: you can specify up to 10 technology paths in this array example: [{\"path\": \"content.cms\",\"name\": \"wordpress\"}, {\"path\": \"marketing.crm\",\"name\": \"salesforce\"}]", - "items": { - "properties": { - "name": { - "type": "string" - }, - "path": { - "type": "string" - } - }, - "required": [ - "path", - "name" - ], - "type": "object" - }, - "type": "array" - } -} - changed
Input schema / properties / body / items / typePrevious value: -"object"New value: +[ + "object", + "null" +] - changed
Input schema / requiredPrevious value: -[ - "body" -]New value: +[] - added
Output schema / x-fastmcp-wrap-resultAdded value: +true
- Changed
post_dataforseo_domains_tech_technology_stats_live7 fields changed- added
Input schema / properties / body / exampleAdded value: +[ + { + "date_from": "2022-10-31", + "date_to": "2023-06-01", + "technology": "jQuery" + } +] - added
Input schema / properties / body / items / anyOfAdded value: +[ + { + "example": [ + { + "date_from": "2022-10-31", + "date_to": "2023-06-01", + "technology": "jQuery" + } + ], + "properties": { + "date_from": { + "description": "<em>starting date of the time range</em><br>optional field<br>minimum value: <code>2022-10-31</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>\"2023-06-01\"</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>\"2023-01-15\"</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" + ] + }, + "technology": { + "description": "<em>target technology</em><br><strong>required field</strong><br>you can find the full list of technologies you can specify here <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br>example:<br><code>\"Salesforce\"</code>", + "type": "string" + } + }, + "type": "object" + } +] - removed
Input schema / properties / body / items / propertiesRemoved value: -{ - "date_from": { - "description": "starting date of the time range optional field minimum value: 2022-10-31 if you don’t specify this field, the minimum value will be used by default date format: \"yyyy-mm-dd\" example: \"2023-06-01\"", - "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: \"2023-01-15\"", - "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" - }, - "technology": { - "description": "target technology required field you can find the full list of technologies you can specify here on this page example: \"Salesforce\"", - "type": "string" - } -} - removed
Input schema / properties / body / items / requiredRemoved value: -[ - "technology" -] - changed
Input schema / properties / body / items / typePrevious value: -"object"New value: +[ + "object", + "null" +] - changed
Input schema / requiredPrevious value: -[ - "body" -]New value: +[] - added
Output schema / x-fastmcp-wrap-resultAdded value: +true
- Changed
post_dataforseo_domains_whois_overview_live5 fields changed- added
Input schema / properties / body / exampleAdded value: +[ + { + "filters": [ + [ + "epp_status_codes", + "in", + [ + "client_transfer_prohibited", + "client_update_prohibited" + ] + ] + ], + "limit": 2 + } +] - added
Input schema / properties / body / items / anyOfAdded 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><</code>, <code><=</code>, <code>></code>, <code>>=</code>, <code>=</code>, <code><></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" + } +] - removed
Input schema / properties / body / items / propertiesRemoved 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" - } -} - changed
Input schema / properties / body / items / typePrevious value: -"object"New value: +[ + "object", + "null" +] - added
Output schema / x-fastmcp-wrap-resultAdded value: +true
- Changed
search17 fields changed- added
Input schema / $schemaAdded value: +"https://json-schema.org/draft/2020-12/schema" - removed
Input schema / properties / category / anyOfRemoved value: -[ - { - "enum": [ - "seo", - "finance", - "social", - "search", - "sales", - "mail" - ], - "type": "string" - }, - { - "type": "null" - } -] - removed
Input schema / properties / category / defaultRemoved value: -null - changed
Input schema / properties / category / descriptionPrevious 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.)" - added
Input schema / properties / category / enumAdded value: +[ + "seo", + "finance", + "social", + "search", + "sales", + "mail" +] - added
Input schema / properties / category / typeAdded value: +"string" - added
Input schema / properties / known_fieldsAdded value: +{ + "additionalProperties": true, + "default": {}, + "description": "Known values such as ticker, URL, provider, or identifier that improve retrieval.", + "type": "object" +} - changed
Input schema / properties / limit / descriptionPrevious value: -"Maximum candidates, 1-10"New value: +"Maximum number of additional direct tool candidates." - added
Input schema / properties / limit / maximumAdded value: +20 - added
Input schema / properties / limit / minimumAdded value: +1 - added
Input schema / properties / provider_filtersAdded 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 +} - changed
Input schema / properties / query / descriptionPrevious 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." - added
Input schema / properties / query / maxLengthAdded value: +2000 - added
Input schema / properties / query / minLengthAdded value: +1 - added
Input schema / properties / session_idAdded 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" +} - added
Output schema / propertiesAdded 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" + } + } +} - added
Output schema / requiredAdded value: +[ + "next_steps_guidance", + "search_id", + "session_id", + "tools" +]
- Changed
use1 field changed- changed
Input schema / properties / max_price_usd / descriptionPrevious 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"
18 tool updates
- Removed
batch_get_schema - Removed
batch_quote - Changed
batch_use18 fields changed- removed
Input schema / $schemaRemoved value: -"https://json-schema.org/draft/2020-12/schema" - added
Input schema / properties / calls / descriptionAdded value: +"Up to 20 items of {call_id, operation_id, arguments}; steps at the same execution_level of a plan go in one batch" - removed
Input schema / properties / calls / items / $schemaRemoved value: -"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / calls / items / additionalPropertiesPrevious value: -falseNew value: +true - removed
Input schema / properties / calls / items / propertiesRemoved 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" - } -} - removed
Input schema / properties / calls / items / requiredRemoved value: -[ - "call_id", - "tool", - "arguments" -] - removed
Input schema / properties / calls / maxItemsRemoved value: -20 - removed
Input schema / properties / calls / minItemsRemoved value: -1 - added
Input schema / properties / max_price_usdAdded value: +{ + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Per-call price cap applied to every item" +} - added
Input schema / properties / search_id / anyOfAdded value: +[ + { + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / search_id / defaultAdded value: +null - changed
Input schema / properties / search_id / descriptionPrevious value: -"Optional search correlation identifier returned by search."New value: +"search_id from the search that found these operations" - removed
Input schema / properties / search_id / typeRemoved value: -"string" - removed
Input schema / properties / session_idRemoved 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" -} - removed
Output schema / $defsRemoved 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." - } -} - removed
Output schema / $schemaRemoved value: -"https://json-schema.org/draft/2020-12/schema" - removed
Output schema / propertiesRemoved 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" - } -} - removed
Output schema / requiredRemoved value: -[ - "session_id", - "batch_id", - "total_count", - "success_count", - "error_count", - "results", - "next_steps_guidance" -]
- Changed
get_dataforseo_domains_tech_available_filters1 field changed- removed
Output schema / x-fastmcp-wrap-resultRemoved value: -true
- Changed
get_dataforseo_domains_tech_languages1 field changed- removed
Output schema / x-fastmcp-wrap-resultRemoved value: -true
- Changed
get_dataforseo_domains_tech_list1 field changed- removed
Output schema / x-fastmcp-wrap-resultRemoved value: -true
- Changed
get_dataforseo_domains_tech_locations1 field changed- removed
Output schema / x-fastmcp-wrap-resultRemoved value: -true
- Changed
get_dataforseo_domains_whois_available_filters1 field changed- removed
Output schema / x-fastmcp-wrap-resultRemoved value: -true
- Changed
get_details13 fields changed- removed
Input schema / $schemaRemoved value: -"https://json-schema.org/draft/2020-12/schema" - added
Input schema / properties / argumentsAdded 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." +} - removed
Input schema / properties / include_arguments_schemaRemoved value: -{ - "default": true, - "description": "Return the complete arguments_schema. Defaults to true.", - "type": "boolean" -} - changed
Input schema / properties / include_documentation / descriptionPrevious 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." - removed
Input schema / properties / include_response_schemaRemoved value: -{ - "default": false, - "description": "Return the complete response_schema. Defaults to false.", - "type": "boolean" -} - added
Input schema / properties / operation_idAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "One operation_id from search" +} - added
Input schema / properties / operation_idsAdded value: +{ + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Up to 20 operation_ids, for a batch" +} - removed
Input schema / properties / session_idRemoved 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" -} - removed
Input schema / properties / toolsRemoved 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 -} - added
Input schema / properties / with_quoteAdded value: +{ + "default": true, + "description": "Whether each operation is priced for this account before the answer. One round trip per operation; spends nothing.", + "type": "boolean" +} - removed
Input schema / requiredRemoved value: -[ - "tools" -] - removed
Output schema / propertiesRemoved 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" - } -} - removed
Output schema / requiredRemoved value: -[ - "error_count", - "next_steps_guidance", - "session_id", - "success_count", - "tools", - "total_count" -]
- Changed
post_dataforseo_domains_tech_aggregation_live7 fields changed- removed
Input schema / properties / body / exampleRemoved value: -[ - { - "filters": [ - [ - "country_iso_code", - "=", - "US" - ], - "and", - [ - "domain_rank", - ">", - 800 - ] - ], - "keyword": "WordPress", - "limit": 10, - "mode": "entry", - "order_by": [ - "groups_count,desc" - ], - "technology": "Nginx" - } -] - added
Input schema / properties / body / items / allOfAdded value: +[ + { + "anyOf": [ + { + "required": [ + "group" + ] + }, + { + "required": [ + "category" + ] + }, + { + "required": [ + "technology" + ] + }, + { + "required": [ + "keyword" + ] + } + ] + } +] - removed
Input schema / properties / body / items / anyOfRemoved value: -[ - { - "example": [ - { - "filters": [ - [ - "country_iso_code", - "=", - "US" - ], - "and", - [ - "domain_rank", - ">", - 800 - ] - ], - "keyword": "WordPress", - "limit": 10, - "mode": "entry", - "order_by": [ - "groups_count,desc" - ], - "technology": "Nginx" - } - ], - "properties": { - "category": { - "description": "<em>id of the target technology category</em><br><strong>required field if you don't specify <code>group</code>, <code>keyword</code> or <code>technology</code></strong><br>at least one field (<code>group</code>, <code>category</code>, <code>keyword</code>, <code>technology</code>) must be set<br>you can find the full list of technology category ids <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br>example:<br><code>\"crm\"</code>", - "type": "string" - }, - "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><=</code>, <code>></code>, <code>>=</code>, <code>=</code>, <code><></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>you can use the following parameters to filter the results: <code>domain_rank</code>, <code>last_visited</code>, <code>country_iso_code</code>, <code>language_code</code>, <code>content_language_code</code><br><strong>Note:</strong> all filtering parameters are taken from the <code>domain_technology_item</code> of the <a href=\"/v3/domain_analytics/technologies/filters\" target=\"_blank\" rel=\"noopener noreferrer\">domain_technologies</a> endpoint;<br>example:<br><code>[[\"country_iso_code\",\"=\",\"US\"],<br>\"and\",<br>[\"domain_rank\",\">\",800]]</code>for more information about filters, please refer to <a href=\"/v3/domain_analytics/technologies/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Domain Analytics Technologies API - Filters</a>", - "items": { - "type": [ - "object", - "null" - ] - }, - "type": [ - "array", - "null" - ] - }, - "group": { - "description": "<em>id of the target technology group</em><br><strong>required field if you don't specify <code>technology</code>, <code>category</code> or <code>keyword</code></strong><br>at least one field (<code>group</code>, <code>category</code>, <code>keyword</code>, <code>technology</code>) must be set<br>you can find the full list of technology group ids <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br>example:<br><code>\"marketing\"</code>", - "type": "string" - }, - "internal_categories_list_limit": { - "description": "<em>maximum number of returned technology categories within the same group</em><br>optional field<br>you can use this field to limit the number of items with identical <code>\"category\"</code> in the results<br>default value: <code>5</code><br>minimum value: <code>1</code><br>maximum value: <code>10000</code>", - "type": [ - "integer", - "null" - ] - }, - "internal_groups_list_limit": { - "description": "<em>maximum number of returned technology groups</em><br>optional field<br>you can use this field to limit the number of items with identical <code>\"group\"</code> in the results<br>default value: <code>5</code><br>minimum value: <code>1</code><br>maximum value: <code>10000</code>", - "type": [ - "integer", - "null" - ] - }, - "internal_list_limit": { - "description": "<em>maximum number of items with identical <code>\"category\"</code>, <code>\"group\"</code>, and <code>\"technology\"</code></em><br>optional field<br>if you use this field, the values specified in <code>internal_groups_list_limit</code>, <code>internal_categories_list_limit</code> and <code>internal_technologies_list_limit</code> will be ignored;<br>you can use this field to limit the number of items with identical <code>\"category\"</code>, <code>\"group\"</code>, or <code>\"technology\"</code><br>default value: <code>10</code><br>minimum value: <code>1</code><br>maximum value: <code>10000</code>", - "type": [ - "integer", - "null" - ] - }, - "internal_technologies_list_limit": { - "description": "<em>maximum number of returned technologies within the same category</em><br>optional field<br>you can use this field to limit the number of items with identical <code>\"technology\"</code> in the results<br>default value: <code>10</code><br>minimum value: <code>1</code><br>maximum value: <code>10000</code>", - "type": [ - "integer", - "null" - ] - }, - "keyword": { - "description": "<em>target keyword in the domain's meta keywords</em><br><strong>required field if you don't specify <code>group</code>, <code>category</code> or <code>technology</code></strong><br>at least one field (<code>group</code>, <code>category</code>, <code>keyword</code>, <code>technology</code>) must be set<br>UTF-8 encoding<br>example:<br><code>\"seo\"</code>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>", - "type": "string" - }, - "limit": { - "description": "<em>the maximum number of returned technologies</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>10000</code>", - "type": [ - "integer", - "null" - ] - }, - "mode": { - "description": "<em>search mode</em><br>optional field<br>possible search mode types:<br><code>as_is</code> - search for results exactly matching the specified group ids, category ids, or technology names<br><code>entry</code> - search for results matching a part of the specified group ids, category ids, or technology names<br>default value: <code>as_is</code>", - "type": [ - "string", - "null" - ] - }, - "offset": { - "description": "<em>offset in the results array of returned domains</em><br>optional field<br>default value: <code>0</code><br>maximum value: <code>9999</code><br>if you specify the <code>10</code> value, the first ten technologies in the results array will be omitted and the data will be provided for the successive technologies", - "type": [ - "integer", - "null" - ] - }, - "order_by": { - "description": "<em>results sorting rules</em><br>optional field<br>you can use the following values to sort the results: <code>groups_count</code>, <code>categories_count</code>, <code>technologies_count</code><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>[\"groups_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>[\"groups_count,desc\",\"technologies_count,desc\"]</code><br>default value:<br><code>[\"groups_count,desc\",\"categories_count,desc\",\"technologies_count,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" - ] - }, - "technology": { - "description": "<em>target technology</em><br><strong>required field if you don't specify <code>group</code>, <code>keyword</code> or <code>category</code></strong><br>at least one field (<code>group</code>, <code>category</code>, <code>keyword</code>, <code>technology</code>) must be set<br>you can find the full list of technologies <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br>example:<br><code>\"Salesforce\"</code>", - "type": "string" - } - }, - "type": "object" - } -] - added
Input schema / properties / body / items / propertiesAdded value: +{ + "category": { + "description": "id of the target technology category required field if you don’t specify group, keyword or technology at least one field (group, category, keyword, technology) must be set you can find the full list of technology category ids on this page example: \"crm\"", + "type": "string" + }, + "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 you can use the % operator with like and not_like to match any string of zero or more characters you can use the following parameters to filter the results: domain_rank, last_visited, country_iso_code, language_code, content_language_code Note: all filtering parameters are taken from the domain_technology_item of the domain_technologies endpoint; example: [[\"country_iso_code\",\"=\",\"US\"], \"and\", [\"domain_rank\",\">\",800]]for more information about filters, please refer to Domain Analytics Technologies API – Filters", + "items": {}, + "type": "array" + }, + "group": { + "description": "id of the target technology group required field if you don’t specify technology, category or keyword at least one field (group, category, keyword, technology) must be set you can find the full list of technology group ids on this page example: \"marketing\"", + "type": "string" + }, + "internal_categories_list_limit": { + "description": "maximum number of returned technology categories within the same group optional field you can use this field to limit the number of items with identical \"category\" in the results default value: 5 minimum value: 1 maximum value: 10000", + "type": "integer" + }, + "internal_groups_list_limit": { + "description": "maximum number of returned technology groups optional field you can use this field to limit the number of items with identical \"group\" in the results default value: 5 minimum value: 1 maximum value: 10000", + "type": "integer" + }, + "internal_list_limit": { + "description": "maximum number of items with identical \"category\", \"group\", and \"technology\" optional field if you use this field, the values specified in internal_groups_list_limit, internal_categories_list_limit and internal_technologies_list_limit will be ignored; you can use this field to limit the number of items with identical \"category\", \"group\", or \"technology\" default value: 10 minimum value: 1 maximum value: 10000", + "type": "integer" + }, + "internal_technologies_list_limit": { + "description": "maximum number of returned technologies within the same category optional field you can use this field to limit the number of items with identical \"technology\" in the results default value: 10 minimum value: 1 maximum value: 10000", + "type": "integer" + }, + "keyword": { + "description": "target keyword in the domain’s meta keywords required field if you don’t specify group, category or technology at least one field (group, category, keyword, technology) must be set UTF-8 encoding example: \"seo\"learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article", + "type": "string" + }, + "limit": { + "description": "the maximum number of returned technologies optional field default value: 100 maximum value: 10000", + "type": "integer" + }, + "mode": { + "description": "search mode optional field possible search mode types: as_is – search for results exactly matching the specified group ids, category ids, or technology names entry – search for results matching a part of the specified group ids, category ids, or technology names default value: as_is", + "type": "string" + }, + "offset": { + "description": "offset in the results array of returned domains optional field default value: 0 maximum value: 9999 if you specify the 10 value, the first ten technologies in the results array will be omitted and the data will be provided for the successive technologies", + "type": "integer" + }, + "order_by": { + "description": "results sorting rules optional field you can use the following values to sort the results: groups_count, categories_count, technologies_count 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: [\"groups_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: [\"groups_count,desc\",\"technologies_count,desc\"] default value: [\"groups_count,desc\",\"categories_count,desc\",\"technologies_count,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" + }, + "technology": { + "description": "target technology required field if you don’t specify group, keyword or category at least one field (group, category, keyword, technology) must be set you can find the full list of technologies on this page example: \"Salesforce\"", + "type": "string" + } +} - changed
Input schema / properties / body / items / typePrevious value: -[ - "object", - "null" -]New value: +"object" - changed
Input schema / requiredPrevious value: -[]New value: +[ + "body" +] - removed
Output schema / x-fastmcp-wrap-resultRemoved value: -true
- Changed
post_dataforseo_domains_tech_domains_by_html_terms_live7 fields changed- removed
Input schema / properties / body / exampleRemoved value: -[ - { - "limit": 10, - "offset": 0, - "order_by": [ - "last_visited,desc" - ], - "search_terms": [ - "data-attrid" - ] - } -] - removed
Input schema / properties / body / items / anyOfRemoved value: -[ - { - "example": [ - { - "limit": 10, - "offset": 0, - "order_by": [ - "last_visited,desc" - ], - "search_terms": [ - "data-attrid" - ] - } - ], - "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><</code>, <code><=</code>, <code>></code>, <code>>=</code>, <code>=</code>, <code><></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>[\"domain\",\"like\",\"%seo%\"]</code><p><code>[[\"country_iso_code\",\"=\",\"US\"],<br>\"and\",<br>[\"domain_rank\",\">\",100]]</code><p><code>[[\"domain_rank\",\">\",100],<br>\"and\",<br>[[\"country_iso_code\",\"=\",\"US\"],\"or\",[\"country_iso_code\",\"=\",\"CA\"]]]</code><p>for more information about filters, please refer to <a href=\"/v3/domain_analytics/technologies/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Domain Analytics Technologies API - Filters</a>", - "items": { - "type": [ - "object", - "null" - ] - }, - "type": [ - "array", - "null" - ] - }, - "keywords": { - "description": "<em>target keywords in the domain's title, description or meta keywords</em><br>optional field<br>UTF-8 encoding<br>maximum number of keywords you can specify: 10 <br>example:<br><code>[\"seo\",\"software\"]</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>", - "items": { - "type": "string" - }, - "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>10000</code>", - "type": [ - "integer", - "null" - ] - }, - "mode": { - "description": "<em>search mode</em><br>optional field<br>possible search mode types:<br><code>strict_entry</code> - search for results exactly matching the order, intervals and separators in the specified search terms<br><code>entry</code> - search for results ignoring the order, intervals and separators in the specified search terms<br>default value: <code>entry</code>", - "type": [ - "string", - "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 domains;<br><strong>Note:</strong> the maximum value is <code>9999</code>, the sum of <code>limit</code> and <code>offset</code> must not exceed <code>10000</code>;<br>use the <code>offset_token</code> if you would like to offset more results", - "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>available fields: <br><code>domain_rank</code>, <code>domain</code>, <code>last_visited</code>, <code>country_iso_code</code>, <code>language_code</code>, <code>content_language_code</code><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>[\"last_visited,desc\"]</code><br>default rule:<br><code>[\"domain_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>[\"last_visited,desc\",\"domain_rank,desc\"]</code>", - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "search_terms": { - "description": "<em>target search terms</em><br><strong>required field</strong><br>specify target HTML elements, tags, attributes, their content or all of the above<br>if you specify more than one search term, you will receive only the domains containing all of the specified terms in the HTML code of their homepage<br>maximum number of search terms you can specify: 10<br>example:<br><code>[\"data-attrid\"]</code>", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - } -] - added
Input schema / properties / body / items / propertiesAdded 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: , , >, >=, =, , 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: [\"domain\",\"like\",\"%seo%\"] [[\"country_iso_code\",\"=\",\"US\"], \"and\", [\"domain_rank\",\">\",100]] [[\"domain_rank\",\">\",100], \"and\", [[\"country_iso_code\",\"=\",\"US\"],\"or\",[\"country_iso_code\",\"=\",\"CA\"]]] for more information about filters, please refer to Domain Analytics Technologies API – Filters", + "items": {}, + "type": "array" + }, + "keywords": { + "description": "target keywords in the domain’s title, description or meta keywords optional field UTF-8 encoding maximum number of keywords you can specify: 10 example: [\"seo\",\"software\"] learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article", + "items": { + "type": "string" + }, + "type": "array" + }, + "limit": { + "description": "the maximum number of returned domains optional field default value: 100 maximum value: 10000", + "type": "integer" + }, + "mode": { + "description": "search mode optional field possible search mode types: strict_entry – search for results exactly matching the order, intervals and separators in the specified search terms entry – search for results ignoring the order, intervals and separators in the specified search terms default value: entry", + "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; Note: the maximum value is 9999, the sum of limit and offset must not exceed 10000; use the offset_token if you would like to offset more results", + "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 available fields: domain_rank, domain, last_visited, country_iso_code, language_code, content_language_code 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: [\"last_visited,desc\"] default rule: [\"domain_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: [\"last_visited,desc\",\"domain_rank,desc\"]", + "items": { + "type": "string" + }, + "type": "array" + }, + "search_terms": { + "description": "target search terms required field specify target HTML elements, tags, attributes, their content or all of the above if you specify more than one search term, you will receive only the domains containing all of the specified terms in the HTML code of their homepage maximum number of search terms you can specify: 10 example: [\"data-attrid\"]", + "items": { + "type": "string" + }, + "type": "array" + } +} - added
Input schema / properties / body / items / requiredAdded value: +[ + "search_terms" +] - changed
Input schema / properties / body / items / typePrevious value: -[ - "object", - "null" -]New value: +"object" - changed
Input schema / requiredPrevious value: -[]New value: +[ + "body" +] - removed
Output schema / x-fastmcp-wrap-resultRemoved value: -true
- Changed
post_dataforseo_domains_tech_domains_by_technology_live7 fields changed- removed
Input schema / properties / body / exampleRemoved value: -[ - { - "filters": [ - [ - "country_iso_code", - "=", - "US" - ], - "and", - [ - "domain_rank", - ">", - 800 - ] - ], - "limit": 10, - "order_by": [ - "last_visited,desc" - ], - "technologies": [ - "Nginx" - ] - } -] - added
Input schema / properties / body / items / allOfAdded value: +[ + { + "anyOf": [ + { + "required": [ + "technology_paths" + ] + }, + { + "required": [ + "groups" + ] + }, + { + "required": [ + "categories" + ] + }, + { + "required": [ + "technologies" + ] + }, + { + "required": [ + "keywords" + ] + } + ] + } +] - removed
Input schema / properties / body / items / anyOfRemoved value: -[ - { - "example": [ - { - "filters": [ - [ - "country_iso_code", - "=", - "US" - ], - "and", - [ - "domain_rank", - ">", - 800 - ] - ], - "limit": 10, - "order_by": [ - "last_visited,desc" - ], - "technologies": [ - "Nginx" - ] - } - ], - "properties": { - "categories": { - "description": "<em>ids of the target technology categories</em><br><strong>required field if you don't specify <code>groups</code>, <code>technology_paths</code>, <code>keywords</code> or <code>technologies</code></strong><br>you can find the full list of technology category ids <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br><strong>note:</strong> you can specify up to 10 technology categories in this array<br>example:<br><code>[\"payment_processors\",\"crm\"]</code>", - "items": { - "type": "string" - }, - "type": "array" - }, - "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><=</code>, <code>></code>, <code>>=</code>, <code>=</code>, <code><></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>[\"country_iso_code\",\"=\",\"US\"]</code><p><code>[[\"country_iso_code\",\"=\",\"US\"],<br>\"and\",<br>[\"domain_rank\",\">\",100]]</code><p><code>[[\"domain_rank\",\">\",100],<br>\"and\",<br>[[\"country_iso_code\",\"=\",\"US\"],\"or\",[\"country_iso_code\",\"=\",\"CA\"]]]</code><p>for more information about filters, please refer to <a href=\"/v3/domain_analytics/technologies/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Domain Analytics Technologies API - Filters</a>", - "items": { - "type": [ - "object", - "null" - ] - }, - "type": [ - "array", - "null" - ] - }, - "groups": { - "description": "<em>ids of the target technology groups</em><br><strong>required field if you don't specify <code>technologies</code>, <code>technology_paths</code>, <code>keywords</code> or <code>categories</code></strong><br>you can find the full list of technology group ids <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br><strong>note:</strong> you can specify up to 10 technology groups in this array<br>example:<br><code>[\"sales\", \"marketing\"]</code>", - "items": { - "type": "string" - }, - "type": "array" - }, - "keywords": { - "description": "<em>target keywords in the domain's title, description or meta keywords</em><br><strong>required field if you don't specify <code>groups</code>, <code>technology_paths</code>, <code>technologies</code> or <code>categories</code></strong><br>optional field<br>you can specify the maximum of 10 keywords;<br>UTF-8 encoding;<br>example:<br><code>[\"seo\",\"software\"]</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>", - "items": { - "type": "string" - }, - "type": "array" - }, - "limit": { - "description": "<em>the maximum number of returned domains</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>10000</code>", - "type": [ - "integer", - "null" - ] - }, - "mode": { - "description": "<em>search mode</em><br>optional field<br>possible search mode types:<br><code>as_is</code> - search for results exactly matching the specified group ids, category ids, or technology names<br><code>entry</code> - search for results matching a part of the specified group ids, category ids, or technology names<br>default value: <code>as_is</code>", - "type": [ - "string", - "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 domains;<br><strong>Note:</strong> the maximum value is <code>9999</code>, the sum of <code>limit</code> and <code>offset</code> must not exceed <code>10000</code>;<br>use the <code>offset_token</code> if you would like to offset more results", - "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>available fields: <br><code>domain_rank</code>, <code>domain</code>, <code>last_visited</code>, <code>country_iso_code</code>, <code>language_code</code>, <code>content_language_code</code><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>[\"last_visited,desc\"]</code><br>default rule:<br><code>[\"domain_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>[\"last_visited,desc\",\"domain_rank,desc\"]</code>", - "items": { - "type": "string" - }, - "type": [ - "array", - "null" - ] - }, - "technologies": { - "description": "<em>target technologies</em><br><strong>required field if you don't specify <code>groups</code>, <code>technology_paths</code>, <code>keywords</code> or <code>categories</code></strong><br>you can find the full list of technologies you can specify here <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br><strong>note:</strong> you can specify up to 10 technologies in this array<br>example:<br><code>[\"Google Pay\",\"Salesforce\"]</code>", - "items": { - "type": "string" - }, - "type": "array" - }, - "technology_paths": { - "description": "<em>target technology paths</em><br><strong>required field if you don't specify <code>groups</code>, <code>technologies</code>, <code>keywords</code> or <code>categories</code></strong><br>at least one field (<code>technology_paths</code>, <code>groups</code>, <code>technologies</code>, <code>keywords</code> or <code>categories</code>) must be set;<br>each technology path should be specified as a separate object containing \"path\" and \"name\", where \"path\" is specified as \"$group_id.$category_id\" and \"name\" - as the name of the target technology; <br>each object with a technology path should be separated with a comma<br>you can find the full list of technology group ids, category ids and technology names <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br><strong>note:</strong> you can specify up to 10 technology paths in this array<br>example:<br><code>[{\"path\": \"content.cms\",\"name\": \"wordpress\"}, {\"path\": \"marketing.crm\",\"name\": \"salesforce\"}]</code>", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - } -] - added
Input schema / properties / body / items / propertiesAdded value: +{ + "categories": { + "description": "ids of the target technology categories required field if you don’t specify groups, technology_paths, keywords or technologies you can find the full list of technology category ids on this page note: you can specify up to 10 technology categories in this array example: [\"payment_processors\",\"crm\"]", + "items": { + "type": "string" + }, + "type": "array" + }, + "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 you can use the % operator with like and not_like to match any string of zero or more characters example: [\"country_iso_code\",\"=\",\"US\"] [[\"country_iso_code\",\"=\",\"US\"], \"and\", [\"domain_rank\",\">\",100]] [[\"domain_rank\",\">\",100], \"and\", [[\"country_iso_code\",\"=\",\"US\"],\"or\",[\"country_iso_code\",\"=\",\"CA\"]]] for more information about filters, please refer to Domain Analytics Technologies API – Filters", + "items": {}, + "type": "array" + }, + "groups": { + "description": "ids of the target technology groups required field if you don’t specify technologies, technology_paths, keywords or categories you can find the full list of technology group ids on this page note: you can specify up to 10 technology groups in this array example: [\"sales\", \"marketing\"]", + "items": { + "type": "string" + }, + "type": "array" + }, + "keywords": { + "description": "target keywords in the domain’s title, description or meta keywords required field if you don’t specify groups, technology_paths, technologies or categories optional field you can specify the maximum of 10 keywords; UTF-8 encoding; example: [\"seo\",\"software\"] learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article", + "items": { + "type": "string" + }, + "type": "array" + }, + "limit": { + "description": "the maximum number of returned domains optional field default value: 100 maximum value: 10000", + "type": "integer" + }, + "mode": { + "description": "search mode optional field possible search mode types: as_is – search for results exactly matching the specified group ids, category ids, or technology names entry – search for results matching a part of the specified group ids, category ids, or technology names default value: as_is", + "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; Note: the maximum value is 9999, the sum of limit and offset must not exceed 10000; use the offset_token if you would like to offset more results", + "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 available fields: domain_rank, domain, last_visited, country_iso_code, language_code, content_language_code 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: [\"last_visited,desc\"] default rule: [\"domain_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: [\"last_visited,desc\",\"domain_rank,desc\"]", + "items": { + "type": "string" + }, + "type": "array" + }, + "technologies": { + "description": "target technologies required field if you don’t specify groups, technology_paths, keywords or categories you can find the full list of technologies you can specify here on this page note: you can specify up to 10 technologies in this array example: [\"Google Pay\",\"Salesforce\"]", + "items": { + "type": "string" + }, + "type": "array" + }, + "technology_paths": { + "description": "target technology paths required field if you don’t specify groups, technologies, keywords or categories at least one field (technology_paths, groups, technologies, keywords or categories) must be set; each technology path should be specified as a separate object containing “path” and “name”, where “path” is specified as “$group_id.$category_id” and “name” – as the name of the target technology; each object with a technology path should be separated with a comma you can find the full list of technology group ids, category ids and technology names on this page note: you can specify up to 10 technology paths in this array example: [{\"path\": \"content.cms\",\"name\": \"wordpress\"}, {\"path\": \"marketing.crm\",\"name\": \"salesforce\"}]", + "items": { + "properties": { + "name": { + "type": "string" + }, + "path": { + "type": "string" + } + }, + "required": [ + "path", + "name" + ], + "type": "object" + }, + "type": "array" + } +} - changed
Input schema / properties / body / items / typePrevious value: -[ - "object", - "null" -]New value: +"object" - changed
Input schema / requiredPrevious value: -[]New value: +[ + "body" +] - removed
Output schema / x-fastmcp-wrap-resultRemoved value: -true
- Changed
post_dataforseo_domains_tech_for_domain_live7 fields changed- removed
Input schema / properties / body / exampleRemoved value: -[ - { - "target": "dataforseo.com" - } -] - removed
Input schema / properties / body / items / anyOfRemoved 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" - } -] - added
Input schema / properties / body / items / propertiesAdded 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" + } +} - added
Input schema / properties / body / items / requiredAdded value: +[ + "target" +] - changed
Input schema / properties / body / items / typePrevious value: -[ - "object", - "null" -]New value: +"object" - changed
Input schema / requiredPrevious value: -[]New value: +[ + "body" +] - removed
Output schema / x-fastmcp-wrap-resultRemoved value: -true
- Changed
post_dataforseo_domains_tech_summary_live7 fields changed- removed
Input schema / properties / body / exampleRemoved value: -[ - { - "filters": [ - [ - "country_iso_code", - "=", - "US" - ], - "and", - [ - "domain_rank", - ">", - 800 - ] - ], - "keywords": [ - "WordPress" - ], - "mode": "entry", - "technologies": [ - "Ngi" - ] - } -] - added
Input schema / properties / body / items / allOfAdded value: +[ + { + "anyOf": [ + { + "required": [ + "technology_paths" + ] + }, + { + "required": [ + "groups" + ] + }, + { + "required": [ + "categories" + ] + }, + { + "required": [ + "technologies" + ] + }, + { + "required": [ + "keywords" + ] + } + ] + } +] - removed
Input schema / properties / body / items / anyOfRemoved value: -[ - { - "example": [ - { - "filters": [ - [ - "country_iso_code", - "=", - "US" - ], - "and", - [ - "domain_rank", - ">", - 800 - ] - ], - "keywords": [ - "WordPress" - ], - "mode": "entry", - "technologies": [ - "Ngi" - ] - } - ], - "properties": { - "categories": { - "description": "<em>ids of the target technology categories</em><br><strong>required field if you don't specify <code>groups</code>, <code>technology_paths</code>, <code>technologies</code>, or <code>keywords</code></strong><br>you can find the full list of technology category ids <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br><strong>note:</strong> you can specify up to 10 technology categories in this array<br>example:<br><code>[\"payment_processors\",\"crm\"]</code>", - "items": { - "type": "string" - }, - "type": "array" - }, - "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><=</code>, <code>></code>, <code>>=</code>, <code>=</code>, <code><></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>you can use the following parameters to filter the results: <code>domain_rank</code>, <code>last_visited</code>, <code>country_iso_code</code>, <code>language_code</code>, <code>content_language_code</code><br>example:<br><code>[[\"country_iso_code\",\"=\",\"US\"],<br>\"and\",<br>[\"domain_rank\",\">\",800]]</code><p>for more information about filters, please refer to <a href=\"/v3/domain_analytics/technologies/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Domain Analytics Technologies API - Filters</a>", - "items": { - "type": [ - "object", - "null" - ] - }, - "type": [ - "array", - "null" - ] - }, - "groups": { - "description": "<em>ids of the target technology groups</em><br><strong>required field if you don't specify <code>technologies</code>, <code>technology_paths</code>, <code>categories</code>, or <code>keywords</code></strong><br>you can find the full list of technology group ids <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br><strong>note:</strong> you can specify up to 10 technology groups in this array<br>example:<br><code>[\"sales\", \"marketing\"]</code>", - "items": { - "type": "string" - }, - "type": "array" - }, - "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>countries</code>, <code>languages</code>, <code>content_languages</code>, <code>keywords</code><br>default value: <code>10</code><br>minimum value: <code>1</code><br>maximum value: <code>10000</code>", - "type": [ - "integer", - "null" - ] - }, - "keywords": { - "description": "<em>target keywords in the domain's title, description or meta keywords</em><br><strong>required field if you don't specify <code>groups</code>, <code>technology_paths</code>, <code>categories</code>, or <code>technologies</code></strong><br>you can specify the maximum of 10 keywords;<br>UTF-8 encoding;<br>example:<br><code>[\"seo\",\"software\"]</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>", - "items": { - "type": "string" - }, - "type": "array" - }, - "mode": { - "description": "<em>search mode</em><br>optional field<br>possible search mode types:<br><code>as_is</code> - search for results exactly matching the specified group ids, category ids, or technology names<br><code>entry</code> - search for results matching a part of the specified group ids, category ids, or technology names<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" - ] - }, - "technologies": { - "description": "<em>target technologies</em><br><strong>required field if you don't specify <code>groups</code>, <code>technology_paths</code>, <code>categories</code>, or <code>keywords</code></strong><br>you can find the full list of technologies you can specify here <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br><strong>note:</strong> you can specify up to 10 technologies in this array<br>example:<br><code>[\"Google Pay\",\"Salesforce\"]</code>", - "items": { - "type": "string" - }, - "type": "array" - }, - "technology_paths": { - "description": "<em>target technology paths</em><br><strong>required field if you don't specify <code>groups</code>, <code>technologies</code> and <code>categories</code></strong><br>each technology path should be specified as a separate object containing \"path\" and \"name\", where \"path\" is specified as \"$group_id.$category_id\" and \"name\" - as the name of the target technology; <br>each object with a technology path should be separated with a comma<br>you can find the full list of technology group ids, category ids and technology names <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br><strong>note:</strong> you can specify up to 10 technology paths in this array<br>example:<br><code>[{\"path\": \"content.cms\",\"name\": \"wordpress\"}, {\"path\": \"marketing.crm\",\"name\": \"salesforce\"}]</code>", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - } -] - added
Input schema / properties / body / items / propertiesAdded value: +{ + "categories": { + "description": "ids of the target technology categories required field if you don’t specify groups, technology_paths, technologies, or keywords you can find the full list of technology category ids on this page note: you can specify up to 10 technology categories in this array example: [\"payment_processors\",\"crm\"]", + "items": { + "type": "string" + }, + "type": "array" + }, + "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 you can use the % operator with like and not_like to match any string of zero or more characters you can use the following parameters to filter the results: domain_rank, last_visited, country_iso_code, language_code, content_language_code example: [[\"country_iso_code\",\"=\",\"US\"], \"and\", [\"domain_rank\",\">\",800]] for more information about filters, please refer to Domain Analytics Technologies API – Filters", + "items": {}, + "type": "array" + }, + "groups": { + "description": "ids of the target technology groups required field if you don’t specify technologies, technology_paths, categories, or keywords you can find the full list of technology group ids on this page note: you can specify up to 10 technology groups in this array example: [\"sales\", \"marketing\"]", + "items": { + "type": "string" + }, + "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: countries, languages, content_languages, keywords default value: 10 minimum value: 1 maximum value: 10000", + "type": "integer" + }, + "keywords": { + "description": "target keywords in the domain’s title, description or meta keywords required field if you don’t specify groups, technology_paths, categories, or technologies you can specify the maximum of 10 keywords; UTF-8 encoding; example: [\"seo\",\"software\"] learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article", + "items": { + "type": "string" + }, + "type": "array" + }, + "mode": { + "description": "search mode optional field possible search mode types: as_is – search for results exactly matching the specified group ids, category ids, or technology names entry – search for results matching a part of the specified group ids, category ids, or technology names 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" + }, + "technologies": { + "description": "target technologies required field if you don’t specify groups, technology_paths, categories, or keywords you can find the full list of technologies you can specify here on this page note: you can specify up to 10 technologies in this array example: [\"Google Pay\",\"Salesforce\"]", + "items": { + "type": "string" + }, + "type": "array" + }, + "technology_paths": { + "description": "target technology paths required field if you don’t specify groups, technologies and categories each technology path should be specified as a separate object containing “path” and “name”, where “path” is specified as “$group_id.$category_id” and “name” – as the name of the target technology; each object with a technology path should be separated with a comma you can find the full list of technology group ids, category ids and technology names on this page note: you can specify up to 10 technology paths in this array example: [{\"path\": \"content.cms\",\"name\": \"wordpress\"}, {\"path\": \"marketing.crm\",\"name\": \"salesforce\"}]", + "items": { + "properties": { + "name": { + "type": "string" + }, + "path": { + "type": "string" + } + }, + "required": [ + "path", + "name" + ], + "type": "object" + }, + "type": "array" + } +} - changed
Input schema / properties / body / items / typePrevious value: -[ - "object", - "null" -]New value: +"object" - changed
Input schema / requiredPrevious value: -[]New value: +[ + "body" +] - removed
Output schema / x-fastmcp-wrap-resultRemoved value: -true
- Changed
post_dataforseo_domains_tech_technology_stats_live7 fields changed- removed
Input schema / properties / body / exampleRemoved value: -[ - { - "date_from": "2022-10-31", - "date_to": "2023-06-01", - "technology": "jQuery" - } -] - removed
Input schema / properties / body / items / anyOfRemoved value: -[ - { - "example": [ - { - "date_from": "2022-10-31", - "date_to": "2023-06-01", - "technology": "jQuery" - } - ], - "properties": { - "date_from": { - "description": "<em>starting date of the time range</em><br>optional field<br>minimum value: <code>2022-10-31</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>\"2023-06-01\"</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>\"2023-01-15\"</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" - ] - }, - "technology": { - "description": "<em>target technology</em><br><strong>required field</strong><br>you can find the full list of technologies you can specify here <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br>example:<br><code>\"Salesforce\"</code>", - "type": "string" - } - }, - "type": "object" - } -] - added
Input schema / properties / body / items / propertiesAdded value: +{ + "date_from": { + "description": "starting date of the time range optional field minimum value: 2022-10-31 if you don’t specify this field, the minimum value will be used by default date format: \"yyyy-mm-dd\" example: \"2023-06-01\"", + "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: \"2023-01-15\"", + "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" + }, + "technology": { + "description": "target technology required field you can find the full list of technologies you can specify here on this page example: \"Salesforce\"", + "type": "string" + } +} - added
Input schema / properties / body / items / requiredAdded value: +[ + "technology" +] - changed
Input schema / properties / body / items / typePrevious value: -[ - "object", - "null" -]New value: +"object" - changed
Input schema / requiredPrevious value: -[]New value: +[ + "body" +] - removed
Output schema / x-fastmcp-wrap-resultRemoved value: -true
- Changed
post_dataforseo_domains_whois_overview_live5 fields changed- removed
Input schema / properties / body / exampleRemoved value: -[ - { - "filters": [ - [ - "epp_status_codes", - "in", - [ - "client_transfer_prohibited", - "client_update_prohibited" - ] - ] - ], - "limit": 2 - } -] - removed
Input schema / properties / body / items / anyOfRemoved 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><</code>, <code><=</code>, <code>></code>, <code>>=</code>, <code>=</code>, <code><></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" - } -] - added
Input schema / properties / body / items / propertiesAdded 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" + } +} - changed
Input schema / properties / body / items / typePrevious value: -[ - "object", - "null" -]New value: +"object" - removed
Output schema / x-fastmcp-wrap-resultRemoved value: -true
- Changed
search17 fields changed- removed
Input schema / $schemaRemoved value: -"https://json-schema.org/draft/2020-12/schema" - added
Input schema / properties / category / anyOfAdded value: +[ + { + "enum": [ + "seo", + "finance", + "social", + "search", + "sales", + "mail" + ], + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / category / defaultAdded value: +null - changed
Input schema / properties / category / descriptionPrevious 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." - removed
Input schema / properties / category / enumRemoved value: -[ - "seo", - "finance", - "social", - "search", - "sales", - "mail" -] - removed
Input schema / properties / category / typeRemoved value: -"string" - removed
Input schema / properties / known_fieldsRemoved value: -{ - "additionalProperties": true, - "default": {}, - "description": "Known values such as ticker, URL, provider, or identifier that improve retrieval.", - "type": "object" -} - changed
Input schema / properties / limit / descriptionPrevious value: -"Maximum number of additional direct tool candidates."New value: +"Maximum candidates, 1-10" - removed
Input schema / properties / limit / maximumRemoved value: -20 - removed
Input schema / properties / limit / minimumRemoved value: -1 - removed
Input schema / properties / provider_filtersRemoved 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 -} - changed
Input schema / properties / query / descriptionPrevious 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." - removed
Input schema / properties / query / maxLengthRemoved value: -2000 - removed
Input schema / properties / query / minLengthRemoved value: -1 - removed
Input schema / properties / session_idRemoved 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" -} - removed
Output schema / propertiesRemoved 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" - } - } -} - removed
Output schema / requiredRemoved value: -[ - "next_steps_guidance", - "search_id", - "session_id", - "tools" -]
- Changed
use1 field changed- changed
Input schema / properties / max_price_usd / descriptionPrevious 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"
18 tool updates
- Added
batch_get_schema - Added
batch_quote - Changed
batch_use18 fields changed- added
Input schema / $schemaAdded value: +"https://json-schema.org/draft/2020-12/schema" - removed
Input schema / properties / calls / descriptionRemoved value: -"Up to 20 items of {call_id, operation_id, arguments}; steps at the same execution_level of a plan go in one batch" - added
Input schema / properties / calls / items / $schemaAdded value: +"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / calls / items / additionalPropertiesPrevious value: -trueNew value: +false - added
Input schema / properties / calls / items / propertiesAdded 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" + } +} - added
Input schema / properties / calls / items / requiredAdded value: +[ + "call_id", + "tool", + "arguments" +] - added
Input schema / properties / calls / maxItemsAdded value: +20 - added
Input schema / properties / calls / minItemsAdded value: +1 - removed
Input schema / properties / max_price_usdRemoved value: -{ - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Per-call price cap applied to every item" -} - removed
Input schema / properties / search_id / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - removed
Input schema / properties / search_id / defaultRemoved value: -null - changed
Input schema / properties / search_id / descriptionPrevious value: -"search_id from the search that found these operations"New value: +"Optional search correlation identifier returned by search." - added
Input schema / properties / search_id / typeAdded value: +"string" - added
Input schema / properties / session_idAdded 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" +} - added
Output schema / $defsAdded 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." + } +} - added
Output schema / $schemaAdded value: +"https://json-schema.org/draft/2020-12/schema" - added
Output schema / propertiesAdded 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" + } +} - added
Output schema / requiredAdded value: +[ + "session_id", + "batch_id", + "total_count", + "success_count", + "error_count", + "results", + "next_steps_guidance" +]
- Changed
get_dataforseo_domains_tech_available_filters1 field changed- added
Output schema / x-fastmcp-wrap-resultAdded value: +true
- Changed
get_dataforseo_domains_tech_languages1 field changed- added
Output schema / x-fastmcp-wrap-resultAdded value: +true
- Changed
get_dataforseo_domains_tech_list1 field changed- added
Output schema / x-fastmcp-wrap-resultAdded value: +true
- Changed
get_dataforseo_domains_tech_locations1 field changed- added
Output schema / x-fastmcp-wrap-resultAdded value: +true
- Changed
get_dataforseo_domains_whois_available_filters1 field changed- added
Output schema / x-fastmcp-wrap-resultAdded value: +true
- Changed
get_details13 fields changed- added
Input schema / $schemaAdded value: +"https://json-schema.org/draft/2020-12/schema" - removed
Input schema / properties / argumentsRemoved 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." -} - added
Input schema / properties / include_arguments_schemaAdded value: +{ + "default": true, + "description": "Return the complete arguments_schema. Defaults to true.", + "type": "boolean" +} - changed
Input schema / properties / include_documentation / descriptionPrevious 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." - added
Input schema / properties / include_response_schemaAdded value: +{ + "default": false, + "description": "Return the complete response_schema. Defaults to false.", + "type": "boolean" +} - removed
Input schema / properties / operation_idRemoved value: -{ - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "One operation_id from search" -} - removed
Input schema / properties / operation_idsRemoved value: -{ - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Up to 20 operation_ids, for a batch" -} - added
Input schema / properties / session_idAdded 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" +} - added
Input schema / properties / toolsAdded 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 +} - removed
Input schema / properties / with_quoteRemoved value: -{ - "default": true, - "description": "Whether each operation is priced for this account before the answer. One round trip per operation; spends nothing.", - "type": "boolean" -} - added
Input schema / requiredAdded value: +[ + "tools" +] - added
Output schema / propertiesAdded 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" + } +} - added
Output schema / requiredAdded value: +[ + "error_count", + "next_steps_guidance", + "session_id", + "success_count", + "tools", + "total_count" +]
- Changed
post_dataforseo_domains_tech_aggregation_live7 fields changed- added
Input schema / properties / body / exampleAdded value: +[ + { + "filters": [ + [ + "country_iso_code", + "=", + "US" + ], + "and", + [ + "domain_rank", + ">", + 800 + ] + ], + "keyword": "WordPress", + "limit": 10, + "mode": "entry", + "order_by": [ + "groups_count,desc" + ], + "technology": "Nginx" + } +] - removed
Input schema / properties / body / items / allOfRemoved value: -[ - { - "anyOf": [ - { - "required": [ - "group" - ] - }, - { - "required": [ - "category" - ] - }, - { - "required": [ - "technology" - ] - }, - { - "required": [ - "keyword" - ] - } - ] - } -] - added
Input schema / properties / body / items / anyOfAdded value: +[ + { + "example": [ + { + "filters": [ + [ + "country_iso_code", + "=", + "US" + ], + "and", + [ + "domain_rank", + ">", + 800 + ] + ], + "keyword": "WordPress", + "limit": 10, + "mode": "entry", + "order_by": [ + "groups_count,desc" + ], + "technology": "Nginx" + } + ], + "properties": { + "category": { + "description": "<em>id of the target technology category</em><br><strong>required field if you don't specify <code>group</code>, <code>keyword</code> or <code>technology</code></strong><br>at least one field (<code>group</code>, <code>category</code>, <code>keyword</code>, <code>technology</code>) must be set<br>you can find the full list of technology category ids <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br>example:<br><code>\"crm\"</code>", + "type": "string" + }, + "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><=</code>, <code>></code>, <code>>=</code>, <code>=</code>, <code><></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>you can use the following parameters to filter the results: <code>domain_rank</code>, <code>last_visited</code>, <code>country_iso_code</code>, <code>language_code</code>, <code>content_language_code</code><br><strong>Note:</strong> all filtering parameters are taken from the <code>domain_technology_item</code> of the <a href=\"/v3/domain_analytics/technologies/filters\" target=\"_blank\" rel=\"noopener noreferrer\">domain_technologies</a> endpoint;<br>example:<br><code>[[\"country_iso_code\",\"=\",\"US\"],<br>\"and\",<br>[\"domain_rank\",\">\",800]]</code>for more information about filters, please refer to <a href=\"/v3/domain_analytics/technologies/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Domain Analytics Technologies API - Filters</a>", + "items": { + "type": [ + "object", + "null" + ] + }, + "type": [ + "array", + "null" + ] + }, + "group": { + "description": "<em>id of the target technology group</em><br><strong>required field if you don't specify <code>technology</code>, <code>category</code> or <code>keyword</code></strong><br>at least one field (<code>group</code>, <code>category</code>, <code>keyword</code>, <code>technology</code>) must be set<br>you can find the full list of technology group ids <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br>example:<br><code>\"marketing\"</code>", + "type": "string" + }, + "internal_categories_list_limit": { + "description": "<em>maximum number of returned technology categories within the same group</em><br>optional field<br>you can use this field to limit the number of items with identical <code>\"category\"</code> in the results<br>default value: <code>5</code><br>minimum value: <code>1</code><br>maximum value: <code>10000</code>", + "type": [ + "integer", + "null" + ] + }, + "internal_groups_list_limit": { + "description": "<em>maximum number of returned technology groups</em><br>optional field<br>you can use this field to limit the number of items with identical <code>\"group\"</code> in the results<br>default value: <code>5</code><br>minimum value: <code>1</code><br>maximum value: <code>10000</code>", + "type": [ + "integer", + "null" + ] + }, + "internal_list_limit": { + "description": "<em>maximum number of items with identical <code>\"category\"</code>, <code>\"group\"</code>, and <code>\"technology\"</code></em><br>optional field<br>if you use this field, the values specified in <code>internal_groups_list_limit</code>, <code>internal_categories_list_limit</code> and <code>internal_technologies_list_limit</code> will be ignored;<br>you can use this field to limit the number of items with identical <code>\"category\"</code>, <code>\"group\"</code>, or <code>\"technology\"</code><br>default value: <code>10</code><br>minimum value: <code>1</code><br>maximum value: <code>10000</code>", + "type": [ + "integer", + "null" + ] + }, + "internal_technologies_list_limit": { + "description": "<em>maximum number of returned technologies within the same category</em><br>optional field<br>you can use this field to limit the number of items with identical <code>\"technology\"</code> in the results<br>default value: <code>10</code><br>minimum value: <code>1</code><br>maximum value: <code>10000</code>", + "type": [ + "integer", + "null" + ] + }, + "keyword": { + "description": "<em>target keyword in the domain's meta keywords</em><br><strong>required field if you don't specify <code>group</code>, <code>category</code> or <code>technology</code></strong><br>at least one field (<code>group</code>, <code>category</code>, <code>keyword</code>, <code>technology</code>) must be set<br>UTF-8 encoding<br>example:<br><code>\"seo\"</code>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>", + "type": "string" + }, + "limit": { + "description": "<em>the maximum number of returned technologies</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>10000</code>", + "type": [ + "integer", + "null" + ] + }, + "mode": { + "description": "<em>search mode</em><br>optional field<br>possible search mode types:<br><code>as_is</code> - search for results exactly matching the specified group ids, category ids, or technology names<br><code>entry</code> - search for results matching a part of the specified group ids, category ids, or technology names<br>default value: <code>as_is</code>", + "type": [ + "string", + "null" + ] + }, + "offset": { + "description": "<em>offset in the results array of returned domains</em><br>optional field<br>default value: <code>0</code><br>maximum value: <code>9999</code><br>if you specify the <code>10</code> value, the first ten technologies in the results array will be omitted and the data will be provided for the successive technologies", + "type": [ + "integer", + "null" + ] + }, + "order_by": { + "description": "<em>results sorting rules</em><br>optional field<br>you can use the following values to sort the results: <code>groups_count</code>, <code>categories_count</code>, <code>technologies_count</code><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>[\"groups_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>[\"groups_count,desc\",\"technologies_count,desc\"]</code><br>default value:<br><code>[\"groups_count,desc\",\"categories_count,desc\",\"technologies_count,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" + ] + }, + "technology": { + "description": "<em>target technology</em><br><strong>required field if you don't specify <code>group</code>, <code>keyword</code> or <code>category</code></strong><br>at least one field (<code>group</code>, <code>category</code>, <code>keyword</code>, <code>technology</code>) must be set<br>you can find the full list of technologies <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br>example:<br><code>\"Salesforce\"</code>", + "type": "string" + } + }, + "type": "object" + } +] - removed
Input schema / properties / body / items / propertiesRemoved value: -{ - "category": { - "description": "id of the target technology category required field if you don’t specify group, keyword or technology at least one field (group, category, keyword, technology) must be set you can find the full list of technology category ids on this page example: \"crm\"", - "type": "string" - }, - "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 you can use the % operator with like and not_like to match any string of zero or more characters you can use the following parameters to filter the results: domain_rank, last_visited, country_iso_code, language_code, content_language_code Note: all filtering parameters are taken from the domain_technology_item of the domain_technologies endpoint; example: [[\"country_iso_code\",\"=\",\"US\"], \"and\", [\"domain_rank\",\">\",800]]for more information about filters, please refer to Domain Analytics Technologies API – Filters", - "items": {}, - "type": "array" - }, - "group": { - "description": "id of the target technology group required field if you don’t specify technology, category or keyword at least one field (group, category, keyword, technology) must be set you can find the full list of technology group ids on this page example: \"marketing\"", - "type": "string" - }, - "internal_categories_list_limit": { - "description": "maximum number of returned technology categories within the same group optional field you can use this field to limit the number of items with identical \"category\" in the results default value: 5 minimum value: 1 maximum value: 10000", - "type": "integer" - }, - "internal_groups_list_limit": { - "description": "maximum number of returned technology groups optional field you can use this field to limit the number of items with identical \"group\" in the results default value: 5 minimum value: 1 maximum value: 10000", - "type": "integer" - }, - "internal_list_limit": { - "description": "maximum number of items with identical \"category\", \"group\", and \"technology\" optional field if you use this field, the values specified in internal_groups_list_limit, internal_categories_list_limit and internal_technologies_list_limit will be ignored; you can use this field to limit the number of items with identical \"category\", \"group\", or \"technology\" default value: 10 minimum value: 1 maximum value: 10000", - "type": "integer" - }, - "internal_technologies_list_limit": { - "description": "maximum number of returned technologies within the same category optional field you can use this field to limit the number of items with identical \"technology\" in the results default value: 10 minimum value: 1 maximum value: 10000", - "type": "integer" - }, - "keyword": { - "description": "target keyword in the domain’s meta keywords required field if you don’t specify group, category or technology at least one field (group, category, keyword, technology) must be set UTF-8 encoding example: \"seo\"learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article", - "type": "string" - }, - "limit": { - "description": "the maximum number of returned technologies optional field default value: 100 maximum value: 10000", - "type": "integer" - }, - "mode": { - "description": "search mode optional field possible search mode types: as_is – search for results exactly matching the specified group ids, category ids, or technology names entry – search for results matching a part of the specified group ids, category ids, or technology names default value: as_is", - "type": "string" - }, - "offset": { - "description": "offset in the results array of returned domains optional field default value: 0 maximum value: 9999 if you specify the 10 value, the first ten technologies in the results array will be omitted and the data will be provided for the successive technologies", - "type": "integer" - }, - "order_by": { - "description": "results sorting rules optional field you can use the following values to sort the results: groups_count, categories_count, technologies_count 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: [\"groups_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: [\"groups_count,desc\",\"technologies_count,desc\"] default value: [\"groups_count,desc\",\"categories_count,desc\",\"technologies_count,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" - }, - "technology": { - "description": "target technology required field if you don’t specify group, keyword or category at least one field (group, category, keyword, technology) must be set you can find the full list of technologies on this page example: \"Salesforce\"", - "type": "string" - } -} - changed
Input schema / properties / body / items / typePrevious value: -"object"New value: +[ + "object", + "null" +] - changed
Input schema / requiredPrevious value: -[ - "body" -]New value: +[] - added
Output schema / x-fastmcp-wrap-resultAdded value: +true
- Changed
post_dataforseo_domains_tech_domains_by_html_terms_live7 fields changed- added
Input schema / properties / body / exampleAdded value: +[ + { + "limit": 10, + "offset": 0, + "order_by": [ + "last_visited,desc" + ], + "search_terms": [ + "data-attrid" + ] + } +] - added
Input schema / properties / body / items / anyOfAdded value: +[ + { + "example": [ + { + "limit": 10, + "offset": 0, + "order_by": [ + "last_visited,desc" + ], + "search_terms": [ + "data-attrid" + ] + } + ], + "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><</code>, <code><=</code>, <code>></code>, <code>>=</code>, <code>=</code>, <code><></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>[\"domain\",\"like\",\"%seo%\"]</code><p><code>[[\"country_iso_code\",\"=\",\"US\"],<br>\"and\",<br>[\"domain_rank\",\">\",100]]</code><p><code>[[\"domain_rank\",\">\",100],<br>\"and\",<br>[[\"country_iso_code\",\"=\",\"US\"],\"or\",[\"country_iso_code\",\"=\",\"CA\"]]]</code><p>for more information about filters, please refer to <a href=\"/v3/domain_analytics/technologies/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Domain Analytics Technologies API - Filters</a>", + "items": { + "type": [ + "object", + "null" + ] + }, + "type": [ + "array", + "null" + ] + }, + "keywords": { + "description": "<em>target keywords in the domain's title, description or meta keywords</em><br>optional field<br>UTF-8 encoding<br>maximum number of keywords you can specify: 10 <br>example:<br><code>[\"seo\",\"software\"]</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>", + "items": { + "type": "string" + }, + "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>10000</code>", + "type": [ + "integer", + "null" + ] + }, + "mode": { + "description": "<em>search mode</em><br>optional field<br>possible search mode types:<br><code>strict_entry</code> - search for results exactly matching the order, intervals and separators in the specified search terms<br><code>entry</code> - search for results ignoring the order, intervals and separators in the specified search terms<br>default value: <code>entry</code>", + "type": [ + "string", + "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 domains;<br><strong>Note:</strong> the maximum value is <code>9999</code>, the sum of <code>limit</code> and <code>offset</code> must not exceed <code>10000</code>;<br>use the <code>offset_token</code> if you would like to offset more results", + "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>available fields: <br><code>domain_rank</code>, <code>domain</code>, <code>last_visited</code>, <code>country_iso_code</code>, <code>language_code</code>, <code>content_language_code</code><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>[\"last_visited,desc\"]</code><br>default rule:<br><code>[\"domain_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>[\"last_visited,desc\",\"domain_rank,desc\"]</code>", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "search_terms": { + "description": "<em>target search terms</em><br><strong>required field</strong><br>specify target HTML elements, tags, attributes, their content or all of the above<br>if you specify more than one search term, you will receive only the domains containing all of the specified terms in the HTML code of their homepage<br>maximum number of search terms you can specify: 10<br>example:<br><code>[\"data-attrid\"]</code>", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } +] - removed
Input schema / properties / body / items / propertiesRemoved 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: , , >, >=, =, , 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: [\"domain\",\"like\",\"%seo%\"] [[\"country_iso_code\",\"=\",\"US\"], \"and\", [\"domain_rank\",\">\",100]] [[\"domain_rank\",\">\",100], \"and\", [[\"country_iso_code\",\"=\",\"US\"],\"or\",[\"country_iso_code\",\"=\",\"CA\"]]] for more information about filters, please refer to Domain Analytics Technologies API – Filters", - "items": {}, - "type": "array" - }, - "keywords": { - "description": "target keywords in the domain’s title, description or meta keywords optional field UTF-8 encoding maximum number of keywords you can specify: 10 example: [\"seo\",\"software\"] learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article", - "items": { - "type": "string" - }, - "type": "array" - }, - "limit": { - "description": "the maximum number of returned domains optional field default value: 100 maximum value: 10000", - "type": "integer" - }, - "mode": { - "description": "search mode optional field possible search mode types: strict_entry – search for results exactly matching the order, intervals and separators in the specified search terms entry – search for results ignoring the order, intervals and separators in the specified search terms default value: entry", - "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; Note: the maximum value is 9999, the sum of limit and offset must not exceed 10000; use the offset_token if you would like to offset more results", - "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 available fields: domain_rank, domain, last_visited, country_iso_code, language_code, content_language_code 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: [\"last_visited,desc\"] default rule: [\"domain_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: [\"last_visited,desc\",\"domain_rank,desc\"]", - "items": { - "type": "string" - }, - "type": "array" - }, - "search_terms": { - "description": "target search terms required field specify target HTML elements, tags, attributes, their content or all of the above if you specify more than one search term, you will receive only the domains containing all of the specified terms in the HTML code of their homepage maximum number of search terms you can specify: 10 example: [\"data-attrid\"]", - "items": { - "type": "string" - }, - "type": "array" - } -} - removed
Input schema / properties / body / items / requiredRemoved value: -[ - "search_terms" -] - changed
Input schema / properties / body / items / typePrevious value: -"object"New value: +[ + "object", + "null" +] - changed
Input schema / requiredPrevious value: -[ - "body" -]New value: +[] - added
Output schema / x-fastmcp-wrap-resultAdded value: +true
- Changed
post_dataforseo_domains_tech_domains_by_technology_live7 fields changed- added
Input schema / properties / body / exampleAdded value: +[ + { + "filters": [ + [ + "country_iso_code", + "=", + "US" + ], + "and", + [ + "domain_rank", + ">", + 800 + ] + ], + "limit": 10, + "order_by": [ + "last_visited,desc" + ], + "technologies": [ + "Nginx" + ] + } +] - removed
Input schema / properties / body / items / allOfRemoved value: -[ - { - "anyOf": [ - { - "required": [ - "technology_paths" - ] - }, - { - "required": [ - "groups" - ] - }, - { - "required": [ - "categories" - ] - }, - { - "required": [ - "technologies" - ] - }, - { - "required": [ - "keywords" - ] - } - ] - } -] - added
Input schema / properties / body / items / anyOfAdded value: +[ + { + "example": [ + { + "filters": [ + [ + "country_iso_code", + "=", + "US" + ], + "and", + [ + "domain_rank", + ">", + 800 + ] + ], + "limit": 10, + "order_by": [ + "last_visited,desc" + ], + "technologies": [ + "Nginx" + ] + } + ], + "properties": { + "categories": { + "description": "<em>ids of the target technology categories</em><br><strong>required field if you don't specify <code>groups</code>, <code>technology_paths</code>, <code>keywords</code> or <code>technologies</code></strong><br>you can find the full list of technology category ids <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br><strong>note:</strong> you can specify up to 10 technology categories in this array<br>example:<br><code>[\"payment_processors\",\"crm\"]</code>", + "items": { + "type": "string" + }, + "type": "array" + }, + "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><=</code>, <code>></code>, <code>>=</code>, <code>=</code>, <code><></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>[\"country_iso_code\",\"=\",\"US\"]</code><p><code>[[\"country_iso_code\",\"=\",\"US\"],<br>\"and\",<br>[\"domain_rank\",\">\",100]]</code><p><code>[[\"domain_rank\",\">\",100],<br>\"and\",<br>[[\"country_iso_code\",\"=\",\"US\"],\"or\",[\"country_iso_code\",\"=\",\"CA\"]]]</code><p>for more information about filters, please refer to <a href=\"/v3/domain_analytics/technologies/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Domain Analytics Technologies API - Filters</a>", + "items": { + "type": [ + "object", + "null" + ] + }, + "type": [ + "array", + "null" + ] + }, + "groups": { + "description": "<em>ids of the target technology groups</em><br><strong>required field if you don't specify <code>technologies</code>, <code>technology_paths</code>, <code>keywords</code> or <code>categories</code></strong><br>you can find the full list of technology group ids <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br><strong>note:</strong> you can specify up to 10 technology groups in this array<br>example:<br><code>[\"sales\", \"marketing\"]</code>", + "items": { + "type": "string" + }, + "type": "array" + }, + "keywords": { + "description": "<em>target keywords in the domain's title, description or meta keywords</em><br><strong>required field if you don't specify <code>groups</code>, <code>technology_paths</code>, <code>technologies</code> or <code>categories</code></strong><br>optional field<br>you can specify the maximum of 10 keywords;<br>UTF-8 encoding;<br>example:<br><code>[\"seo\",\"software\"]</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>", + "items": { + "type": "string" + }, + "type": "array" + }, + "limit": { + "description": "<em>the maximum number of returned domains</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>10000</code>", + "type": [ + "integer", + "null" + ] + }, + "mode": { + "description": "<em>search mode</em><br>optional field<br>possible search mode types:<br><code>as_is</code> - search for results exactly matching the specified group ids, category ids, or technology names<br><code>entry</code> - search for results matching a part of the specified group ids, category ids, or technology names<br>default value: <code>as_is</code>", + "type": [ + "string", + "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 domains;<br><strong>Note:</strong> the maximum value is <code>9999</code>, the sum of <code>limit</code> and <code>offset</code> must not exceed <code>10000</code>;<br>use the <code>offset_token</code> if you would like to offset more results", + "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>available fields: <br><code>domain_rank</code>, <code>domain</code>, <code>last_visited</code>, <code>country_iso_code</code>, <code>language_code</code>, <code>content_language_code</code><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>[\"last_visited,desc\"]</code><br>default rule:<br><code>[\"domain_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>[\"last_visited,desc\",\"domain_rank,desc\"]</code>", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "technologies": { + "description": "<em>target technologies</em><br><strong>required field if you don't specify <code>groups</code>, <code>technology_paths</code>, <code>keywords</code> or <code>categories</code></strong><br>you can find the full list of technologies you can specify here <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br><strong>note:</strong> you can specify up to 10 technologies in this array<br>example:<br><code>[\"Google Pay\",\"Salesforce\"]</code>", + "items": { + "type": "string" + }, + "type": "array" + }, + "technology_paths": { + "description": "<em>target technology paths</em><br><strong>required field if you don't specify <code>groups</code>, <code>technologies</code>, <code>keywords</code> or <code>categories</code></strong><br>at least one field (<code>technology_paths</code>, <code>groups</code>, <code>technologies</code>, <code>keywords</code> or <code>categories</code>) must be set;<br>each technology path should be specified as a separate object containing \"path\" and \"name\", where \"path\" is specified as \"$group_id.$category_id\" and \"name\" - as the name of the target technology; <br>each object with a technology path should be separated with a comma<br>you can find the full list of technology group ids, category ids and technology names <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br><strong>note:</strong> you can specify up to 10 technology paths in this array<br>example:<br><code>[{\"path\": \"content.cms\",\"name\": \"wordpress\"}, {\"path\": \"marketing.crm\",\"name\": \"salesforce\"}]</code>", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } +] - removed
Input schema / properties / body / items / propertiesRemoved value: -{ - "categories": { - "description": "ids of the target technology categories required field if you don’t specify groups, technology_paths, keywords or technologies you can find the full list of technology category ids on this page note: you can specify up to 10 technology categories in this array example: [\"payment_processors\",\"crm\"]", - "items": { - "type": "string" - }, - "type": "array" - }, - "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 you can use the % operator with like and not_like to match any string of zero or more characters example: [\"country_iso_code\",\"=\",\"US\"] [[\"country_iso_code\",\"=\",\"US\"], \"and\", [\"domain_rank\",\">\",100]] [[\"domain_rank\",\">\",100], \"and\", [[\"country_iso_code\",\"=\",\"US\"],\"or\",[\"country_iso_code\",\"=\",\"CA\"]]] for more information about filters, please refer to Domain Analytics Technologies API – Filters", - "items": {}, - "type": "array" - }, - "groups": { - "description": "ids of the target technology groups required field if you don’t specify technologies, technology_paths, keywords or categories you can find the full list of technology group ids on this page note: you can specify up to 10 technology groups in this array example: [\"sales\", \"marketing\"]", - "items": { - "type": "string" - }, - "type": "array" - }, - "keywords": { - "description": "target keywords in the domain’s title, description or meta keywords required field if you don’t specify groups, technology_paths, technologies or categories optional field you can specify the maximum of 10 keywords; UTF-8 encoding; example: [\"seo\",\"software\"] learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article", - "items": { - "type": "string" - }, - "type": "array" - }, - "limit": { - "description": "the maximum number of returned domains optional field default value: 100 maximum value: 10000", - "type": "integer" - }, - "mode": { - "description": "search mode optional field possible search mode types: as_is – search for results exactly matching the specified group ids, category ids, or technology names entry – search for results matching a part of the specified group ids, category ids, or technology names default value: as_is", - "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; Note: the maximum value is 9999, the sum of limit and offset must not exceed 10000; use the offset_token if you would like to offset more results", - "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 available fields: domain_rank, domain, last_visited, country_iso_code, language_code, content_language_code 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: [\"last_visited,desc\"] default rule: [\"domain_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: [\"last_visited,desc\",\"domain_rank,desc\"]", - "items": { - "type": "string" - }, - "type": "array" - }, - "technologies": { - "description": "target technologies required field if you don’t specify groups, technology_paths, keywords or categories you can find the full list of technologies you can specify here on this page note: you can specify up to 10 technologies in this array example: [\"Google Pay\",\"Salesforce\"]", - "items": { - "type": "string" - }, - "type": "array" - }, - "technology_paths": { - "description": "target technology paths required field if you don’t specify groups, technologies, keywords or categories at least one field (technology_paths, groups, technologies, keywords or categories) must be set; each technology path should be specified as a separate object containing “path” and “name”, where “path” is specified as “$group_id.$category_id” and “name” – as the name of the target technology; each object with a technology path should be separated with a comma you can find the full list of technology group ids, category ids and technology names on this page note: you can specify up to 10 technology paths in this array example: [{\"path\": \"content.cms\",\"name\": \"wordpress\"}, {\"path\": \"marketing.crm\",\"name\": \"salesforce\"}]", - "items": { - "properties": { - "name": { - "type": "string" - }, - "path": { - "type": "string" - } - }, - "required": [ - "path", - "name" - ], - "type": "object" - }, - "type": "array" - } -} - changed
Input schema / properties / body / items / typePrevious value: -"object"New value: +[ + "object", + "null" +] - changed
Input schema / requiredPrevious value: -[ - "body" -]New value: +[] - added
Output schema / x-fastmcp-wrap-resultAdded value: +true
- Changed
post_dataforseo_domains_tech_for_domain_live7 fields changed- added
Input schema / properties / body / exampleAdded value: +[ + { + "target": "dataforseo.com" + } +] - added
Input schema / properties / body / items / anyOfAdded 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" + } +] - removed
Input schema / properties / body / items / propertiesRemoved 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" - } -} - removed
Input schema / properties / body / items / requiredRemoved value: -[ - "target" -] - changed
Input schema / properties / body / items / typePrevious value: -"object"New value: +[ + "object", + "null" +] - changed
Input schema / requiredPrevious value: -[ - "body" -]New value: +[] - added
Output schema / x-fastmcp-wrap-resultAdded value: +true
- Changed
post_dataforseo_domains_tech_summary_live7 fields changed- added
Input schema / properties / body / exampleAdded value: +[ + { + "filters": [ + [ + "country_iso_code", + "=", + "US" + ], + "and", + [ + "domain_rank", + ">", + 800 + ] + ], + "keywords": [ + "WordPress" + ], + "mode": "entry", + "technologies": [ + "Ngi" + ] + } +] - removed
Input schema / properties / body / items / allOfRemoved value: -[ - { - "anyOf": [ - { - "required": [ - "technology_paths" - ] - }, - { - "required": [ - "groups" - ] - }, - { - "required": [ - "categories" - ] - }, - { - "required": [ - "technologies" - ] - }, - { - "required": [ - "keywords" - ] - } - ] - } -] - added
Input schema / properties / body / items / anyOfAdded value: +[ + { + "example": [ + { + "filters": [ + [ + "country_iso_code", + "=", + "US" + ], + "and", + [ + "domain_rank", + ">", + 800 + ] + ], + "keywords": [ + "WordPress" + ], + "mode": "entry", + "technologies": [ + "Ngi" + ] + } + ], + "properties": { + "categories": { + "description": "<em>ids of the target technology categories</em><br><strong>required field if you don't specify <code>groups</code>, <code>technology_paths</code>, <code>technologies</code>, or <code>keywords</code></strong><br>you can find the full list of technology category ids <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br><strong>note:</strong> you can specify up to 10 technology categories in this array<br>example:<br><code>[\"payment_processors\",\"crm\"]</code>", + "items": { + "type": "string" + }, + "type": "array" + }, + "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><=</code>, <code>></code>, <code>>=</code>, <code>=</code>, <code><></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>you can use the following parameters to filter the results: <code>domain_rank</code>, <code>last_visited</code>, <code>country_iso_code</code>, <code>language_code</code>, <code>content_language_code</code><br>example:<br><code>[[\"country_iso_code\",\"=\",\"US\"],<br>\"and\",<br>[\"domain_rank\",\">\",800]]</code><p>for more information about filters, please refer to <a href=\"/v3/domain_analytics/technologies/filters\" target=\"_blank\" rel=\"noopener noreferrer\">Domain Analytics Technologies API - Filters</a>", + "items": { + "type": [ + "object", + "null" + ] + }, + "type": [ + "array", + "null" + ] + }, + "groups": { + "description": "<em>ids of the target technology groups</em><br><strong>required field if you don't specify <code>technologies</code>, <code>technology_paths</code>, <code>categories</code>, or <code>keywords</code></strong><br>you can find the full list of technology group ids <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br><strong>note:</strong> you can specify up to 10 technology groups in this array<br>example:<br><code>[\"sales\", \"marketing\"]</code>", + "items": { + "type": "string" + }, + "type": "array" + }, + "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>countries</code>, <code>languages</code>, <code>content_languages</code>, <code>keywords</code><br>default value: <code>10</code><br>minimum value: <code>1</code><br>maximum value: <code>10000</code>", + "type": [ + "integer", + "null" + ] + }, + "keywords": { + "description": "<em>target keywords in the domain's title, description or meta keywords</em><br><strong>required field if you don't specify <code>groups</code>, <code>technology_paths</code>, <code>categories</code>, or <code>technologies</code></strong><br>you can specify the maximum of 10 keywords;<br>UTF-8 encoding;<br>example:<br><code>[\"seo\",\"software\"]</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>", + "items": { + "type": "string" + }, + "type": "array" + }, + "mode": { + "description": "<em>search mode</em><br>optional field<br>possible search mode types:<br><code>as_is</code> - search for results exactly matching the specified group ids, category ids, or technology names<br><code>entry</code> - search for results matching a part of the specified group ids, category ids, or technology names<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" + ] + }, + "technologies": { + "description": "<em>target technologies</em><br><strong>required field if you don't specify <code>groups</code>, <code>technology_paths</code>, <code>categories</code>, or <code>keywords</code></strong><br>you can find the full list of technologies you can specify here <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br><strong>note:</strong> you can specify up to 10 technologies in this array<br>example:<br><code>[\"Google Pay\",\"Salesforce\"]</code>", + "items": { + "type": "string" + }, + "type": "array" + }, + "technology_paths": { + "description": "<em>target technology paths</em><br><strong>required field if you don't specify <code>groups</code>, <code>technologies</code> and <code>categories</code></strong><br>each technology path should be specified as a separate object containing \"path\" and \"name\", where \"path\" is specified as \"$group_id.$category_id\" and \"name\" - as the name of the target technology; <br>each object with a technology path should be separated with a comma<br>you can find the full list of technology group ids, category ids and technology names <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br><strong>note:</strong> you can specify up to 10 technology paths in this array<br>example:<br><code>[{\"path\": \"content.cms\",\"name\": \"wordpress\"}, {\"path\": \"marketing.crm\",\"name\": \"salesforce\"}]</code>", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } +] - removed
Input schema / properties / body / items / propertiesRemoved value: -{ - "categories": { - "description": "ids of the target technology categories required field if you don’t specify groups, technology_paths, technologies, or keywords you can find the full list of technology category ids on this page note: you can specify up to 10 technology categories in this array example: [\"payment_processors\",\"crm\"]", - "items": { - "type": "string" - }, - "type": "array" - }, - "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 you can use the % operator with like and not_like to match any string of zero or more characters you can use the following parameters to filter the results: domain_rank, last_visited, country_iso_code, language_code, content_language_code example: [[\"country_iso_code\",\"=\",\"US\"], \"and\", [\"domain_rank\",\">\",800]] for more information about filters, please refer to Domain Analytics Technologies API – Filters", - "items": {}, - "type": "array" - }, - "groups": { - "description": "ids of the target technology groups required field if you don’t specify technologies, technology_paths, categories, or keywords you can find the full list of technology group ids on this page note: you can specify up to 10 technology groups in this array example: [\"sales\", \"marketing\"]", - "items": { - "type": "string" - }, - "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: countries, languages, content_languages, keywords default value: 10 minimum value: 1 maximum value: 10000", - "type": "integer" - }, - "keywords": { - "description": "target keywords in the domain’s title, description or meta keywords required field if you don’t specify groups, technology_paths, categories, or technologies you can specify the maximum of 10 keywords; UTF-8 encoding; example: [\"seo\",\"software\"] learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article", - "items": { - "type": "string" - }, - "type": "array" - }, - "mode": { - "description": "search mode optional field possible search mode types: as_is – search for results exactly matching the specified group ids, category ids, or technology names entry – search for results matching a part of the specified group ids, category ids, or technology names 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" - }, - "technologies": { - "description": "target technologies required field if you don’t specify groups, technology_paths, categories, or keywords you can find the full list of technologies you can specify here on this page note: you can specify up to 10 technologies in this array example: [\"Google Pay\",\"Salesforce\"]", - "items": { - "type": "string" - }, - "type": "array" - }, - "technology_paths": { - "description": "target technology paths required field if you don’t specify groups, technologies and categories each technology path should be specified as a separate object containing “path” and “name”, where “path” is specified as “$group_id.$category_id” and “name” – as the name of the target technology; each object with a technology path should be separated with a comma you can find the full list of technology group ids, category ids and technology names on this page note: you can specify up to 10 technology paths in this array example: [{\"path\": \"content.cms\",\"name\": \"wordpress\"}, {\"path\": \"marketing.crm\",\"name\": \"salesforce\"}]", - "items": { - "properties": { - "name": { - "type": "string" - }, - "path": { - "type": "string" - } - }, - "required": [ - "path", - "name" - ], - "type": "object" - }, - "type": "array" - } -} - changed
Input schema / properties / body / items / typePrevious value: -"object"New value: +[ + "object", + "null" +] - changed
Input schema / requiredPrevious value: -[ - "body" -]New value: +[] - added
Output schema / x-fastmcp-wrap-resultAdded value: +true
- Changed
post_dataforseo_domains_tech_technology_stats_live7 fields changed- added
Input schema / properties / body / exampleAdded value: +[ + { + "date_from": "2022-10-31", + "date_to": "2023-06-01", + "technology": "jQuery" + } +] - added
Input schema / properties / body / items / anyOfAdded value: +[ + { + "example": [ + { + "date_from": "2022-10-31", + "date_to": "2023-06-01", + "technology": "jQuery" + } + ], + "properties": { + "date_from": { + "description": "<em>starting date of the time range</em><br>optional field<br>minimum value: <code>2022-10-31</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>\"2023-06-01\"</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>\"2023-01-15\"</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" + ] + }, + "technology": { + "description": "<em>target technology</em><br><strong>required field</strong><br>you can find the full list of technologies you can specify here <a href=\"/v3/domain_analytics/technologies/technologies\" target=\"_blank\" rel=\"noopener noreferrer\">on this page</a><br>example:<br><code>\"Salesforce\"</code>", + "type": "string" + } + }, + "type": "object" + } +] - removed
Input schema / properties / body / items / propertiesRemoved value: -{ - "date_from": { - "description": "starting date of the time range optional field minimum value: 2022-10-31 if you don’t specify this field, the minimum value will be used by default date format: \"yyyy-mm-dd\" example: \"2023-06-01\"", - "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: \"2023-01-15\"", - "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" - }, - "technology": { - "description": "target technology required field you can find the full list of technologies you can specify here on this page example: \"Salesforce\"", - "type": "string" - } -} - removed
Input schema / properties / body / items / requiredRemoved value: -[ - "technology" -] - changed
Input schema / properties / body / items / typePrevious value: -"object"New value: +[ + "object", + "null" +] - changed
Input schema / requiredPrevious value: -[ - "body" -]New value: +[] - added
Output schema / x-fastmcp-wrap-resultAdded value: +true
- Changed
post_dataforseo_domains_whois_overview_live5 fields changed- added
Input schema / properties / body / exampleAdded value: +[ + { + "filters": [ + [ + "epp_status_codes", + "in", + [ + "client_transfer_prohibited", + "client_update_prohibited" + ] + ] + ], + "limit": 2 + } +] - added
Input schema / properties / body / items / anyOfAdded 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><</code>, <code><=</code>, <code>></code>, <code>>=</code>, <code>=</code>, <code><></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" + } +] - removed
Input schema / properties / body / items / propertiesRemoved 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" - } -} - changed
Input schema / properties / body / items / typePrevious value: -"object"New value: +[ + "object", + "null" +] - added
Output schema / x-fastmcp-wrap-resultAdded value: +true
- Changed
search17 fields changed- added
Input schema / $schemaAdded value: +"https://json-schema.org/draft/2020-12/schema" - removed
Input schema / properties / category / anyOfRemoved value: -[ - { - "enum": [ - "seo", - "finance", - "social", - "search", - "sales", - "mail" - ], - "type": "string" - }, - { - "type": "null" - } -] - removed
Input schema / properties / category / defaultRemoved value: -null - changed
Input schema / properties / category / descriptionPrevious 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.)" - added
Input schema / properties / category / enumAdded value: +[ + "seo", + "finance", + "social", + "search", + "sales", + "mail" +] - added
Input schema / properties / category / typeAdded value: +"string" - added
Input schema / properties / known_fieldsAdded value: +{ + "additionalProperties": true, + "default": {}, + "description": "Known values such as ticker, URL, provider, or identifier that improve retrieval.", + "type": "object" +} - changed
Input schema / properties / limit / descriptionPrevious value: -"Maximum candidates, 1-10"New value: +"Maximum number of additional direct tool candidates." - added
Input schema / properties / limit / maximumAdded value: +20 - added
Input schema / properties / limit / minimumAdded value: +1 - added
Input schema / properties / provider_filtersAdded 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 +} - changed
Input schema / properties / query / descriptionPrevious 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." - added
Input schema / properties / query / maxLengthAdded value: +2000 - added
Input schema / properties / query / minLengthAdded value: +1 - added
Input schema / properties / session_idAdded 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" +} - added
Output schema / propertiesAdded 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" + } + } +} - added
Output schema / requiredAdded value: +[ + "next_steps_guidance", + "search_id", + "session_id", + "tools" +]
- Changed
use1 field changed- changed
Input schema / properties / max_price_usd / descriptionPrevious 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"
1 tool update
- Changed
get_details1 field changed- added
Input schema / properties / include_documentationAdded value: +{ + "default": false, + "description": "Include the complete native public OpenAPI document, reference closure and scoped completeness. Existing execution schemas remain unchanged.", + "type": "boolean" +}
17 tool updates
- First observed
batch_use - First observed
get_dataforseo_domains_tech_available_filters - First observed
get_dataforseo_domains_tech_languages - First observed
get_dataforseo_domains_tech_list - First observed
get_dataforseo_domains_tech_locations - First observed
get_dataforseo_domains_whois_available_filters - First observed
get_details - First observed
list_categories - First observed
post_dataforseo_domains_tech_aggregation_live - First observed
post_dataforseo_domains_tech_domains_by_html_terms_live - First observed
post_dataforseo_domains_tech_domains_by_technology_live - First observed
post_dataforseo_domains_tech_for_domain_live - First observed
post_dataforseo_domains_tech_summary_live - First observed
post_dataforseo_domains_tech_technology_stats_live - First observed
post_dataforseo_domains_whois_overview_live - First observed
search - First observed
use
Publisher details
- Operator
- AIsa · Publisher source
- Operator website
- https://aisa.one
- Vendor relationship
- Independent
- Documentation
- https://mcp.aisa.one/servers
- 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 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
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 to crawl a site and say what is wrong with it — broken tags, duplicate content, pages nothing can index, resources that never load. **What you can ask for** • "Crawl this site and list every page with a duplicate title or missing description." • "Which pages are non-indexable, and why?" • "Run Lighthouse on these URLs and give me the failing audits." • "Show the internal link graph and the orphan pages." • "Give me this page's raw HTML and its microdata." **How to use it** Point any MCP client at https://mcp.aisa.one/seo-onpage/mcp and sign in with OAuth — there is no key to create or paste. 20 tools: submit a crawl and read its summary, pages, resources, links and waterfall; duplicate content and duplicate tags; keyword density; non-indexable and uncrawlable resources; parsed content, raw HTML, microdata, screenshots and Lighthouse. **Why this rather than the source** A crawler you drive from the agent, with the audit results as structured data rather than a PDF. **It is also a door to the rest** The same login reaches 26 sources and 580+ operations. Find the broken pages here, then ask the same agent what those pages used to rank for — 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.
Related MCP Servers
AlicenseAqualityCmaintenanceCompany technographics: search 760,000+ companies by the technologies they use — with direction of change (adopting / replacing / evaluating) — enrich any domain with firmographics and hiring signals, and browse a 10,000+ technology catalog. Remote server at https://api.echoloc.ai/mcp (Streamable HTTP); free API key: 100 requests/month, no card. Docs: https://echoloc.ai/for-agents3MIT- FlicenseNot gradedqualityCmaintenanceProvides AI agents with tools to detect Shopify apps, WordPress plugins, DNS/email/SaaS footprint, and estimate SaaS spend for competitive intelligence and vendor research.-
- AlicenseNot gradedqualityCmaintenanceDomain -> company intelligence for AI agents. Look up company name, country, contacts, and social profiles from any MCP-compatible client.6MIT
- AlicenseAqualityDmaintenanceAn MCP server for domain intelligence — WHOIS, DNS records, SSL certificate inspection, SPF/DMARC validation, security-header audits, and blacklist/reputation checks, callable by AI agents. Powered by domainintel.app; runs server-side, no local setup.717 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.