Contract
{
"type": "object",
"anyOf": [
{
"required": [
"q"
]
},
{
"required": [
"cause_areas"
]
},
{
"required": [
"location"
]
},
{
"required": [
"location_type"
]
}
],
"properties": {
"q": {
"type": "string",
"description": "Search query keyword"
},
"page": {
"type": "integer",
"description": "Page number (0-indexed)"
},
"radius": {
"type": "integer",
"description": "Search radius in meters from location"
},
"location": {
"type": "string",
"description": "Latitude,longitude for geo search (e.g. '40.7128,-74.0060')"
},
"cause_areas": {
"type": "string",
"description": "Comma-separated cause areas to filter by. Accepted values include: EDUCATION, HEALTH_MEDICINE, ENVIRONMENT, CHILDREN_YOUTH, ARTS_MUSIC, COMMUNITY_DEVELOPMENT, ANIMALS, HOUSING_HOMELESSNESS, HUMAN_RIGHTS_CIVIL_LIBERTIES, CLIMATE_CHANGE, VOLUNTEERING, SCIENCE_TECHNOLOGY"
},
"location_type": {
"type": "string",
"description": "Location type filter: ONSITE, REMOTE, HYBRID"
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"status",
"data"
],
"properties": {
"data": {
"type": "object",
"required": [
"hits",
"nbHits",
"page",
"nbPages",
"hitsPerPage",
"exhaustiveNbHits",
"exhaustiveTypo",
"query"
],
"properties": {
"hits": {
"type": "array",
"items": {
"type": "object",
"properties": {
"url": {
"type": "object",
"properties": {
"en": {
"type": "string"
},
"es": {
"type": "string"
},
"pt": {
"type": "string"
}
},
"description": "Relative paths (no scheme/host, so not flagged by census.json's urlLeaves) to this listing's own public page on the vendor's site, per locale.",
"additionalProperties": true
},
"city": {
"type": [
"string",
"null"
],
"description": "Observed null on remote-only listings with no fixed city."
},
"ends": {
"type": [
"number",
"null"
],
"description": "Unix timestamp (seconds) a time-bound opportunity ends, e.g. 1802203200; null on undated, ongoing listings; see `starts`."
},
"logo": {
"type": "object",
"properties": {
"width": {
"type": "number"
},
"handle": {
"type": "string",
"description": "An opaque file-storage handle used to build the logo's URL, not a personal handle -- see verification.notes."
},
"height": {
"type": "number"
},
"mimetype": {
"type": "string"
}
},
"description": "The hosting organization's own public logo image.",
"additionalProperties": true
},
"name": {
"type": "string",
"description": "The volunteer opportunity's own title, e.g. 'Educational Designer — Volunteer'."
},
"image": {
"type": [
"object",
"null"
],
"properties": {
"width": {
"type": "number"
},
"handle": {
"type": "string",
"description": "An opaque file-storage handle used to build the photo's URL, not a personal handle -- see verification.notes."
},
"height": {
"type": "number"
},
"mimetype": {
"type": "string"
}
},
"description": "The listing's own photo, when one was uploaded; null otherwise.",
"additionalProperties": true
},
"orgID": {
"type": "string",
"description": "The hosting organization's own id."
},
"state": {
"type": [
"string",
"null"
],
"description": "State/province code."
},
"locale": {
"type": "string",
"description": "Observed as 'en' on both real captures."
},
"orgUrl": {
"type": "object",
"properties": {
"en": {
"type": "string"
},
"es": {
"type": "string"
},
"pt": {
"type": "string"
}
},
"description": "Relative paths (no scheme/host) to the hosting organization's own public profile page, per locale.",
"additionalProperties": true
},
"starts": {
"type": [
"number",
"null"
],
"description": "Unix timestamp (seconds) a time-bound opportunity starts, e.g. 1783544400; null on undated, ongoing listings."
},
"_geoloc": {
"type": "object",
"properties": {
"lat": {
"type": "number"
},
"lng": {
"type": "number"
}
},
"description": "The listing's coordinates.",
"additionalProperties": true
},
"country": {
"type": [
"string",
"null"
],
"description": "Country code."
},
"endDate": {
"type": [
"string",
"null"
],
"description": "Observed null on every real capture."
},
"endTime": {
"type": [
"string",
"null"
],
"description": "Observed null on every real capture."
},
"orgName": {
"type": "string",
"description": "The hosting organization's public name."
},
"orgType": {
"type": "string",
"description": "'NONPROFIT' or 'COMMUNITY' on the real captures observed."
},
"welcome": {
"type": "array",
"items": {
"type": "string"
},
"description": "Who the listing explicitly welcomes, e.g. 'AGE_55_PLUS', 'TEENS', 'GROUPS'."
},
"keywords": {
"type": "array",
"items": {
"type": "string"
},
"description": "Human-readable skill/interest tags, e.g. 'Mentor/Tutor'."
},
"objectID": {
"type": "string",
"description": "The listing's own id."
},
"remoteOk": {
"type": "boolean"
},
"stateStr": {
"type": [
"string",
"null"
],
"description": "Full state name, e.g. 'California'; observed null alongside a null city."
},
"timezone": {
"type": [
"string",
"null"
],
"description": "An IANA timezone name (e.g. 'America/New_York') on listings with a fixed schedule; null on the undated majority observed."
},
"published": {
"type": "number",
"description": "Unix timestamp (seconds) the listing was published."
},
"startDate": {
"type": [
"string",
"null"
],
"description": "Observed null on every real capture."
},
"startTime": {
"type": [
"string",
"null"
],
"description": "Observed null on every real capture."
},
"actionText": {
"type": "string",
"description": "A one-line summary of what the volunteer will actually do."
},
"remoteZone": {
"type": [
"string",
"null"
],
"description": "The breadth of a remote restriction, e.g. 'CITY', 'STATE', 'WORLD'; observed null on onsite-only listings."
},
"description": {
"type": "string",
"description": "The full listing description."
},
"remoteState": {
"type": [
"string",
"null"
],
"description": "Observed null except when the remote zone is state-restricted."
},
"areasOfFocus": {
"type": "array",
"items": {
"type": "string"
},
"description": "Cause-area tags, e.g. 'EDUCATION', 'HOUSING_HOMELESSNESS'."
},
"locationType": {
"type": "string",
"description": "'ONSITE', 'REMOTE', or 'HYBRID' on the real captures observed."
},
"remoteCountry": {
"type": [
"string",
"null"
],
"description": "Observed null when the remote zone is worldwide or unrestricted."
},
"welcomeGroups": {
"type": "boolean"
},
"canBeDoneInADay": {
"type": "boolean"
},
"welcomeFamilies": {
"type": "boolean"
},
"isPostedAnonymously": {
"type": "boolean"
},
"detailsStipendProvided": {
"type": "boolean"
},
"detailsHousingAvailable": {
"type": "boolean"
},
"detailsTrainingProvided": {
"type": "boolean"
},
"hasFileRequestedAttachments": {
"type": "boolean",
"description": "Whether applying requires uploading a file (e.g. a resume)."
},
"detailsAcademicCreditAvailable": {
"type": "boolean"
}
},
"additionalProperties": true
},
"description": "The matching opportunities for this page. Empty when nothing matches -- see `nonsense-empty.json` -- not an error."
},
"page": {
"type": "number",
"description": "0-indexed page number returned."
},
"query": {
"type": "string",
"description": "The keyword query as echoed back by the search."
},
"nbHits": {
"type": "number",
"description": "Total number of matching opportunities."
},
"nbPages": {
"type": "number",
"description": "Total number of pages available."
},
"hitsPerPage": {
"type": "number",
"description": "Observed as 20 on both real captures."
},
"exhaustiveTypo": {
"type": "boolean",
"description": "Whether typo-tolerance matching was exhaustive for this query."
},
"exhaustiveNbHits": {
"type": "boolean",
"description": "Whether `nbHits` is an exact count rather than an estimate."
}
},
"additionalProperties": true
},
"status": {
"type": "string",
"description": "'success' on both real captures observed."
}
},
"description": "The search result, as returned at routing.responseResultPath ($.output).",
"additionalProperties": true
}Pricing
Every real charge, itemised. A model that quietly omits one is a slow financial leak, so nothing here is rolled up, and a charge that only applies to some inputs says so rather than being added in.
Prices in this catalog are the provider's own list price, not your bill: Omnial MCP charges provider cost plus a platform markup on top, so what you are charged is higher than the figure shown. For the exact amount a specific call will cost, run omnial_execute with dry_run: true; that number includes the markup and is what we hold while the call runs. It is a quote, not a cap on the charge.
| Charge | Rate |
|---|---|
Per call Flat, regardless of what comes back | $0.01365 |
- Cost basis
- Not recorded
This tool's catalog entry does not record how its final bill is determined, so we will not tell you whether its cost is fixed before the call or reported by the provider afterwards. Either way what is held is a quote rather than a cap: you are charged what the call actually costs, bounded at 2x the quote.
- Updated
- Sep 25, 2026
