API reference
Search with typed filters and result projection
Returns ranked web results using the shared typed filter and projection contract.
POST /v1/search
Request body
JSON body: SearchPostRequest
Checking session…
Build, inspect, and run typed search requests.
This is a real request. Normal billing, spend limits, and rate limits apply.
Responses
- Status
- 200
- Description
- Ranked projected search results
- Body
- SearchPostResponse
- Status
- 400
- Description
- The request violated the public contract
- Body
- SearchV1Error
- Status
- 401
- Description
- A valid API key is required
- Body
- SearchV1Error
- Status
- 402
- Description
- Billing or a spend limit rejected execution
- Body
- SearchV1Error
- Status
- 403
- Description
- The API key lacks search permission
- Body
- SearchV1Error
- Status
- 429
- Description
- A rate limit rejected execution
- Body
- SearchV1Error
- Status
- 502
- Description
- The search request could not be completed
- Body
- SearchV1Error
- Status
- 503
- Description
- Search is temporarily unavailable
- Body
- SearchV1Error
Schemas
ErrorCode
Machine-readable product API failure.
[
"unauthenticated",
"forbidden",
"invalid_request",
"not_found",
"conflict",
"payment_required",
"too_many_requests",
"upstream",
"internal"
] ErrorRecovery
Browser-safe recovery action selected by the authoritative product boundary.
- Variant
- 1
- Type
- object
- Variant
- 2
- Type
- object
- Variant
- 3
- Type
- object
PageResultFields
Optional nullable projected fields. Each property is omitted when not selected, `null` when selected but unavailable, or carries its typed value.
- Field
- anchor
- Required
- No
- Type
- null | string
- Description
- Aggregated inbound anchor text.
- Constraints
- Field
- author
- Required
- No
- Type
- null | string
- Description
- Page author.
- Constraints
- Field
- categories
- Required
- No
- Type
- null | object[]
- Description
- Scored taxonomy categories.
- Constraints
- Field
- content_angle
- Required
- No
- Type
- null | string
- Description
- Classified content angle.
- Constraints
- Field
- description
- Required
- No
- Type
- null | string
- Description
- Result description.
- Constraints
- Field
- document_intent
- Required
- No
- Type
- null | string
- Description
- Classified document intent.
- Constraints
- Field
- domain
- Required
- No
- Type
- null | string
- Description
- Registrable or host domain.
- Constraints
- Field
- domain_rating
- Required
- No
- Type
- null | number
- Description
- Domain rating.
- Constraints
- Field
- domain_refdomains
- Required
- No
- Type
- null | integer
- Description
- Domain referring-domain count.
- Constraints
- Field
- domain_traffic
- Required
- No
- Type
- null | integer
- Description
- Estimated domain traffic.
- Constraints
- Field
- first_seen
- Required
- No
- Type
- null | string
- Description
- First-seen timestamp.
- Constraints
- Field
- highlights
- Required
- No
- Type
- null | string[]
- Description
- Up to three query-relevant passages.
- Constraints
- Field
- language
- Required
- No
- Type
- null | string
- Description
- Document language.
- Constraints
- Field
- location
- Required
- No
- Type
- null | string
- Description
- Geographic location code.
- Constraints
- Field
- page_type
- Required
- No
- Type
- null | string
- Description
- Page content type.
- Constraints
- Field
- publish_time
- Required
- No
- Type
- null | string
- Description
- Published timestamp.
- Constraints
- Field
- refclass_c
- Required
- No
- Type
- null | integer
- Description
- Refclass-C metric.
- Constraints
- Field
- refdomains
- Required
- No
- Type
- null | integer
- Description
- Referring-domain count.
- Constraints
- Field
- republished
- Required
- No
- Type
- null | boolean
- Description
- Whether the document was republished.
- Constraints
- Field
- rule_type
- Required
- No
- Type
- null | string
- Description
- Applied rule type.
- Constraints
- Field
- site_name
- Required
- No
- Type
- null | string
- Description
- Site display name.
- Constraints
- Field
- title
- Required
- No
- Type
- null | string
- Description
- Page title.
- Constraints
- Field
- traffic
- Required
- No
- Type
- null | integer
- Description
- Estimated URL traffic.
- Constraints
- Field
- url
- Required
- No
- Type
- null | string
- Description
- Canonical page URL.
- Constraints
- Field
- url_rating
- Required
- No
- Type
- null | number
- Description
- URL rating.
- Constraints
- Field
- word_count
- Required
- No
- Type
- null | integer
- Description
- Visible word count.
- Constraints
ProjectedPageResult
One ranked projected result.
- Field
- fields
- Required
- Yes
- Type
- PageResultFields
- Description
- Exactly the requested fields.
- Constraints
- Field
- rank
- Required
- Yes
- Type
- integer
- Description
- One-based result rank.
- Constraints
- min: 1
SearchCoverage
How broad the search should be.
[
"balanced",
"high",
"maximum"
] SearchPostRequest
Public POST search request.
- Field
- coverage
- Required
- No
- Type
- null | SearchCoverage
- Description
- Constraints
- Field
- filter
- Required
- No
- Type
- string | null
- Description
- Optional eligibility filter in the public filter language.
- Constraints
- min length: 1; max length: 65536
- Field
- lang
- Required
- No
- Type
- string | null
- Description
- Optional two-letter lowercase language code.
- Constraints
- pattern: ^[a-z]{2}$
- Field
- limit
- Required
- No
- Type
- integer | null
- Description
- Maximum result count; defaults to 20 at the product boundary.
- Constraints
- min: 1; max: 50
- Field
- max_results_per_domain
- Required
- No
- Type
- integer | null
- Description
- Optional maximum number of results from one registrable domain.
- Constraints
- min: 1; max: 10
- Field
- query
- Required
- Yes
- Type
- string
- Description
- Non-empty search text.
- Constraints
- min length: 1; max length: 512
- Field
- ranking
- Required
- No
- Type
- null | SearchRanking
- Description
- Constraints
- Field
- select
- Required
- No
- Type
- SearchResultField[]
- Description
- Response projection; omission selects the stable summary fields.
- Constraints
- min items: 1
SearchPostResponse
Public POST search response.
- Field
- duration_ms
- Required
- Yes
- Type
- integer
- Description
- End-to-end duration in milliseconds.
- Constraints
- min: 0
- Field
- request_id
- Required
- Yes
- Type
- string
- Description
- Public request correlation identifier.
- Constraints
- Field
- results
- Required
- Yes
- Type
- ProjectedPageResult[]
- Description
- Ranked projected results.
- Constraints
- Field
- select
- Required
- Yes
- Type
- SearchResultField[]
- Description
- Echoed normalized projection.
- Constraints
SearchRanking
What the results should prioritize.
[
"precision",
"balanced",
"authority",
"content_gap"
] SearchResultField
Public fields that may be selected in a search response.
[
"url",
"title",
"description",
"anchor",
"site_name",
"author",
"language",
"domain",
"categories",
"location",
"page_type",
"publish_time",
"first_seen",
"url_rating",
"domain_rating",
"traffic",
"refdomains",
"domain_traffic",
"domain_refdomains",
"refclass_c",
"word_count",
"rule_type",
"document_intent",
"content_angle",
"republished",
"highlights"
] SearchV1Error
Search v1's original closed error envelope.
- Field
- agent_session_id
- Required
- No
- Type
- string | null
- Description
- Always absent for search; retained because runtime errors use one envelope.
- Constraints
- Field
- code
- Required
- Yes
- Type
- ErrorCode
- Description
- Closed status category.
- Constraints
- Field
- message
- Required
- Yes
- Type
- string
- Description
- Safe operator diagnostic.
- Constraints
- Field
- reason
- Required
- Yes
- Type
- SearchV1ErrorReason
- Description
- Closed Search v1 reason.
- Constraints
- Field
- recovery
- Required
- No
- Type
- null | ErrorRecovery
- Description
- Constraints
- Field
- validation
- Required
- No
- Type
- null | ValidationReport
- Description
- Constraints
SearchV1ErrorReason
Closed failure-reason vocabulary retained for the published Search v1 contract.
[
"malformed_request",
"authentication_required",
"permission_denied",
"api_key_name_invalid",
"spend_policy_invalid",
"rate_policy_invalid",
"resource_not_found",
"state_conflict",
"insufficient_funds",
"spend_limit_exceeded",
"rate_limit_exceeded",
"dependency_unavailable",
"internal_failure"
] ValidationIssue
One actionable, privacy-safe contract violation.
- Field
- allowed_values
- Required
- No
- Type
- array | null
- Description
- Constraints
- max items: 16
- Field
- code
- Required
- Yes
- Type
- string
- Description
- Stable, extensible machine-readable category.
- Constraints
- max length: 64
- Field
- path
- Required
- Yes
- Type
- string
- Description
- RFC 6901 pointer to the rejected location; empty means the root value.
- Constraints
- max length: 1024
- Field
- suggestion
- Required
- Yes
- Type
- string
- Description
- Code-owned instruction for correcting the request.
- Constraints
- max length: 512
ValidationReport
Bounded validation feedback shared by model, REST, and MCP boundaries.
- Field
- contract
- Required
- Yes
- Type
- string
- Description
- Stable contract name, normally the published schema component name.
- Constraints
- max length: 128
- Field
- issues
- Required
- Yes
- Type
- ValidationIssue[]
- Description
- At most eight deterministic violations. Correct every issue before retrying.
- Constraints
- max items: 8
- Field
- truncated
- Required
- Yes
- Type
- boolean
- Description
- Whether more violations were omitted; retry after correcting the listed issues.
- Constraints