> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.dealsignal.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.dealsignal.com/_mcp/server.

# List LE jobs

GET https://app.dealsignal.com/api/v1/lead_enrichments

Returns the authenticated account's Lead Enrichment jobs, newest first,
with their current status and stats.

A job's results are ready when `is_completed` is `true`.


Reference: https://docs.dealsignal.com/api-reference/lead-enrichment/list-lead-enrichment-jobs

## Request

### Query parameters

- `api_key` (string, required) — Your Dealsignal API key. Obtain it from the Dealsignal dashboard.
- `page_no` (integer, optional, default: 0) — Zero-based page number.
- `size` (integer, optional, default: 20) — Number of jobs per page.

## Response

### 200

A page of LE jobs.

- `lead_enrichment_jobs` (list of LeadEnrichmentJob, optional) — The page of jobs, newest first.
- `total` (integer, optional) — Total number of jobs on the account.

## Errors

### 401 Unauthorized Error

Invalid key, inactive account, or expired subscription.

- `message` (string, required)
- `authorization_failure` (boolean, optional)
- `inactive` (boolean, optional)

## Types

### LeadEnrichmentJob

A Lead Enrichment job. Responses can include further keys that are not part of this contract; ignore them.

- `id` (integer, optional)
- `name` (string, optional)
- `status` (enum, optional) — `Completion Running` means the results are being finalized — treat it as in progress. The job is finished when `is_completed` is `true`.
  - Allowed values: `Created`, `Launched`, `Running`, `Completion Running`, `Completed`
- `is_completed` (boolean, optional) — `true` once results are available (`completed_at` is set).
- `completed_at` (datetime, optional, nullable)
- `created_at` (datetime, optional)
- `updated_at` (datetime, optional)
- `type` (enum, optional) — The job's `match_field` (`name`, `email` or `linkedin_url`).
  - Allowed values: `name`, `email`, `linkedin_url`
- `source_type` (string, optional)
- `profile_type` (enum, optional) — Profile level the job enriches, derived from the request flags.
  - Allowed values: `Contact Profile`, `Lead Profile`, `Full Prospect Profile`, `Full Prospect Profile With Direct Dial`
- `is_full_prospect_profile` (boolean, optional, nullable)
- `total_leads_to_enrich` (integer, optional) — Number of leads submitted in the job.
- `total_enriched_leads` (integer, optional) — Number of leads matched to a Dealsignal contact.

## Examples

**Response**

```json
{
  "lead_enrichment_jobs": [
    {
      "id": 640,
      "name": "Q1 2024 Prospect List",
      "status": "Completed",
      "is_completed": true,
      "completed_at": "2024-06-01T11:30:00Z",
      "created_at": "2024-06-01T10:00:00Z",
      "updated_at": "2024-06-01T11:30:00Z",
      "type": "linkedin_url",
      "source_type": "from_json",
      "profile_type": "Contact Profile",
      "is_full_prospect_profile": false,
      "total_leads_to_enrich": 500,
      "total_enriched_leads": 487
    }
  ],
  "total": 12
}
```

**SDK Code**

```python Lead Enrichment_listLeadEnrichmentJobs_example
import requests

url = "https://app.dealsignal.com/api/v1/lead_enrichments"

querystring = {"api_key":"YOUR_API_KEY","page_no":"0","size":"20"}

response = requests.get(url, params=querystring)

print(response.json())
```

```javascript Lead Enrichment_listLeadEnrichmentJobs_example
const url = 'https://app.dealsignal.com/api/v1/lead_enrichments?api_key=YOUR_API_KEY&page_no=0&size=20';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Lead Enrichment_listLeadEnrichmentJobs_example
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://app.dealsignal.com/api/v1/lead_enrichments?api_key=YOUR_API_KEY&page_no=0&size=20"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Lead Enrichment_listLeadEnrichmentJobs_example
require 'uri'
require 'net/http'

url = URI("https://app.dealsignal.com/api/v1/lead_enrichments?api_key=YOUR_API_KEY&page_no=0&size=20")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
```

```java Lead Enrichment_listLeadEnrichmentJobs_example
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://app.dealsignal.com/api/v1/lead_enrichments?api_key=YOUR_API_KEY&page_no=0&size=20")
  .asString();
```

```php Lead Enrichment_listLeadEnrichmentJobs_example
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://app.dealsignal.com/api/v1/lead_enrichments?api_key=YOUR_API_KEY&page_no=0&size=20');

echo $response->getBody();
```

```csharp Lead Enrichment_listLeadEnrichmentJobs_example
using RestSharp;

var client = new RestClient("https://app.dealsignal.com/api/v1/lead_enrichments?api_key=YOUR_API_KEY&page_no=0&size=20");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
```

```swift Lead Enrichment_listLeadEnrichmentJobs_example
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://app.dealsignal.com/api/v1/lead_enrichments?api_key=YOUR_API_KEY&page_no=0&size=20")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```