Skip to content

Why an opportunity isn't in your list

Check these causes when an opportunity you expected is missing.

It is archived. Archived opportunities are their own view, not part of the default list. Ask for them explicitly with status=archived, which cannot be combined with any other status.

A filter is excluding it. status and min_score are the usual culprits. An opportunity that has not been scored yet reports a null score and will not satisfy a min_score filter. A deadline window excludes anything whose deadline Prokure could not determine, since deadline is nullable too.

It was grouped with another listing of the same tender. When Prokure groups listings of one tender from more than one source, it lists the tender once and leaves the other copies out under every filter, sort, status, archive view and page, including a source filter naming the copy’s own source. To find the listing that represents it, search with q, which matches text in titles and buyer names. Grouped copies can differ in punctuation and accents, so a distinctive word or phrase from the title finds it more reliably than the full title. That listing has its own id, score and status, so drop your other filters while you look. The grouped copy is not deleted: GET /api/v1/opportunities/{id} still returns it. See Duplicate listings.

It belongs to another company. Keys are tenant-scoped: a key belongs to the company that created it, everything it reaches is scoped to that company’s data, and no parameter widens it. If you manage more than one Prokure account, confirm which one the key is bound to before hunting further.

You are looking too soon, or too often. New opportunities are discovered and scored a few times per business day, not continuously. Poll hourly at most.

Background processing is delayed. Saving a discovered notice and finishing its analysis are separate steps. Pending extraction and matching work can be retried after a temporary queue failure; discovery does not need to find a changed description first. A failed job may still need operator attention. If the delay persists, contact the Prokure team with your company and the notice reference or URL. A saved notice is not a promise that analysis has completed or that it will qualify for your digest. Older gaps may need manual reconciliation; this retry mechanism does not automatically re-deliver historical opportunities.

Sort by discovered_at and stop at the first item you have already seen, rather than re-reading the whole list each time:

Terminal window
curl "https://app.prokure.ca/api/v1/opportunities?sort=discovered_at&limit=25" \
-H "Authorization: Bearer $PROKURE_API_KEY"

That finds everything new without burning your rate-limit budget on items you already have.