Skip to main content

Campaign Management API

Overview​

The Campaign Management API allows ZipRecruiter partners to programmatically manage employer advertising campaigns and budgets.

Authentication​

This API uses Basic authentication. Include your API key in the Authorization header of every request.

How It Works​

The API is organized around three resources: Accounts represent billing entities, Campaigns group jobs and control promotion, and Budgets control spending over a date range. Each account has multiple campaigns, and each campaign has multiple budgets.

Workflow​

  1. Create a campaign in Paused status (active campaigns require a budget).
  2. Create a budget for the campaign.
  3. Set the campaign status to Active.

Additional budgets can be added to extend flight durations without creating a new campaign.

Campaign Filtering​

Feed filters select which jobs from a feed are included in a campaign. Multiple filters on the same field use OR logic; filters on different fields use AND logic.

Alternatively, provide a dedicated feed URL containing only the jobs for the campaign — no filters needed.

For field definitions and filter schema, see the API Reference.

Testing Best Practices​

warning

Coordinate with your ZipRecruiter support team before testing.

  • Use only the encrypted_account_id provided for testing.
  • Name test campaigns with "TEST" at the beginning or end.
  • Set io_number to "TEST" on test budgets so billing can identify test spend.
  • Use the minimum CPC ($0.61 for most countries; GB, DE, and IE minimums vary by account type) and minimum budget ($25) to minimize exposure.

Limitations​

  • New campaigns must be created in Paused status.
  • Minimum budget: $25. Minimum CPC: $0.61 for most countries; GB, DE, and IE minimums vary by account type.
  • All fields are required when updating a budget, even if unchanged.
  • Budgets cannot have overlapping date ranges.
  • Rate limit: 5 concurrent requests per API key, queue of 10. Exceeding returns 503.
  • Timeout: 120 seconds (returns 504).
  • No batch endpoint — one object per API call.

API Reference​

See the API Reference for full endpoint documentation including request/response schemas and field definitions.