---
title: "Journalists"
method: GET
path: "/v1/journalists/all"
tags: ["v1"]
---

# Journalists

`GET /v1/journalists/all`

Search journalists using broad search attributes. Our database contains over 230,000 journalists from around the world and is refreshed frequently.

## Query parameters

- `id` string[]
- `q` string
- `name` string
- `twitter` string
- `size` integer
- `page` integer
- `source` string[]
- `topic` string[]
- `category` string[]
- `label` string[]
- `minMonthlyPosts` integer
- `maxMonthlyPosts` integer
- `country` string[]
- `updatedAtFrom` string, date-time
- `updatedAtTo` string, date-time
- `showNumResults` boolean

## Response `200`

200 - Success

- JournalistSearchResult — Journalist search result
  - `status` integer, required
  - `numResults` integer, required
  - `results` Journalist[], required
    - `id` string, nullable
    - `name` string, nullable
    - `fullName` string, nullable
    - `headline` string, nullable
    - `description` string, nullable
    - `title` string, nullable
    - `locations` LocationHolder[], nullable
      - `country` string, nullable
      - `state` string, nullable
      - `county` string, nullable
      - `city` string, nullable
      - `area` string, nullable
    - `updatedAt` string, nullable
    - `topTopics` NameCount[], nullable
      - `name` string, nullable
      - `count` integer, nullable
    - `topSources` NameCount[], nullable
      - `name` string, nullable
      - `count` integer, nullable
    - `topCategories` NameCount[], nullable
      - `name` string, nullable
      - `count` integer, nullable
    - `topLabels` NameCount[], nullable
      - `name` string, nullable
      - `count` integer, nullable
    - `topCountries` NameCount[], nullable
      - `name` string, nullable
      - `count` integer, nullable
    - `avgMonthlyPosts` integer, nullable
    - `twitterHandle` string, nullable
    - `twitterBio` string, nullable
    - `imageUrl` string, nullable
    - `linkedinUrl` string, nullable
    - `linkedinConnections` integer, nullable
    - `linkedinFollowers` integer, nullable
    - `facebookUrl` string, nullable
    - `instagramUrl` string, nullable
    - `websiteUrl` string, nullable
    - `blogUrl` string, nullable
    - `tumblrUrl` string, nullable
    - `youtubeUrl` string, nullable

## Other responses

- `400` — 400 - Bad Request
- `401` — 401 - Invalid API Key
- `403` — 403 - Request Forbidden
- `429` — 429 - Too Many Requests
- `500` — 500 - Server Error

## Changes

- **2025-08-18** `a73a3b58ca66` — 1 breaking, 22 warning, 78 info
  - the `status` response's property type/format changed from `string`/`` to `integer`/`int32` for status `429`
  - removed the optional property `cause` from the response with the `400` status
  - removed the optional property `cause` from the response with the `401` status
  - removed the optional property `cause` from the response with the `403` status
  - …97 more
- **2025-07-31** `556127fafa6a` — 1 info
  - api tag `Supplemental Endpoints` removed
- **2025-06-04** `52b02cb25532` — 1 info
  - api tag `Supplemental Endpoints` added
- **2025-05-08** `ae72ecd67fb1` — 4 info
  - api operation id `search-journalists_1` removed and replaced with `search-journalists`
  - the response property `numResults` became required for the status `200`
  - the response property `results` became required for the status `200`
  - the response property `status` became required for the status `200`

[Change history](https://skmtc.dev/goperigon/apis/perigon-api/changes/v1/journalists/all/get.md)

---

[API](https://skmtc.dev/goperigon/apis/perigon-api.md) · [All operations](https://skmtc.dev/goperigon/apis/perigon-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/goperigon/perigon-api/revisions/2c55bf07003a/schema)
