canonical: https://jentic.com/apis/prospeo.io/prospeo

# Prospeo API

Jentic publishes the only available OpenAPI specification for Prospeo API, keeping it validated and agent-ready. The Prospeo API enriches people and companies with B2B contact and firmographic data and searches its contact and company databases. It enriches a person from datapoints such as a name and company, a LinkedIn URL, or an email, with options to return only verified emails and to include a mobile number, and enriches a company from its website, LinkedIn URL, or name. Bulk operations take up to 50 records per request, searches use a filters object and return 25 results per page, and a suggestions operation returns valid filter values for locations, job titles, technologies, and industries.

## For AI agents

Enrich a person or company with verified emails, mobile numbers, and firmographics, search Prospeo's contact and company databases with filters, and check remaining credits.

## Scope

Does not send email, run outreach sequences, or store CRM records. Use for B2B person and company enrichment and search only.

## Capabilities

- Enrich a person from datapoints such as first_name, last_name, company_website, linkedin_url, or email
- Return only verified emails with only_verified_email, and add a mobile number with enrich_mobile
- Enrich a company from its company_website, company_linkedin_url, or company_name
- Enrich up to 50 people or 50 companies in one bulk request
- Search people or companies with a filters object, 25 results per page
- Look up valid filter values for locations, job titles, technologies, industries, and NAICS or SIC codes
- Read the account's plan, used and remaining credits, and quota renewal date

## Use cases

### Agent-Driven Lead Enrichment

An AI agent connected through Jentic takes a name and company from a CRM record or a chat message, enriches the person with only_verified_email set so it only returns deliverable addresses, and adds a mobile number when enrich_mobile is set. Before a large run it reads the account's remaining credits, so it can tell the user when the balance is too low.

Example prompt: Enrich a person with first_name Jane, last_name Doe, and company_website acme.com, with only_verified_email true and enrich_mobile true, after checking remaining credits

### Bulk List Enrichment

Sales teams import event attendee lists or CSV exports with names and companies but no emails. The bulk person enrichment operation takes up to 50 records per request, each carrying its own identifier so responses can be matched back to the source rows, which keeps large list jobs to a manageable number of calls.

Example prompt: Send 50 person records with unique identifiers to the bulk enrich person operation and map the returned emails back to the source rows

### Account-Based Prospect Search

A rep builds a target list by first resolving valid filter values with the suggestions operation, such as a job title or a technology, then searching people with a filters object for the right seniority, location, and industry. Search results do not carry email or mobile data, so the rep enriches only the people worth contacting.

Example prompt: Get job title suggestions for 'head of sales', search people with that job title in Germany, then enrich the top three results

### Company Firmographic Lookup

Before routing an inbound lead, a workflow enriches the company from its website or LinkedIn URL to get firmographic data, and uses company search with filters to find lookalike accounts. Matching on a website or LinkedIn URL is preferred because matching by name alone is discouraged in the spec.

Example prompt: Enrich the company with company_website stripe.com and return its firmographic fields

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/enrich-person` | Enrich a person |
| POST | `/bulk-enrich-person` | Enrich up to 50 people |
| POST | `/enrich-company` | Enrich a company |
| POST | `/bulk-enrich-company` | Enrich up to 50 companies |
| POST | `/search-person` | Search people with filters |
| POST | `/search-company` | Search companies with filters |
| POST | `/search-suggestions` | Get valid filter values |
| GET | `/account-information` | Read plan and credit usage |

## Key resources

- **Person enrichment** — Emails, mobiles, and profile data from person datapoints
- **Company enrichment** — Firmographics from a website, LinkedIn URL, or name
- **Search** — Filtered person and company search with filter suggestions
- **Account** — Plan, used and remaining credits, and quota renewal

## AI readiness

This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.

- **Score:** 61 / 100
- **Maturity:** AI-Aware
- **Dimensions:**
  - Foundational Compliance: 100 / 100
  - Developer Experience & Jentic Compatibility: 56 / 100
  - AI-Readiness & Agent Experience: 41 / 100
  - Agent Usability: 94 / 100
  - Security: 50 / 100
  - AI Discoverability: 83 / 100
- **View full report:** https://jentic.com/apis/prospeo.io/prospeo/scorecard
- **How the score is calculated:** https://docs.jentic.com/reference/api-readiness-framework/overview/
- **More about the dimensions:** https://docs.jentic.com/reference/api-readiness-framework/specification/#dimensional-model-overview

### Score it yourself

Every API in the directory is allowlisted, so you can re-score it with no key required.

- **Score your own API:** https://jentic.com/scorecard.md
- **Scoring CLI agent skill:** https://github.com/jentic/jentic-api-scorecard/blob/main/skills/jentic-api-scorecard/SKILL.md

```sh
npx @jentic/api-scorecard-cli score <openapi-url>
```

## Why Jentic

- **Setup:** Wiring Prospeo by hand means sending the `X-KEY` header, batching records into bulk requests of up to 50 with your own identifiers, and paging searches at 25 results per page. Through Jentic you install once, import Prospeo from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** Prospeo carries every lookup target in the request body, so a rule bounds which operations your agent may call rather than which person or company. You choose the operations it may call, so credit-heavy bulk enrichment is not included unless you add it.
- **Credential handling:** Your Prospeo API key is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'find a person's work email' or 'search companies by industry', and Jentic returns the matching Prospeo operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Hunter** — Hunter finds and verifies professional email addresses by name and domain.
- **Apollo** — Apollo combines a B2B contact database with enrichment and sales engagement.
- **People Data Labs** — People Data Labs enriches person and company records from a large dataset.

## FAQ

### Why is there no official OpenAPI spec for Prospeo API?

Prospeo does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Prospeo API via structured tooling. It is validated against the live API and kept up to date. To run it on your own infrastructure, install Jentic One from its GitHub repo.

### What authentication does the Prospeo API use?

The Prospeo API authenticates with an API key from the Prospeo dashboard, sent in the `X-KEY` header under the ApiKeyAuth scheme in its OpenAPI spec. Through Jentic the key is stored encrypted by your own Jentic One instance and injected at call time, so it never reaches the agent's prompt, logs, or context.

### What are the rate limits for the Prospeo API?

The OpenAPI spec states one numeric limit: the search suggestions operation is rate limited to 15 requests per second per account. It does not give limits for the other operations; check https://prospeo.io/api-docs for current limits.

### Does a Prospeo search return emails?

No. Person search returns up to 25 results per page across up to 1000 pages, but email and mobile data require a separate enrich person call. Search first to find the right people, then enrich only the ones you want to contact.

### Is there a Prospeo MCP server?

You don't need an MCP server to give your agent Prospeo. Jentic connects it directly from the API Directory: import it, store your credential once, and your agent calls it, finding the enrich and search operations on demand.

### Can I limit what my agent is allowed to do with the Prospeo API?

Yes. For example, write a rule that allows only the enrich person and account information operations, so the agent can look up single contacts and check the credit balance while the bulk enrichment operations, which spend credits faster, stay out of reach. Every call it makes is logged.
