Developers

Journalist Lookup API

GET /api/v1/journalists/lookup finds up to 10 journalists already known to Medialyst. It accepts a name, name plus outlet, outlet, email address, or profile URL. Results contain masked addresses and cost 0 credits.

Use the selected result as a journalist_reference in POST /api/v1/journalists/enrich when you need current contact details.

Before You Start

Create an API key from the Medialyst Developers page, store it in secret storage or an environment variable such as MEDIALYST_API_KEY, and send it as a bearer token:

Authorization: Bearer <YOUR_API_KEY>

Journalist Lookup is available on paid plans. All examples use https://medialyst.ai/api as the API base URL.

Look Up a Journalist

curl --request GET \
  'https://medialyst.ai/api/v1/journalists/lookup?q=Kara%20Swisher%20at%20New%20York%20Magazine' \
  --header "Authorization: Bearer $MEDIALYST_API_KEY"
Query parameterRequiredDescription
qYesA journalist name, name and outlet, outlet, email address, or profile URL. Maximum 200 characters.

The response includes ranked candidates and the resolution decision:

{
  "results": [
    {
      "journalist_id": "j_01HT...",
      "name": "Kara Swisher",
      "publication": "New York Magazine",
      "domain": "nymag.com",
      "url": "https://nymag.com/author/kara-swisher/",
      "masked_email": "k•••••@nymag.com",
      "email_state": "verified",
      "last_seen_at": "2026-08-20T15:30:00.000Z"
    }
  ],
  "resolution": {
    "tier": "deterministic",
    "pickedId": "j_01HT...",
    "latencyMs": 0,
    "reason": "unique_name_and_outlet_match"
  }
}

email_state is one of verified, catch_all, unknown, user_provided, seed_import, none, or under_review. masked_email is always masked and is null when no address may be shown. This endpoint never reveals a full address.

resolution.tier is deterministic, jev, or list. When pickedId is present, it identifies the confident match. A list result means the caller should choose among the candidates or retry with an outlet or domain.

Enrich the Selected Journalist

Pass the selected result into the enrichment endpoint:

{
  "from": [
    {
      "type": "journalist_reference",
      "name": "Kara Swisher",
      "publication": "New York Magazine",
      "domain": "nymag.com",
      "url": "https://nymag.com/author/kara-swisher/"
    }
  ]
}

Lookup costs 0 credits. Journalist enrichment uses outcome billing: one credit when it delivers a verified address and no credit for a miss.

Rate Limits

Lookup uses the API-wide limit of 60 requests per minute. A rate-limited request returns 429 RATE_LIMITED and a Retry-After header.

Common Errors

HTTP statusCodeMeaningWhat to do
400INVALID_REQUESTq is missing, empty, or longer than 200 characters.Send one specific name, outlet, address, or profile URL.
401UNAUTHORIZEDThe API key is missing or invalid.Check the bearer token.
403PAID_PLAN_REQUIREDThe organization is on the free plan.Upgrade the organization, then retry.
429RATE_LIMITEDThe API-wide request limit was reached.Wait for Retry-After, then retry.

MCP

The hosted Medialyst MCP server exposes this route as lookup_journalist. It accepts the same q value and returns the same masked response. Authentication, plan access, rate limits, and errors match direct API calls.