API

One REST API, keyed by company domain

Company Pulse events, hiring signals, open jobs, posted pay, public tenders, hotel rate curves, Shopify stores and review panels. JSON over HTTPS, described in OpenAPI 3.1, with an as-of date on every answer.

Quick start

Base URL
https://api.arcadiumdata.io
Auth
Authorization: Bearer <key> or X-API-Key: <key>
Without a key
10 requests a minute, 100 a day per IP
Errors
{"error": code, "message": text}
curl -s "https://api.arcadiumdata.io/v1/companies/example.com/pulse" \
  -H "Authorization: Bearer $ARCADIUM_API_KEY"

Get a key at /signup/ (or POST /v1/account/signup). Import openapi.json into Postman, Insomnia, Clay or an agent framework to get every route with its parameters and response schema.

Routes

Jobs

RouteWhat it returnsKey
GET /v1/jobsSearch open jobsoptional
GET /v1/jobs/{id}One job with its descriptionoptional

Companies

RouteWhat it returnsKey
GET /v1/companies/{domain}Company profile: job boards, open jobs, hiring signals, tech, events, Shopify storeoptional
GET /v1/companies/{domain}/historyPoint-in-time hiring history 2023 onwards (open jobs per crawl, from the public web archive)optional
POST /v1/coverageWhich of up to 50 company domains have a known public job boardoptional
GET /v1/company/{domain}Primary job board and open-jobs snapshot of a company (prefer /v1/companies/{domain})optional
GET /v1/company/{domain}/signalsLatest daily hiring signals of a companyoptional
GET /v1/eventsHiring events feed (market entry, ATS switch, surge, freeze, new department)optional

Pulse

RouteWhat it returnsKey
GET /v1/companies/{domain}/pulseCompany Pulse: dated change events of one company from every dataset (last 90 days)optional
GET /v1/pulse/eventsCompany Pulse feed: events of every company, filtered by day, country and typeoptional

Pay

RouteWhat it returnsKey
GET /v1/pay/bandsPosted-pay bands (p25 / median / p75, EUR) per country and ISCO-08 groupoptional
GET /v1/pay/transparencyPay-transparency adoption: share of job ads stating pay, per country and dayoptional

Hotels

RouteWhat it returnsKey
GET /v1/hotels/rate-curveCities with a forward hotel-rate curveoptional
GET /v1/hotels/rate-curve/{city}Forward hotel-rate curve and demand index of a city (next 90 nights)optional

Shops

RouteWhat it returnsKey
GET /v1/shops/{domain}Shopify store profile on a domainoptional
GET /v1/shops/{domain}/appsApps detected on a Shopify store, with installs and uninstallsoptional

Tenders

RouteWhat it returnsKey
GET /v1/tendersSearch public tenders and contract awards (EU TED, UK Find a Tender, FR/DE/PL/BG national boards)optional

Watchlists

RouteWhat it returnsKey
POST /v1/watchlistsTrack a list of companies (needs an API key)required
GET /v1/watchlistsYour watchlistsrequired
GET /v1/watchlists/{id}One watchlist with its domainsrequired
DELETE /v1/watchlists/{id}Stop tracking a watchlistrequired
GET /v1/watchlists/{id}/changesCompany Pulse events and the latest hiring signals of the tracked companiesrequired

Account

RouteWhat it returnsKey
GET /v1/plansPlans, limits and pricesoptional
GET /v1/meYour tier, plan, quota and usageoptional
POST /v1/account/signupSign up: email a one-time link that shows a free API keyoptional
POST /v1/account/verifyRedeem the emailed link: returns the API key (once)optional
POST /v1/account/checkoutUpgrade: a Stripe Checkout link for Starter, Pro or Businessrequired
GET /v1/account/portalBilling portal link: invoices, card, plan change, cancelrequired

Reviews

RouteWhat it returnsKey
GET /v1/reviews/snapshotRating trajectory of tracked review listingsoptional
GET /v1/reviews/panelDaily review velocity panel by ticker or name (derived metrics only)optional

Questions

Can I try the API without a key?

Yes. Without a key you get 10 requests a minute and 100 a day per IP, with pages of up to 10 rows. Watchlists need a key.

How do I authenticate?

Send the key as "Authorization: Bearer <key>" or as "X-API-Key: <key>". Every response carries rate-limit and quota headers.

Is there personal data in the API?

No. Every route returns company-level or aggregate data. Names, emails and phone numbers are removed before anything is stored, and free text is cleaned again on the way out.

How fresh is the data?

Sources are read daily. Every answer has an as-of date, and Company Pulse events carry both occurredAt (when it happened) and observedAt (when we first saw it).

Try it on your own accounts

The free plan tracks 100 company domains. Sign up, get the key at once, upgrade by card on your account page.