
Skip Trace
Pricing
$7.00 / 1,000 results

Skip Trace
Locate hard-to-find individuals with our powerful skip trace/tracing API. TruePeopleSearch, Fastpeoplesearch, Lead Finder, Truthfinder, Spokeo, BeenVerified, PeopleLooker, PeopleFinders
1.6 (2)
Pricing
$7.00 / 1,000 results
29
Total users
358
Monthly users
174
Runs succeeded
>99%
Issues response
12 hours
Last modified
8 days ago
ASP.NET Web Developer
Closed
Not sure what happened I just called it using the API and I think if failed to return results
Hi there, can you share the code that you used to try the API?
Also I have a direct API on Rapid: https://rapidapi.com/oneapiproject/api/skip-tracing-working-api/
Let me know, how can I help. Thanks.
Hi, I was able to fix the issue.
Please try now and let me know the results. Thanks!
asparagus_stepladder
Thanks. Will try today. I am making a endpoint where users can upload a excel or csv list of contact and then cleaning it up to send to your endpoint.
asparagus_stepladder
Here is my code if it helps at all.
[ApiExplorerSettings(IgnoreApi = true)] [HttpPost("run")] [Consumes("multipart/form-data")] public async Task<ActionResult> RunMapped( [FromForm] IFormFile file, [FromForm] FieldMappingRequest mapping) { try { _logger.LogInformation("Starting mapped skip trace run: File: {FileName}", file?.FileName);
if (file == null || file.Length == 0){_logger.LogWarning("Mapped skip trace rejected: No file or empty file provided");return BadRequest("No file provided or file is empty.");}if (!IsValidFileExtension(file.FileName)){_logger.LogWarning("Mapped skip trace rejected: Invalid file type: {FileName}", file.FileName);return BadRequest("Invalid file type. Only CSV and XLSX files are supported.");}if (!IsValidMapping(mapping)){_logger.LogWarning("Mapped skip trace rejected: Invalid column mapping");return BadRequest("Invalid column mapping. Required fields must be mapped to columns.");}// Build the map: DTO property name → column header namevar columnMap = new Dictionary<string, string>{["FirstName"] = mapping.FirstNameColumn,["LastName"] = mapping.LastNameColumn,["StreetAddress"] = mapping.StreetColumn,["City"] = mapping.CityColumn,["State"] = mapping.StateColumn,["ZipCode"] = mapping.ZipColumn,};// Parse into your AddressDto listvar rows = await _files.ParseAddressesAsync(file.OpenReadStream(),file.FileName,columnMap);if (rows == null || !rows.Any()){_logger.LogWarning("Mapped skip trace: No valid addresses found in file {FileName}", file.FileName);return BadRequest("No valid addresses found in the file.");}_logger.LogInformation("Parsed {Count} addresses from file {FileName}", rows.Count(), file.FileName);// Kick off skip‑trace by raw addressesvar activity = await _skip.StartSkipTraceByAddressesAsync(rows, OrgId);_logger.LogInformation("Skip trace activity created: {ActivityId} with {Count} addresses",activity.Id, rows.Count());return CreatedAtAction(nameof(GetById), new { id = activity.Id }, activity);}catch (FormatException ex){_logger.LogError(ex, "Format error parsing file {FileName}", file?.FileName);return BadRequest($"Error parsing file: {ex.Message}");}catch (Exception ex){_logger.LogError(ex, "Error running mapped skip trace: {FileName}", file?.FileName);return StatusCode(500, "An error occurred while processing your request. Please try again.");}
}
///
/// 3) Starts a skip‑trace run over an existing set of contact IDs. /// [HttpPost] public async Task<ActionResult> Start([FromBody] int[] contactIds) { try { _logger.LogInformation("Starting skip trace for {Count} contacts", contactIds?.Length ?? 0);
if (contactIds == null || contactIds.Length == 0){_logger.LogWarning("Skip trace rejected: No contact IDs provided");return BadRequest("No contact IDs provided.");}// This is a more direct method that does both steps in one callvar activity = await _skip.StartSkipTraceAsync(contactIds, OrgId);_logger.LogInformation("Skip trace activity created: {ActivityId} for {Count} contacts",activity.Id, contactIds.Length);return CreatedAtAction(nameof(GetById), new { id = activity.Id }, activity);}catch (Exception ex){_logger.LogError(ex, "Error starting skip trace for {Count} contacts", contactIds?.Length ?? 0);return StatusCode(500, "An error occurred while processing your request. Please try again.");}
}
Can you please recheck now? I just added a fix.
asparagus_stepladder
Yes this is working better thank you