Crawl Foundry
Keyword Research

Import approved candidates and preserve the research trail

Import is a controlled handoff from dated research evidence into the shared keyword pool. It can insert, restore, skip, and add list membership, but it does not refresh data, start tracking, assign pages, draft content, or replace the run that explains the decision.

A frozen selection

The import operation preserves the approved rows and resumes in idempotent chunks.

Live deduplication

Current database state decides whether a row is inserted, restored, or skipped.

Reopenable evidence

History keeps the paid claim distinct from every later rerun and operational action.

Import only the approved selection

1
Finish the filter and selection review on the intended run.
2
Choose database only, an existing active manual list, or a new manual list.
3
Check the selected count and any 2,000-row selection truncation.
4
Start the import and keep the operation open until all chunks finish.
5
Review imported, skipped, and added-to-list totals separately.
6
Open the Keyword Database and assign the next deliberate action.

The target changes organization, not research evidence

Database only adds accepted rows to the workspace keyword pool. An existing-list target must be an active manual list. A new-list target creates a distinct manual list; when its requested name already exists, Crawl Foundry adds a suffix rather than merging into the old list. Smart and hybrid lists remain rule-driven and cannot receive a direct research import.

The import request snapshots the normalized selected keywords. It verifies that each one belongs to the selected run, so a manipulated or stale request cannot import a result from another run. Missing or foreign rows are skipped.

Large imports are resumable operations

The current client imports sequential chunks of up to 200 keywords. A single operation ID, immutable selection snapshot, target, and chunk index make retries idempotent. If the page refreshes during an active operation, the interface can resume from its next chunk. A person can also cancel the remaining work.

The compact operation snapshot expires after 30 days and stale running operations can be failed by maintenance. Keywords and list memberships already written remain in the database. Resume continues the saved selection; it does not recalculate the current filter or include rows selected later.

Current database state decides insert, restore, or skip

An active duplicate can still be added to the chosen manual list. For that reason, skipped and added-to-list totals answer different questions. Do not read every skipped row as a failed handoff or assume that it missed the target list.

Current stateImport behavior
Not presentCreate one keyword row with the available discovery fields.
Active keywordDo not duplicate it. Mark the candidate as present and count it as skipped for insertion.
Soft-deleted keywordRestore the existing row and count it as imported.
Missing or foreign resultSkip it without importing another run's evidence.

Carry available evidence without manufacturing completeness

A new keyword can inherit display phrase, volume, CPC, difficulty, competition index, intent, monthly history, average backlinks, average referring domains, and Top 10 average rank when the research result contains them. Crawl Foundry records discovery as source and origin, computes supported derived fields, sets the import-time fetched timestamp, applies system tags, and invalidates affected opportunity inputs for later recomputation.

A restored soft-deleted row keeps its identity and receives a new fetched timestamp, but the current restore path does not overwrite every field with the research candidate. An already-active row is not silently refreshed by import. Use the Keyword Database's explicit data actions when current metrics are required.

Manual list membership is a separate outcome

After rows are inserted, restored, or found active, the import can add their normalized keywords to the chosen manual list. Existing membership is not duplicated. The operation reports how many memberships were newly added, separately from how many keyword rows were imported.

A list is an organizational scope, not proof that every member shares intent, page ownership, priority, or tracking context. Name the list for the decision it serves and review mixed markets or purposes before using it downstream.

Import does not start the next workflow for you

Open the Keyword Database to inspect current fields, add human tags, choose any paid enrichment deliberately, place keywords in the right operational view, and decide whether tracking, Site Audit evidence, a page review, or content work is justified.

  • No paid keyword refresh or SERP fetch starts automatically.
  • No Position Tracking schedule or recurring acquisition is created.
  • No content cluster, page assignment, brief, article, or publication is approved.
  • No smart-list rule is changed by adding rows to a manual list.
  • No research metric becomes permanently current because it was imported.

History preserves the paid claim and its result set

The history view is paginated newest first and currently requests up to 50 rows per page under policy. It records mode, seeds or domains, country, language, candidate and import counts, status, timestamps, quote or settled charge, partial flag, error evidence, and lifecycle progress. The current schema applies no automatic TTL to research runs, so completed paid rows remain reopenable unless retention policy changes later.

The newest loaded run is selected by default. Failed or canceled rows remain useful operational evidence even though their customer charge is zero. Use their support code, stage, and Activity event to understand what happened before starting another paid claim.

Rerun prepares a new claim

Rerun is unavailable while a run is pending or running. For a terminal run, it opens the setup form with the stored mode, inputs, market, competitor row limit, and Gap only choice. Legacy mode names are mapped to the nearest current setup where possible. Nothing is charged until the person reviews the new quote and confirms.

The new run receives its own ID, reservation, worker lifecycle, result rows, settlement, and import trail. It does not replace the old evidence or update imports already made from it. Compare the two only after confirming that their setup, completion quality, and market context are compatible.

Keep the handoff reconstructable

  • Run ID, mode, market, inputs, start time, terminal state, and partial evidence.
  • Filters, sort, scan boundaries, selected count, and any truncation warning.
  • Import operation ID, target kind, list identity, requested count, imported count, skipped count, and added-to-list count.
  • Fields that came from the paid run versus intelligence joined later.
  • The human reason for accepting a no-data row or rejecting a high-volume row.
  • Any later enrichment, tracking, page, or content decision as a separate action.

Close the research loop deliberately

1
Confirm the saved run and selection still answer the intended question.
2
Choose a manual list only when it has a clear operational purpose.
3
Let the resumable operation finish or cancel it explicitly, then reconcile all three totals.
4
Verify active duplicates, restored rows, new rows, and list memberships in the Keyword Database.
5
Record which imported metrics are dated research evidence and which fields still need current acquisition.
6
Assign ownership for prioritization, tracking, page review, or content work without automating editorial approval.
7
Return to history instead of paying for a rerun when the old scope and freshness remain sufficient.