curl --request POST \
--url https://api.cloud.gomry.com/v1/scrape \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"url": "https://example.com/events/summer-fest",
"prompt": "Extract the event",
"schema": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"startDate": {
"type": "string"
},
"venue": {
"type": "string"
}
}
}
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
url: 'https://example.com/events/summer-fest',
prompt: 'Extract the event',
schema: {
type: 'object',
properties: {name: {type: 'string'}, startDate: {type: 'string'}, venue: {type: 'string'}}
}
})
};
fetch('https://api.cloud.gomry.com/v1/scrape', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.cloud.gomry.com/v1/scrape"
payload = {
"url": "https://example.com/events/summer-fest",
"prompt": "Extract the event",
"schema": {
"type": "object",
"properties": {
"name": { "type": "string" },
"startDate": { "type": "string" },
"venue": { "type": "string" }
}
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}Fetch a page and extract structured data from it against a JSON schema.
Fetch a page and extract structured data from it against a JSON schema.
Requires the scrape:run scope, and the project must have Scrape enabled.
Billed on success. The response reports pages — the quantity metered for this call. Rates: https://docs.cloud.gomry.com/pricing.
Full reference: https://docs.cloud.gomry.com/services/scrape
curl --request POST \
--url https://api.cloud.gomry.com/v1/scrape \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"url": "https://example.com/events/summer-fest",
"prompt": "Extract the event",
"schema": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"startDate": {
"type": "string"
},
"venue": {
"type": "string"
}
}
}
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
url: 'https://example.com/events/summer-fest',
prompt: 'Extract the event',
schema: {
type: 'object',
properties: {name: {type: 'string'}, startDate: {type: 'string'}, venue: {type: 'string'}}
}
})
};
fetch('https://api.cloud.gomry.com/v1/scrape', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.cloud.gomry.com/v1/scrape"
payload = {
"url": "https://example.com/events/summer-fest",
"prompt": "Extract the event",
"schema": {
"type": "object",
"properties": {
"name": { "type": "string" },
"startDate": { "type": "string" },
"venue": { "type": "string" }
}
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}Authorizations
An API key minted in the console, sent as Authorization: Bearer <key>. Keys are project-scoped and carry per-operation scopes. A gck_test_… key runs the full request path — including the real upstream call — and bills nothing.
Every scope is enumerated in x-scopes below and in the RFC 9728 protected-resource metadata at https://cloud.gomry.com/.well-known/oauth-protected-resource, which is also what a 401 points at through its WWW-Authenticate: Bearer resource_metadata="…" header.
Body
Strip navigation, footers and boilerplate before extraction. Defaults to true; set false when the data you want lives in the chrome.
Response
Success. pages reports what was metered.
The response is of type object.

