SignalHire skill instructions
This skill exposes three highâlevel capabilities to an OpenClaw agent. Each capability corresponds to one of the REST endpoints documented by SignalHire. The agent should never call these endpoints directly; instead it must invoke one of the defined skill actions. The following guidance summarises how the API works, including rate limits, concurrency limits and the asynchronous callback workflow. All factual statements below are supported by the official SignalHire API documentation.
1. Check remaining credits
Use this action to determine how many credits remain on the account. The
SignalHire API exposes a dedicated endpoint GET /api/v1/credits which returns
the number of available credits as a JSON payload. A valid API key must be
included in the request headers. When invoked successfully, the response
contains a field called credits with the number of credits remainingă821841938681143â L505-L529ă. If the
account is configured for âprofiles without contactsâ, the same endpoint can
be called with a withoutContacts=true query parameteră821841938681143â L559-L566ă. Credits are also
returned in the X-Credits-Left response header for every Person API callă821841938681143â L559-L566ă.
The agent must call this action before launching large enrichment jobs to avoid running out of credits midâoperation. If the number of remaining credits is lower than the number of items to be enriched, the job should be split or aborted gracefully.
2. Search for profiles
Use this action to find prospective candidates in the SignalHire database
without consuming contact credits. The Search API endpoint is
POST /api/v1/candidate/searchByQueryă21055727237259â L100-L109ă and returns a list of profile summaries
along with a scrollId. The scrollId can be used to fetch additional pages
via the Scroll Search endpoint (not shown here) until all results are
exhausted. Access to the Search API is granted only after contacting
SignalHire support and is subject to a strict concurrency limit of three
simultaneous requestsă21055727237259â L110-L116ă. The agent must ensure that no more than three
searchByQuery calls are inflight at any time.
When performing a search, the request body should include fields such as
currentTitle, location, keywords, industry and other filters as
described in the documentationă21055727237259â L120-L177ă. The size parameter controls how many
profiles are returned per page (default 10, maximum 100). After retrieving the
first page, the agent should immediately follow up with a scroll request
within 15 seconds to avoid expiration of the scrollId. The response from
search is synchronous and will return immediately; no callback is needed.
3. Enrich contacts (Person API)
This action retrieves full contact information (emails, phones and social
profiles) for up to 100 items per request. The endpoint is
POST /api/v1/candidate/searchă821841938681143â L126-L134ă. Each item may be a LinkedIn profile URL,
an email address, a phone number or a SignalHire profile UIDă821841938681143â L120-L124ă. The
request body must include a callbackUrl parameter; once the data is
processed the API posts the results to this URLă821841938681143â L126-L134ă. A valid server
listening on the callbackUrl must return HTTP status 200 to acknowledge
successful receipt. SignalHire retries up to three times if the callback
endpoint cannot be reached or if it does not respond within a tenâsecond
timeoută821841938681143â L187-L198ă. Processing is complete only when all callback payloads have
been received.
The callback payload contains an array of objects, each with a status field
indicating the outcome for that item: success, failed, credits_are_over,
timeout_exceeded or duplicate_queryă821841938681143â L239-L249ă. When the status is
success, the payload also includes a candidate object with fields such as
fullName, emails, phones, location, etc. These results are
persisted by the connector service into a CSV file; the agent should wait
until the connector reports that the job is ready before consuming the data.
The Person API is subject to rate limits: a maximum of 600 elements
processed per minuteă821841938681143â L490-L503ă. The agent must implement throttling to ensure that the
combined number of items in all Person API calls does not exceed this limit.
Requests exceeding the limit will be rejected with HTTP status 429
Too Many Requestsă821841938681143â L500-L503ă. To maximise throughput, batch up to 100 items per
request but do not exceed the global perâminute quota.
General guidance for agents
Do not hardâcode the API key or callback URL. Use the environment variables injected by OpenClaw:
SIGNALHIRE_API_KEYfor authentication andSIGNALHIRE_CALLBACK_URLfor the Person API. These values are supplied at runtime and must not be echoed or leaked.Always check remaining credits before starting a large enrichment job. Abort or split the job if credits are insufficient.
Respect rate and concurrency limits. No more than three concurrent Search API requestsă21055727237259â L110-L116ă. Do not send more than 600 items through the Person API per minuteă821841938681143â L490-L503ă. Implement exponential backoff on HTTP 429 responses.
Always include a valid callbackUrl when calling the Person API and ensure the connector service is reachable and responsive. The callback must return HTTP 200 within ten seconds or the result may be discardedă821841938681143â L187-L198ă.
Wait for job completion. After submitting a Person API request, the agent should poll the connectorâs job endpoint (described in the README) until it indicates that all results have been received. Only then should the agent proceed to process the CSV data.
Handle all status values from the callback. For
failed,credits_are_over,timeout_exceededandduplicate_query, no candidate data will be available; log these cases and move on.Comply with legal and privacy requirements. SignalHire ties API usage to their Terms, Privacy and GDPR pages. Always respect dataâsubject rights and optâout requests when storing or using contact dataă821841938681143â L559-L566ă.
By following the above instructions, the agent can safely integrate SignalHireâs prospecting and enrichment capabilities into an OpenClaw workflow.