# Ocean.io Company Enrichment via Orthogonal x402

> Ocean.io Company Enrichment via Orthogonal x402 is a paid API for AI agents from x402.orthogonal.com, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-10).

Matches a company against the Ocean.io database and returns enriched firmographic data including industry, size, revenue, technologies, contacts, and more.

## Facts

- Endpoint: POST https://x402.orthogonal.com/ocean-io/v2/enrich/company?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-10
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/ocean-io-company-enrichment-via-orthogonal-x402-603b2a4a
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_xZI6orL61RWjBdpuBGJfn

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability ocean-io-company-enrichment-via-orthogonal-x402-603b2a4a -d '<json body>'
```

Example prompt: Can you look up Stripe on Ocean.io and enrich their profile with industry, employee count, revenue, technologies they use, and their LinkedIn and Twitter handles?

## When to prefer this

Use this endpoint when you need comprehensive B2B firmographic enrichment from Ocean.io, including technologies, headcount growth, funding rounds, and contact details — especially when you have a company domain or name to match against. Prefer this over generic web scraping when structured, database-backed company data is needed. It is particularly valuable for sales intelligence, CRM enrichment, and market research workflows where consistency and data depth matter.

## Known failure modes

- Company not found in Ocean.io database — returns empty or null result
- Ambiguous company match when domain/name is insufficient — may return wrong company
- Payment failure via x402 protocol — call not executed
- Rate limiting or quota exceeded — HTTP 429
- Invalid or missing required input fields — HTTP 400 validation error
- Partial data returned — some fields may be null if Ocean.io lacks data for that company

## How this service works

Match a company with Ocean.io database and enrich it with additional information (industry, size, revenue, technologies, contacts, etc.).

## Output

Returns a structured company object from Ocean.io containing requested fields such as industry, company size, employee count (Ocean and LinkedIn), revenue, year founded, technologies, technology categories, locations, social media profiles (LinkedIn, Twitter, Facebook, etc.), web traffic stats, funding rounds, headcount growth metrics, contact emails and phones, and legal/impressum data. Only fields specified in the request are returned if the 'fields' parameter is used.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "fields": {
   "type": "array",
   "description": "string[] - Fields to return in Company objects (reduces bandwidth). If not specified, all fields returned. Options: \"domain\", \"countries\", \"primaryCountry\", \"companySize\", \"industryCategories\", \"industries\", \"linkedinIndustry\", \"ecommerce\", \"keywords\", \"employeeCountOcean\", \"employeeCountLinkedin\", \"revenue\", \"yearFounded\", \"description\", \"emails\", \"phones\", \"logo\", \"technologies\", \"technologyCategories\", \"mobileApps\", \"webTraffic\", \"medias\", \"name\", \"legalName\", \"locations\", \"departmentSizes\", \"rootUrl\", \"faxes\", \"impressum\", \"fundingRound\", \"redirectedFrom\", \"updatedAt\", \"headcountGrowth\", \"headcountGrowthPerDepartment\". Nested fields also supported: \"phones.number\", \"phones.country\", \"phones.primary\", \"webTraffic.visits\", \"webTraffic.pageViews\", \"webTraffic.pagesPerVisit\", \"medias.linkedin\", \"medias.twitter\", \"medias.youtube\", \"medias.facebook\", \"medias.xing\", \"medias.tiktok\", \"medias.instagram\", \"locations.primary\", \"locations.country\", \"locations.locality\", \"locations.region\", \"locations.postalCode\", \"locations.streetAddress\", \"locations.state\", \"locations.regionCode\", \"mobileApps.link\", \"mobileApps.name\", \"faxes.number\", \"faxes.country\", \"faxes.primary\", \"impressum.company\", \"impressum.address\", \"impressum.email\", \"impressum.phone\", \"impressum.fax\", \"impressum.vat\", \"impressum.url\", \"impressum.people\", \"fundingRound.date\", \"fundingRound.type\", \"fundingRound.moneyRaisedInUsd\", \"fundingRound.cbUrl\", \"headcountGrowth.threeMonths\", \"headcountGrowth.threeMonthsPercentage\", \"headcountGrowth.sixMonths\", \"headcountGrowth.sixMonthsPercentage\", \"headcountGrowth.twelveMonths\", \"headcountGrowth.twelveMonthsPercentage\"."
  },
  "people": {
   "type": "array",
   "description": "object[] - People to help match company (improves accuracy). Each element: id: string (Ocean.io person ID), name: string (full name), firstName: string, lastName: string, jobTitle: string, email: string, phone: string, facebook: string (Facebook handle), twitter: string (Twitter handle), linkedin: string (LinkedIn handle, NOT full URL, e.g. \"satyanadella\"), country: string (ISO 3166 alpha-2)"
  },
  "company": {
   "type": "object",
   "description": "object - Company to match. Fields: domain: string (company website domain, e.g. \"stripe.com\")
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/ocean-io-company-enrichment-via-orthogonal-x402-603b2a4a/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402.orthogonal.com](https://www.zero.xyz/host/x402.orthogonal.com/llms.txt)
