Read a Link Extraction job's pages as each one finishes, page through them with a cursor, or download the finished job as JSONL or CSV.

GEThttps://rankfield.dev/v1/html/link-extraction/jobs/{id}/results

Parameters

Headers

NameTypeRequiredDefaultDescription
AuthorizationstringYes–Bearer followed by your API key. See Authentication.

Path parameters

NameTypeRequiredDefaultDescription
idstringYes–The job id.

Query parameters

NameTypeRequiredDefaultDescription
cursorintegerNo0Where to continue: the nextCursor of the previous answer.
limitintegerNo10Pages per answer, 1–100.
waitintegerNo0Seconds, 0–25, to hold the request until the next page is ready.
viewstringNothe job's viewunique or occurrences. A job started with occurrences can be read either way.
typestringNoallall, internal or external.
formatstringNojsonjson pages through results. Once the job is completed, jsonl streams one page per line and csv streams one row per link: page_url, page_status, final_url, href, anchor, internal, rel, nofollow, sponsored, ugc, occurrences, error.

Read pages as they finish

  1. Start with cursor=0.
  2. Each answer's pages holds the pages finished since your cursor, in the order they finished. position is the page's index in your urls, from 0.
  3. Pass nextCursor back as cursor. When nextCursor is null, every page has been delivered and status is completed.
  4. An empty pages list means nothing new yet: ask again after retryAfterMs, or add wait=20 so the request waits for the next page.

A page that failed has "ok": false, its status and an error with message, code and retryable, as in the single-page 422.

Download a finished job

?format=jsonl streams one page per line; ?format=csv streams one row per link: page_url, page_status, final_url, href, anchor, internal, rel, nofollow, sponsored, ugc, occurrences, error. Both answer 409 until the job is completed. A download always starts at the beginning: sending a cursor with it answers 400.

Errors

StatusWhen
400cursor, limit, wait or format is invalid, or a download was sent with a cursor.
401No valid API key.
404No job with this id for this key.
409format=jsonl or csv before the job is completed.
410The job has expired: jobs are kept for 24 hours after they are created.

MCP

On the MCP server, the tool for this is get_link_extraction_results.