Missing-keyword comparisons
dataforseo · runnable · billing paged
| Fact | Value |
|---|---|
| Provider | dataforseo |
| Module | base |
| Runnable today | Yes — a quantity-bound adapter exists |
| API path | /v3/dataforseo_labs/google/domain_intersection/live |
| Billing kind | paged |
| Price status | Known — a published or measured rate is recorded |
| Availability | Executable in selected plans; target and quantity bounds required |
| Query contract | Enforced — the collector reads these parameters from the contract |
| Catalogue research date | 2026-09-07 |
Billing formula
What the provider charges for one request of this item. Provider cost is not the customer price and is not an account balance movement; the three are different numbers and this is the first of them.
sum_request((0.012 + 0.00012*returned_items_request)*clickstream_multiplier_request)
Rates
| Component | Value |
|---|---|
task_usd | 0.012 |
returned_item_usd | 0.00012 |
clickstream_multiplier_off | 1 |
clickstream_multiplier_on | 2 |
Minimum charge: {"active_task_base_usd":"0.012"}
Provider limits: {"items_per_request":1000}
Rate verification: verified_published.
Caveat: Each offset/cursor request repeats the task fee; group by endpoint, target, location and language. include_clickstream_data=true doubles the applicable request cost.
Runtime limits
| Limit | Value |
|---|---|
quantity | 10000 |
groups | 10 |
Frozen acquisition parameters
A gap is a keyword the rival actually ranks for and the target does not. intersections:false is correct for a gap query and is confirmed against the provider's documentation.
| Parameter | Value |
|---|---|
| Fixed parameters | {"item_types":["organic"],"include_clickstream_data":false,"intersections":false} |
| Server-side filters | [["first_domain_serp_element.rank_group","<=",20],"and",["keyword_data.keyword","not_regex","{{rival_brand_pattern}}"]] |
| Order by | ["keyword_data.keyword_info.search_volume,desc"] |
| Page window | 1000 |
| Varies by target | target1, target2, rival_brand_pattern |
Changed in contract v1 (ACQ-1 / ACQ-2): Observed: one gap group returned 774 rows for $0.10488 of which the collector itself marked 773 raw_gap_not_recommended. The offenders were high-volume head terms where the rival sat at position 65 to 98. Ordering by volume is retained; the position constraint is what makes the ordering meaningful.
Evidence: VERIFIED 2026-09-14. The Phase 2 lane audit (Worker A, finding F3) flagged this filter as the campaign's weakest link, because first_domain_serp_element.rank_group does not appear in the domain_intersection ENDPOINT page's own examples, and a filter the provider silently ignores would make the highest-value change a no-op at full price. The endpoint page is not the authority on filters. DataForSEO's Labs filters reference, https://docs.dataforseo.com/v3/dataforseo_labs/filters/, declares "first_domain_serp_element.rank_group": "num" inside its own domain_intersection.google block, located by a balanced-brace scan of the embedded JSON. Quoted with the document hash in docs/plans/brand-studio-roadmap/query-contract-doc-verification-20260914.json. Zero spend. v6, 2026-09-25: the same reference declares "keyword_data.keyword": "str" in that domain_intersection.google block, lists not_regex among the str operators, states RE2 syntax with a 1000-character limit, and gives ["keyword_data.keyword", "not_regex", "(how|what|when)"] as its own example.
Open audit flags: Documentation proves the filter is supported. It does not prove a live response honoured it. One bounded call would settle that, and remains gated on the owner. · v6: the not_regex clause is documented, not yet observed in a live response. The report's isRivalBrandTerm backstop stays in place until a paid pull shows zero rival-brand rows.
Included in levels: Snapshot, Market, Deep.
Dated sources
https://dataforseo.com/pricing/dataforseo-labs/dataforseo-google-api(read 2026-09-07)https://docs.dataforseo.com/v3/dataforseo_labs/google/domain_intersection/live/(read 2026-09-07)
Notes from the catalogue
- Each offset/cursor request repeats the task fee; group by endpoint, target, location and language. include_clickstream_data=true doubles the applicable request cost.