Credits
How enrichment, activity and search rates work, plus reserve and refund rules.
Every endpoint spends credits differently: enqueue endpoints charge per item that survives normalization, the two live enrichment endpoints charge only when they return 200 or 404, and the Search API reserves credits upfront and refunds what it does not use. This page collects every rule in one place.
#Enqueue endpoints
These endpoints normalize and de-duplicate your input before charging, so you pay for what got enqueued, not for what you sent. If nothing survives filtering you get a 400 and no queue is created, so nothing is charged.
| Endpoint | Rate | Notes |
|---|---|---|
POST /open-refresh/profiles-bulk |
1 credit per profile, 2 with withFollowersAndConnections |
Charged even if the counts turn out unavailable. withFullSkillsAndEndorsements costs additional credits on top of the base rate |
POST /open-refresh/companies-bulk |
1 credit per company | |
POST /open-refresh/activity |
4 credits per profile | Covers posts, comments and reactions together |
POST /open-refresh/posts |
2 credits per profile | Posts only |
POST /open-refresh/comments |
2 credits per profile | Comments only |
POST /open-refresh/reactions |
2 credits per profile | Reactions only |
POST /open-refresh/latest-post |
5 credits per profile | |
POST /open-refresh/post-by-url |
1 credit per post URL | De-duplicated on the post itself, not the URL string |
Asking for posts, comments and reactions separately costs 6 credits per profile against 4 for a single /open-refresh/activity call. Prefer /activity when you want the whole picture.
#Live enrichment endpoints
POST /open-refresh/profile and POST /open-refresh/company return the enriched document directly, with no queue. They bill on the response, not on enqueue:
| Endpoint | Rate |
|---|---|
POST /open-refresh/profile |
2 credits, or 4 with withFollowersAndConnections or withFullSkillsAndEndorsements (does not stack) |
POST /open-refresh/company |
2 credits |
Sync not-found is billed. A 200 and a 404 both charge the full rate; only 400, 403, 429 and 503 charge nothing. See the Errors guide for every status these two endpoints return.
For volume, profiles-bulk and companies-bulk enqueue many items at the lower bulk rate above instead of one live call per item.
#Search API
POST /open-refresh/search costs 3x the base Open Refresh rate, reserved upfront against each link's limit and adjusted once the queue finishes.
| Rule | Value |
|---|---|
| Base rate | 3 credits per result |
Lead searches with withFollowersAndConnections |
4 credits per result (company searches stay at 3) |
| Default limit | 2,500 for /sales/search/people, 1,000 for /sales/search/company, used and reserved against when limit is omitted |
| Reservation | limit x rate per link, charged when you enqueue |
| Refunds | Unused credits are refunded automatically once processing completes |
For example, a lead search with "limit": 500 reserves a maximum of 1,500 credits, or 2,000 with withFollowersAndConnections.
Credits are reserved at request time. Make sure your balance covers limit x rate for every link before submitting.
#Billed vs free (live enrichment)
| Status | Billed | Why |
|---|---|---|
| 200 | Yes | Profile or company found |
| 404 | Yes | Nothing found on LinkedIn for that slug |
| 400 | No | Bad input, or the team's daily or monthly spending cap was reached |
| 403 | No | Not enough credits on the team |
| 429 | No | Rate limited |
| 503 | No | No worker became available within 10 seconds, or the crawl failed; retry later |
This table covers /open-refresh/profile and /open-refresh/company only. Every other endpoint enqueues, so its credit rules are the normalization rules above, except the Search API, which reserves against each link's limit and refunds unused credits.