Lifecycle comparison
Polling vs long polling for CAPTCHA results
Compare repeated immediate lookups with held observations, accounting for network overhead, connection use, and local recovery deadlines.
By the easycaptcha team · Published

Polling makes repeated lookups separated by a pause. Long polling keeps an observation request open for a bounded interval. Neither strategy should repeatedly create replacement work while waiting for the first task to finish.
Observing job state
In easycaptcha, the raw API supports hold up to 30 seconds during creation and retrieval. Basic SDK lookup methods perform one lookup; use their documented signatures rather than adding an unsupported hold option.
Compare resource use
| Approach | Useful property | Cost to consider |
|---|---|---|
| Immediate polling | Short-lived observations | More HTTP requests and observation lag |
| Held observation | Fewer repeated requests | Open connections and deadline alignment |
| Background observer | User request can finish sooner | Persistent state and recovery ownership |
A shorter polling pause can reveal a completed job sooner without making the job complete sooner. Keep observation delay separate from the solver’s queue and work time when comparing latency.
Coordinate the two deadlines
Set the client transport timeout longer than the server hold interval. Define an overall application deadline separately. A task may still be active when either deadline ends.
Once creation returns an ID, persist it. A failed lookup can be followed by another lookup for that ID. An uncertain creation response without an ID needs a different policy because another POST can incur additional work.
Choose using measured overhead
Consider how many jobs your observers track, connection capacity, request volume, and how quickly users need a state update. A background application often benefits from central observation rather than having every UI tab poll independently.
Test pending work at the end of hold, a state change during the interval, and an interrupted connection. Read long-polling integration for the contract, recovery for persistence, and observation lag before interpreting a faster client loop as a solver improvement.
Frequently asked questions
Does an easycaptcha hold request guarantee a finished job?
No. Creation can wait up to the documented interval and still return pending work. Retrieve the same task ID until it reaches a terminal status.
Does stopping a lookup cancel the server's job?
No. Ending a client wait does not cancel already submitted work. Preserve the task ID and check its state before submitting replacements.
How do I start using the easycaptcha API?
Create an account and get an API key, then follow the getting-started guide. Submit recognition or token tasks through raw HTTP or the typed Python and JavaScript SDKs.