logo
EN

Indeed Keyword Search

Give a keyword, country site, location, and expected count to get public Indeed job search listings with title, employer, salary, location, and job links.

Developer
hello_moto
Pricing
From $0.05 / 25 records
Last updated
2026-09-18

Overview

Hiring teams and market researchers usually judge a role from the Indeed search card: the title, employer, salary band, location, and whether the listing is still open. This app turns one keyword, country site, and location into a structured table of those public job cards so talent scans can start from the same view a candidate would see.

Each row keeps the search keyword beside the job key and job page, so later comparisons stay attached to the query that produced them. It is a search-listing workbook, not a substitute for a full job description or applicant-tracking export.

Data notes

Each row is one public Indeed job search listing for the submitted keyword, country site, and location. The same Job key is kept once in the returned set. Job attributes, Base salary, Benefits, Employer, Employer attributes, Location, Job description, Job type, and Social insurance are returned as source text, including nested fields as shown on the listing card. Base salary may include a currency code, a min/max range, and a unit such as YEAR or MONTH; it is not a normalized annual number. Date on Indeed and Published at use a UTC marker when the source provides one; Collected at is returned without a timezone. Sponsored, Expired, Latest post, Urgent hire, and High-volume hiring are collection-time flags. Keyword, Business ID, and Source keyword repeat the search context across rows from the same query.

The collection does not cover private recruiter tools, application forms, or jobs that are not visible on public Indeed search. A No-data marker distinguishes a search that produced no listings from ordinary job rows.

What a result looks like

Each row is one Indeed job search listing.

Job titleJob keyJob pageKeywordSponsoredCollected at
電動カーテン・シェードなどの提案営業def486ad6a9af730https://www.indeed.com/viewjob?jk=def486ad6a9af730営業Yes2026-08-25T19:19:46
営業0a777e69ad491282https://www.indeed.com/viewjob?jk=0a777e69ad491282営業No2026-08-25T19:19:48

Employer, Base salary, Location, and Apply link are also available when the card shows them.

Use cases

  • For hiring-market scans, group rows by Keyword and Location, then read Job title and Base salary to see which roles occupy the first results for a city.
  • For employer coverage review, open Job page with Employer and Job attributes to see how complete the card is.
  • For sponsored versus organic mix, compare Sponsored with Job title and Apply link to separate paid placements from organic listings.

Scope and boundaries

One keyword search per task with an expected result count from 1 to 1250; results are returned in complete batches of 25 and may be rounded up; coverage is limited to public Indeed job search listings.

  • Good for
  • When you need public Indeed job search listings for one keyword, country site, and location.
  • When you need to compare job titles, employers, salary text, locations, and job links from search cards.
  • Do not use for
  • When you need a full job description, application form, or applicant-tracking export beyond the search card.
  • When you need an immediate single-record lookup rather than a background keyword collection task.

Failure handling

Failure and retry behavior declared by the developer. We recommend including it in your system prompt when integrating.

  1. 1If no jobs are returned, confirm the keyword, country site, and location can be searched on public Indeed, then retry with a broader place name.
  2. 2Keep completed records after a partial success; resubmit the same input after a failed or expired task.
  3. 3Retry later after rate limiting, temporary unavailability, or a timeout.
  4. 4If authentication fails, verify the API Key configured for the execution environment.

Input

Parameters required to call this App, generated from the input.schema in manifest.json.

  • Search keywordkeywordRequiredstring
    Role, skill, brand, or phrase to search on Indeed. Each task accepts one keyword from 1 to 512 characters.
    Example営業
  • Country sitecountryRequiredstring
    Official English name of the Indeed country site to search. Use exactly one of: Argentina; Australia; Austria; Bahrain; Belgium; Brazil; Canada; Chile; China; Colombia; Costa Rica; Czech Republic; Denmark; Ecuador; Egypt; Finland; France; Germany; Greece; Hong Kong, China; Hungary; India; Indonesia; Ireland; Israel; Italy; Japan; Kuwait; Luxembourg; Malaysia; Mexico; Morocco; Netherlands; New Zealand; Nigeria; Norway; Oman; Pakistan; Panama; Peru; Philippines; Poland; Portugal; Qatar; Romania; Saudi Arabia; Singapore; South Africa; South Korea; Spain; Sweden; Switzerland; Taiwan, China; Thailand; Turkey; Ukraine; United Arab Emirates; United Kingdom; United States; Uruguay; Venezuela; Vietnam.
    ExampleJapan
  • Search locationlocationRequiredstring
    City, area, or place name on that country site, such as 東京都. Use a location Indeed can search rather than a job page link.
    Example東京都
  • Expected result countcrawl_countRequiredinteger
    Expected number of job listings, from 1 to 1250. Results are returned in complete batches of 25, so the actual count may be rounded up. A partial batch is still billed as 25 listings.
    Range1–1250Example1

Output

Field structure of a single record, generated from the output.schema in manifest.json.

  • Job attributesattribute_infostring
    Job attribute text from the search card, including nested fields as source text when the card provides them.
    Example{"5QWDV": "正社員", "7ADHN": "雇用保険", "7UQWW": "社会保険あり", "9NEED": "労災保険", "9RXBU": "年末年始休暇あり", "A4MXD": "固定時間制", "AP55K": "休憩60分", "EY33Q": "健康保険", "HW4J4": "有給休暇あり", "KBRYN": "退職金制度あり", "MXZ3H": "社会保険完備", "NUHCT": "完全週休二日制", "PM67F": "交通費支給", "TSEFZ": "土日祝休み", "TWZA7": "厚生年金", "V9JJY": "昇給あり"}
  • Base salarybase_salary_infostring
    Salary text from the search card, including currency, range, and unit as source text. It is not a normalized annual number.
    Example{"currencyCode": "JPY", "max": 583333, "min": 416667, "unitOfWork": "YEAR"}
  • Benefitsbenefit_infostring
    Benefit text from the search card, including nested fields as source text when the card provides them.
    Example{"7ADHN": "雇用保険", "7UQWW": "社会保険あり", "9NEED": "労災保険", "9RXBU": "年末年始休暇あり", "EY33Q": "健康保険", "HW4J4": "有給休暇あり", "KBRYN": "退職金制度あり", "MXZ3H": "社会保険完備", "PM67F": "交通費支給", "TWZA7": "厚生年金", "V9JJY": "昇給あり"}
  • Business IDbiz_idstring
    Business identifier returned with the search listing, often repeating the search keyword.
    Example営業

Sample data

Generated from output.schema. Fields without a sample value use structural placeholders.

output.example
{
  "attribute_info": "{\"5QWDV\": \"正社員\", \"7ADHN\": \"雇用保険\", \"7UQWW\": \"社会保険あり\", \"9NEED\": \"労災保険\", \"9RXBU\": \"年末年始休暇あり\", \"A4MXD\": \"固定時間制\", \"AP55K\": \"休憩60分\", \"EY33Q\": \"健康保険\", \"HW4J4\": \"有給休暇あり\", \"KBRYN\": \"退職金制度あり\", \"MXZ3H\": \"社会保険完備\", \"NUHCT\": \"完全週休二日制\", \"PM67F\": \"交通費支給\", \"TSEFZ\": \"土日祝休み\", \"TWZA7\": \"厚生年金\", \"V9JJY\": \"昇給あり\"}",
  "base_salary_info": "{\"currencyCode\": \"JPY\", \"max\": 583333, \"min\": 416667, \"unitOfWork\": \"YEAR\"}",
  "benefit_info": "{\"7ADHN\": \"雇用保険\", \"7UQWW\": \"社会保険あり\", \"9NEED\": \"労災保険\", \"9RXBU\": \"年末年始休暇あり\", \"EY33Q\": \"健康保険\", \"HW4J4\": \"有給休暇あり\", \"KBRYN\": \"退職金制度あり\", \"MXZ3H\": \"社会保険完備\", \"PM67F\": \"交通費支給\", \"TWZA7\": \"厚生年金\", \"V9JJY\": \"昇給あり\"}",
  "biz_id": "営業",
  "crawl_time": "2026-08-25T19:19:46",
  "date_on_indeed": "2026-08-06T05:00:00Z",
  "date_published": "2026-08-06T05:00:00Z",
  "employer_attribute_info": "{\"5QWDV\": \"正社員\", \"7ADHN\": \"雇用保険\", \"7UQWW\": \"社会保険あり\", \"9NEED\": \"労災保険\", \"9RXBU\": \"年末年始休暇あり\", \"A4MXD\": \"固定時間制\", \"AP55K\": \"休憩60分\", \"EY33Q\": \"健康保険\", \"HW4J4\": \"有給休暇あり\", \"KBRYN\": \"退職金制度あり\", \"MXZ3H\": \"社会保険完備\", \"NUHCT\": \"完全週休二日制\", \"PM67F\": \"交通費支給\", \"TSEFZ\": \"土日祝休み\", \"TWZA7\": \"厚生年金\", \"V9JJY\": \"昇給あり\"}",
  "employer_info": "{\"address\": null, \"briefDescription\": null, \"companyPageUrl\": \"https://www.indeed.com/cmp/ナビオ株式会社\", \"headerImageUrl\": null, \"industry\": null, \"logoUrl\": null, \"name\": \"ナビオ株式会社\", \"ratingsCount\": 0, \"ratingsValue\": 0}",
  "expired_flag": false,
  "high_volume_hiring_flag": false,
  "job_click_url": "https://jp.indeed.com/pagead/clk?mo=r&ad=-6NYlbfkN0AsGkeeEEABfwO2H-fE5Xb9diwzYzMI99gS2hqvWEEp2OF1zU7vluDxB2gbITUkZ4LoHfK9SIkhHq9ijtTqZy4ZHW3WOMqpAeMmWfTH4noCpWcRGrrUmVBnbf4ntTvPjE94Cuvtv0n6sHjLQdzojKUG-GzbFu-xclejM6oVI-dgriwIl730-P68x7Mvn_-jEE7EGEJh63QkxPut59PQ_sIgNRgRT2ILYcj2pBivmhX19AaEshiORQv56_72TD6d-LZdR66TXwzWoUuovMo-op0CcKJasoNsRKFZlshviTyGCWTd8JkuBc2JzNorAeMwlx04Tv-eBIGZpRPUQwUGORnGJ16eAJShoZoTFsogOblC4sBdLySG_XcYAZthRaCmJp9M27iX2epy-UpXJQ7eY8cUoTXgRgMeWiDdqCcdEbOfNb2hNjHSBDIIyLqozXC11unCI8TAFEYEp6W3Ex0bRJRbTdumiEvsZ8KF5Lynwr2kQQvktLlubydVofLWdTC2HjJHpiBSP4090OtJ9CiyCxIs7yLmrOHXbDh8HIgBjfPZ1sc55mOMWTJrlovAsKUbnquDWnZu8boL2K5efEkkFeLCE368O7oD0vcezm6NYX34A2HlTjJUDEFhi0dw9ei_I8-9sBUUwKvj11dkFmGwAmKsCBEHTUqhMtDiEtCJuUjIw9GPyjrVaJD9A6I2V542M8Qr83XG9EtYf0lW73oZHnu-j3R7Vh71eExU3LcyiYG68yHYYydLNBGztsE263ZsbH-u4gNa4F6XyStD8Htmhc_QXbzZ0Yoc3Vix9UuoXofoJCBWThC6DkRu2X_DT12sLXqK-hWOn6F3LCJtOPOZZ2ahc1jEYrgP-HpSahBGpmnpLUBZ7sOqpTCtuyQsWhNNxJFJErS6XbigcoF909--2UbYteuf5iAQleT7xylIRL8V1lmuZ0ByF4N9Y9s4rauQxO4a5IniOfyugKoY-z0n5zpW&xkcb=SoC06_M2fcchqmzdkh0LbzkdCdPP&camk=C3EPSzFlQw9gpQpfhEi1AQ==&p=0&from=serpJapan&prforceGroups=&atk=1k0sabjbrh5e1800",
  "job_description_info": "<job_description_info>",
  "job_detail_url": "https://www.indeed.com/viewjob?jk=def486ad6a9af730",
  "job_key": "def486ad6a9af730",
  "job_title": "電動カーテン・シェードなどの提案営業",
  "job_type_info": "<job_type_info>",
  "keyword": "営業",
  "language_code": "ja",
  "latest_post_flag": false,
  "location_info": "{\"admin1Code\": \"JPC\", \"admin2Code\": null, \"admin3Code\": null, \"admin4Code\": null, \"city\": \"東神田\", \"countryCode\": \"JP\", \"countryName\": \"Japan\", \"postalCode\": null}",
  "placement_flag": true,
  "social_insurance_info": "<social_insurance_info>",
  "task_item": "営業",
  "no_data": false,
  "urgent_hire_flag": false
}

Integration

This App can be integrated via MCP, API, SDK, or file export. All channels share the same capabilities and pricing. Every request authenticates with the Authorization: Bearer header using an API key (long-lived, created in the Data Hub Console); MCP clients can also sign in with OAuth, no key required. More options such as CLI and Skill are on the way. This App runs asynchronously and can be canceled midway: After you cancel, the run stops. Records already delivered are kept and billed.

With the MCP (Model Context Protocol), you can call this App directly from AI clients like Claude and Cursor. Pick your client and auth mode, then copy the config below.

Client config

Replace the value after Bearer with your long-lived API key. Works in any client, CI, or headless environment.

mcpServers config
{
  "mcpServers": {
    "octoparse_datahub": {
      "type": "http",
      "url": "https://mcp-v2.octoparse.com?pin=hello_moto/indeed-keyword-search",
      "headers": { "Authorization": "Bearer <YOUR_API_KEY>" }
    }
  }
}

Let AI set it up for you

Don't want to edit configs by hand? Copy the install prompt and paste it into any AI client. It will complete the setup its own way. (The prompt asks the AI to request your API key from you, so credentials never end up in chat history or shared configs.)

detail.access.mcp.composeHint

Pricing

25 returned records

Charged by the number of records successfully returned. Failed runs are not charged. Billed in units of 25 records; any partial unit is rounded up to 25 records.

$0.05/ 25 records
Per task submitted

Charged once per submitted run, regardless of how many records are returned.

$0.0001/ run

Multiple billing events accumulate independently. See each item for details. Failed runs are not charged.

View credits

Try it now

Fill in the parameters and run. Results come from a real call.

Example
Parameters are validated against input.schema before submission
From $0.05 / 25 records