Email Outreach Directory — PR Contact Lists

Browse fresh, verified press-contact emails grouped by industry. Unlock warm leads from PR-active brands for sponsorships, guest posts and affiliate outreach campaigns.

99.9 % Uptime
494ms Response
20 req/s
0.01 Credits / request

List Press Releases


POST https://api.yeb.to/v1/outreach/list
ParameterTypeReq.Description
api_key string yes Your API key
category string opt Filter by category (e.g. Technology, Healthcare & Pharma)
days integer opt Only show press releases from the last N days (0 = all time)
page integer opt Page number (default: 1)
per_page integer opt Results per page, max 100 (default: 20)

Example

curl -X POST https://api.yeb.to/v1/outreach/list \
  -H "Content-Type: application/json" \
  -d '{
  "api_key": "YOUR_KEY",
  "category": "Technology",
  "days": 7,
  "page": 1,
  "per_page": 20
}'

Response Example

{
  "data": [
    {
      "id": 42581,
      "summary": "TechCorp announces new AI platform for enterprise automation",
      "category": "Technology",
      "added_at": "2026-03-11T08:30:00+00:00",
      "mails": [
        { "mail": "[email protected]", "unlocked": true },
        { "mail": "j***@reuters.com", "unlocked": false }
      ]
    }
  ],
  "total": 1842,
  "page": 1,
  "per_page": 20,
  "last_page": 93
}
{"error":"Invalid API key","code":401}

Response Codes

CodeDescription
200 SuccessRequest processed OK.
400 Bad RequestInput validation failed.
401 UnauthorizedMissing / wrong API key.
403 ForbiddenKey inactive or not allowed.
429 Rate LimitToo many requests.
500 Server ErrorUnexpected failure.

List Press Releases

outreach/list 0.0100 credits

Parameters

API Key
body · string · required
Category
body · string
Days
body · string
Page
body · string
Per Page
body · string

Code Samples


                
                
                
            

Response

Status:
Headers

                
Body

                

Unlock Emails


POST https://api.yeb.to/v1/outreach/unlock
ParameterTypeReq.Description
api_key string yes Your API key
mails array yes Array of email addresses to unlock

Example

curl -X POST https://api.yeb.to/v1/outreach/unlock \
  -H "Content-Type: application/json" \
  -d '{
  "api_key": "YOUR_KEY",
  "mails": ["[email protected]", "[email protected]"]
}'

Response Example

{
  "emails": ["[email protected]", "[email protected]"],
  "new_unlocked": 2,
  "already_unlocked": 0,
  "credits_charged": 2.0
}
{"error":"Insufficient credits. Need 2, have 0.5","code":402}

Response Codes

CodeDescription
200 SuccessRequest processed OK.
400 Bad RequestInput validation failed.
401 UnauthorizedMissing / wrong API key.
403 ForbiddenKey inactive or not allowed.
429 Rate LimitToo many requests.
500 Server ErrorUnexpected failure.

Unlock Emails

outreach/unlock 1.0000 credits

Parameters

API Key
body · string · required
Emails
body · string · required

Code Samples


                
                
                
            

Response

Status:
Headers

                
Body

                

List Categories


POST https://api.yeb.to/v1/outreach/categories
ParameterTypeReq.Description
api_key string yes Your API key

Example

curl -X POST https://api.yeb.to/v1/outreach/categories \
  -H "Content-Type: application/json" \
  -d '{
  "api_key": "YOUR_KEY"
}'

Response Example

{
  "categories": [
    { "name": "Business & Finance", "count": 4521 },
    { "name": "Technology", "count": 3892 },
    { "name": "Healthcare & Pharma", "count": 2104 },
    { "name": "Entertainment & Media", "count": 1847 }
  ],
  "total": 15
}
{"error":"Invalid API key","code":401}

Response Codes

CodeDescription
200 SuccessRequest processed OK.
400 Bad RequestInput validation failed.
401 UnauthorizedMissing / wrong API key.
403 ForbiddenKey inactive or not allowed.
429 Rate LimitToo many requests.
500 Server ErrorUnexpected failure.

List Categories

outreach/categories 0.0010 credits

Parameters

API Key
body · string · required

Code Samples


                
                
                
            

Response

Status:
Headers

                
Body

                

Export Contacts


POST https://api.yeb.to/v1/outreach/export
ParameterTypeReq.Description
api_key string yes Your API key
format string opt Export format: json or csv (default: json)
category string opt Filter exported contacts by category

Example

curl -X POST https://api.yeb.to/v1/outreach/export \
  -H "Content-Type: application/json" \
  -d '{
  "api_key": "YOUR_KEY",
  "format": "json",
  "category": "Technology"
}'

Response Example

{
  "data": [
    {
      "email": "[email protected]",
      "category": "Technology",
      "summary": "TechCorp announces new AI platform",
      "added_at": "2026-03-11 08:30:00"
    },
    {
      "email": "[email protected]",
      "category": "Technology",
      "summary": "Reuters covers enterprise automation trend",
      "added_at": "2026-03-10 14:15:00"
    }
  ],
  "total": 2,
  "format": "json"
}
{"error":"Authentication required","code":401}

Response Codes

CodeDescription
200 SuccessRequest processed OK.
400 Bad RequestInput validation failed.
401 UnauthorizedMissing / wrong API key.
403 ForbiddenKey inactive or not allowed.
429 Rate LimitToo many requests.
500 Server ErrorUnexpected failure.

Export Contacts

outreach/export 0.0500 credits

Parameters

API Key
body · string · required
Format
body · string
Category
body · string

Code Samples


                
                
                
            

Response

Status:
Headers

                
Body

                

Frequently Asked Questions

Each contact is extracted from a paid press release or guest-post order on partner wire services. The company has already invested in distribution, so they are actively seeking coverage.

New press releases are scraped daily from multiple wire services. You can filter by recency (1, 7 or 30 days) to get only the latest contacts.

1 credit unlocks 1 brand-new email address. Already-unlocked emails are free to access again. The list and categories endpoints cost a fraction of a credit.

Yes. Use the export endpoint to download all your unlocked contacts as JSON or CSV, optionally filtered by category.

Emails you haven't unlocked yet are partially masked (e.g. j***@example.com). Once unlocked, the full address is returned in all subsequent requests.

Yes. Every request, even those resulting in errors, consumes credits. This is because your credits are tied to the number of requests, regardless of success or failure. If the error is clearly due to a platform problem on our end, we will restore the affected credits (no cash refunds).

Contact us at [email protected]. We take feedback seriously—if your bug report or feature request is meaningful, we can fix or improve the API quickly and grant you 50 free credits as a thank you.

It depends on the API and sometimes even on the endpoint. Some endpoints use data from external sources, which may have stricter limits. We also enforce limits to prevent abuse and keep our platform stable. Check the docs for the specific rate limit for each endpoint.

We operate on a credit system. Credits are prepaid, non-refundable units you spend on API calls and tools. Credits are consumed FIFO (oldest first) and are valid for 12 months from the purchase date. The dashboard shows each purchase date and its expiry.

Yes. All purchased credits (including fractional balances) are valid for 12 months from purchase. Unused credits automatically expire and are permanently deleted at the end of the validity period. Expired credits cannot be restored or converted to cash or other value. Transitional rule: credits bought before 22 Sep 2025 are treated as purchased on 22 Sep 2025 and expire on 22 Sep 2026 (unless an earlier expiry was stated at purchase).

Yes—within their validity window. Unused credits remain available and roll over month-to-month until they expire 12 months after purchase.

Credits are non-refundable. Only buy what you need—you can always top up later. If a platform-side error causes a failed charge, we may restore the affected credits after investigation. No cash refunds.

Prices are set in credits, not dollars. Each endpoint lists its own cost—see the “Credits / request” badge above. You’ll always know exactly what you’re spending.
← Back to APIs