# NumDetect > NumDetect is an asynchronous bulk phone-checking platform. Every product takes a whole list: upload a file of phone numbers in E.164 form, receive a task id, and download a result file when the task finishes. There is no realtime single-number lookup — the product line is the bulk task. Five independent checks answer five different questions about the same list. ## Products (asynchronous bulk tasks) Each product is submitted as its own task. One country is selected per task and submitted with the file. A task takes from 1,000 to 100,000 numbers. - Phone Validation (`phone_validation_batch`): validity and activation signals for a list, for flagging records before outreach. Result columns: `number`, `activated`. - Number Activity (`number_activity_batch`): records that carry an available activity signal, for reactivation and segmentation. Result columns: `number`, `active`. - E-commerce Activity (`ecommerce_activity_batch`): numbers with an available e-commerce activity signal, for audience and remarketing lists. Result columns: `number`, `active`. - High-Value Users (`high_value_users_batch`): a yes/no signal derived from high-end device characteristics and recent network activity. Result columns: `mobile_number`, `result`. - Global Carrier Detection (`global_carrier_detection_batch`): carrier context for international lists. Result columns: `number`, `carrier`. ## API - `POST /api/v1/bulk-tasks` — multipart upload with `service_type`, `country` and the file; returns a task id. `GET /api/v1/bulk-tasks/{id}` — status and, once finished, the result download link. - Authentication: API key from the dashboard. The same key and the same balance cover every product. - The file is one phone number per line, in E.164 form. The country selected at upload completes numbers submitted without a country code, and the file is validated against it. - Result columns are declared per product (listed above). The column set does not change when the provider returns nothing for a row: the same columns come back empty. - The API path is `/api/v1`. Current per-task limits are documented in the API docs. ## Pricing NumDetect charges per number in the task: $0.001 for phone validation, $0.002 for global carrier detection, $0.003 for number activity and for e-commerce activity, $0.004 for high-value users. The estimate is held when the task is submitted and the unanswered part is returned to the balance on settlement. Permanent balance does not expire or renew. A 30-day plan renews automatically every 30 days until auto-renewal is turned off; turning it off stops future charges without removing the current plan or balance. ## Important Notes - Every product is asynchronous. A task is submitted, processed in the background and downloaded when it finishes; there is no synchronous single-number endpoint on this platform. - A signal being unavailable is not the same as a negative answer. Rows the provider cannot answer come back empty rather than as a "no". - Results describe what the upstream data sources publish at the time of the run. Re-run the list when a current answer matters. - The five products are independent: each answers its own question and is charged separately. Running two of them over the same list means two tasks. ## Methodology and Guides - Product overview and comparison: /products - How to prepare a file, choose a product and read the result: /results-guide - Pricing and plans: /pricing